pdf1-OMRON - EN electricautomationnetwork.com

Transcrição

pdf1-OMRON - EN electricautomationnetwork.com
Cat. No. W353-DE1-02
Variablen: Vor Druckbeginn bitte entfernen!!!
Cat. No. W353-DE1-02
SYSMAC CPM1(A)/CPM2_/SRM1(-V2)
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 einschließ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–Bedienerhandbuch 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 dargestellt.
!
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
1, 2, 3...
Gibt besondere Hinweise für den effizienten und sachgerechten Umgang mit
dem Produkt.
1. Unterteilt Handlungsabläufe in einzelne Schritte, beinhaltet Checklisten
usw.
iii
Inhalt
KAPITEL 1 – SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1
1
SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-1
Änderung der SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-2
CPM1–/CPM1A–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . .
1-1-3
CPM2A–/CPM2C–SPS–Konfigurationseinstellungen . . . . . . . . . . . . .
1-1-4
SRM1(–V2) SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . . . . .
SPS–Basisoperationen und E/A–Verarbeitungen . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-1
Start–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-2
Systemhaftmerker–Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-3
Programmspeicher–Schreibschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-4
RS–232C–Schnittstellen–Servicezeit
(nur CPM2A/CPM2C/SRM1(–V2)) . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-5
Servicezeit der Peripherieschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-6
Zyklusüberwachungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-7
Minimum–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-8
Eingangs–Zeitkonstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-9
|Fehlerprotokoll–Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
8
15
19
19
20
20
KAPITEL 2 – Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
1-2
21
21
21
22
22
24
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 . . . . . . . . . . . . . . . . . . . . . . .
2-16-1
Definition vorzeichenbehafteter Binärdaten . . . . . . . . . . . . . . . . . . . . .
2-16-2
Arithmetische Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-16-3
Eingabe vorzeichenbehafteter Binärdaten unter Verwendung
von Dezimalwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-17 Flankenüberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-18 Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) . . . . . . . . . . . . . . . . . . .
2-18-1
Erweiterte Befehle der CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . .
2-18-2
Erweiterte Befehle der SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-19Verwendung der CPM2A/CPM2C–Uhrfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-19-1
Datenbereichs–Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-19-2
Einstellung der Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
154
154
154
156
156
158
158
158
KAPITEL 3 – Anschluss von Erweiterungsbaugruppen . . . . . . . . . . . . . . .
159
3-1
Analoge E/A–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1-1
Analoge E/A–Baugruppen CPM1/CPM1A/CPM2A . . . . . . . . . . . . . .
3-1-2
Analoge E/A–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . . . .
Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-1
Temperaturfühler–Baugruppen der CPM1A/CPM2A . . . . . . . . . . . . . .
3-2-2
Temperaturfühler–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . .
3-2-3
Verwendung der Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . .
3-2-4
Anschließen von Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . .
3-2-5
Einstellung der Temperaturbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-6
Anschluss der Temperaturfühler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-7
Kontaktplanprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-8
Zwei–Dezimalstellen–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompoBus/S–E/A–Link–Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
160
169
181
181
182
184
184
186
188
191
196
202
KAPITEL 4 – Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . .
207
3-2
3-3
4-1
4-2
4-3
4-4
4-5
vi
153
153
154
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-1
Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-2
Schnittstellenverdrahtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPM1–/CPM1A–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-1
Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-2
1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-2-3
1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . .
CPM2A–/CPM2C–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-1
Host–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-2
Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . .
4-3-3
1:1–NT–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-4
1:1–PC–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SRM1(–V2)–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-1
Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-2
Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . .
4-4-3
1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-4-4
1:n–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-4-5
1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . .
Host–Link–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-1
IR/SR–Bereich lesen – RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-2
LR–Bereich lesen – RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-3
HR–Bereich lesen – RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-4
Istwert lesen – RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-5
TC–Status lesen – RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-6
DM–Bereich lesen – RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-7
AR–Bereich lesen – RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-8
IR/SR–Bereich schreiben – WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-9
LR–Bereich schreiben – WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-10
HR–Bereich schreiben – WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-11
Istwert schreiben – WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-12
TC–Status schreiben – WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-13
DM–Bereich schreiben – WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-14
AR–Bereich schreiben – WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-15
Sollwert lesen 1 – R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
208
209
210
210
211
212
214
214
231
240
243
248
248
251
256
257
258
260
260
261
261
261
262
263
263
264
265
265
266
266
267
268
268
Index
4-5-16
4-5-17
4-5-18
4-5-19
4-5-20
4-5-21
4-5-22
4-5-23
4-5-24
4-5-25
4-5-26
4-5-27
4-5-28
4-5-29
4-5-30
4-5-31
4-5-32
4-5-33
4-5-34
Sollwert lesen 2 – R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sollwert ändern 1 – W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sollwert ändern 2 – W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status lesen – MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status schreiben – SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fehler lesen – MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zwangsweises setzen – KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zwangsweises rücksetzen – KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mehrfaches zwangsweises setzen/rücksetzen – FK . . . . . . . . . . . . . . .
Zwangsweises Setzen/Rücksetzen aufheben – KC . . . . . . . . . . . . . . . .
SPS–Typ lesen – MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test – TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programm lesen – RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programm speichern – WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammengefaßte Lesedaten – QQ . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abbruch – XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialisieren – :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TXD–Antwort – EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nicht definierter Befehl – IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
269
270
271
272
273
274
275
276
277
278
279
279
280
280
281
283
283
283
284
KAPITEL 5 – Speicherbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
285
5-1
Speicherbereichsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-1
Speicherbereichsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-2
Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-3
CPM1/CPM1A/SRM1(-V2) Flash–Speicher . . . . . . . . . . . . . . . . . . . .
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme . . . . . . . . . . . . . . . .
5-2-1
CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-2
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-3
Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-4
Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E/A–Zuweisung für CPM2C–SPS–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-1
CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-2
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-3
Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-4
Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
286
286
289
291
292
292
295
296
KAPITEL 6 – Kontaktplan–Programmierung . . . . . . . . . . . . . . . . . . . . . . .
309
5-2
5-3
6-1
6-2
6-3
6-4
6-5
6-6
6-7
Generelle Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Befehlsterminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kontaktplanstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-1
Basis–Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-2
AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-3
Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-4
OUTPUT und OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-5
Der END–Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-6
Logikblock–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-7
Programmierung mehrerer Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-8
Strompfad–Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-9
Sprungbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Steuerung des Bitzustands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-1
SET und RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-2
DIFFERENTIATE UP– und DIFFERENTIATE DOWN
(Flankengesteuerte Ausführung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-3
KEEP (Bistabiles Flip–Flop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-4
Selbsthaltemerker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbeitsmerker (interne Relais) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorsichtsmaßnahmen bei der Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
297
301
301
302
305
306
310
311
311
312
312
314
316
317
317
325
325
329
331
331
331
332
332
333
335
336
vii
Index
KAPITEL 7 – Befehlssatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-1
7-2
7-3
7-4
7-5
7-6
7-7
7-8
7-9
7-10
7-11
7-12
7-13
7-14
7-15
7-16
7-17
viii
337
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Befehlsformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Datenbereiche, Zuweiserwerte und Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Befehle mit flankengesteuerter Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
342
Eingabe von rechts angeordneten Befehlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
343
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
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
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
NO OPERATION (Keine Funktion) – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . .
355
END (ENDE) – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
355
INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) –
IL(02) und ILC(03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
356
JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05) . . . . . . . . . . . .
358
Anwenderdefinierte Fehlerbefehle
FAILURE ALARM AND RESET und SEVERE FAILURE ALARM –
FAL(06) und FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
359
Schrittbefehle
STEP DEFINE und STEP START (Schritt und nächster Schritt) –
STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
360
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
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
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
Index
7-18
7-19
7-20
7-21
7-22
7-23
7-24
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
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
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
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
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
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
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
Logikbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
457
7-24-1
COMPLEMENT (Komplement) – COM(29) . . . . . . . . . . . . . . . . . . . .
457
ix
Index
7-24-2
7-24-3
7-24-4
LOGICAL AND (Wortweise UND–Verknüpfung) – ANDW(34) . . . .
458
LOGICAL OR (Wortweise ODER–Verknüpfung) – ORW(35) . . . . . .
458
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 . . . . . . . . . . . . . . . .
8-1
8-2
8-3
x
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-1
Der CPM1/CPM1A–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-2
CPM1/CPM1A–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-3
E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-4
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-5
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-6
Befehlsausführungszeiten der CPM1/CPM1A . . . . . . . . . . . . . . . . . . .
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-1
CPM2A/CPM2C–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-2
E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-3
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-4
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-5
Befehlsausführungszeiten der CPM2A/CPM2C . . . . . . . . . . . . . . . . . .
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-1
Der SRM1(–V2)–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-2
SRM1(–V2)–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-3
E/A–Reaktionszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-4
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-5
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-6
SRM1(-V2)–Befehlsausführungszeiten . . . . . . . . . . . . . . . . . . . . . . . .
493
494
494
495
496
497
498
500
505
505
506
507
508
510
519
519
520
522
523
524
525
Index
KAPITEL 9 – Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-1
9-2
9-3
9-4
9-5
531
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fehlermeldung der Programmierkonsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmierfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anwenderdefinierte Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Betriebsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-1
Geringfügige Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-2
Schwerwiegende Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-3
Weitere Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fehlerprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Host–Link–Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ablaufdiagramm zur Fehlerbehebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
532
532
533
534
534
535
536
536
537
539
539
Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
541
A – Programmierbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B – Fehler– und arithmetischen Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C – Speicherbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D – E/A–Zuweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E – Programm–Codierblatt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F – Liste der FAL– Nummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
G – Erweiteter ASCII–Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
541
547
551
569
571
575
577
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
579
9-6
9-7
9-8
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–Konfiguration 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
1-2
SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-1
Änderung der SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-2
CPM1–/CPM1A–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . .
1-1-3
CPM2A–/CPM2C–SPS–Konfigurationseinstellungen . . . . . . . . . . . . .
1-1-4
SRM1(–V2) SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . . . . .
SPS–Basisoperationen und E/A–Verarbeitungen . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-1
Start–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-2
Systemhaftmerker–Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-3
Programmspeicher–Schreibschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-4
RS–232C–Schnittstellen–Servicezeit
(nur CPM2A/CPM2C/SRM1(–V2)) . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-5
Servicezeit der Peripherieschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-6
Zyklusüberwachungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-7
Minimum–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-8
Eingangs–Zeitkonstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-9
|Fehlerprotokoll–Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
8
15
19
19
20
20
21
21
21
22
22
24
1
Abschnitt
SPS–Konfiguration
1-1
1-1
SPS–Konfiguration
Bei der Konfiguration werden verschiedene Parameter festgelegt, die den SPSBetrieb steuern. Um die SPS–Systeme bei der Verwendung von Interrupt-Verarbeitungs- und Kommunikationsfunktionen optimal zu nutzen, können die Parameter an die anwendungsspezifischen Betriebsbedingungen angepaßt werden.
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 jedoch 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 jederzeit zurückgesetzt werden, indem SR 25210 in der PROGRAM–Betriebsart eingeschaltet 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–Spannungsversorgung.
• 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 wirksam. Die SPS und die Programmausführung muss deshalb neu gestartet werden, 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 Datenansicht mit Hex–Werten.
Änderungen über ein
Programmiergerät
2
Die SPS–Konfiguration kann vom Anwenderprogramm zwar gelesen, aber
nicht überschrieben werden. Dies kann nur mit einem Programmiergerät erfolgen.
Obwohl die SPS–Konfiguration in den Datenwortbereichen DM 6600 bis
DM 6655 gespeichert wird, können Einstellungen nur über ein Programmiergerä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 PROGRAM- oder in der MONITOR-Betriebsart eingestellt bzw. geändert werden.
Die Zykluszeit ist verhältnismäßig lang, wenn die SPS–Konfiguration in der MONITOR–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 vorgenommen werden.
• Start–Betriebsart (DM 6600)
• E/A–Haftmerkerstatus und Zwangsetzungs–Haftmerkerstatus (DM 6601)
• Zyklusüberwachungszeit (DM 6618)
• Zykluszeit (DM 6619)
Abschnitt
SPS–Konfiguration
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–Schnittstelle ausgerüstet ist.
Fehler in der SPS–
Konfiguration
Wird auf eine falsche SPS–Konfigurationseinstellung zugegriffen, wird ein geringfügiger Fehler (Fehlercode 9B) generiert, der entsprechende Fehlermerker
(AR 1300 bis AR 1302) eingeschaltet; die Vorgabeeinstellung wird statt der falschen Einstellung verwendet.
1-1-2 CPM1–/CPM1A–SPS–Konfigurationseinstellungen
Die SPS–Konfiguration ist in vier Kategorien eingeteilt: 1. Einstellungen in Bezug 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 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
Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden)
00: PROGRAM
01: MONITOR
02: RUN
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
19
00 bis 07
08 bis 11
Nicht verwendet.
E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen
1: Beibehalten (sehen Sie den Hinweis 3)
20
12 bis 15
Zwangssetzungsstatus–Systemmerker(SR 25211)–Status beim Einschalten
0: Rücksetzen
1: Beibehalten (sehen Sie den Hinweis 3)
00 bis 03
Programmspeicher–Schreibschutz
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
00 bis 15
Nicht verwendet
Nicht verwendet
00 bis 07
00: Kein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
(AR 1314 EIN) nullspannungssicher gespeichert werden konnten
00 bis 07
08 bis 15
DM 6601
DM 6602
DM 6603
DM 6604
DM 6605 bis
DM 6614
08 bis 15
00 bis 15
20
01: Ein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
(AR 1314 EIN) nullspannungssicher gespeichert werden konnten
Nicht verwendet
Nicht verwendet
Zykluszeit–Einstellungen (DM 6615 bis DM 6619)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITORBetriebs wirksam.
DM 6615,
DM 6616
00 bis 15
Nicht verwendet.
3
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6617
Bit(s)
00 bis 07
08 bis 15
DM 6618
DM 6619
Funktion
Servicezeit der Peripherieschnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 gesetzt werden)
00 bis 99 (BCD): Prozentsatz der Zykluszeit, die zum Service der Peripherie verwendet wird
Aktivierung der Serviceeinstellung für die Peripherieschnittstelle
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit
1-1
Seite
21
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
Zykluszeit
0000: Variable (kein Minimum)
0001 bis 9999 (BCD): Mindestzeit in ms
00 bis 15
22
Interrupt–Verarbeitung (DM 6620 bis DM 6639)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITORBetriebs wirksam.
DM 6620
22
00 bis 03
Eingangs–Zeitkonstante für IR 00000 bis IR 00002
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
DM 6621
DM 6622
DM 6623
DM 6624
DM 6625
DM 6626 bis
DM 6627
DM 6628
DM 6629 bis
DM 6641
04 bis 07
08 bis 11
12 bis 15
00 bis 07
Eingangs–Zeitkonstante für IR 00003 und IR 00004 (Werte wie für Bits 00 bis 03)
Eingangs–Zeitkonstante für IR 00005 und IR 00006 (Werte wie für Bits 00 bis 03)
Eingangs–Zeitkonstante für IR 00007 bis IR 00011 (Werte wie für Bits 00 bis 03)
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
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 15
Eingangs–Zeitkonstante für IR 002 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 003 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 004 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 005 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 006 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 007 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 008 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 009 (gleiche Einstellung wie für IR 001)
Nicht verwendet
Nicht verwendet
00 bis 03
Interrupt–Aktivierung für IR 00003 (0: Standard–Eingang; 1: Interupt–Eingang; 2:
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)
00 bis 15
Nicht verwendet
73
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 MONITORBetriebs wirksam.
DM 6640 bis
DM 6641
4
00 bis 15
Nicht verwendet.
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6642
DM 6643,
DM 6644
Bit(s)
Funktion
1-1
Seite
80
00 bis 03
Schnelle Zähler–Betriebsart
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
00 bis 15
Nicht verwendet.
Einstellungen der Peripherieschnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
208
DM 6645 bis
DM 6649
00 bis 15
Nicht verwendet.
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
DM 6652
DM 6653
DM 6654
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
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
00 bis 15
00 bis 07
08 bis 15
00 bis 15
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
Ü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)
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
Nicht verwendet
Nicht verwendet
5
Abschnitt
SPS–Konfiguration
Wort(e)
Bit(s)
Funktion
1-1
Seite
Fehlerprotokoll–Einstellungen (6655 DM)
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6655
00 bis 03
04 bis 07
08 bis 11
12 bis 15
24
Ausführung
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen (keine Verschiebung)
2 bis F: Kein Speichern der Aufzeichnungen
Nicht verwendet.
Aktivierung der Zykluszeitüberwachung
0: Auswertung langer Zyklen als geringfügige Fehler
1: Lange Zyklen werden nicht erkannt
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 Kondensators übersteigende Zeit ausgeschaltet bleibt. (Sehen Sie das CPM1A oder
CPM1–Programmierhandbuch für eine genauere Beschreibung der Speicherzeit.)
2. Stellen Sie keinen Wert zwischen “05” bis “07” ein. Wird dieser Wert eingestellt, 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–Haltemerker (SR 25212) – gesetzt, kann der Betrieb mit dem E/A–Speicherhaltestatus (E/A, IR, LR) fortgesetzt werden, der anlag, bevor die Versorgungsspannung ausgeschaltet wurde. (Der Eingangsbereich wird jedoch beim Einschalten aufgefrischt, d. h. er wird von dem neuesten aktualisierten Eingangsstatus ü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ücksetzungsbetrieb fortgesetzt, der anlag, bevor die Versorgungsspannung ausgeschaltet 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–Haltemerker(SR 25212)– oder Zwangssetzungsstatus–Haftmerker(SR 25211)–Status gelöscht werden, falls die Versorgungsspannung für eine die Sicherungszeit 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 deshalb so, dass das Löschen des E/A–Speichers keine Probleme verursacht.
4. Die Übertragungsverzögerung ist die Verzögerung zwischen der vorhergehenden Übertragung und der folgenden Übertragung.
Host–Computer
SPS
Befehl
Befehl
Antwort
Übertragungs–
Verzögerungszeit
6
Antwort
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
Abschnitt
SPS–Konfiguration
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 Impulsausgabefunktionen, 3) Interrupt–Einstellungen und 4) Kommunikationseinstellungen.
In diesem Abschnitt werden die Einstellungen, entsprechend dieser Klassifikation, erläutert.
Die folgende Tabelle zeigt die Einstellungen der CPM2A 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
08 bis 15
DM 6601
DM 6602
DM 6603
DM 6604
DM6605 bis
DM 6614
00 bis 07
08 bis 11
Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden)
00: PROGRAMM
01: MONITOR
02: RUN
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
Nicht verwendet.
E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen auf 0; 1: vorhergehenden Status beibehalten
19
20
12 bis 15
Zustand des Zwangssetzungsstatus–Haftmerkers (SR 25211) beim Einschalten
0: Rücksetzen auf 0; 1: vorhergehenden Status beibehalten
00 bis 03
Programmspeicher–Schreibschutz
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
0: Standardeinstellungen
1: Anwenderzuweisungen
12 bis 15
00 bis 15
Nicht verwendet
Nicht verwendet
00 bis 07
00: Kein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
nullspannungssicher gespeichert werden konnten
08 bis 15
00 bis 15
20
156
01: Ein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
nullspannungssicher gespeichert werden konnten
Nicht verwendet
Nicht verwendet
Hinweis Die SPS–Betriebsart nach dem Einschalten entspricht der in der folgenden Tabelle gezeigten, falls Bits 08 bis 15 von 6600 DM auf 00 gesetzt werden.
Peripherieschnitt–
stelle verbunden
verb nden
mit
Schalter 2 AUS
Schalter 2 EIN
Frei
Programm
RUN
Programmier–
konsole
Betriebsart mit dem
Betriebsartenschalter der
Programmierkonsole
eingestellt
PROGRAM (die CPM2C wird
nicht mit einem
Programmiergerät
kommunizieren können.)
PROGRAM (die CPM2C wird
nicht mit der
Programmierkonsole
kommunizieren können.)
Anderes
Programmiergerät
8
Kommunikationsschnittstellen–DIP–Schalter
PROGRAM
Abschnitt
SPS–Konfiguration
Wort(e)
Bit(s)
Funktion
1-1
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
DM 6616
00 bis 15
Nicht verwendet
00 bis 07
Servicezeit der RS–232C–Schnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 gesetzt sind)
00 bis 99 (BCD): Prozentsatz der Zykluszeit, die zum Service der RS–232C–
Schnittstelle benötigt wird
Aktivierung der RS–232C–Schnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der über die Bits 00 bis 07 eingestellten Zeit
08 bis 15
DM 6617
00 bis 07
08 bis 15
DM 6618
00 bis 07
08 bis 15
DM 6619
00 bis 15
21
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 Peripherieschnittstelle benötigt wird
Aktivierung der Serviceeinstellung für die Peripherieschnittstelle
00: 5% der Zykluszeit
01: Verwendung der über die Bits 00 bis 07 eingestellten Zeit
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 überschreitet.
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
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
DM 6621
DM 6622
DM 6623
DM 6624
DM 6625
DM 6626 bis
DM 6627
00 bis 03
Eingangs–Zeitkonstante für IR 00000 bis IR 00002
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)
00 bis 07
Eingangszeit–Konstante für IR 001
00: 10 ms
01: 1 ms
02: 2 ms
05: 10 ms
06: 20 ms
07: 40 ms
08 bis 15
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 07
08 bis 15
00 bis 15
03: 3 ms
08: 80 ms
22
04: 5 ms
Eingangs–Zeitkonstante für IR 002 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 003 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 004 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 005 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 006 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 007 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 008 (gleiche Einstellung wie für IR 001)
Eingangs–Zeitkonstante für IR 009 (gleiche Einstellung wie für IR 001)
Nicht verwendet
Nicht verwendet
9
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6628
Bit(s)
Funktion
00 bis 03
Interrupt–Aktivierung für IR 00003 (0: Standard–Eingang; 1: Interrupt–Eingang; 2:
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)
1-1
Seite
27
(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
DM6630 bis
DM6641
00 bis 03
Istwert–Koordinatensystem für Impulsausgabe 0
0: Relative Koordinaten; 1: Absolute Koordinaten
04 bis 07
Istwert–Koordinatensystem für Impulsausgabe 1
0: Relative Koordinaten; 1: Absolute Koordinaten
08 bis 15
00 bis 15
Nicht verwendet
Nicht verwendet
95
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
DM 6641
00 bis 15
Nicht verwendet
DM 6642
00 bis 03
Schneller Zähler-Betrieb
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)
DM 6643,
DM 6644
10
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 bis 15
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)
Nicht verwendet.
42, 50
Abschnitt
SPS–Konfiguration
Wort(e)
Bit(s)
Funktion
1-1
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
208
00 bis 03
Schnittstelleneinstellungen
0: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 b/sek.), Host–
Link–Baugruppennummer 0
1: Einstellungen in DM 6646
04 bis 07
08 bis 11
12 bis 15
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
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)
Link–Worte für 1:1 Data–Link
0: LR 00 bis LR 15 (andere Einstellungen sind unwirksam)
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
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
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Datenbits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Startbits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
208
Parität
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
(Alle anderen Einstellungen spezifizieren Standardeinstellungen (1 Startbit, 7 Datenbits; 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
99.990 ms. ein)
208
(Alle anderen Einstellungen spezifizieren eine Verzögerung von 0 ms, verursachen
einen geringfügigen Fehler und aktivieren AR 1302.)
11
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6648
Bit(s)
00 bis 07
08 bis 11
Funktion
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
1-1
Seite
208
(Alle anderen Einstellungen spezifizieren eine Teilnehmernummer von 00, verursachen einen geringfügigen Fehler und aktivieren AR1302)
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 geringfügigen Fehler und aktivieren AR 1302)
12 bis 15
DM 6649
00 bis 07
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 geringfügigen Fehler und aktivieren AR 1302)
Startcode 00 bis FF
(Diese Einstellung ist nur gültig, wenn die Bits 8 bis 11 von DM 6648 auf 1 eingestellt 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
208
Abschnitt
SPS–Konfiguration
Wort(e)
Bit(s)
Funktion
1-1
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 Peripherieschnittstelle 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 Peripherieschnittstelle angeschlossenen Programmierkonsole. Die CPM2A CPU–Baugruppe erkennt die Programmierkonsole 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 bestimmt werden kann.
Ist Schalter 2 ausgeschaltet, wird die Kommunikation über die Peripherieschnittstelle der CPM2C vom Programmierkonsolen–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
208
Schnittstelleneinstellungen
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
04 bis 11
12 bis 15
(Alle anderen Einstellungen spezifizieren Standardeinstellungen, verursachen einen geringfügigen Fehler und aktivieren AR1302.)
Nicht verwendet.
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
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Datenbits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Startbits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Parität
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
(Alle anderen Einstellungen spezifizieren Standardeinstellungen (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 b/sek.), verursachen einen geringfügigen
Fehler und aktivieren AR 1302.)
13
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6652
DM 6653
Bit(s)
00 bis 15
00 bis 07
08 bis 11
Funktion
Übertragungsverzögerung (0000 bis 9999 BCD stellt eine Verzögerung von 0 bis
99.990 ms. ein)
1-1
Seite
208
(Alle anderen Einstellungen spezifizieren eine Verzögerung von 0 ms, verursachen
einen geringfügigen Fehler und aktivieren AR 1302)
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Alle anderen Einstellungen spezifizieren eine Teilnehmernummer von 00, verursachen einen geringfügigen Fehler und aktivieren AR1302)
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 geringfügigen Fehler und aktivieren AR 1302)
12 bis 15
DM 6654
00 bis 07
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 geringfügigen Fehler und aktivieren AR 1302)
Startcode 00 bis FF
208
(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 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
04 bis 07
08 bis 11
12 bis 15
Ausführung
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen (keine Verschiebung)
2 bis F: Kein Speichern der Aufzeichnungen
Nicht verwendet
Aktivierung der Zyklusüberwachungszeit
0: Generiert einen geringfügigen Fehler für eine zu lange Zykluszeit
1: Generiert keinen geringfügigen Fehler
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–Baugruppen 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 Batteriespannung niedrig–Fehler wird generiert.
Bits 12 bis 15 sollten immer auf 0 gesetzt werden, wenn die optionale CPM2C–
BAT01 installiert ist
14
24
Abschnitt
SPS–Konfiguration
1-1
1-1-4 SRM1(–V2) SPS–Konfigurationseinstellungen
Die SPS–Konfiguration wird in drei Kategorien eingeteilt: 1) Einstellungen in bezug auf SPS–Basisbetrieb und E/A–Verarbeitungen, 2) Einstellungen bezüglich
der Zykluszeit und 3) Kommunikations–Einstellungen. In diesem Abschnitt werden 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
08 bis 15
DM 6601
DM 6602
DM 6603
DM 6604
DM6605 bis
DM 6614
00 bis 07
08 bis 11
Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden)
00: PROGRAMM
01: MONITOR
02: RUN
Spezifikation der Start–Betriebsart
00: Programmierkonsolenschalter
01: Fortsetzung der vorherigen Betriebsart
02: Einstellung in 00 bis 07
Nicht verwendet
E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen
1: Aufrechterhalten (sehen Sie “Vorsicht” auf Seite 20.)
19
20
12 bis 15
Zwangssetzungsstatus–Haftmerker(SR 25211)–Status beim Einschalten
0: Rücksetzen
1: Status nicht ändern
00 bis 03
Programmspeicher–Schreibschutz
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
00 bis 03
Nicht verwendet.
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
00 bis 07
Nicht verwendet
00: Kein Speicherfehler wird generiert, wenn keine Daten auf Grund eines Versorgungsspannungsausfalls (AR 1314 EIN) gespeichert werden konnten
01: Ein Speicherfehler wird generiert, wenn keine Daten auf Grund eines Versorgungsspannungsausfalls (AR 1314 EIN) gespeichert werden konnten
Nicht verwendet
Nicht verwendet
08 bis 15
00 bis 15
20
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
DM 6616
00 bis 15
Nicht verwendet
00 bis 07
Servicezeit der RS–232C–Schnittstelle (wirksam, wenn Bits 08 bis 15 gesetzt werden)
00 bis 99 (BCD): Prozentsatz der zum Service der RS–232C–Schnittstelle benötigten Zykluszeit
Aktivierung der RS–232C–Schnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit.
08 bis 15
21
15
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6617
Bit(s)
00 bis 07
08 bis 15
DM 6618
Funktion
Servicezeit der Peripherieschnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 gesetzt
werden)
00 bis 99 (BCD): Prozentsatz der zum Service der Peripherieschnittstelle verwendeten Zykluszeit
Aktivierung der Peripherieschnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit
00 bis 07
Zykluszeit–Überwachung (wirksam, wenn Bits 08 bis 15 auf 01, 02 oder 03 gesetzt
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
Zykluszeit
0000: Variable (keine Mindestzeit)
0001 bis 9999 (BCD): Mindestzeit in ms
DM 6619
00 bis 15
DM 6620 bis
DM 6644
00 bis 15
1-1
Seite
21
21
22
Nicht verwendet.
RS–232C–Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645
00 bis 03
Schnittstelleneinstellungen
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–Terminal–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 einen geringfügigen Fehler und aktivieren AR 1302.)
Die 1:n–NT–Link–Verbindung wird nur von der SRM1–C02–V2 unterstützt
16
248
Abschnitt
SPS–Konfiguration
Wort(e)
DM 6646
Bit(s)
Funktion
00 bis 07
Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2K
08 bis 15
Rahmenformat
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Andere: 1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
7 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
2 Bits
1-1
Seite
Parität
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
AR 1302 wird aktiviert, um einen geringfügigen System–Konfigurationsfehler anzuzeigen, 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
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
12 bis 15
DM 6649
00 bis 07
Startcode–Auswahl (RS–232C–Schnittstelle)
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)
248
Bits 12 bis 15 des Datenwortes DM 6648 auf 1 gesetzt:
Spezifiziert den Ende–Code
(00 bis FF)
17
Abschnitt
SPS–Konfiguration
Wort(e)
Bit(s)
Funktion
1-1
Seite
Einstellungen der Peripherieschnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam
DM 6650
00 bis 03
Schnittstelleneinstellungen
00: Standard (1 Startbit, 7–Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
248
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
04 bis 07
08 bis 11
12 bis 15
Nicht verwendet
Nicht verwendet
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
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Andere: 1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
7 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
2 Bits
Parität
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
Ungerade
Keine
Gerade
AR 1302 wird aktiviert, um einen geringfügigen System–Konfigurationsfehler anzuzeigen, wenn kein Wert zwischen 00 und 11 spezifiziert wird
DM 6652
DM 6653
00 bis 15
00 bis 07
08 bis 11
12 bis 15
DM 6654
00 bis 07
Übertragungsverzögerung (Host–Link)
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
Startcode aktiviert (RS–232C–Schnittstelle, wirksam, wenn Bits 12 bis 15 von DM
6650 auf 1 gesetzt werden)
0: Deaktiviert
1: Einstellung aktiviert
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
Startcode 00 bis FF
(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
248
248
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
Wort(e)
Bit(s)
Funktion
1-1
Seite
Fehlerprotokoll–Einstellungen (6655 DM)
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6655
00 bis 03
04 bis 07
08 bis 11
12 bis 15
24
Ausführung
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen
Fehler werden nicht gespeichert, wenn andere Werte eingestellt sind
Nicht verwendet.
Aktivierung der Zykluszeit–Überwachung
0: Auswertung langer Abfragezyklen als geringfügige Fehler
1: Lange Abfragezyklen werden nicht erkannt
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:
Kommunikationsformat:
Host-Link
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-Standardbetrieb 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–Schalters 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
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
1-1
1-2-2 Systemhaftmerker–Status
Die folgenden Einstellungen spezifizieren, ob der Zwangssetzungsstatus-Haftmerker (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
0
DM 6601
Einstellung des Systemmerkers SR 25211
0
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 Zwangssetzungs-Status (gesetzt/zurückgesetzt) beim Umschalten von der PROGRAM- 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 Zwangssetzungs–Haftmerkerstatus–Merker (DM 6601) der CPM1, wenn die SPS–Spannungsversorgung für einen die Speicherzeit des internen nullspannungssichernden Kondensators überschreitenden Zeitraum abgeschaltet wird. Wird
die Speicherzeit überschritten, ist der Speicherstatus auch dann undefiniert,
wenn der E/A–Speicher–Haltemerker und der Zwangssetzungs–Haftmerkerstatus–Merker verwendet wird. Unvorhersehbare Ergebnisse können auftreten, wenn der Betrieb mit einem undefinierten Speicherstatus versucht wird.
Hinweis 1. Die Speicherzeit des internen Kondensators ist von der Umgebungstemperatur 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 mindestens 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 Programmierkonsolen–Meldungen auf Englisch oder Japanisch angezeigt werden sollen.
Bit 15
DM 6602
0
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
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
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 Zykluszeit 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 Zykluszeit 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 Peripherie-Schnittstelle aufgewendet.
Die Mindest-Servicezeit beträgt 0,34 ms.
1-2-6 Zyklusüberwachungszeit
Bit 15
DM 6618
0
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
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
1-1
Die Zykluszeitüberwachung dient zur Erkennung extrem langer Zykluszeiten,
die zum Beispiel im Falle einer unendlichen Programmschleife auftreten können. Überschreitet die Zykluszeit den für die Zyklusüberwachungzeit spezifizierten 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 Einstellung für die Zyklusüberwachungs–Zeit in DM 6618, wie nachfolgend gezeigt, 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 Programmiergerä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 Zykluszeit 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 Zykluszeit 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 Erkennung 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 minimalen 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 Ausführung erst nach Ablauf der Mindestzeit. Ist die tatsächliche Zykluszeit länger
als die minimale Zykluszeit, wird der Betrieb entsprechend der tatsächlichen Zykluszeit 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 Eingä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 prellenden und externen Störungen reduzieren.
Eingang von einem Eingangsgerät wie z.B. Begrenzungsschalter
Eingangsbit–
Status
22
t
t Eingangs–Zeitkonstante
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
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
DM
DM
DM
DM
DM
6621: IR 001 und IR 002
6622: IR 003 und IR 004
6623: IR 005 und IR 006
6624: IR 007 und IR 008
6625: IR 009
Bit 15
0
DM6621 bis DM6625
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 nachfolgend 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
DM
DM
DM
DM
DM
6621: IR 001 und IR 002
6622: IR 003 und IR 004
6623: IR 005 und IR 006
6624: IR 007 und IR 008
6625: IR 009
Bit 15
0
DM6621 bis DM6625
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
Abschnitt
SPS–Basisoperationen und E/A–Verarbeitungen
1-1
Die neun möglichen Einstellungen für die Eingangs–Zeitkonstante sind nachfolgend dargestellt. Für IR 000 muss nur die äußerst rechte Ziffer eingegeben werden.
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 generiert wird, wenn die Zykluszeit 100 ms überschreitet oder die Spannung der integrierten Batterie sinkt (nur CPM2A/CPM2C). Darüber hinaus wird das Verfahren für die Speicherung von Datensätzen in dem Fehlerprotokoll beim Auftreten
von Fehlern spezifiziert.
Bit 15
DM 6655
Erkennung einer niedrigen
Batteriespannung
0
0
immer 0
0: Erkennung
1: Keine Erkennung
Erkennung einer ZykluszeitÜberschreitung
0: Erkennung
1: Keine Erkennung
FehlerprotokollSpeicherung
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
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
2-1
CPM2A/CPM2C–Interrupt–Funktionen
Arten von Interrupts
Die CPM2A und CPM2C bieten folgende Arten der Interrupt–Verarbeitung. Interrupts können temporär deaktiviert werden, wenn die Online–Editierung während des Betriebs durchgeführt oder STUP(––) ausgeführt wird, um Einstellungen 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 vorhanden. In diesen CPU–Baugruppen sind die Interrupt–Unterprogrammnummern 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–Unterprogrammnummern 000 bis 003* sind den Eingängen 00003 bis 00006* zugeordnet.
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. Interrupt–Unterprogrammnummern 000 bis 003* sind den Eingängen 00003 bis
00006* zugeordnet.
Zählsollwert erreicht–gesteuerte Interrupts unter Anwendung des schnellen 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 innerhalb eines spezifizierten Bereichs fällt. Interrupt–Unterprogrammnummern
000 bis 049 werden über Befehle zugewiesen.
Schreiben von
Interrupt–Programmen
Interrupt–Programme werden als Interrupt–Unterprogramme innerhalb des Anwenderprogramms 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–
Programm
1, 2, 3...
26
Unterprogramm
1. Ein neuer Interrupt kann in einem Interrupt–Unterprogramm festgelegt und
ein vorhandener gelöscht werden.
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
2. Innerhalb eines bestimmten Interrupt–Unterprogrammes kann kein anderes Unterprogramm zur Verarbeitung eines anderen Interrupts programmiert 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–Unterprogrammes 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 normalen Unterprogramms zu schreiben. Ein Interrupt–Unterprogramm kann
nicht zwischen den SBN(92)– und RET(93)–Befehlen verschachtelt werden.
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
Reihenfolge der
Prioritäten der Interrupts
Eingangsgesteuerte
Interrupts
Obwohl IORF(97) in Interrupt–Unterprogrammen verwendet werden kann,
müssen Sie den Zeitraum zwischen den IORF(97)–Ausführungen sorgfältig beachten. Wird IORF(97) zu häufig ausgeführt, kann ein schwerwiegender Systemfehler (FALS 9F) auftreten, wodurch der Betrieb abgebrochen wird. Der Intervall zwischen Ausführungen von IORF(97) sollte mindestens 1,3 ms + gesamte Ausführungszeit des Interrupt–Unterprogramms betragen.
Die Reihenfolge der Interrupt–Prioritäten ist wie folgt:
=
Auf–/Abwärtszählungs–
gesteuerte Interrupts
>
Intervall–Zeitgeber–
gesteuerte Interrupts
=
Schnelle Zähler–
Zählwertvergleichs–
Interrupts
Wird während der Interrupt–Programmausführung, ein Interrupt mit einer höheren Priorität generiert, wird der Interrupt, der zur Zeit verarbeitet wird, abgebrochen, und der neue Interrupt zuerst verarbeitet. Dann wird die Verarbeitung des
ursprünglichen Interrupts wieder fortgesetzt, nachdem die Verarbeitung des Interrupts mit der höheren Priorität abgeschlossen ist.
Gleichzeitig generierte Interrupts der gleichen Priorität werden in folgender Reihenfolge verarbeitet:
Eingangsgsteuerter Interrupt 0 → Eingangsgsteuerter Interrupt 1 → Eingangsgsteuerter 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–Programm ausgeführt werden. Diese Interrupts sind vier Eingängen zugeordnet
(00003 bis 00006*).
27
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
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 vorhanden.
Interrupt–Signal
Normales
Programm
Interrupt–
Programm
Eingangs–
nummer
(Hinweis 1)
Interrupt–
Nummer
00003
0
Unter–
programm–
nummer
(Hinweis 2)
000
00004
1
001
00005
2
002
00006
3
003
Unter–
programm
Mindest–
Eingangs–
signalbreite
50 µs
Interrupt–
Ansprechzeit
0,3 ms (vom
Zeitpunkt des
Einschaltens des
Eingangs bis zur
Programm
Programm–
ausführung)
Hinweis 1. Eingänge 00003 bis 00006 können für jede der folgenden Funktionen verwendet werden: als Interrupt–Eingänge, als Interrupt–Eingänge (Zählmodus) 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–Programme, die gestartet werden, wenn eingangsgesteuerte Interrupts oder
Auf–/Abwärtszählungs–gesteuerte Interrupts für eingangsgesteuerte Interrupts (Zählmodus) generiert werden. Werden diese Eingänge nicht für einen der zuvor beschriebenen Zwecke verwendet, können sie als gewöhnliche 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 Funktionen konfiguriert werden: als Interrupt–Eingang, als Interrupt–Eingang
(Zählmodus) oder als Eingang mit Impulsspeicherung.
28
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
2. Werden die Eingänge 00003 bis 00006 als Interrupt–Eingänge (Zählmodus) konfiguriert, werden die Eingangszeit–Konstanten der entsprechenden 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 (eingangsgesteuerte Interrupts–oder Zählmodus).
SPS–Konfiguration (DM 6628)
INT(89): Maskierung und Demaskierung von
Interrupts.
Erstellen eines Kontaktplan–
Programms.
SBN(92) und RET(93): Erstellung von Interrupt–Unterprogrammen.
Eingänge
Interrupt wird
generiert.
E–gest. Interrupt0
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–
Unterprogramme
Die auszuführenden Interrupt–Unterprogramme sind den entsprechenden Interrupt–Eingängen fest zugeordnet.
Eingang
Interrupt–
Nummer
Unterprogramm–
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 Funktionen konfiguriert werden: als Interrupt–Eingang, als Interrupt–Eingang (Zählmodus) oder als Eingang mit Impulsspeicherung.
29
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
Verdrahtung der
Eingänge
2-1
Verdrahten Sie, bei einer CPM2A, die Eingangsklemmen wie in der folgenden
Abbildung gezeigt.
Eingang 00003
Eingang 00004
Eingang 00005
Eingang 00006
Verdrahten Sie die Eingänge einer CPM2C, wie in der folgenden Abbildung gezeigt.
E–Steckverbind.
Eing.–klemmen
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
DM 6628
Bits
Funktion
0: Normaler Eingang
00 bis
03
Einstellung für
Eingang 00003
04 bis
07
Einstellung für
Eingang 00004
Interrupt–Eingänge
1: Interru
t–Eingänge
(Eingangsgesteuerter
Interrupt– oder Zählmodus))
08 bis
11
Einstellung für
Eingang 00005
2: Schneller Eingang mit
Impulsspeicherung
g
12 bis
15
Einstellung für
Eingang 00006
Ein–
stellung
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 vorhanden.
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
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
Die folgende Tabelle zeigt die sich auf Interrupts beziehenden Befehlsfunktionen.
Kontaktplan–
Programmierung
Befehl
(@)INT(89)
Steuerung
Betrieb
Maskierung/Demaskierung der eingangsgesteuerte Interrupts.
Sperrt oder gibt spezifizierte Interrupts
frei.
Eingangsgesteuerte Interrupts löschen
Löscht einen maskierten (gesperrten) eingangsgesteuerten Interrupt.
Liest den gegenwärtigen Liest den Freigabe/Gesperrt–Status eines
Maskenstatus
eingangsgesteuerten Interrupts.
Maskierung aller Interrupts
Demaskierung aller
Interrupts
Sperrt alle Interrupts, einschließlich eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte Interrupts, zählergesteuerte Interrupts, usw.
Gibt alle Interrupts, einschließlich eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte Interrupts, zählergesteuerte 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 eingangsgesteuerte Interrupts zu verwenden, müssen diese über INT(89) freigegeben 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 eingangsgesteuerte Interrupts gespeichert werden, werden maskierte Interrupts
erst abgearbeitet, nachdem die Maske entfernt wurde, es sei denn, die Interrupts werden zuvor gelöscht. Verwenden Sie INT(89), um die Interrupt–Speicherung zu löschen, damit die Interrupts nicht ausgeführt werden, wenn eingangsgesteuerte Interrupts freigegeben werden (d.h. nachdem die Maske entfernt wird).
31
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
(@)INT(89)
001
000
C2
2-1
Interrupt–Steuercode (001: Interrupt löschen)
Fest auf 000 (keine Funktion)
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 eingegangenen Impulsen nur ein auszuführender Interrupt pro Eingang gespeichert 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)
Steuerdaten–Wort
C2
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–Verarbeitungen (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
000
000
32
Interrupt–Steuercode (100: Maskierung aller Interrupts)
Fest auf 000 (keine Funktion)
Fest auf 000 (keine Funktion)
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
Demaskierung aller Interrupts
(@)INT(89)
200
000
000
Interrupt–Steuercode (200: Demaskierung aller Interrupts)
Fest auf 000 (keine Funktion)
Fest auf 000 (keine Funktion)
Die Maskierung oder Demaskieren aller Interrupt kann nicht innerhalb eines Interrupt–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 Verarbeitung 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 demaskieren” stellt lediglich den Status wieder her, der vor der Ausführung von ”Alle Interrupts maskieren“ wirksam war.
Hinweis INT(89) muss in der Reihenfolge ”Maskierung aller Interrupts“ gefolgt von ”Demaskierung aller Interrupts“ ausgeführt werden.
Programmbeispiel
Erläuterung
In diesem Beispiel wird ein Interrupt–Unterprogramm ausgeführt, indem Eingang 00003 von AUS nach EIN wechselt. Das Interrupt–Unterprogramm inkrementiert 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.
Eingabegerät
Eingabegerät
33
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
SPS–Konfiguration
15
DM 6628
0
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 Monoflop–Modus, in der ein einzelner Interrupt ausgeführt wird, wenn die Zeit abgelaufen ist und der zeitgesteuerte Modus, in der Interrupts in regelmäßigen Intervallen ausgeführt werden.
Intervall–Zeitgeber–Interrupt
Normales
Programm
Interrupt–
Programm
34
Unter–
programm
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
Monoflop–Interrupt–Modus
Zeitgesteuerter
Interrupt–Modus
Vorgang
Der Interrupt wird einmal ausgeführt, wenn die Zeit abgelaufen ist.
Interrupts werden in normalen
Intervallen ausgeführt.
Zeiteinstellung
0,5 bis 319.968 ms (Einheit: 0,1 ms)
Interrupt–
Ansprechzeit
0,3 ms (beginnend mit dem Moment des Ablaufs der Zeit bis
zur Ausführung des Interrupt–Programms)
Die folgende Tabelle zeigt die Beziehungen zwischen Intervall–Zeitgeber–gesteuerte Interrupts und anderen Funktionen der SPS der CPM2A/CPM2C–Serie.
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.
Kontaktplan–Programmierung
Entweder Monoflop– oder zeitgesteuerter Interrupt–Modus
STIM(69)
Intervall-Zeitgeber
Kontaktplan–Programmierung
STIM(69)
INTERVALL–ZEITGEBER–Befehl
Interrupt wird
ausgeführt.
Spezifiziertes Unterprogramm
wird ausgeführt.
SBN(92)
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
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
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 abgelaufen ist, der Zeitgeber bei jedem Aufruf des Interrupt–Programms zurückgesetzt; 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ührungszeit des Interrupt–Programms die festgesetzte Zeit des Intervall–Zeitgebers, kann der zeitgesteuerte Interrupt nicht richtig ausgeführt werden.
Kontaktplan–
Programmierung
Die folgende Tabelle zeigt die sich auf die Interrupt–Verarbeitung beziehenden
Befehlsfunktionen.
Befehl
Steuerung
(@)STIM(69) Einschaltwischer starten
Zeitgesteuerten Interrupt–Zeitgeber starten
(@)INT(89)
Betrieb
Startet den Intervall–Zeitgeber in dem
Monoflop–Interrupt–Modus.
Startet den Intervall–Zeitgeber in dem
zeitgesteuerten Interrupt–Modus.
Zeitgeber–Istwert lesen
Liest den Zeitgeber–Istwert.
Zeitgeber anhalten
Bricht die Zeitgeberfunktionen ab.
Alle Interrupts maskieren Sperrt alle Interrupts, einschließlich eingangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, Zählergesteuerte Interrupt, usw.
Alle Interrupts demaskie- Gibt alle Interrupts, einschließlich einren
gangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, Zählergesteuerte 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
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
Monoflop–Modus
(@)STIM(69)
000
C2
C3
Steuerbezeichnung (000: Einschaltwischer starten)
Erstes Wort des Zeitgeber–Sollwertes
Unterprogramm-Nummer (4-stelliger BCD-Wert): 0000 bis 0049
Zeitgesteuerte Interrupt–Modus
(@)STIM(69)
003
C2
C3
C2
C2+1
Steuercode (003: zeitgesteuert. Interrupt–Zeitgeber starten
Erstes Wort des Zeitgeber–Sollwertes
Unterprogramm-Nummer (4-stelliger BCD-Wert): 0000 bis 0049
Anfangswert des dekrementierenden Zählers (4–stelliger Hex–Wert):
0000 bis 9999
Zeitintervall jeder Dekrementierung (4-stelliger BCDWert; 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 spezifizierten 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
C2
C2+1
C3
Anzahl der Male, die ein Abwärtszähler heruntergezählt werden soll (4–stelliger Hex–Wert)
Zeitintervall jeder Dekrementierung
(4-stelliger BCD-Wert; Einheit: 0,1 ms)
Abgelaufene Zeit seit der vorhergehenden Dekrementierung (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
Fest: 000
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/Demaskierung aller Interrupts.
37
Abschnitt
CPM2A/CPM2C–Interrupt–Funktionen
2-1
Programmbeispiel
Monoflop–Interrupt–Modus
Beschreibung
In diesem Beispiel wird der Zeitgeber gestartet, wenn die Ausführungsbedingung (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)
(Ausführungs–
bedingung)
Startet den Intervall–Zeitgeber im
Monoflop–Interrupt–Modus.
Immer EIN
Führt den Interrupt einmal
aus, nach dem die Zeit abgelaufen ist.
38
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Zeitgesteuerter Interrupt–Modus
Beschreibung
In diesem Beispiel wird der Zeitgeber gestartet, wenn die Ausführungsbedingung (00005) von AUS nach EIN umschaltet. Dann wird das Interrupt–Unterprogramm jedes Mal ausgeführt, nachdem die festgesetzte Zeit (ca. 1 s) abgelaufen ist. Der Inhalt von DM 0000 jedesmal um 1 inkrementiert, wenn das Interrupt–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)
Startet den Intervall–Zeitgeber im zeitgesteuerte
Interrupt–Modus.
(69)
(Ausführungs–
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 besitzen 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. Ansprechfrequenz von 20 kHz und zwei Eingänge als Interrupt–Eingänge (Zählmodus).
Schnelle Zähler
Schneller Zähler
Keine
Interrupts
1 Eingang
Istzählwert–
Interrupts
Interrupt–Eingänge
(Zählmodus)
4 Eingänge:
(2 Eingänge in CPM2C CPU–
Baugruppen mit 10 E/A)
Arten von Schnellen
Zählern
Zielwert–Vergleich–Interrupts
Bereichsvergleich–Interrupts
Keine Interrupts
Aufwärtszähl–
Interrupts
Die CPM2A/CPM2C verfügt über einen integrierten Schnellen Zähler und integrierte Interrupt–Eingänge.
39
Abschnitt
CPM2A/CPM2C Schneller Zähler
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 Inkrementieren/Dekrementieren oder nur zum Inkrementieren, je nach Betriebsarteinstellung, verwendet werden.
Eingangs–
Nr. (sehen
Sie den
Hinweis)
00000
00001
00002
Ansprech–
frequenz
Eingangsmodus (Zählwert)
Steuerverfahren
5 kHz
Differentialphasen
(–8388608 bis 8388607)
Zielwertvergleich–
Interrupts
20 kHz
Impuls und Richtung
(–8388608 bis 8388607)
Bereichsvergleich–
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 Eingä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–Baugruppe verwendet. Zähler verwenden vier Eingänge und können den Zählwert,
je nach der Betriebsarteinstellung, entweder inkrementieren oder dekrementieren. 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–
Nr. (sehen
Sie den
Hinweis)
00003
00004
00005
00006
Ansprech–
frequenz
2 kHz
Eingangsmodus
(Zählwert)
Aufwärtszähler
(0000 bi
bis FFFF)
Steuerverfahren
Zählergesteuerte
g
I
Interrupts
Abwärtszähler
(0000 bis FFFF)
Hinweis 1. Nicht als Zähleingänge verwendete Eingänge können als gewöhnliche Eingä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–Interrupts)
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
werte und Interrupt–Unterprogramme können in der Tabelle für die inkrementierende oder dekrementierende Richtung eingetragen werden.
Zähl–Istwert
Zielwerte in inkrementierender
Richtung
Zielwerte in dekrementierender
Richtung
Übereinstimmung mit
dem Zielwert während
des inkrementierenden
Zählens
Übereinstimmung mit
dem Zielwert während
des dekrementierenden
Zählens
Zeit
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 Eintrag aus einem unteren und einem oberen Grenzwert sowie der entsprechenden Unterprogrammnummer gebildet wird. Das entsprechende Unterprogramm 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:
BereichsverBereichsvergleichs–Bedin- gleichs–Bedingung 2 erfüllt. gung 1 erfüllt.
Bereichsvergleichs–Bedingung 1 erfüllt.
Bereichsvergleichs–Bedingung 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 Inkrementier–Betriebsart) oder 0 (Dekrementier–Betriebsart) entspricht.
41
Abschnitt
CPM2A/CPM2C Schneller Zähler
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 Einsatz zusammen mit der Interrupt–Funktion ermöglicht eine Zielwert– oder Bereichsvergleichssteuerung, ohne die Zykluszeit zu beeinflussen.
Zählereingänge
Rücksetzeingang
Sensor
Inkremental–Drehgeber
Eingangsmodus
Angabe
g
Differentialphase
Impuls plus
Richtung
Aufwärts/Abwärts
Inkremental
00000
00001
Eingang Phase–A
Eingang Phase–B
Impulseingang
Richtungseingang
Rechtslaufeingang
Linkslaufeingang
Impulseingang
(Sehen Sie den
Hinweis 1)
00002
Eingangs–
methode
Eingang Phase–Z (Rücksetzeingang) (sehen Sie Hinweis 1)
Differentialphasen Phaseneingänge
Phaseneingänge
–eingänge (4X)
Phaseneingänge
Ansprechfrequenz
5 kHz
20 kHz
Zählwert
–8388608 bis 8388607
Zähleristwert–Speicherziel
(sehen Sie den Hinweis 2)
Worte SR 248 (äußerst rechte Ziffern) und SR 249 (äußerst linke Ziffern)
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.
Eingangs–
g g
nummer
Zählerrückstellverfahren
20 kHz
20 kHz
0 bis 16777215
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
Funktion
2-2
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 entsprechenden Eingänge deaktiviert. Die Eingangszeit–Konstanten bleiben jedoch in
der SPS–Konfiguration gespeichert.
Programmbeispiel
Wählen Sie den Eingangsmodus
und das Rücksetzverfahren aus
Eingangsmodus: Differentialphaseneingang, Impuls– u. Richtungseingang,
Auf–/Abwärtseingang oder Inkremental
Rücksetzverfahren: Z–Phase und Software–Rücksetzung oder nur Software–Rücksetzung
Wählen Sie die zuverwendenden
Interrupts aus
Keine Interrupts (Lesen des schnellen Zähler–Istwerts oder Lesen der Bereichs–Vergleichsergebnisse)
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–
Programms
CTBL(63): Speicher–Vergleichstabelle, Start des Vergleichs
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
SPS–Konfiguration
Schnelle Zähler–
Funktion
Geber–
eingänge
Eingangsmodus
2-2
DM 6642, Bits 08 bis 15
Zahlungsprüfungs–
Interrupt generiert
Zählen
Differential–
Phasenbetrieb
Impuls– u. Richtungseingang
Auf/Ab–Betrieb
Inkrementaleingang
Kontaktplan–Programm
CTBL (63)
REGISTERVERGLEICHSTABELLEN–Befehl
Spezifiziertes Unterprogramm wird
ausgeführt (wenn Zählungsprüfungs–Interrupts verwendet werden).
SBN(92)
Registervergleichs–
tabelle
Vergleich starten
SPS–
Konfiguration
DM 6642, Bits
00 bis 03
INI (61)
BETRIEBSARTENSTEUERUNGS–Befehl
RET (93)
Istwert ändern
Start/Stopp desVergleichs
Auffrischung
Abfrage einmal/Zyklus
Sofort
Zähleristwert
PRV(62)
SR 249 SR 248
SCHNELLER ZÄHLER–ISTWERT
LESEN–Befehl
Bereichsvergleichs–
Ergebnisse
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
Nms → Frequenz =
1,000
Nx4
44
Abschnitt
CPM2A/CPM2C Schneller Zähler
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
Richtungseingang
EIN
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
Nms → Frequenz =
Dekrementierung
1,000
N
Inkremental
Im Inkrementalmodus werden Impulssignale angelegt und der Zählwert wird mit
jedem Impuls inkrementiert. IR 00001 kann als gewöhnlicher Eingang verwendet werden.
Maximalfrequenz: 20 kHz
EIN
Impuls–
eingänge
AUS
Zählwert
Nms → Frequenz =
1,000
N
Wird der Differentialphasen–Eingangsmodus verwendet, müssen Eingangssignale ü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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
oder FFFFFFFF, wenn ein Unterlauf vorkommt; der Vergleich wird anschließend abgebrochen.
Differentialphasen–
Eingangsmodus
Impuls– u. Richtungs–
Eingangsmodus
Überlauf (0FFFFFFF)
Unterlauf (FFFFFFFF)
Auf–/Abwärts–
Impuls–Eingangsmodus
Inkrementalmodus
Überlauf (0FFFFFFF)
Setzen Sie den Istwert zurück, um die Zählung nach einem Über– oder Unterlauf neuzustarten. (Der Istwert wird automatisch zurückgesetzt, wenn der Betrieb gestartet wird.)
Rücksetzverfahren
Eines der beiden folgenden Verfahren kann gewählt werden, um den Zähleristwert 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 Schnellen 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 Schnellen Zähler gesetzt wird.
1 Abfrage
Rücksetzung
Nicht
zurückgesetzt
Nicht
zurückgesetzt
Nicht
zurückgesetzt
Der Rücksetzmerker (25200) des Schnellen Zählers wird mit jedem Zyklus aufgefrischt; somit bleibt er für mindestens eine Zyklusdauer aktivert und kann sicher gelesen werden.
Auch nach der Rücksetzung des Istwertes werden Vergleichstabellen–Speicherstatus, 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ählers 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 einen Zyklus ausgeschaltet bleiben.
Wählen des zuverwendenden Interrupts
Schnelle
Zähler–Interrupts
46
Schnelle Zähler–Interrupts verwenden eine Vergleichstabelle und führen eine
Zählwertprüfung, entsprechend einer der beiden nachfolgend beschriebenen
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Methoden (d.h., Zielwert– oder Bereichsvergleich), durch. Ein Interrupt wird generiert, 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 Schnellen Zähler generiert, d.h. CTBL(63), INI(61) oder PRV(62), werden diese Befehle nicht innerhalb des Interrupt–Programms ausgeführt.
Zielwertvergleich–Interrupts
Bis zu 16 Kombinationen von Vergleichsbedingungen (Zielwert und Zählrichtung) 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.
Istwert
Vergleichstabelle
Zähleristwert: 5.000
Zählrichtung: Inkrement
Unterprogrammnummer:
10
Inkrement–
richtung
Dekrement–
richtung
Zähleristwert: 1.000
Zählrichtung: Inkrement
Unterprogrammnummer:
8
Inkrement–
richtung
Zähleristwert: 3.000
Zählrichtung: Dekrement
Unterprogrammnummer:
9
Zeit
Interrupt
Unterprogramm
8 ausgeführt
Interrupt
Unterprogramm
10 ausgeführt
Interrupt
Unterprogramm
9 ausgeführt
Das Verhältnis zwischen der Zielwertvergleichs–Zählwertprüfung und der Vergleichstabelle ist bei der CPM1/CPM1A unterschiedlich. Sehen Sie die jeweiligen Handbücher für weitere Einzelheiten.
Es ist nicht möglich, mehr als eine Vergleichs–Richtungsbedingung für den gleichen Zielwert in der Vergleichstabelle zu spezifizieren.
Der Zielwert– oder Bereichsvergleich kann für Schnelle Zähler–Interrupts verwendet werden.
Bereichsvergleichs–Interrupts
Bis zu acht Kombinationen von Vergleichsbedingungen (obere und untere
Grenzwerte) und Interrupt–Unterprogrammnummern können in der Vergleichstabelle eingetragen werden. Das spezifizierte Unterprogramm wird einmal ausgefü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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Werden gleichzeitig zwei oder mehrere Vergleichsbedingungen erfüllt (im gleichen Zyklus), wird der Interrupt für die Bedingung, die dem Anfang der Vergleichstabelle am nächsten ist, ausgeführt.
Der Zielwert– oder Bereichsvergleich kann für Schnelle Zähler–Interrupts verwendet werden.
Wird ein Interrupt während der Ausführung eines Steuerbefehls für den Schnellen Zähler generiert, d.h. CTBL(63), INI(61) oder PRV(62), werden diese Befehle 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 Situation kann mittels der folgenden Programmierung vermieden werden.
Verfahren 1
Unterbinden von Interrupts
im normalen Programmbereich, während der Ausführung des Befehls.
Verfahren 2
Erneutes Ausführen des
nicht ausführbaren Befehls
im normalen Programmbereich.
Normaler Programmbereich
Interrupt–Programmbereich
Ein Interrupt–Unterprogramm wird durch SBN(92) und RET(93), wie ein normales Unterprogramm definiert.
Eine “SBS UNDEFD”–Warnung wird während einer Interrupt–Unterprogrammdefinition bei der Programmprüfung generiert, aber die Ausführung läuft normal
weiter.
Verdrahtung der
Eingänge
Verdrahten Sie die Eingänge, wie es in den folgenden Abbildungen gezeigt wird,
entsprechend des Eingangsmodus und des Rücksetzverfahrens.
CPM2A–Eingänge
Differentialphasen–Eingangsmodus
00000: Eingang Phase A
00001: Eingang Phase B
00002: Eingang Phase Z
Impuls– u. Richtungs–Eingangsmodus
00000: Impulseingang
00001: Richtungseingang
00002: Rücksetzeingang
48
Auf–/Abwärts–Impuls–Eingangsmodus
00000: Rechtsl.–eingang
00001: Linksl.–eingang
00002: Rücksetzeingang
Inkrementalmodus
00000: Impulseingang
00002: Rücksetzeingang
Abschnitt
CPM2A/CPM2C Schneller Zähler
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
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 gewö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
(Verwendung/Nichtverwendung von
00002 als gewöhnlicher Eingang)
Wort
DM 6642
Bits
00 bis 03
DM 6642, Bits 04 bis 07
Funktion
Einstellung des Schnellen Zähler–
Eingangsmodus
0: Differentialphase
1: Impuls u. Richtung
2: Aufwärts/Abwärts
4: Inkremental
04 bis 07
Ein–
stellung
0, 1, 2 oder
4
5 kHz
20 kHz
20 kHz
20 kHz
Einstellung des Schnellen
Zähler–Rücksetzverfahrens
0 oder 1
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 Betrieb beginnt (Wechsel von der PROGRAM–Betriebsart in die MONITOR– oder
RUN–Betriebsart) oder nach Erneutem Einschalten der Versorgungsspannung
der CPM2A/CPM2C.
50
Abschnitt
CPM2A/CPM2C Schneller Zähler
Kontaktplan–
Programmierung
2-2
Die folgende Tabelle enthält die sich auf die Schnelle Zähler–Steuerung beziehenden Befehle.
Befehl
(@)CTBL(63)
(@)INI(61)
((@)PRV(62)
)
( )
(@)INT(89)
Steuerung
Betrieb
Zielwertvergleichstabelle speichern
Speichert die Zielwertvergleichstabelle
Bereichsvergleichstabelle speichern
Speichert die Bereichsvergleichstabelle
Zielwertvergleichstabelle speichern und
Vergleich beginnen
Speichert die Zielwertvergleichstabelle
und beginnt den Vergleich
Bereichsvergleichstabelle speichern und
Vergleich beginnen
Speichert die Bereichsvergleichstabelle
und beginnt den Vergleich
Vergleich starten
Startet den Vergleich mit der gespeicherten Vergleichstabelle.
Vergleich beenden
Istwert ändern
Istwert lesen
Status lesen
Bereichsvergleichs–
Ergebnisse lesen
Bricht den Vergleich ab.
Ändert den schnellen Zähler–Istwert.
Liest Istwert des Schnellen Zählers.
Liest den Status des Schnellen Zählers.
Liest die Bereichsvergleichs–Ergebnisse
Maskierung aller
Interrupts
Sperren aller Interrupts, einschließlich
eingangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, zählergesteuerte Interrupts, usw.
Freigabe aller Interrupts, einschließlich
eingangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, zählergesteuerte Interrupts, usw.
Demaskierung aller
Interrupts
Die folgende Tabelle enthält die sich auf die Schnelle Zähler–Steuerung beziehende Datenbereiche.
Wort
248
249
Bits
Name
Schneller Zähler-Istwert
Inhalt
Liest den Istwert des
S h ll Zählers.
Schnellen
Zähl
Schneller Zähler–
Rücksetzung
Wird dieses Bit eingeschaltet, wird eine Software–
Rücksetzung für den schnellen Zähler ausgelöst.
EIN:Bedingung erfüllt
AUS: Bedingung nicht erfüllt
252
00 bis 15
00 bis 15
00
AR11
00 bis 07
Schneller Zähler–
Bereichsvergleichs–
Ergebnisse
08
Schneller Zähler–Vergleich
EIN:Vergleich aktiv
AUS: Vergleich abgebrochen
09
Schneller Zähler–Istwert–
Überlauf/Unterlauf
EIN:Ü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 Vergleich zusammen mit der Speicherung zu beginnen.
Zielwertvergleichstabelle speichern
(@)CTBL(63)
000
002
S
Schnittstellenbezeichner (000: Schneller Zähler)
Modusbezeichnung (002: Nur Zielwertvergleichstabelle speichern)
Anfangswort der Vergleichstabelle
51
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Zielwertvergleichstabelle speichern und Vergleich beginnen
(@)CTBL(63)
000
000
S
Schnittstellenbezeichner (000: Schneller Zähler)
Modusbez. (000: Zielw.–vergleichstab. speichern/Vergleich beg.)
Anfangswort der Vergleichstabelle
Zielwertvergleichstabelle
Anzahl der Vergleiche
Anzahl der Vergleiche
0001 bis 0016 BCD
Zielwert 1
(niederwertige 4 Ziffern)
Zielwert 1
(höherwertige 4 Ziffern)
Unterprogrammnummer
Zielwert (nieder–/höherwertig)
Vergleich 1–
Einstellung
Zu vergleichenden Zählwert speichern.
Die äußerste linke Stelle (0/F) enthält das Vorzeichen (+/–).
Differentialphasen–Eingangsmodus
Impuls– u. Richtungs–Eingangsmodus
Zielwert 2
(niederwertige 4 Ziffern)
Zielwert 2
(höherwertige 4 Ziffern)
Unterprogrammnummer
Auf–/Abwärts–Impulseingangsmodus
F8388608 bis 08388607
Vergleich 2–
Einstellung
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 gleichen Zielwert in der Vergleichstabelle zu spezifizieren.
Sobald eine Vergleichstabelle erstellt wurde, wird sie in der CPM2A/CPM2C gespeichert, falls noch keine andere Vergleichstabelle gespeichert wurde und die
Betriebsart nicht auf PROGRAM geändert wird (und solange die Versorgungsspannung 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 Vergleich zusammen mit der Speicherung zu beginnen.
Bereichsvergleichstabelle speichern
(@)CTBL(63)
000
003
S
Schnittstellenbezeichner (000: Schneller Zähler)
Modusbezeichnung (003: Nur Bereichsvergleichstabelle speichern)
Anfangswort der Vergleichstabelle
Bereichsvergleichstabelle speichern und Vergleich beginnen
(@)CTBL(63)
000
001
S
52
Schnittstellenbezeichner (000: Schneller Zähler)
Modusbezeichnung (001: Bereichsvergleichstabelle speichern und
Vergleich beginnen)
Anfangswort der Vergleichstabelle
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Bereichsvergleichstabelle
Untere Grenze 1
(niederwertige 4 Ziffern)
Untere Grenze 1
(höherwertige 4 Ziffern)
Obere Grenze 1
(niederwertige 4 Ziffern)
Obere Grenze 1
(höherwertige 4 Ziffern)
Acht Bereichsvergleichsbedingungen, bestehend aus
oberen und unteren Grenzen und Unterprogrammnummern müssen spezifiziert werden.
Bereichsvergleichs– Obere und untere Grenzen (niederwertig, höherwertig)
Bedingung 1.
Obere und untere Grenzen speichern.
Die äußerst linke Stelle (0/F) enthält das Vorzeichen (+/–).
Differentialphasen–Eingangsmodus
Impuls– u. Richtungs–Eingangsmodus
Unterprogrammnummer
Auf–/Abwärts–Impulseingangsmodus
F8388608 bis 08388607
Inkrementalmodus
00000000 bis 16777215
Unterprogrammnummer
Speichern der Unterprogrammnummer, die ausgeführt wird,
wenn die Bereichsvergleichsbedingung erfüllt ist.
Untere Grenze 8
(niederwertige 4 Ziffern)
Untere Grenze 8
(höherwertige 4 Ziffern)
Obere Grenze 8
(niederwertige 4 Ziffern)
0000 bis 0049
Bereichsvergleichs–
Bedingung 8.
Werden weniger als 8 Vergleichsbereiche verwendet,
muss FFFF für den Rest spezifiziert werden.
Obere Grenze 8
(höherwertige 4 Ziffern)
Unterprogrammnummer
Werden gleichzeitig zwei oder mehrere Vergleichsbedingungen erfüllt (im gleichen Zyklus), wird der Interrupt für die Bedingung, die dem Anfang der Vergleichstabelle am nächsten ist, ausgeführt.
Sobald eine Vergleichstabelle erstellt wurde, wird sie in der CPM2A/CPM2C gespeichert, falls noch keine andere Vergleichstabelle gespeichert wurde und die
Betriebsart nicht auf PROGRAM geändert wird (und solange die Versorgungsspannung 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)
Fest: 000
000
Vergleich beenden
(@)INI(61)
000
001
Schnittstellenbezeichner (000: Schneller Zähler)
Steuerbezeichnung (001: Vergleich beenden)
000
Fest: 000
53
Abschnitt
CPM2A/CPM2C Schneller Zähler
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)
Anfangswort der zu ändernden Istwertdaten
C2
C2
Niederwertige 4 Ziffern
C2+1
Höherwertige 4 Ziffern
Zu ändernde Istwert–Daten (nierwertig, höherwertig)
Speichern der zu ändernden Istwert–Daten.
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)
Anfangswort zur Speicherung des Istwerts
C2
Istwert (niederwertig, höherwertig)
D
Niederwertige 4 Ziffern
D+1
Höherwertige 4 Ziffern
Der gelesene Istwert wird hier gespeichert.
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 einer 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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Status lesen
Diese Funktion liest den schnellen Zählerstatus, unabhängig davon ob ein Vergleich 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
0: Normal
1: Überlauf/Unterlauf
Vergleich
0: Beendet;
1: Verarbeitung findet
statt
Einsatz der Datenbereiche
Der Status wird, wie nachfolgend gezeigt, in AR 1108 und AR 1109 gespeichert.
Überlauf/Unterlauf
0: Normal
1: Überlauf/Unterlauf
Vergleich
0: Beendet;
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
002
D
Schnittstellenbezeichner (000: Schneller Zähler)
Steuerbezeichnung (002: Bereichsvergleichs–Ergebnis lesen)
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
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 Zielwertvergleichstabelle eingerichtet werden, verglichen wird. Mit jedem Interrupt werden
die Daten in 0000 DM bis 0004 DM um Eins inkrementiert.
Verdrahtung (CPM2A)
E6B2–CWZ6C
Inkremental–
Drehgeber
Orange
Weiß
Schwarz
Blau
Braun
56
Abschnitt
CPM2A/CPM2C Schneller Zähler
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
DM 6642
0
0
1
0
0
0: Differentialphasen–Betrieb
0: Durch Z–Phasen–Signal + Software–Rücksetzung
zurückgesetzt
01: Verwendung als Schneller Zähler
57
Abschnitt
CPM2A/CPM2C Schneller Zähler
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:
10000
Immer EIN
(38)
Vergleich 2
Vergleich 1
Inkrement, Unterprogr.–Nr. 049
Zähler–Istwert:
3000
Vergleich 2
Inkrement, Unterprogr–Nr. 040
Zähler–Istwert:
00000000
(93)
Vergleich 3
Dekrement, Unterprogr.–Nr 010
(92)
Zähler–Istwert:
–00003000
Immer EIN
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)
(93)
(01)
58
Vergleich 3
2-2
Abschnitt
CPM2A/CPM2C Schneller Zähler
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 Bereichsvergleichstabelle eingerichtet werden, verglichen wird. Mit jedem Interrupt werden
die Daten in DM 0000 bis DM 0004 um Eins inkrementiert.
Verdrahtung (CPM2A)
Orange
E6B2–CWZ6C
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
SPS–Konfiguration
15
DM 6642
0
0
1
0
0
0: Differentialphasen–Betrieb;
0: Durch Z–Phasen–Signal + Software–Rücksetzung
zurückgesetzt
01: Verwendung als Schneller Zähler
60
2-2
Abschnitt
CPM2A/CPM2C Schneller Zähler
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:
9.000
(92)
Immer EIN
(38)
Vergleich 1
Vergleich 1
Ober. Grenze:
10.000
Unterprogr. 040
Unt. Grenze:
7.000
(93)
Vergleich 2
Ober. Grenze:
8.000
(92)
Unterprogr. 041
Immer EIN
(38)
Vergleich 2
Unt. Grenze:
–3.000
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)
(93)
Vergleich 5
Vergleich 8 Nicht verwendet.
(01)
2-2-2 Eingangsgesteuerte Interrupts im Zählmodus
Die vier eingebauten Interrupt–Eingänge der CPM2A/CPM2C CPU–Baugruppe können im Zählmodus als Eingänge mit einer Ansprechfrequenz von bis
61
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
zu 2 kHz verwendet werden. Diese Eingänge können als Aufwärts– oder Abwärtszähler verwendet werden, die einen Interrupt auslösen (d.h. Ausführung
eines Interrupt–Unterprogrammes), wenn der Zählwert dem Sollwert entspricht.
Intterupt–
Eingänge
(Zählmodus)
Zähl–Interrupt
Normales
Programm
Interrupt–
Programm
Eingang
(Hinweis 2)
00003
00004
00005
00006
Zählen
0 bis 65535
(0000 bis
bi
FFFF)
Unter–
programm
Interrupt–
Nummer
Unterprogramm–
nummer
(Hinweis 3)
0
1
2
3
000
001
002
003
Ansprech–
frequenz
2 kHz
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ählmodus) 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) generiert werden. Werden diese Eingänge nicht für einen der zuvor beschriebenen Zwecke verwendet, können sie als gewöhnliche Eingänge eingesetzt werden.
62
Abschnitt
CPM2A/CPM2C Schneller Zähler
! Vorsicht
2-2
Obwohl IORF(97) in Interrupt–Unterprogrammen verwendet werden kann,
müssen Sie den Zeitraum zwischen den IORF(97)–Ausführungen sorgfältig beachten. Wird IORF(97) zu häufig ausgeführt, kann ein schwerwiegender Systemfehler (FALS 9F) auftreten, wodurch der Betrieb abgebrochen wird. Das Intervall zwischen Ausführungen von IORF(97) sollte mindestens 1,3 ms + gesamte Ausführungszeit des Interrupt–Unterprogramms betragen.
Die folgende Tabelle zeigt die Beziehungen zwischen eingangsgesteuerte Interrupts (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 Funktionen konfiguriert werden: Interrupt–Eingang, Interrupt–Eingang (Zählmodus) oder Eingang mit Impulsspeicherung.
2. Werden die Eingänge 00003 bis 00006 als Interrupt–Eingänge (Zählmodus) konfiguriert, werden die Eingangszeit–Konstanten der entsprechenden 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 Inkrementier– oder Dekrementierzählweise
Verdrahtung der Eingänge
SPS–Konfiguration (DM 6628)
Eingangsnummer: 00003 bis 00006 (00003
oder 00004 für CPM2C CPU–Baugruppen mit
10 E/A–Anschlüssen)
1: Verwendung als Interrupt–Eingänge
(eingangsgesteuerte Interrupts oder
Zählmodus).
INI(61): Zähler–Istwert ändern
Erstellen eines Kontaktplan–
Programms
INT(89): Sollwert* des Zählers auffrischen.
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Eingänge
Zähler (2 kHz) 0
Eingangsgesteuerte
Interrupts im Zählmodus
Interrupt wird
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 (2 kHz) 3
Zähler 0
SR 240
Zähler 1
SR 241
Zähler 2
Zähler 3
SR 242
SR 243
SPS–Konfiguration
DM 6628
INI (61)
BETRIEBSARTENSTEUERUNGS–Befehl
Istwert ändern
Auffrischung
Einmal pro Zyklus
Sofort
Zähler–Istwert
Zuordnung der Interrupt–
Unterprogramme
Zähler 0
SR 244
Zähler 1
SR 245
Zähler 2
SR 246
Zähler 3
SR 247
PRV(62)
SCHNELLER ZÄHLER–
ISTWERT LESEN–Befehl
Zähler–Istwert
lesen
Die auszuführenden Interrupt–Unterprogramme sind den entsprechenden Interrupt–Eingängen fest zugeordnet.
Eingang
Interrupt–
Nummer
Unterprogramm–
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 vorhanden.
Jeder der Eingänge 00003 bis 00006 kann nur für eine der folgenden Funktionen konfiguriert werden: Interrupt–Eingang, Interrupt–Eingang (Zählmodus)
oder Eingang mit Impulsspeicherung.
Wahl der Inkrementier–
oder
Dekrementierzählweise.
64
Bei eingangsgesteuerten Interrupts im Zählmodus kann entweder eine inkrementierende oder dekrementierende Zählung verwendet werden.
Inkrementierender Zählmodus
Während der Sollwert aufgefrischt wird, wird der Zählwert, beginnend mit 0, in-
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
krementiert und das Interrupt–Unterprogramm ausgeführt, wenn der Istwert
dem Sollwert entspricht.
Istwert
Soll–
wert Inkrementieren
Das Unterprogramm wird ausgeführt, wenn die
Zählung beendet ist; der Istwert wird auf 0 zurückgesetzt.
Inkrementieren
Zeit
Interrupt
Return
Unterprogramm wird ausgeführt
Interrupt
Unterprogramm wird ausgeführt
Dekrementierender Zählmodus
Nachdem der Sollwert gelesen wurde, wird der Zählwert in Richtung 0 dekrementiert und das Interrupt–Unterprogramm ausgeführt, wenn der Istwert 0 erreicht.
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
Verdrahtung der
Eingänge
Unterprogramm wird ausgeführt
Verdrahten Sie die Eingangsklemmen einer CPM2A wie in der folgenden Abbildung 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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Verdrahten Sie die Eingangsklemmen einer CPM2C wie in der folgenden Abbildung 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
DM 6628
Bits
Funktion
00 bis
03
Einstellung für
Eingang 00003
04 bis
07
Einstellung für
Eingang 00004
08 bis
11
Einstellung für
Eingang 00005
12 bis
15
Einstellung für
Eingang 00006
0: Normaler Eingang
Ein–
stellung
1
Interrupt–Eingänge
1: Interru
t–Eingänge
(eingangsgesteuerter
Interrupt oder Zählmodus))
2: Schneller Eingang
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.
Die Einstellung wird wirksam, wenn die Betriebsart geändert wird (von PROGRAM auf MONITOR/RUN) oder die Spannungsversorgung der CPM2A/
CPM2C eingeschaltet wird.
66
Abschnitt
CPM2A/CPM2C Schneller Zähler
Kontaktplan–
Programmierung
2-2
Die folgende Tabelle enthält die Befehlsfunktionen, die sich auf die eingangsgesteuerte Interrupts (Zählmodus) beziehen.
Befehl
(@)INT(89)
Steuerung
Sollwert des Aufwärtszählers auffrischen
Frischt den Sollwert des Zählers auf und
beginnt die Aufwärtszählung.
Sollwert des Abwärtszählers auffrischen
Frischt den Sollwert des Zählers auf und
beginnt die Abwärtszählung.
Alle Interrupts
maskieren
Sperrt alle Interrupts, einschließlich eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte Interrupts, zählergesteuerte Interrrupts, usw.
Gibt alle Interrupts, einschließlich eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte Interrupts, zählergesteuerte Interrrupts, usw. frei.
Ändert den Istwert des Zählers.
Alle Interrupts
demaskieren
(@)INI(61)
Betrieb
Istwert ändern
(@)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 Tabelle dargestellt sind.
Wort
240
241
242
243
244
245
246
247
Bits
00 bis 15
00 bis 15
00 bis 15
00 bis 15
00 bis 15
00 bis 15
00 bis 15
00 bis 15
Name
Sollwert für E–gest. Interrupt (Zählmodus) 0
Sollwert für E–gest. Interrupt (Zählmodus) 1
Sollwert für E–gest. Interrupt (Zählmodus) 2
Sollwert für E–gest. Interrupt (Zählmodus) 3
Istwert für E–gest. Interrupt (Zählmodus) 0
Istwert für E–gest. Interrupt (Zählmodus) 1
Istwert für E–gest. Interrupt (Zählmodus) 2
Istwert für E–gest. Interrupt (Zählmodus) 3
Inhalt
Sollwert
d Zähl
des
Zählers
Istwert des
Zähl
Zählers
Aufwärtszähler–Sollwert auffrischen/Abwärtszähler–Sollwert auffrischen
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 Interrupt–Eingänge (Zählmodus) und erlauben Interrupts.
Speichern von Sollwerten
Die Sollwerte der Zähler werden in den Worten 240, 241, 242 und 243 gespeichert.
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
Abschnitt
CPM2A/CPM2C Schneller Zähler
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
002
C2
Schnittstellenbezeichner (100, 101, 102, 103: eingangsgesteuerte Interrupts (Zählmodus) 0 bis 3)
Steuerbezeichnung (002: Istwert ändern)
Spezifiziert das Quellwort, das den neuen Istwert enthält
Das Wort enthält die Istwert–Daten (Quelle)
0000 bis FFFF
C2
Istwert lesen
Diese Funktion liest den Istwert des Zählers.
Einsatz eines Befehls
(@)PRV(62)
P
000
D
Schnittstellenbezeichner (100, 101, 102, 103: eingangsgest. Interrupt (Zählmodus) 0 bis 3)
Steuerbezeichnung (000: Istwert lesen)
Wort zur Speicherung des Istwerts
D
68
Istwertdaten lesen
Der gelesene Istwert wird hier gespeichert.
0000 bis FFFF
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
Einsatz der Datenbereiche
Der Istwert des schnellen Zählers wird in den Worten SR 244 bis SR 247 gespeichert, 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 auftreten.
Die Worte SR 244 bis SR 247 können nicht als Arbeitsworte verwendet werden,
auch wenn keine eingangsgesteuerten Interrupts (Zählmodus) verwendet werden.
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 bezü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
Abschnitt
CPM2A/CPM2C Schneller Zähler
2-2
SPS–Konfiguration
15
DM 6628
0
0
0
0
1
Spezifiziert 00003 als Interrupt–Eingang (Zählmodus). Die
Eingänge 00004 bis 00006 werden als normale Eingänge verwendet.
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.
(89)
Startet den Zähler mit Eingang 00003 als Interrupt–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
2-3
Abschnitt
2-3
CPM1/CPM1A–Interrupt–Funktionen
In diesem Abschnitt werden die Einstellungen und Verfahren für die Verwendung 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 Interrupt–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 anliegenden 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–Verarbeitungs–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 anliegende Interrupt verarbeitet. Erst nach der vollständigen Ausführung des Unterprogrammes wird die Verarbeitung des vorhergehenden Interrupts wieder
aufgenommen.
Wird während der Interrupt–Verarbeitung ein Interrupt mit geringer oder gleicher Priorität ausgelöst, wird der neu anliegende Interrupt nach der vollständigen 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
Interrupt–Programme
Beachten Sie die folgenden Vorsichtsmaßnahmen bei der Verwendung von Interrupt–Programmen:
1, 2, 3...
Befehle und Interrupts für
den Schnellen Zähler
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–Programms geschrieben werden.
3. Ein Unterprogramm kann nicht innerhalb eines Interrupt–Programms geschrieben werden. Verwenden Sie den SUBROUTINE DEFINE–Befehl
SBN (92) nicht innerhalb eines Interrupt–Programms.
4. Ein Interrupt–Programm kann nicht innerhalb eines Unterprogrammes geschrieben werden. Schreiben Sie kein Interrupt–Programm zwischen einem SUBROUTINE DEFINE–Befehl (SBN (92)) und einem RETURN–Befehl (RET (93)).
Die als Interrupt verwendeten Eingänge können nicht als normale Eingänge
verwendet werden.
Die folgenden Befehle können nicht in einem Interrupt–Unterprogramm ausgeführt werden, wenn ein Befehl zur Steuerung des Schnellen Zählers im Hauptprogramm ausgeführt wird:
INI(61), PRV(62) oder CTBL(63)
Die folgenden Verfahren können zur Umgehung dieser Einschränkung genutzt
werden:
71
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
Verfahren 1
Die gesamte Interrupt–Verarbeitung kann während der Befehlsauführung maskiert 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 Hauptprogramms 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 UNDEFD”–Warnung während der Programmprüfung auf, das Programm wird
jedoch normal ausgeführt.
72
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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 Interrupts: den eingangsgesteuerten Interrupt–Modus und den Zählmodus.
CPM1 SPS
CPU–Baugruppen mit 10 Ein–/Ausgängen
(CPM1–10CDRj)
00003
00004
00005
00006
00004
00003
CPU–Baugruppen mit 20 und 30 Ein–/
Ausgängen (CPM1–20CDRj und
CPM1–30CDRj(–V1))
NC
24VDC
CPM1A SPS
CPU–Baugruppen mit 20, 30 und 40
Ein–/Ausgängen (CPM1A–20CDRj und
CPM1A–30CDRj) CPM1A–40CDRj)
CPU–Baugruppen mit 10
Ein–/Ausgängen
(CPM1A–10CDRj)
CPU–Baugruppe
g pp
CPM1-10CDR-j
j
CPM1A 10CDj j
CPM1A-10CDj-j
Ein–
gang
Interrupt–
p
nummer
00003
00004
00003
00
01
00
00004
CPM1-30CDR-j(-V1)
CPM1
30CDR j( V1)
00005
CPM1A-30CDj-j
CPM1A
30CDj j
00006
CPM1A-40CDj-j
01
CPM1-20CDR-j
CPM1A 20CDj j
CPM1A-20CDj-j
Ansprechzeit
Interrupt–
Modus
max. 0,3
, ms
Zählmodus
1 kHz
(Zeit bis zur
Ausführung des
Interrupt–
Programms)
g
)
02
03
Hinweis Werden keine eingangsgesteuerte Interrupts verwendet, können Sie die Eingänge 00003 bis 00006 als normale Eingänge verwenden.
Interrupt–Eingangs–
Einstellungen
Eingänge 00003 bis 00006 müssen als Interrupt–Eingänge in DM 6628 eingestellt 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ählmodus) verwenden werden soll; bei einer Verwendung als normaler Eingang muss
0 eingestellt werden.
73
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
Wort
DM 6628
2-3
Einstellung
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 eingangsgesteuerten Interrupts verwendet, können die Unterprogramme 000 bis
003 als normale Unterprogramme verwendet werden.
Eingang
Eingangsauffrischung
Interrupt–
Nummer
Unterprogramm–
nummer
00003
0
000
00004
1
001
00005
2
002
00006
3
003
Wird keine Eingangsauffrischung über den IORF–Befehl durchgeführt, ist der
Eingangssignal-Zustand innerhalb des Interrupt-Unterprogramms nicht eindeutig 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 unterbrochen 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 diesem Modus zu programmieren.
Maskierung/Demaskieren von eingangsgesteuerten Interrupts
Durch den INT(89)-Befehl können Maskierungen eingangsgesteuerter Interrupts in der erforderlichen Weise gesetzt bzw. zurückgesetzt werden.
(@)INT(89)
000
000
D
74
Die Einstellungen erfolgen über die D-Bits 0 bis 3, die den eingangsgesteuerten Interrupts 0 bis 3 entsprechen.
0: Löschen der Maskierung (Interrupt aktiviert)
1: Setzen der Maskierung (Interrupt deaktiviert)
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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 Maskierung auf EIN, wird der betreffende Interrupt gespeichert und nach der Aufhebung der Maskierung direkt ausgeführt. Soll der betreffende Interrupt bei der
Aufhebung der Maskierung nicht ausgeführt werden, muss die Interrupt–Speicherung 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)
001
000
Werden die dem Interrupt 0 bis 3 entsprechenden D-Bits 0 bis
3 auf 1 gesetzt, werden die gespeicherten Interrupts gelöscht.
0: Interrupt–Speicherung wird nicht gelöscht.
1: Interrupt–Speicherung wird gelöscht.
D
Lesen des Maskierungszustands
Über den INT(89)-Befehl kann der Zustand der Maskierung gelesen werden.
(@)INT(89)
002
000
D
Der Zustand der äußerst rechten Stellen der in Wort D
gespeicherten Daten (Bits 0 bis 3) zeigt den Maskierungszustand.
0: Maske ist gelöscht
(E–gesteuerte Interrupt–Verarbeitung freigegeben)
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)
000
Maskierung/Demaskierung der
eingangsgesteuerten Interrupts.
000
#000E
SBN (92)
Demaskiert 00003 (eingangsgesteuerter
Interrupt 0), maskiert andere.
000
Interrupt–Programm
RET (93)
Zählmodus
Externe Eingangssignale werden mit hoher Geschwindigkeit gezählt und ein Interrupt 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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
Führen Sie die folgenden Schritte durch, um Interrupts im Zählermodus zu programmieren.
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 enthalten 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ückgesetzt 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)
003
000
D
Werden die den eingangsgesteuerte Interrupts entsprechenden D-Bits 0 bis 3 zurückgesetzt, wird der Sollwert
festgelegt und Interrupts sind zulässig.
0: Der in der Zähler-Betriebsart spezifizierte Sollwert wird
festgelegt und die Maskierung aufgehoben.
1: Nicht aktiviert.
Setzen Sie bei einem unbenutztem eingangsgesteuerten Interrupt das entsprechende Bit auf 1.
Der Interrupt, dessen Sollwert festgelegt wird, wird in der Zähler-Betriebsart aktiviert. Erreicht der Zähler den Sollwert, wird ein Interrupt ausgelöst und der Zähler 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 bereits ein Interrupt aktiv, dann kann der Sollwert nicht einfach durch Änderung 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 werden.
Die Maskierung von eingangsgesteuerte Interrupts im Zählmodus erfolgt auf
dieselbe Weise wie im eingangsgesteuerten Interrupt-Modus. Werden Maskierungen jedoch auf dieselbe Weise aufgehoben, wird nicht der Zählmodus deaktiviert, 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ähler-Istwert in dem SR-Wort gespeichert, das dem eingangsgesteuerten Interrupt 0 bis 3 entspricht. Die Werte betragen 0000 bis FFFE (0 bis 65534) und entsprechen dem Zähler-Istwert minus 1.
76
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
Interrupt
2-3
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 verwendet 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 sofort das Interrupt–Programm mit der Unterprogrammnummer 000 aufgerufen.
Die folgende Tabelle zeigt, wo die Sollwerte und Istwerte –1 des Zählers gespeichert werden. Eingänge wurden in DM 6628 auf 0001 gesetzt.
Interrupt
Wort mit
Sollwert
Wort mit
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
240
Setzt den Sollwert auf 10. (0000 bis FFFF)
Wort, das den Sollwert enthält (SR 240)
Sollwert des Zählers auffrischen.
@INT(89)
003
000
#000E
SBN (92)
Frischt nur den Sollwert von 00003
(eingangsgesteuerter Interrupt 0) auf.
000
Interrupt–Programm
RET (93)
2-3-3 Maskierung aller Interrupts
Mit dem INT(89)-Befehl können alle Interrupts, einschließlich der Eingangs-, Intervall-Zeitgeber- und Schnelle Zähler-Interrupts als Gruppe maskiert und ausmaskiert werden. Diese Maskierung steht zusätzlich zur Maskierungen der einzelnen Interrupt–Arten zur Verfügung. Darüber hinaus wird durch Ausmaskierung aller Interrupts die Maskierung einzelner Interrupt-Arten nicht zurückgesetzt. Die Bedingungen vor der Ausführung des INT(89)-Befehls (zur Maskierung 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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
Maskierung von Interrupts
2-3
Der INT(89)-Befehl dient zur Deaktivierung aller Interrupts.
(@)INT(89)
100
000
000
Wird während der Maskierung ein Interrupt generiert, erfolgt keine InterruptVerarbeitung, sondern der Interrupt (für eingangsgesteuerte Interrupts, Intervall-Zeitgeber–gesteuerte Interrupts und zählergesteuerte Interrupts) wird gespeichert. Interrupts werden unmittelbar nach der Demaskierung abgearbeitet.
Ausmaskierung von
Interrupt–Signalen
Mit Hilfe des INT(89)-Befehls können Interrupts folgendermaßen ausmaskiert
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 Intervall–Zeitgeber abgelaufen, wird das Hauptprogramm unterbrochen und das Interrupt–Programm unabhängig von der Position im Zyklus ausgeführt.
Für den Intervall-Zeitgeberbetrieb stehen zwei Modi zur Verfügung. Im Monoflop(ONE–SHOT)-Modus wird nach Ablauf der Zeit nur ein Interrupt ausgelöst.
In der zeitgesteuerten(SCHEDULED) Interrupt–Modus wird das Interrupt–Unterprogramm 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-Zeitgebers.
Zeitgeber-Start im Monoflop(ONE–SHOT)-Interrupt–Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im Monoflop–Modus.
(@)STIM(69)
C1
C2
C3
1, 2, 3...
78
C1: Intervall–Zeitgeber, Monoflop–Modus (000)
C2: Zeitgeber-Sollwert (erste Wortadresse)
C3: Unterprogramm-Nummer
(4-stelliger BCD-Wert): 0000 bis 0049
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 Unterprogramm 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 gesetzt; das Dekrementierungs-Zeitintervall beträgt 10 x 0,1 (=1 ms).
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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
C2
C3
1, 2, 3...
C1: Intervall–Zeitgeber, zeitgesteuerter Interrupt–Modus (003)
C2: Zeitgeber-Sollwert (erste Wortadresse)
C3: Unterprogrammnummer (4-stelliger BCD-Wert): 0000 bis 0049
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 Zeitintervallen 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
C2
C3
C1: Lesen der abgelaufenen Zeit (006)
C2: Führendes Wort von Parameter 1
C3: Parameter 2
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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
In diesem Beispiel wird 2,4 ms (0,6 ms Z 4), nachdem Eingang 00005 auf EIN
gesetzt wurde, ein Interrupt generiert; der Interrupt löst die Abarbeitung der Interrupt–Unterprogrammnummer 23 aus.
Anwendungsbeispiel
(Monoflop–Modus)
25315 Erster Zyklus–Merker
EIN für 1 Zyklus
MOV (21)
#0004
DM 0010
Setzt den Sollwert des Abwärtszählers auf 4.
(BCD–Wert: 0000 bis 9999)
MOV(21)
#0006
DM 0011
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 0,6 ms. (BCD–Wert: 0005 bis
0320)
00005
@STIM(69)
000
DM 0010
#0023
SBN (92)
Startet den Intervall–Zeitgeber im Monoflop–
Modus.
Spezifiziert das erste Wort, das den Sollwert enthält.
Spezifiziert die Unterprogrammnummer (23).
023
Interrupt–Programm
RET (93)
Anwendungsbeispiel
(zeitgesteuerter Modus)
In diesem Beispiel wird alle 4,0 ms (1,0 ms Z 4), nachdem der Eingang 00005
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
DM 0010
Setzt den Sollwert des Abwärtszählers auf 4.
(BCD–Wert: 0000 bis 9999)
MOV (21)
#0010
DM 0011
00005
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 1,0 ms. (BCD–Wert: 0005 bis
0320)
@STIM(69)
DM 0010
Startet den Intervall–Zeitgeber im zeitgesteuerten
Modus.
#0023
Spezifiziert das erste Wort, das den Sollwert enthält.
003
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 Inkrementier– oder Aufwärts/Abwärts–Betrieb verwendet werden kann. Der
schnelle Zähler kann mit Eingangs–Interrupts kombiniert werden, um eine Bereichsvergleichs–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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
00002
00001
00000
CPM1–SPS
N.C.
24VDC
CPM1A–SPS
Modus
Aufwärts/
Abwärts
Inkrement–
ierung
Verwendung
Eingangs–
beschaltung
00000: Eingang
Phase A
00001: Eingang
Phase B
00002: Eingang
Phase Z
00000: Zähleingang
00001: Sehen Sie den
Hinweis
00002:
Rücksetzeingang
Phasendifferenz,
4 Eingänge
Individuelle
Eingänge
Zähl–
frequenz
Zähl–
bereich
max. 2,5 kHz –32767
bis
32767
Steuerverfahren
Zielwert–Steuerung:
Bis zu 16 Zielwerte und Interrupt–
Unterprogrammnummern können
gespeichert werden.
Bereichsvergleichs–Steuerung:
Bis zu 8 Sätze oberer Grenzwerte,
unterer Grenzwerte und Interrupt–
Unterprogrammnummern können
gespeichert werden.
max. 5,0 kHz 0
bis
65535
Hinweis Im Inkrementmodus kann der Eingang 00001 als normaler Eingang verwendet
werden. Bei der Software–Rücksetzung kann Eingang 00002 als normaler Eingang 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
Schnellen Zählers
Die folgenden Einstellungen müssen in DM6642 erfolgen, wenn die Schnelle
Zähler–Funktion der CPM1/CPM1A verwendet wird.
DM 6642
Bi
Bits
Einstellungen
Funktion
Inkremen–
tierung
Aufwärts/
Abwärts
Nicht
verwen–
det
00 bis 03
Zählermodus:
4
0
0 oder 4
04 bis 07
0: Aufwärts/Abwärts
4: Inkrementierung
Gewählte Rücksetzung:
0 oder 1
0 oder 1
0 oder 1
01
01
00
0: Z–Phase + Software–
Rücksetzung
1: Software–Rücksetzung
08 bis 15
Verwendung des Zählers:
0: Nicht verwendet
1: Verwendet
81
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
Zählbereich
2-3
Der Schnelle Zähler der CPM1/CPM1A arbeitet im Linearbetrieb und der Zählwert (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 überschreitet und ein Unterlauf tritt auf, wenn der Zählwert unter der unteren Grenze
im Zählbereich liegt.
Fehler
Verarbeitung
Inkrementierung
Aufwärts/Abwärts
Istwert
Überlauf
Tritt ein, wenn der
Zählerstand bei 65.535
inkrementiert wird.
Tritt ein, wenn der
Zählerstand bei 32.767
inkrementiert wird.
0FFF FFFF
Unterlauf
---
Tritt ein, wenn der
Zählerstand bei –32.767
dekrementiert wird.
FFFF FFFF
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 Einstellungen werden beim Einschalten der Spannungsversorgung oder des SPS–Betriebs 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 entsprechend dem Unterschied zwischen den Phasen A und B inkrementiert bzw.
dekrementiert.
Inkrementier–Zählmodus:
Ein einphasiges Impulssignal und ein Zähler-Rücksetzsignal werden verwendet. Der Zähler wird entsprechend des einphasigen Signals inkrementiert.
Inkrementiermodus
Aufwärts/Abwärtsmodus
EIN
Impuls–
eingang
Phase A
AUS
EIN
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
Inkrementierung
Dekrementierung
Zählen
1
2
3
4
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 (Inkrementierung) 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) ausgewertet: 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 Eingangssignal verwendet. Die Anzahl der Zählimpulse für jede Encoder-Umdre-
82
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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-Eingang) nach dem Setzen des SCHNELLER ZÄHLER(0)-RÜCKSETZ-Systemmerkers (SR 25200) auf EIN gesetzt wird.
Software–Rücksetzung:
Der Istwert wird beim Setzen des SCHNELLER-ZÄHLER(0)-RÜCKSETZSystemmerkers (SR 25200) zurückgesetzt.
Z–Phasensignal + Software–Rücksetzung
E/A–Auffrischung
Allgemeine Verarbeitung
Kommunikationsservice, usw.
1 Zyklus
Progr–
Ausführg
CPU–Verarbeitung
Progr–
Ausführg
Progr–
Ausführg
Progr–
Ausführg
Progr.–
Ausführg
Progr.–
Ausführg
25200
(1)
(2)
(3)
(4)
(5)
Phase-Z
Nicht
zurückgesetzt
Nicht
zurückgesetzt
Nr.
Rücksetzung
Rücksetzung
Betriebszeitverhalten
Nicht zurückgesetzt
Rücksetzung
(1)
Z–Phasensignal wird eingeschaltet,
wenn SR 25200 ausgeschaltet wird.
Keine Rücksetzung
(2)
Z–Phasensignal wird innerhalb eines
Zyklus eingeschaltet, nachdem SR
25200 eingeschaltet wird.
Keine Rücksetzung
(3)
Z–Phasensignal wird nach dem Ablauf von mindestens einem Zyklus,
nachdem SR 25200 eingeschaltet
wurde, aktiviert.
Z–Phasensignal wird innerhalb eines
Zyklus eingeschaltet, nachdem SR
25200 ausgeschaltet wird.
Rücksetzung auf steigender Flanke
von Phase–Z.
SR25200 wird eingeschaltet, wenn
Z–Phasensignal eingeschaltet ist.
Keine Rücksetzung
(4)
(5)
Rücksetzung auf steigender Flanke
von Phase–Z.
Hinweis Der SCHNELLER ZÄHLER(0)-RÜCKSETZ-Systemmerker (SR 25200) wird innerhalb eines Abfragezyklus einmal aufgefrischt. Zur eindeutigen Identifizierung des Merkerzustands muss dieser daher für mindestens einen Abfragezyklus 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 erstellte Vergleichstabelle verwendet. Die Zähler–Istwertprüfung erfolgt mit Hilfe
eines der beiden nachfolgend beschriebenen Verfahren. In der Vergleichstabelle werden Vergleichsbedingungen (für den Vergleich mit dem Istwert) und
Interrupt-Routinen–Nummern gespeichert.
Zähler–Istwert:
83
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
Maximal 16 Vergleichsbedingungen (Zähler–Istwert und Zählrichtungen)
und Interrupt-Unterprogrammnummern werden in der Vergleichstabelle gespeichert. Entspricht der Zähler-Istwert und die Zählrichtung den Vergleichsbedingungen, wird das spezifizierte Interrupt-Unterprogramm ausgeführt.
Bereichsvergleich:
Acht Vergleichsbedingungen (obere und untere Grenzwerte) und InterruptUnterprogrammnummern 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.
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.
Zielwertvergleiche
Zählen
Interrupts
Vergleichstabelle
Zielwert 1
Zielwert 2
Zielwert 3
Zielwert 4
Zielwert 5
Vorgabewert
Zielwert
1
2
3
4
5
Der Ist–Zählwert wird auf zyklische Art gleichzeitig mit allen Bereichen verglichen, und, basierend auf den Ergebnissen der Vergleiche, werden Interrupts
generiert.
Bereichsvergleiche
Vergleichstabelle
0
Zählwert
1
3
2
Bereichseinstellung 1
Bereichseinstellung 2
Bereichseinstellung 3
Bereichseinstellung 4
4
Hinweis Bei der Durchführung von Zielwertvergleichen darf der INI–Befehl nicht wiederholt verwendet werden, um den Ist–Zählwert zu ändern und den Vergleichsvorgang zu beginnen. Die Interrupt–Funktion arbeitet evtl. nicht richtig, wenn der
Vergleich sofort nach der Änderung des Istwertes durch das Programm begonnen wird. (Der Vergleich kehrt automatisch zum ersten Zielwert zurück, sobald
ein Interrupt für den letzten Zielwert generiert wurde. Eine wiederholende Abarbeitung ist möglich, indem lediglich der aktuelle Wert geändert wird.)
Programmierung
84
Verwenden Sie die folgenden Schritte, um den schnellen Zähler zu programmieren.
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.
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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)
C: (3-stelliger BCD-Wert)
000:
Die Zieltwertetabelle wird erstellt und der
Vergleich gestartet.
001:
Die Bereichstabelle wird erstellt und der
Vergleich gestartet.
002:
Nur die Zielwertetabelle wird erstellt
003:
Nur die Bereichstabelle wird erstellt
P
C
TB
TB: Anfangswort der Vergleichstabelle
Wird C auf 000 gesetzt, erfolgen Vergleiche nach dem Zielübereinstimmungs-Verfahren. Wird C auf 001 gesetzt, werden Bereiche miteinander
verglichen. Die Vergleichstabelle wird gespeichert und die Vergleiche werden 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 Vergleichstabellen.
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übereinstimmungs-Verfahren. Wird C auf 003 gesetzt, werden Bereiche miteinander
verglichen. In beiden Fällen wird die Vergleichstabelle gespeichert, Vergleiche 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 anderen Tabelle erhalten.
Istwerte lesen
Zum Lesen der Istwerte stehen zwei Möglichkeiten zur Verfügung. Istwerte können 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
4 Ziffern
SR 249
Äußerst rechte
4 Ziffern
SR 248
Aufwärts/Abwärts–
Zählmodus
F0032767
(-32767)
bis
Inkrementier–
Zählmodus
00032767 00000000 bis 00065535
Hinweis 1. Diese Worte werden nur einmal pro Abfragezyklus aufgefrischt. Daher besteht 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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
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 negativen Werten ist die äußerst linke Stelle auf F gesetzt.
Äußerst linke
4 Ziffern
P1+1
Äußerst rechte
4 Ziffern
Aufwärts/Abwärts–
modus
P1
F0032767 bis 00032767
(-32767)
Inkrementier–
modus
00000000 bis 00065535
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ücksetzverfahrens. (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 Beschreibung 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)-Befehl.
(@)INI(61)
000
D: Führendes Wort zur Speicherung
der Istwert-Änderungsdaten
002
D
Äußerst linke
4 Ziffern
D+1
Äußerst rechte
4 Ziffern
D
Aufwärts/Abwärtsmodus
Inkrementiermodus
F0032767 bis 00032767 00000000 bis 00065535
Zur Spezifikation einer negativen Zahl setzen Sie die äußerst linke Stelle auf F.
Anwendungsbeispiel
(Inkrementiermodus)
86
Das folgende Beispiel zeigt ein Programm zur Verwendung des Schnellen Zählers mit einem Eingang im Inkrementiermodus. Vergleiche erfolgen nach dem
Zielwertübereinstimmungs-Verfahren.
Die Vergleichsbedingungen (Zielwerte und Zählrichtungen) werden in der Vergleichstabelle 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
Abschnitt
CPM1/CPM1A–Interrupt–Funktionen
2-3
Das folgende Beispiel zeigt einen Kontaktplan. DM 6642 muss auf 01j4 gesetzt werden, wobei j dem Rücksetzverfahren entspricht, das mit 0 oder 1 spezifiziert wird.
25315 (für den ersten Zyklus auf EIN)
CTBL(63)
000
000
DM 0000
SBN (92)
Speicher–Vergleichstabelle,
Zielwertverfahren
Erstes Wort der Vergleichstabelle
030
Interrupt–Programm 30
RET (93)
SBN (92)
031
Interrupt–Programm 31
RET (93)
Anwendungsbeispiel
(Aufwärts/Abwärts–Betrieb)
Das folgende Beispiel zeigt ein Programm zur Verwendung des Schnellen Zählers mit einphasigen Eingängen in der Aufwärts–/Abwärts-Zählmodus. Vergleiche erfolgen über das Bereichsvergleichs–Verfahren.
Die Vergleichsbedingungen (oberen/unteren Beleihungsgrenzen) werden in
der Vergleichstabelle mit den Unterprogrammnummern gespeichert. Es können 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
Abschnitt
SRM1(–V2) Interrupt–Funktionen
2-4
Das folgende Beispiel zeigt einen Kontaktplan. DM 6642 muss auf 01j0 gesetzt werden, wobei j dem Rücksetzverfahren entspricht, das mit 0 oder 1 spezifiziert werden kann.
25315 (für den ersten Zyklus auf EIN)
CTBL (63)
000
000
DM 0000
Speicher–Vergleichstabelle, Zielwertverfahren
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 Verwendung 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 Interrupt–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 Interrupt–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-Zeitgebers.
Zeitgeber-Start im ONE–SHOT(Monoflop)-Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im Monoflop–Interrupt–Modus.
(@)STIM(69)
C1
C2
C3
C1: Intervall–Zeitgeber,
Monoflop–Interrupt–Modus (000)
C2: Zeitgeber-Sollwert (erste Wortadresse)
C3: Unterprogrammnummer
(4-stelliger BCD-Wert): 0000 bis 0049
88
Abschnitt
SRM1(–V2) Interrupt–Funktionen
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 Unterprogramm 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 gesetzt 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
1, 2, 3...
2-4
C1: Intervall–Zeitgeber,
zeitgesteuerter Interrupt–Modus (003)
C2
C2: Zeitgeber-Sollwert (erste Wortadresse)
C3
C3: Unterprogrammnummer (4-stelliger BCD-Wert):
0000 bis 0049
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 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 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
C2
C3
C1: Lesen der abgelaufenen Zeit (006)
C2: Führendes Wort von Parameter 1
C3: Parameter 2
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
Abschnitt
SRM1(–V2) Interrupt–Funktionen
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
(Monoflop–Modus)
In diesem Beispiel wird nach 2,4 ms (0,6 ms Z 4), nachdem Eingang 00005 auf
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)
#0004
Setzt den Sollwert des Abwärtszählers auf 4.
(BCD–Wert: 0000 bis 9999)
DM 0010
MOV(21)
#0006
DM 0011
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 0,6 ms. (BCD–Wert: 0005 bis
0320)
00005
@STIM(69)
000
Startet den Intervall–Zeitgeber im Monoflop–Interrupt–Modus.
DM 0010
Spezifiziert das erste Wort, das den Sollwert enthält.
#0023
Spezifiziert die Unterprogrammnummer (nur die unteren Bytes sind wirksam).
SBN (92)
023
Interrupt–Programm
RET (93)
Anwendungsbeispiel
(zeitgesteuerter Modus)
In diesem Beispiel wird alle 4,0 ms (1,0 ms Z 4), nachdem der Eingang 00005 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
DM 0010
Setzt den Sollwert des Abwärts–
zählers auf 4. (BCD–Wert: 0000 bis 9999)
MOV (21)
#0010
DM 0011
00005
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 1,0 ms. (BCD–Wert: 0005 bis
0320)
@STIM(69)
DM 0010
Startet den Intervall–Zeitgeber im zeitgesteuerten
Interrupt–Modus.
#0023
Spezifiziert das erste Wort, das den Sollwert enthält.
003
Spezifiziert die Unterprogrammnummer (23).
SBN (92)
023
Interrupt–Programm
RET (93)
90
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
2-5
CPM2A/CPM2C–Impulsausgabefunktionen
Die CPM2A/CPM2C verfügt über zwei Impulsausgänge. Durch spezielle Impulsausgabebefehle können diese Ausgänge als zwei einphasige Ausgänge
ohne Beschleunigung und Bremsung, als Impulsausgänge mit variablen Tastverhältnis oder als Impulsausgänge mit trapezförmiger Beschleunigung/Bremsung (ein Impuls– + ein Richtungsausgang oder ein Auf–/Abwärts–Impulsausgang) 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 Ausgaben über einen Befehl gestoppt werden.
Hinweis Zur Impulsausgabe ist es erforderlich, eine CPU–Baugruppe mit Transistorausgängen zu verwenden, d.h. entweder eine CPM2AjjCDT–D oder
CPM2AjjCDT1–D.
Das folgende Diagramm zeigt die Konfiguration für eine CPM2A; die Konfiguration für eine CPM2C ist identisch.
Schrittmotor
Motor–
treiber
Impulsausgänge
91
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Einphasige
Impuls–
a sgaben ohne
ausgaben
Beschleun./
Bremsen
Impulsausgabe
mit variablem
Tastverhältnis
Einphasige Impulsausgabe mit trapezförmigem
Beschleunigen/Bremsen
Ausführungsbefehle
PULS(65) und
SPED(64)
PWM(––)
PULS(65) und ACC(––)
Ausgang
01000
Impulsausgang 0 Impulsausgang
(sehen Sie
0 (sehen Sie
Hinweis 1)
Hinweis 1)
01001
Impulsausgang 1 Impulsausgang
(sehen Sie
1 (sehen Sie
Hinweis 1)
Hinweis 1)
Angabe
Ausgangsfrequenzbereich
Impuls– und
Richtungsausgabe
Impuls–
aus–
g
g0
gang
Aufwärts/Abwärts–
Impulsausgabe
Impuls–
aus–
g
g0
gang
Impuls–
ausgang
Richtungs–
ausgang
Rechtslauf–
Impuls–
ausgabe
Linkslauf–
Impuls–
ausgabe
10 Hz bis 10 kHz 0,1 bis 999,9 Hz
10 Hz bis 10 kHz
10 Hz bis 10 kHz
10 Hz
0,1 Hz
10 Hz
10 Hz
Auf–/Abwärtsfrequenz–
schritte
---
---
10 Hz (sehen Sie
Hinweis 2)
10 Hz (sehen Sie
Hinweis 2)
Geschwindigkeitssteigung
beim Start
---
---
10 Hz
10 Hz
Ausgabebetriebsart
Ununterbrochen,
Unabhängig
Ununterbrochen
Ununterbrochen,
Unabhängig
Ununterbrochen,
Unabhängig
Schrittweite
1 bis 16777215
---
±1 bis 16777215
±1 bis 16777215
Tastverhältnis
(sehen Sie Hinweis 3)
50%
0 bis 100%
50%
50%
Steuer–
verfah–
ren
Bewegungs–
spezifikation
Ja
Keine
Ja
Ja
Beschleun.–/
Brems–
spezifikation
Keine
Keine
Ja
Ja
Anfangs–
Keine
Geschwindig–
keitsspezifikation
Keine
Ja
Ja
Tastverhältnis–
spezifikation
Ja
Keine
Keine
Impulsanzahl
Keine
Hinweis 1. Bei einphasigen Impulsausgaben können die Impulsausgänge 0 und 1 unabhä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) beeinflusst.
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
Kombination
Einphasige Impulsausgabe
Festes Tastverhältnis
Einphasige
Impuls–
ausgabe
Festes
Tast–
verhältnis
Kann zwei Ausgänge
(unabhängig)
gleichzeitig ansteuern
Variables
Tast–
verhältnis
Impuls– und
Richtungsausgang
Kann nur einen
Ausgang auf einmal
verwenden
(unabhängig)
Kann nicht verwendet
werden
Aufwärts/Abwärts–
Impulsausgang
Kann nicht verwendet
werden
2-5
Impuls–
p
und
Ri h
Richtungs–
ausgang
Aufwärts–/
Ab ä
Abwärts–
Impulsausgang
Kann nur einen
Ausgang auf einmal
verwenden
(unabhängig)
Kann zwei Ausgänge
(unabhängig)
gleichzeitig ansteuern
Kann nicht
verwendet werden
Kann nicht
verwendet werden
Kann nicht
verwendet werden
Kann nicht
verwendet werden
Kann nicht verwendet
werden
Kann nicht
verwendet werden
Kann nicht
verwendet werden
Kann nicht verwendet
werden
Kann nicht
verwendet werden
Kann nicht
verwendet werden
Variables
Tastverhältnis
Bei einphasigen Impulsausgaben können bis zu zwei Ausgänge gleichzeitig angesteuert 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
Impulsausgaben
Drei Arten von Impulsausgaben stehen zur Verfügung: einphasige Impulsausgaben ohne Beschleunigung und Bremsung, variable Tastverhältnis–Impulsausgaben 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 jeden 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.
Ununterbrochen–
Betriebsart
Befehlsausführung: SPED(64) (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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
• Ausgabebetriebsart
Ununterbrochen
• Befehl:
PWM(––)
Mit PWM(––) werden Impulse mit einem variablen Tastverhältnis ausgegeben.
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/Abbremsung
• 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 Betriebsart Unabhängig).
• Mit ACC(––) werden der Ausgabemodus, die Anfangsfrequenz, Zielfrequenz und Beschleunigungs–/Bremsgeschwindigkeit eingestellt und die
Impulsausgaben werden gestartet. Von Zeitpunkt des Startens der Impulsausgaben bis zu deren Abbruch werden diese mit einer konstanten
Frequenzänderung geregelt.
94
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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
der beim Start gültigen Beschleunigungs–/Bremsgeschwindigkeit durchgeführt.
Ziel–
frequenz
Anfangs–
frequenz
Zeit
0 Hz
Beschleunigung
Start
Abbremsung
ACC(––)
Ununterbrochen–Betriebsart
Impuls–Ausgabefrequenz
Befehlsausführung: ACC(––) (Ununterbrochen–Betriebsart)
Zielfrequenz 2
Zielfrequenz 3
Zielfrequenz 1
0 Hz
Zeit
Beschleun./Brems. Beschleun./Brems.
Start
Beschleunigung
oder Bremsung
ACC(––)
ACC(––)
Beschleun./Brems.
Beschleunigung
oder Bremsung
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
Erstellen Sie ein
Kontaktplan–Programm
PULS(65) Einstellung der Anzahl von Ausgabeimpulsen.
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Einphasige Impulsausgaben
PULS (65)
SET
PULSES–
Befehl
SPED (64)
Relative oder absolute
Impulse spezifizieren.
Impulsausgabe Sollwert (8–stelliger BCD–
Wert)
INI (61)
SPEED
OUTPUT–
Befehl
Impulsausgang 0
Impulsausgang 1
Ausgabebetriebsart Ununterbrochen
oder Unabhängig
Zielfrequenz: 10 Hz bis 10 kHz
Impulsausgaben beginnen
BETRIEBS–
ARTENSTEUERUNGS–
Befehl
Auffrischung
Einmal/Zyklus
Einmal/Zyklus Sofort
Impulsausgabe–Zustand Impulsausg.–Istw.
Impulsausgaben beenden
AR 11
Impulsausgabe–Istw. ändern
AR 12
SR 228
SR 229
SR 230
SR 231
PRV(62)
SCHNELLER ZÄHLER–
ISTWERT LESEN–Befehl
Impulsausg.–Istw. lesen
Impulsausg.abe–Status
lesen
SPS–Konfig.
DM 6629,
Bits 00 bis 03,
Bits 04 bis 07
Auswahl des
Impulsausgangs
Verdrahtung der
Ausgänge
Impulsausgang 0 oder 1 auswählen.
Ausgang
Impulsausgang
01000
0
01001
1
Verdrahten Sie die CPM2A–Ausgänge, wie es in der folgenden Abbildung angezeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 ausgegeben werden.)
Ausgang 01000: Impulsausgang 0 (einphasige Ausgabe)
Ausgang01001: Impulsausgang 1 (einphasige Ausgabe)
96
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung angezeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 ausgegeben 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
DM 6629
DM 6642
Bits
Funktion
00 bis
03
Impulsausgang 0–
Istwert–
Koordinatensystem
04 bis
07
Impulsausgang 1–
Istwert–
Koordinatensystem
08 bis
15
Schnelle Zähler–
Einstellung
0: Relatives
Koordinatensystem
Ein–
stellung
Entweder 0
oder 1
1: Absolutes
Koordinatensystem
00: Wird nicht
verwendet
Entweder
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 absolute Impulse mit PULS(65) spezifiziert werden.
Eine synchronisierte Impulssteuerung kann nicht gleichzeitig verwendet werden.
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–
Programmierung
Die folgende Tabelle enthält Befehlsfunktionen, die sich auf Impulsausgaben
ohne Beschleunigung und Abbremsung (festes Tastverhältnis) beziehen.
97
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
Befehl
Steuerung
2-5
Betrieb
(@)PULS(65)
Impulsanzahl einstellen
Spezifiziert die Anzahl der Impulse, die
in der Unabhängig–Betriebsart
ausgegeben werden sollen.
(@)SPED(64)
Spezifiziert die Frequenz
und beginnt die
Impulsausgabe
Spezifiziert die Frequenz der Ausgänge
in der Unabhängig– oder in der Un–
unterbrochen–Betriebsart und beginnt
die Impulsausgabe.
Ändert die Frequenz der Ausgaben in
der Unabhängig– oder
Ununterbrochen–Betriebsart.
Frequenzänderung
(@)INI(61)
(@)PRV(62)
Impulsausgaben
beenden
Beendet die Impulsausgaben (durch
Änderung der Geschwindigkeit bis auf
eine Frequenz von 0 Hz).
Impulsausgaben
beenden
Beendet die Impulsausgaben.
Impulsausgabe–Istwert
ändern
Ändert den Impulsausgabe–Istwert.
Impulsausgabe–Istwert
lesen
Liest den Impulsausgabe–Istwert.
Impulsausgabe–Status
lesen
Liest den Impulsausgabe–Status.
Die folgende Tabelle zeigt, welche Befehle für die Impulsausgabe ohne Beschleunigung und Abbremsung ausgeführt werden können.
PULS (65)
SPED (64)
INI (61)
PRV(62)
ACC(––)
PWM(––)
Ununterbrochen–
Betriebsart
Nein
Ja (sehen Sie
Hinweis 2)
Ja (Sehen Sie
Hinweis 1)
Ja
Nein
Nein
Unabhängige
Betriebsart
Ja
Ja (sehen Sie
Hinweis 2)
Ja (Sehen Sie
Hinweis 1)
Ja
Nein
Nein
Hinweis 1. Dieser Befehl kann nur zum Ändern des Istwertes ausgeführt werden, während Impulsausgaben gestoppt sind. Der Istwert kann nicht geändert werden, während Impulse ausgegeben werden. Stellen Sie sicher, die Impulsausgabe 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 verwendet werden.
Die folgende Tabelle enthält Worte und Bits, die sich auf Impulsausgaben ohne
Beschleunigung und Abbremsung (festes Tastverhältnis) beziehen.
Wort
98
Bits
Name
Inhalt
Kann nicht als Arbeitsmerker
verwendet werden,, auch wenn
k i Impulsausgänge
I
l
ä
keine
verwendet werden.
228
00 bis
15
Impulsausgabe–Istwert 0,
äußerst rechte 4 Stellen
229
00 bis
15
Impulsausgabe–Istwert 0,
äußerst linke 4 Stellen
230
00 bis
15
Impulsausgabe–Istwert 1,
äußerst rechte 4 Stellen
231
00 bis
15
Impulsausgabe–Istwert 1,
äußerst linke 4 Stellen
252
04
Rücksetzen des
Impulsausgabe 0–Istwertes
Löschen des Istwertes 0, wenn
auf EIN.
05
Rücksetzen des
Impulsausgabe 1–Istwertes
Löschen des Istwertes 1, wenn
auf EIN.
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
Wort
AR 11
Bits
AR 12
Name
2-5
Inhalt
12
Impulsausgabe 0 Istwert
Überlauf/Unterlauf
EIN: Aufgetreten
AUS: Normal
13
Einstellung der Anzahl der
Impulse für Impulsausgabe 0
EIN: Eingestellt (über
PULS(65))
AUS: Nicht eingestellt
14
Impulsausgabe für
Impulsausgang 0 beendet
EIN: Beendet (durch SPED(64))
AUS: Nicht beendet
15
Impulsausgabe für
Impulsausgang 0 aktiv
EIN: Aktiv (durch SPED(64))
AUS: Beendet
12
Impulsausgabe 1 Istwert
Überlauf/Unterlauf
EIN: Aufgetreten
AUS: Normal
13
Einstellung der Anzahl der
Impulse für Impulsausgabe 1
EIN: Einstellung (über
PULS(65))
AUS: Nicht eingestellt
14
Impulsausgabe für
Impulsausgang 1 beendet
EIN: Beendet (durch SPED(64))
AUS: Nicht beendet
15
Impulsausgabe für
Impulsausgang 0 aktiv
EIN: Aktiv (durch SPED(64))
AUS: Beendet
Einstellung der Anzahl der Impulse
Spezifiziert die Anzahl der Impulse, die in der Unabhängig–Betriebsart ausgegeben 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)
Anfangswort der Einstellung für die Anzahl der Impulse
A
n
n+1
Anzahl der Impulse (äußerst rechte, äußerst linke Stellen)
Äußerst rechte
4 Ziffern
Äußerst linke
4 Ziffern
Speichern der Anzahl der einzustellenden Impulse.
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 sowie die Frequenz ein und beginnen die Impulsausgabe. Sie können ebenfalls
dazu verwendet werden, bei aktiver Impulsausgabe die Frequenz zu ändern.
(@) SPED(64)
M
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Betriebsart (000: Unabhängig; 001: Ununterbrochen)
Z
Zielfrequenz–Datenwort
A
Z
Zielfrequenz
Einstellen der Zielfrequenzdaten.
#0001 bis #1000 (4–stelliger BCD–Wert):
10 Hz bis 10 kHz
#0000: Stoppen der Impulsausgabe
99
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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
004
C2
C2
C2+1
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerfunktion (004: Impulsausgabe–Istwert ändern)
Anfangswort der zu ändernden Istwert–Daten
Äußerst rechte
4 Ziffern
Äußerst linke
4 Ziffern
Istwert–Daten ändern (äußerst rechte, äußerst linke
Stellen)
Speichern der zu ändernden Istwert–Daten.
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 Impulsausgabe aktiv–Merker (AR 1115 und AR 1215) ausgeschaltet sind.
Impulsausgaben beenden
Diese Funktion beendet die Impulsausgaben.
Mit SPED(64)
(@) SPED(64)
A
M
Z
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Betriebsart (000: Unabhängig; 001: Ununterbrochen)
Zielfrequenz–Datenwort
Z
#0000
Spezifiziert eine Frequenz von 0 Hz.
Mit INI(61)
(@)INI(61)
A
003
000
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerbezeichnung (003: Impulsausgaben beenden)
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
003
Z
Z
Z+1
100
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerbezeichnung (003: Impulsausgabe–Istwert lesen)
Anfangswort zur Speicherung des Impulsausgabe–Istwertes
Äußerst rechte
4 Ziffern
Äußerst linke
4 Ziffern
Impulsausgabe–Istwert (äußerst rechte u. linke Stellen)
Die zu lesenden Istwert–Daten werden hier gespeichert.
96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des
äußerst linken Bits ausgedrückt.
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Einsatz der Datenbereiche
Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Istwert für Impulsausgang 0 in den Worten 228 und 229 und der Impulsausgabe–Istwert für
Impulsausgang 1 in den Worten 230 und 231 gespeichert.
Impulsausgang 1
Impulsausgang 0
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
001
Z
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerbezeichnung (001: Impulsausgabe–Status lesen)
Wort zur Speicherung des Impulsausgabe–Status
Impulsausgabe–Status
0: Konst. Geschw.;
1: Beschl./Abbremsen
Impulsausg.–Istwert Über–/Unterlauf
0: Normal 1: Unter– o. Überlauf aufgetreten
Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv
Anzahl der Impulse
0: Nicht eingestellt
1: Eingestellt
Impulsausgabe beendet
0: Nicht beendet
1: Beendet
Verwendung der Datenbereiche
Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Impulsausgang 0 in AR 11 und der für Impulsausgang 1 in AR 12 gespeichert.
AR 11:Impulsausgang 0
AR 12:Impulsausgang 1
Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv
Impulsausgabe beendet
0: Nicht beendet
1: Beendet
Impulsausgabe–Status:
0: Konstante Geschwindigkeit;
1: Beschleunigen/Abbremsen
Impulsausgabe–Istwert–Über–/Unterlauf
0: Normal
1: Unter– oder Überlauf ist aufgetreten
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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
2-5
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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 Abbildung 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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
SPS–Konfiguration
15
0
0
DM 6629
DM 6642
0
0
Stellt das Koordinatensystem für Impulsausgang 0
auf Relativ ein.
Auf eine andere 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
PULS(65)
Einstellung der Anzahl der Impulse
Impulsausgang 0
Relative Impulse
DM 0000
Anfangswort für Impulssollwertdaten
DM 0001
Anzahl der Impulse: 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 Ausgabe wird gestoppt, wenn die Ausführungsbedingung (00005) deaktiviert wird.
Die Umschaltung zwischen Ausgang 01000 (Impulsausgang 0) und 01001 (Impulsausgang 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 Abbildung gezeigt wird.
Motortreiber
104
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
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
Hinweis Sehen Sie das technische Handbuch für Einzelheiten über die Verkabelung der
Ausgänge.
SPS–Konfiguration
15
0
DM 6629
0
DM 6642
0
0
0
Stellt das Koordinatensystem der Impulsausgänge 0 und 1
auf Relativ ein.
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)
SPED (64)
Ausgabe in Rechtslauf–Richtung
Impulsausgang 0
Ununterbrochen–Betriebsart
Ausgangsfrequenz: 100 Hz
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
2-5-2 Verwendung der Impulsausgänge mit variablem Tastverhältnis
Wählen Sie den Impulsausgang
Impulsausgang 0 oder 1
Ausgangsadressen: 01000 und 01001
Verdrahten Sie die Ausgänge
PWM(––): Einstellung des Frequenz– und Tastverhältnisses.
Erstellen Sie ein
Kontaktplan–Programm
INI(61): Beenden der Impulsausgaben.
PRV(62): Lesen des Impulsausgabe–Status.
Impulsausgaben mit variablem Tastverhältnis
PWM(––)
IMPULS MIT VARIABLEM Tastverhältnis–
Befehl
Impulsausgang 0
Impulsausgang 1
(01000 oder 01001 können
verwendet werden.)
(Hinweis: Das Tastverhältnis ist
das Verhältnis der EIN–Zeit zur
Beginn der Impulsausgaben
(EIN+AUS)–Zeit der Impulskette)
Sofort
Einmal pro
Einmal pro
INI (61) BETRIEBSARTENSCHNELLER ZÄHZyklus
Zyklus
LER–ISTWERT LESTEUERUNGS–BeImpulsausgabe–Zustand
PRV(62) SEN–Befehl
Zielfrequenz: 0,1 bis 999,9 Hz
Ausgabeverhältnis 0 bis 100%
fehl
Impulsausgaben beenden
Auswahl des
Impulsausgangs
Verdrahtung der
Ausgänge
AR 11
AR 12
Impulsausgabe–
Status lesen
Impulsausgang 0 oder 1 auswählen.
Ausgang
Impulsausgang
01000
0
01001
1
Verdrahten Sie die CPM2A Ausgänge, wie es in der folgenden Abbildung gezeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 ausgegeben werden.)
Ausgang 01000: Impulsausgang 0 (einphasige Ausgabe)
Ausgang 01001: Impulsausgang 1 (einphasige Ausgabe)
106
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung angezeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 ausgegeben 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
DM 6642 08 bis 15 Schneller
Zähler–
Einstellung
Einstellung
00: Wird nicht verwendet
01: Verwendung als Schneller
Zähler
Entweder
00 oder 01
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 werden.
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–
Programmierung
Die folgende Tabelle zeigt die Befehlsfunktionen, die sich auf die Impulsausgabe mit variablem Tastverhältnis beziehen.
Befehl
(@)PWM(––)
Steuerung
Betrieb
Impulsausgabe mit
variablem Tastverhältnis
Einstellen der Frequenz und des
Tastverhältnisses und Beginn der
Impulsausgaben.
Ändern des
Tastverhältnisses
Ändert das Tastverhältnis des Impulses,
während bereits eine Impulsausgabe
mit variablem Tastverhältnis stattfinden.
(@)INI(61)
Impulsausgabe beenden
Beendet die Impulsausgabe.
(@)PRV(62)
Impulsausgabe–Status
lesen
Liest den Impulsausgabe–Status
(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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
PULS
(65)
SPED
(64)
Nein
Nein
INI (61)
Ja (sehen Sie
Hinweis 1)
PRV(62) ACC(––)
Ja
Nein
2-5
PWM(––)
Ja (sehen Sie
Hinweis 2)
Hinweis 1. Dieser Befehl kann nur zum Beenden der Impulsausgabe verwendet werden.
2. Dieser Befehl kann nur zur Änderung des Tastverhältnisses verwendet werden. Die Frequenz kann nicht geändert werden, während Impulse ausgegeben 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
Impulsausgang 0 aktiv
EIN: Aktiv (durch SPED(64),
ACC(––) oder PWM(––))
AUS: Beendet
AR 12
15
Impulsausgabe für
Impulsausgang 1 aktiv
EIN: Aktiv (durch SPED(64),
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 Impulsausgabe. Durch die Änderung der Tastverhältniseinstellung und eine erneute Ausführung von PWM(––) ist es ebenfalls möglich, das Tastverhältnis zu
ändern, während bereits eine Impulsausgabe mit variablem Tastverhältnis stattfinden.
(@PWM(––)
A
F
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
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 werden.
Impulsausgabe beenden
Diese Funktion beendet die Impulsausgabe.
(@)INI(61)
A
003
000
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerbezeichnung (003: Impulsausgabe beenden)
Fest: 000
Hinweis Impulsausgaben können ebenfalls beendet werden, indem die SPS in die PROGRAM–Betriebsart umgeschaltet wird.
Impulsausgabe–Status lesen
Diese Funktion liest den Impulsausgabe–Status.
108
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Einsatz eines Befehls
(@)PRV(62)
A
001
D
Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
Steuerbezeichnung (001: Impulsausgabe–Status lesen)
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 Impulsausgang 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 aufgefrischt; 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 (Impulsausgang 0) mit einer Frequenz von 100 Hz ausgegeben. Das Tastverhältnis kann
jetzt mit dem Daumenradschalter 0 geändert werden.
109
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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.
E.–steckverbind.
A.–steckverbinder
Motortreiber
Daumenradschalter
24 VDC
Hinweis Sehen Sie das technische Handbuch für Einzelheiten zur Verkabelung.
SPS–Konfiguration
15
DM 6642
110
0
0
0
Ein Schneller Zähler wird nicht verwendet.
(Auf eine andere außer einer synchronisierten
Impulssteuerung einstellen.)
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 Werteingabe–Potis. Spezifizieren Sie für
externe Einstellungen das Eingangswort, dass mit dem Daumenradschalter verbunden ist.
2-5-3 Impulsausgaben mit trapezförmiger Beschleunigung and
Abbremsung
Richtungssteuerverfahren auswählen
Wählen Sie den Impulsausgang
Verdrahten Sie die Ausgänge
SPS–Konfiguration (DM 6629)
Impuls– und Richtungsausgang oder Aufwärts/Abwärts–Impulsausgang
Impulsausgang 0
Ausgangsadressen: 01000 und 01001
Istwert–Koordinatensystem für Impulsausgang 0:
PULS(65) Einstellung der Anzahl von Ausgabeimpulsen.
Erstellen Sie ein
Kontaktplan–Programm
ACC(––): Steuerung von Impulsausgängen mit trapezoidal Beschleunigung und Abbremsung
INI(61): Beenden der Impulsausgaben und Änderung des Impulsausgabe–Istwertes.
PRV(62): Lesen des Impulsausgabe–Istwertes und des Status.
111
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Impulsausgaben mit trapezförmiger Beschleunigung and Abbremsung
PULS (65)
SET
PULSES–
Befehl
ACC(––)
Relative/absolute Impulse spezifizieren.
Spez. Anzahl der Ausg.–
impulse
Sollwert (8–stell. BCD)
BESCHLEUNIGUNG–
STEUERUNGS–Befehl
Impuls, Rechtslauf
Richtung, Linkslauf
Betriebsartenbezeichnung
Anfangsfreq.: 0 Hz bis 10 kHz
Zielfrequenz: 10 Hz bis 10 kHz
INI (61) BETRIEBSARTENSTEUERUNGS–Befehl
Impulsausgaben beenden
Impulsausgabe–Istwert ändern
Beschleunigungs–/Bremsgeschwindigkeit: 10 ms Erhöhung/Reduzierung 10 Hz bis 10 kHz
Impulsausgaben beginnen
Einmal pro
Zyklus
Einmal pro
Sofort
SCHNELLER
Zyklus
ZÄHLER–ISTWERT
Impulsausgabe–Zustand Impulsausg.–Istw.
PRV(62) LESEN–Befehl
SPS–Konfig.
AR 11
SR 228
Impulsausg.–Istw. lesen
Impulsausgabe–Status
lesen
SR 229
DM 6629, Bits
00 bis 03
Auswahl des Richtungs–
steuerverfahrens
Wählen Sie das Impulsausgabe–Richtungssteuerverfahren entsprechend dem
Typ des verwendeten Signals.
Impuls– und Richtungsausgänge
Wählen Sie Impulsausgang 0.
Auswahl des
Impulsausgangs
Ausgang
01000
01001
Impulsausgang
0
Verdrahten Sie die CPM2A Ausgänge, wie es in der folgenden Abbildung angezeigt wird.
Verdrahtung der
Ausgänge
Impuls– und Richtungsausgänge
112
Aufwärts/Abwärts–Impulsausgänge
Aufwärts/Abwärts–Impulsausgänge
Ausgang 01000: Impuls
Ausgang 01000: Rechtslauf
Ausgang 01001: Richtung
Ausgang 01001: Linkslauf
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung gezeigt 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
DM 6629
00 bis
03
DM 6642
08 bis
15
Funktion
Impuls 0–
Istwert–
Koordina–
tensystem
Schnelle
Zähler–
einstellung
Einstellung
0: Relativ
1: Absolut
Entweder 0
oder 1
00: Wird nicht verwendet
Entweder
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 absolute Impulse mit PULS(65) spezifiziert werden.
Eine synchronisierte Impulssteuerung kann nicht gleichzeitig verwendet werden.
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Die folgende Tabelle enthält Befehlsfunktionen, die sich auf Impulsausgaben
mit trapezförmiger Beschleunigung und Abbremsung (festes Tastverhältnis)
beziehen.
Kontaktplan–
Programmierung
Befehl
Steuerung
Funktion
(@)PULS(65)
Einstellen der Anzahl
der Impulse
Spezifiziert die Anzahl der Impulse, die
in der Unabhängig–Betriebsart
ausgegeben werden sollen.
(@)ACC(––)
Spezifiziert die Frequenz
und beginnt die
Impulsausgabe
Stellt die Zielfrequenz, Startfrequenz
und Beschleunigungs–/Abbrems–
geschwindigkeit für Ausgänge in der
Unabhängig– oder Ununterbrochen–
Betriebsart ein und beginnt die
Impulsausgaben.
Ändert die Frequenz während der
Impulsausgabe in der Ununterbrochen–
Betriebsart durch Beschleunigung oder
Abbremsung entsprechend der
spezifizierten Beschleunigungs–/
Abbremsgeschwindigkeit.
Verlangsamt die Impulsausgaben bis zu
einem Halt entsprechend der spezifi–
zierten Beschleunigungs–/ Abbrems–
geschwindigkeit.
Beendet die Impulsausgaben.
Frequenzänderung
Impulsausgaben
beenden
(@)INI(61)
(@)PRV(62)
Beendet die Impuls–
ausgabe (abgebremster
Stopp)
Impulsausgabe–Istwert
ändern
Ändert den Impulsausgabe–Istwert.
Impulsausgabe–Istwert
lesen.
Liest den Impulsausgabe–Istwert.
Impulsausgabe–Status
lesen
Liest den Impulsausgabe–Status.
Die folgende Tabelle zeigt die Befehle, die für die Impulsausgabe mit trapezförmiger 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
Hinweis 1)
Ja
Ja
Nein
Unabhängig
Ja
Nein
Ja (sehen Sie
Hinweis 1)
Ja
Ja (sehen Sie
Hinweis 2)
Nein
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 Impulsausgabe 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 verwendet 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) beziehen.
114
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
Wort
Bits
2-5
Funktion
Bedeutung
Kann nicht als
Impulsausgang 0–Istwert, äußerst
Arbeitsmerker
rechte 4 Stellen
verwendet werden,
Impulsausgang 0–Istwert, äußerst linke auch wenn keine
Impulsausgänge
4 Stellen
verwendet werden.
228
00 bis
15
229
00 bis
15
252
04
Rücksetzen des Impulsausgang
0–Istwertes
Löschen des Istwertes
0, wenn auf EIN.
AR 11
11
Impulsausgabe–Status für
Impulsausgang 0
12
Impulsausgang 0–Istwert
Überlauf/Unterlauf
EIN: Beschleunigen
oder Abbremsen
AUS: Konstante
Geschwindigkeit
EIN: Aufgetreten
AUS: Normal
13
Impulsanzahl für Impulsausgang 0
EIN: Eingestellt
AUS: Nicht eingestellt
14
Impulsausgabe über Impulsausgang 0
beendet
EIN: Beendet
AUS: Nicht beendet
15
Impulsausgabe über Impulsausgang 0
aktiv
EIN: Aktiv (durch
SPED(64), ACC(––)
oder PWM(––))
AUS: Beendet
Einstellung der Anzahl der Impulse
Spezifiziert die Anzahl der Impulse, die in der Unabhängig–Betriebsart ausgegeben werden sollen.
(@)PULS(65)
000
D
A
A
A+1
Fest auf 000: Ausgang 0
Art der Impulsausgabe (000: relative Impulse; 001: absolute Impulse) (sehen Sie den Hinweis)
Anfangswort der Einstellung für die Anzahl der Impulse
äußerst rechte
4 Ziffern
äußerst linke
4 Ziffern
Anzahl der Impulse (äußerst rechte, äußerst linke Stellen)
Speichern der Anzahl der einzustellenden Impulse.
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–Koordinatensystem in der SPS–Konfiguration auf Absolutes Koordinatensystem eingestellt wird.
115
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Frequenz einstellen und Impulsausgabe beginnen
Frequenz ändern
Diese Funktionen stellen Ausgabemodus, Anfangsfrequenz, Zielfrequenz und
Beschleunigungs–/Abbremsgeschwindigkeit ein und beginnen die Impulsausgaben. Sie können auch zur Änderung der Frequenz verwendet werden, in dem
die Beschleunigung oder Abbremsung mit der spezifizierten Beschleunigungs–/Abbremsgeschwindigkeit durchgeführt wird, während bereits Impulsausgaben in der Betriebsart Ununterbrochen stattfinden.
Einstellung der Frequenzen, Beschleunigung/Abbremsung und Beginn
der Impulsausgabe in der Betriebsart Unabhängig
(@)ACC(––)
000
M
A
M
Fest auf 000: Impulsausgang 0
Ausgabebetriebsart
Anfangswort der Einstellungstabelle
Ausgabebetriebsart
Spezifikation der Ausgabebetriebsart.
000: Aufwärts/Abwärts–Impulsausgaben, Betriebsart Unabhängig
002: Impuls– und Richtungsausgänge, Betriebsart Unabhängig
A
A+1
Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
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
Anzahl der
Impulse
Zeit
In der Betriebsart Unabhängig werden die Beschleunigungs– und Bremspunkte durch die Anzahl der Impulse,
die Beschleunigungs–/Abbremsgeschwindigkeit, die Zielfrequenz und die Startfrequenz bestimmt.
116
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Einstellung der Frequenz und Beschleunigung/Abbremsung, Beginn der
Impulsausgabe und Änderung der Frequenz in der Ununterbrochen–Betriebsart
(@)ACC(––)
M
Fest auf 000: Impulsausgang 0
Ausgabebetriebsart
A
Anfangswort der Einstellungstabelle
000
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
A+1
Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
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
004
A2
A2
A2+1
äußerst rechte
4 Ziffern
äußerst linke
4 Ziffern
Fest auf 000: Impulsausgang 0
Steuerbezeichnung (004: Impulsausgabe–Istwert ändern)
Anfangswort der zu ändernden Istwert–Daten
Istwert–Daten ändern (äußerst rechte, äußerst linke Stellen)
Speichern der zu ändernden Istwert–Daten
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 Impulsausgabe gestoppt ist.
117
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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
Betriebsart
A
Anfangswort der Einstellungstabelle
000
A
A+1
Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
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
003
Z
Z
Z+1
Fest auf 000: Impulsausgang 0
Steuerbezeichnung (003: Impulsausgabe–Istwert lesen)
Anfangswort zur Speicherung des Impulsausgabe–Istwertes
äußerst rechte
4 Ziffern
äußerst linke
4 Ziffern
Impulsausgabe–Istwert (äußerst rechte und linke Stellen)
Zu lesende Istwert–Daten werden hier gespeichert.
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 Impulsausgang 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 entsprechen 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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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)
Wort zur Speicherung des Impulsausgabe–Status
D
Impulsausgabe–Zustand
0: Konstantrate
1: Beschleunigen oder Abbremsen
Impulsausgabe–Istwert Überlauf/Unterlauf
0: Normal
1: Unterlauf oder Überlauf ist aufgetreten
Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv
Anzahl der Impulse
0: Nicht eingestellt
1: Eingestellt
Impulsausgabe beendet
0: Nicht beendet
1: Beendet
Verwendung der Datenbereiche
Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Impulsausgang 0 in AR 1111 bis AR 1115 gespeichert.
AR 11: Impulsausgang 0
Impulsausgabe–Zustand
0: Konstantrate
1: Beschleunigen oder Abbremsen
Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv
Impulsausgabe beendet
0: Nicht beendet
1: Beendet
Impulsausgabe–Istwert–Über–/Unterlauf
0: Normal
1: Unter– oder Überlauf ist aufgetreten
Anzahl der Impulse
0: Nicht eingestellt
1: Eingestellt
Hinweis AR 1111 bis AR 1115 werden einmal in jedem Zyklus aufgefrischt; somit entsprechen 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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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 trapezoidal Beschleunigungs–/Abbremsmuster ausgegeben, wie es im folgenden Diagramm dargestellt ist.
Frequenz (Hz)
Beschleunigungs–/
Abbremsgeschwindigkeit
500
10 Hz
10 ms
200
Anzahl der Impulse
Ausführungsbedingung
(00005)
Verdrahtung
Verbinden Sie die CPM2A mit dem Motortreiber, wie es in der folgenden Abbildung gezeigt wird.
Motortreiber
121
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Verbinden Sie die CPM2C mit dem Motortreiber, wie es in der folgenden Abbildung 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
0
DM 6629
DM 6642
0
0
Stellt das Koordinatensystem für Impulsausgang 0
auf Relativ ein.
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 Impulssollwertdaten
ACC(––)
122
Anzahl der Impulse: 1.000
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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
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 Betriebs 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 Abbildung 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
Abschnitt
CPM2A/CPM2C–Impulsausgabefunktionen
2-5
Hinweis Sehen Sie das technische Handbuch für Einzelheiten der Verkabelung.
SPS–Konfiguration
15
0
0
DM 6629
DM 6642
0
Stellt das Koordinatensystem für Impulsausgang 0 auf Relativ ein.
Der Schnelle Zähler wird nicht verwendet.
(Auf eine andere außer einer synchronisierten
Impulssteuerung einstellen.)
0
Programmierung
00005 (Ausführungsbedingung)
(Richtungseingang)
(13)
Erfasst die Aktivierung der Ausführungsbedingung.
(14)
Erfasst die Deaktivierung der Ausführungsbedingung.
AR 1115
ACC(––)
Ausgabe in Rechtslauf–Richtung
Impulsausgang 0
Betriebsart Ununterbrochen, Auf/Abwärtsimpulse, Rechtslauf–Richtung
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
(Richtungseingang)
(14)
ACC(––)
Abgebremster Halt
Impulsausgang 0
Anfangswort der Einstellungstabelle
Beschleunigungs–/Abbremsgeschwindigkeit: 10 Hz/10 ms
Zielfrequenz: 0 Hz
124
Abschnitt
CPM1A–Impulsausgabefunktionen
2-6
2-6
CPM1A–Impulsausgabefunktionen
CPM1A–SPS–Systeme mit Transistorausgängen besitzen eine Impulsausgabefunktion, 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 werden, 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 spezifizierte Anzahl der Impulse ausgegeben wurde.
Unabhängig–
Betriebsart
Spezifizierte Anzahl der Impulse
Schrittmotor
Steuereingang
Motor–
regelung
Impulsausgabe
(einphasige Ausgabe)
IR 01000 oder IR 01001
Rechts–/Linkslauf–Steuerausgang
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 verwenden.
125
Abschnitt
CPM1A–Impulsausgabefunktionen
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 Wortinhalt) als Impulsfrequenz spezifiziert werden.
00004 (Impulsausgabe–
Bedingung)
@SPED(64)
Beginnt der Impulsausgabe.
000
Ausgabe von 01000
001
Ununterbrochen–Betriebsart
#0100
Impulsfrequenz: 1 kHz
@INI(61)
Beendet die Impulsausgabe.
00005 (Impulsausgabe–
Haltbedingung)
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 spezifizierte 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)
000
000
#0100
Beginn der Impulsausgabe.
Unabhängig– Betriebsart
Impulsfrequenz: 1 kHz
2-6-3 Verwendung der Impuls–Ausgabebefehle
Einstellung der Anzahl
der Impulse
Verwenden Sie, wie nachfolgend gezeigt, PULS(65) vor dem Beginn der Impulsausgabe in der Unabhängig–Betriebsart, um die Anzahl der auszugebenden Impulse einzustellen. Diese Einstellung ist nicht für die Ununterbrochen–
Betriebsart erforderlich.
@PULS(65)
000
000
N
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 Worten 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
Abschnitt
CPM1A–Impulsausgabefunktionen
Beginn der
Impulsausgabe
2-6
Legen Sie mit SPED(64) den Ausgang für die Impulsausgabe fest (IR 01000
oder IR 01001), die Betriebsart (Unabhängig/Ununterbrochen) und die Impulsfrequenz.
@SPED(64)
P
M
F
P (3–stellig, BCD–Wert)
M (3–stellig, BCD–Wert)
F (4–stellig, BCD–Wert)
000: Ausgaben an IR 01000
010: Ausgaben an IR 01001
000: Unabhängig–Betriebsart
001 Ununterbrochen–Betriebsart
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 Impulsausgabe zu ändern.
2-6-4 Ändern der Frequenz
Verwenden Sie SPED(64), um die Frequenzeinstellung während der Impulsausgabe 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
M
F
P (3–stellig, BCD)
M (3–stellig, BCD)
F (4–stellig, BCD)
Gleiche als bei Beginn der Impulsausgabe.
Gleiche als bei Beginn der Impulsausgabe.
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 Impulsausgabe automatisch nach der Ausgabe der mit PULS(65) spezifizierten Anzahl der Impulse ab. Werden Impulse in der Ununterbrochen–Betriebsart ausgegeben, 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
SPED(64)
Die erste Methode besteht in der Verwendung von SPED(64), um die Impulsausgabe anzuhalten, indem Sie die Frequenz mit 0 spezifizieren. Sehen Sie für
Einzelheiten den Abschnitt 2-6-4 Änderung der Frequenz.
127
Abschnitt
CPM1A–Impulsausgabefunktionen
Verwendung von INI(61)
Die zweite Methode besteht in der Verwendung von INI(61), um die Impulsausgabe wie folgt anzuhalten:
@INI(61)
000
003
000
128
2-6
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
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 synchronisierte Impulssteuerung zu verwenden, d.h. entweder eine
CPM2AjjCDT–D oder eine CPM2AjjCDT1–D.
Das folgende Diagramm zeigt die Konfiguration für eine CPM2A; die Konfiguration für eine CPM2C ist identisch.
Zählereingabe
Impulseingang
00000 oder 00001
Hauptmotor
Inkremental–Drehgeber
Motortreiber
Impulsausgabe 01000
oder 01001 (einphasige
Ausgabe)
Eingangsmodus
Angabe
g
Differential–
phasen–
Eingangsmodus
Impuls– u.
Richtungs–
Eingangsmodus
Auf–/Abwärts–
Impulseingangs–
modus
Inkrementmodus
Eingang Phase A
Eingang Phase B
Zähleingang
Richtungseingang
Rechtslaufeingang
Linkslaufeingang
Zähleingang
(sehen Sie den
Hinweis 1)
Eingangsart
Differential–
phasen–
Eingang (4X)
Einphasiger
Eingang
Einphasiger
Eingang
Einphasiger
Eingang
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–
nummer
(sehen Sie
Hinweis 3)
01000
Impulsausgang 0
01001
Implusausgang 1
Eingangs–
g g
N
Nummer
00000
00001
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
Steuerungszyklus
10 ms
Hinweis 1. Kann als gewöhnlicher Eingang verwendet werden.
129
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
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 Impulssteuerung 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–Konstanteneinstellungen für die beeinflußten Eingänge deaktiviert. Die Eingangszeit–Konstanten
bleiben jedoch als Werte für die Auffrischung des relevanten Datenbereichs gültig.
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ändert.
Frequenz
Zeit
130
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
Verwendung der synchronisierten Impulssteuerung
Differentialphasen–Impulseingangs–, Impuls + Richtungseingangs–, Auf–/Abwärts–Impulseingangs–, Inkrementalmodus
Wählen Sie die Eingangs–
Betriebsart
Wählen Sie die Impulssynchronisations–Eingangsfrequenz
Eingangsfrequenz: 10 Hz bis 500 Hz; 20 Hz bis 1 kHz; 300 Hz bis 20 kHz
Eingangsnummer: 00000, 00001 und 0002
Ausgangsadressen: 01000 und 01001
Verdrahten Sie die Ein– und
Ausgänge
Einstellung der synchronisierten Impulssteuerung, der Eingangsmodus, der Eingangsfrequenz
SPS–Konfiguration (DM 6642)
Erstellen Sie ein Kontaktplan–
Programm
SYNC(––): Start der synchronisierten Impulssteuerung und zur Änderung des Skalierfaktors
INI(61): Anhalten der synchronisierten Impulssteuerung
PRV(62): Lesen der schnellen Zählerfrequenz und des synchronisierten Impulssteuerungs–Status
SPS–Konfiguration
Synchronisierte
Impulssteuerung
DM 6642, Bits 08 bis 15
10 bis 500 Hz
20 Hz bis 1 kHz
300 Hz bis 20 kHz
Entweder
Geber–
eingänge
Eingangsmodus
Zählen
Differentialphase
:
Impuls– u. Richtung
Kontaktplan–Programm
Auf–/Abwärt
SYNC(––)
Inkremental
Impulsausgang 0
Impulsausgang 1
SYNCHRONISIERTE
IMPULSSTEUERUNG–
Befehl
Synchr. Impuls–
steuerung beginnen
Skalierfaktor ändern
SPS–Konfigur.
DM 6642, Bits
00 bis 03
INI (61)
BETRIEBSARTENSTEUERUNGS–Befehl
Synchro. Impuls–
steuerung abbrech.
Einmal pro Zyklus
Zählerfrequenz–Istwert
SR 249
SR 248
Sofort
PRV(62)
Einmal pro Zyklus
SCHNELLER ZÄHSynchronisierten ImLER–ISTWERT
pulssteuerungs–Status
LESEN–Befehl
Schnellen Zähler lesen
AR 1100 bis AR 1107
Synchronisierten Impulssteuerungs–Status lesen
Die Impulsausgabefrequenz kann nicht gelesen werden.
Wahl des
Eingangsmodus und des
Rücksetzverfahrens.
Wählen Sie den Differentialphasen–Eingangs–, Impuls + Richtungseingangs–,
Auf–/Abwärts–Impulseingangs– oder Inkrementalmodus. Diese Modi sind
nachfolgend beschrieben.
131
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
Auswahl der
Impulssynchronisations–
Eingangsfrequenz.
2-7
Wählen Sie einen der nachfolgend aufgeführten als Eingangsfrequenz–Bereich: 10 Hz bis 500 Hz, 20 Hz bis 1 kHz oder 300 Hz bis 20 kHz. Sehen Sie die
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
Nms → Frequenz =
1,000
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.
Impuls–
eingänge
Richtungseingänge
EIN
AUS
EIN
AUS
Nms → Frequenz =
1,000
N
Auf–/Abwärts–Impulseingangsmodus
In dem Auf–/Abwärts–Impulseingangsmodus werden Rechtslauf– (Aufwärtsimpulse) 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
Nms → Frequenz =
Dekrementierung
1,000
N
Inkrementmodus
Im Inkrementalmodus werden Impulssignale angelegt und der Zählwert wird mit
132
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
jedem Impuls inkrementiert. Phase–B–Eingänge können als gewöhnliche Eingänge verwendet werden.
EIN
Impuls–
eingänge
AUS
Nms → Frequenz =
1,000
N
Verdrahtung der Eingänge
Eingangsverdrahtung
Verdrahten Sie die CPM2A–Eingänge, wie es in der folgenden Abbildung dargestellt ist.
Differentialphasen–Eingangsmodus
Auf–/Abwärts–Impulseingangsmodus
00000: Eingang Phase A
00001: Eingang Phase B
00002: Eingang Phase Z
Impuls– u. Richtungs–Eingangsmodus
00000: Rechtslaufeingang
00001: Linkslaufeingang
Inkrementmodus
00000: Impulseingang
00001: Richtungseingang
00000: Impulseingang
133
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
Verdrahten Sie die CPM2C–Eingänge, wie es in der folgenden Abbildung dargestellt 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 dargestellt ist.
Ausgangsverdrahtung
01000: Impulsausgang 0
01001: Impulsausgang 1
134
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
Verdrahten Sie die CPM2C–Ausgänge, wie es in der folgenden Abbildung dargestellt ist.
A.–steckverbinder
01000: Impulsausgang 0
01001: Impulsausgang 1
SPS–Konfiguration
Die Einstellungen in der SPS–Konfiguration, die mit synchronisierter Impulssteuerung zusammenhängen, sind in der folgenden Tabelle aufgeführt.
Wort
DM 6642
Bits
00 bis 03
Funktion
Schneller Zähler–Eingangsmodus–
Einstellung
0: Differential–Phaseneingang
1: Impuls– u. Richtungseingang
2: Auf–/Abwärtseingang
4: Inkrement
04 bis 07
Ein–
stellung
0, 1, 2
oder 4
5 kHz
20 kHz
20 kHz
20 kHz
Schneller Zähler–Rücksetzverfahrens–
Einstellung
0 oder 1
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
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
Kontaktplan–
Programmierung
2-7
Die folgende Tabelle zeigt die sich auf die synchronisierte Eingangssteuerung
beziehenden Befehlsfunktionen.
Befehl
Steuerung
(@)SYNC(––) Beginn der
synchronisierten
Impulssteuerung
Betrieb
Spezifiziert Frequenzskalierfaktor und
Ausgangsanschluss und gibt Impulse
aus.
Frequenzskalierfaktor
ändern
Ändert den Frequenzskalierfaktor
während der Impulsausgabe.
(@)INI(61)
Synchronisierte
Impulssteuerung
beenden
Beendet die Impulsausgaben.
((@)PRV(62)
)
( )
Eingangsfrequenz lesen
Synchronisierten
Impulssteuerungs–
Status lesen
Liest die Eingangsfrequenz.
Liest den synchronisierten
Steuerungsstatus.
Die folgende Tabelle zeigt die Worte und Bits, die mit der synchronisierten Impulssteuerung zusammenhängen.
Wort
Bits
Name
248
00 bis
15
Eingangsfrequenz–Istwert, äußerst
rechte Stellen
249
00 bis
15
Eingangsfrequenz–Istwert, äußerst
linke Stellen
AR 11
15
Impulsausgabe für Impulsausgang
0 aktiv
AR 12
15
Impulsausgabe für Impulsausgang
1 aktiv
Inhalt
Liest den
Eingangsfrequenz–
g g
q
I t
Istwert.
t
EIN: Aktive Ausgabe
AUS: Beendet
Frequenzsteuerung starten
Diese Funktion spezifiziert die Ausgänge für die Impulsausgaben (01000,
01001) sowie den Frequenzskalierfaktor (1% bis 1.000%) und beginnt die Impulsausgabe.
(@)SYNC(––)
000
S2
S
S
Impulseingangsanschluss (000: Schneller Zähler)
Impulsausgangsanschluss (000: Impulsausg. 0; 010: Impulsausg. 1)
Frequenzskalierfaktor–Einstellung
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 Frequenzskalierfaktors 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 Impulsausgaben (01000, 01001) und den Frequenzskalierfaktor (1% bis 1.000%)
spezifiziert sowie SYNC(––) ausführt.
Synchronisierte Steuerung anhalten
Diese Funktion beendet die Impulsausgaben.
(@)INI(61)
005
Schnittstellenbezeichner (000: Schneller Zähler)
Steuerbezeichnung (005: Synchronisierte Steuerung anhalten)
000
Fest: 000
000
Hinweis Die Impulsausgabe kann ebenfalls beendet werden, indem die SPS in die PROGRAM–Betriebsart umgeschaltet wird.
136
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
Eingangsfrequenz lesen
Diese Funktion liest den Eingangsfrequenz–Istwert.
Einsatz eines Befehls
(@)PRV(62)
Fest: 000
Steuerbezeichnung (000: Schnelle Zähler–Eingangsfrequenz lesen)
000
000
Anfangswort zur Speicherung des Eingangsfrequenz–Istwerts
Z
Z
äußerst rechte
4 Ziffern
äußerst linke
4 Ziffern
Z+1
00000000 bis 00020000 (8-stelliger BCD-Wert)
Verwendung der Datenbereiche
Wie in der folgenden Abbildung gezeigt, wird die Eingangsfrequenz in den Worten 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 einer 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)
Anfangswort zur Speicherung des synchronisierten Steuerungsstatus
Z
• 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 gespeichert.
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 auftreten.
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 (Impulsausgang 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
Abschnitt
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
2-7
|Verdrahtung
Verdrahten Sie die CPM2A, wie es in der folgenden Abbildung dargestellt ist.
Orange
Weiß
Schwarz
Inkremental–
Drehgeber
Blau
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 verwendet.
A.–steckverbinder
E.–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 Inkrementaldrehgeber–Verdrahtung mit den Eingängen.
SPS–Konfiguration
15
DM 6642
0
0
2
0
0
00: Differentialphasen–Eingangsmodus
02: Verwendung als synchronisierte Impulssteuerung
139
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)
Abschnitt
Programmierung
00005 (Ausführungsbedingung)
DIFD (14) 20000
Erfasst die Deaktivierung der Ausführungsbedingung.
MOV(21)
250
DM0000
Verschiebt den Wert des Werteingabe–Potis 0 auf DM 0000.
CMP(20)
Stellt DM 0000 auf “1” ein, wenn Werteingabe–Poti 0 auf “0”
eingestellt wird.
MOV(21)
140
(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
2-7
Abschnitt
Toleranzen
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
Frequenzänderungen
Eine Verzögerung tritt ein, bevor eine Änderung der Frequenz während der Impulsausgabe 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
zeit
Frequenzfehler
2 + 10 + Befehlsausführungs-
Bedingt durch einen internen Verarbeitungsfehler tritt ein Fehler von weniger als
± 1% zwischen der Frequenz des Ausgabeimpulses und der eingestellten Frequenz auf.
2-8-2 Synchronisierte Impulssteuerung
Verzögerung beim
Beginn der
Impulsausgabe
Das folgende Diagramm zeigt die Verzögerung, die zwischen dem Beginn der
synchronisierten Impulssteuerung und dem Beginn der eigentlichen Impulsausgabe auftritt.
Impuls–
eingabe
Impuls–
ausgabe
Verzögerung
Maximalverzögerung (ms) = eine Periode der Impulseingabe x 2 + 16,25
Verzögerungen der
Frequenzänderungen
Wie nachfolgend dargestellt ist, tritt eine Verzögerung auf, bevor bei der synchronisierten Impulssteuerung eine Änderung der Frequenz während der Impulsausgabe tatsächlich auf die Ausgabe erfolgt.
Verzögerung
Impuls–
eingabe
Impuls–
ausgabe
Maximalverzögerung (ms) = eine Periode der gegenwärtigen Impulsausgabe
Verzögerung beim
Anhalten der
Impulsausgabe
2 + 10
Das folgende Diagramm zeigt die Verzögerung, die während des Abbruchs der
synchronisierten Impulssteuerung (0 Hz) und dem Ende der eigentlichen Impulsausgabe 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
DM 6642 Bit 08 bis 15
Frequenzbereich
Verzögerung
02
10 bis 500 Hz
262 ms
03
20 Hz bis 1 kHz
66 ms
04
300 Hz bis 20 kHz
4 ms
141
Abschnitt
Analoge E/A–Funktionen
Frequenzfehler
2-9
Wie nachfolgend beschrieben, tritt ein Fehler zwischen der Frequenz des Eingabe– und der des Ausgabeimpulses auf. Dieser wird durch einen Fehler in der
Eingabeimpulsfrequenz–Messung und einen Fehler in der Ausgabeimpulsfrequenz verursacht.
Eingabeimpulsfrequenz–Messfehler
Wie nachfolgend gezeigt, hängt der Fehler beim Messen der Frequenz des Eingabeimpulses von der Einstellung in DM 6642 ab. Wird ein Multiplikationsfaktor
für die synchronisierte Impulssteuerung spezifiziert, muss der in der Tabelle beschriebene Fehler ebenfalls mit dem gleichen Faktor multipliziert werden.
Einstellung von
DM 6642 Bit 08 bis 15
Frequenzbereich
Fehler
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 Bedingungen durchgeführt, tritt ein Fehler von±10 Hz beim Messen des Frequenzbereichs 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 Bereich 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 angeschlossen werden, um analoge E/A zur Verfügung zu stellen. Eine analoge E/A–Baugruppe 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–Baugruppen stehen für Thermokoppler– oder Platin–Widerstandsthermometer–Eingä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–CompoBus/S)–Master–Baugruppe arbeiten, wenn eine CompoBus/S–E/A–Link–Bau-
142
Abschnitt 2-12
CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2))
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
Betriebsart
Anzahl der
Geräte
High-Speed–Modus
g
Long-Distance–Modus
g
16
32
16
32
Kommunikations–Ansprechzeit
0,5 ms
0,8 ms
4,0 ms
6,0 ms
Die Kommunikationsbetriebsart und die maximale Anzahl der Teilnehmer werden in der SPS–Konfiguration eingestellt, wie es in der folgenden Tabelle gezeigt wird.
Wort
Bit(s)
DM 6603 00 bis
03
04 bis
07
08 bis
15
Funktion
Ein–
stellung
Maximale Anzahl der CompoBus/S–Teilnehmer
0 oder 1
0: 32 Geräte
1: 16 Geräte
CompoBus/S–Kommunikationsmodus
0 oder 1
0: High-Speed–Kommunikation
1: Long-Distance–Kommunikation
Nicht verwendet.
00
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.
Bit
Wort
Eingang
Ausgang
IR 000
IR 001
IR 002
IR 003
IR 004
IR 005
IR 006
IR 007
IR 010
IR 011
IR 012
IR 013
IR 014
IR 015
IR 016
IR 017
15 14 13 12 11 10 9
EING 1
EING 3
EING 5
EING 7
EING 9
EING 11
EING 13
EING 15
AUSG 1
AUSG 3
AUSG 5
AUSG 7
AUSG 9
AUSG 11
AUSG 13
AUSG 15
8 7
6
5
4 3 2
EING 0
EING 2
EING 4
EING 6
EING 8
EING 10
EING 12
EING 14
AUSG 0
AUSG 2
AUSG 4
AUSG 6
AUSG 8
AUSG 10
AUSG 12
AUSG 14
1
0
143
Abschnitt 2-12
CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2))
Hinweis 1. Wird die maximale Anzahl von CompoBus/S–Geräten auf 16 gesetzt, können EIN8 bis EIN15 und AUSG 8 bis AUG 15 als Hilfsbits verwendet werden.
2. CompoBus/S–Module mit weniger als 8 Anschlüssen werden die Bitadressen von entweder 0 oder 8 zugewiesen.
3. CompoBus/S–Module mit 16 Anschlüssen können nur auf Adressen mit geraden Nummern eingestellt werden.
4. Analoge Anschlüsse können nur auf Adressen mit geraden Nummern eingestellt werden.
Statusmerker
Der Kommunikationszustand zwischen CompoBus/S–Module wird durch die
Slave registriert–Merker und Slave–Kommunikations–Fehlermerker AR04 bis
AR07 ausgegeben.
Obere Bits: Slave–Kommunikations–Fehlermerker
Wort
Untere Bits: Slave registriert–Merker
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
AR 04
AUSG
7
AUSG
6
AUSG
5
AUSG
4
AUSG
3
AUSG
2
AUSG
1
AUSG
0
AUSG
7
AUSG
6
AUSG
5
AUSG
4
AUSG
3
AUSG
2
AUSG
1
AUSG
0
AR 05
EING
7
EING
6
EING
5
EING
4
EING
3
EING
2
EING
1
EING
0
EING
7
EING
6
EING
5
EING
4
EING
3
EING
2
EING
1
EING
0
AR 06
AUSG
15
AUSG
14
AUSG
13
AUSG
12
AUSG
11
AUSG
10
AUSG
9
AUSG
8
AUSG
15
AUSG
14
AUSG
13
AUSG
12
AUSG
11
AUSG
10
AUSG
9
AUSG
8
AR07
EING
15
EING
14
EING
13
EING
12
EING
11
EING
10
EING
9
EING
8
EING
15
EING
14
EING
13
EING
12
EING
11
EING
10
EING
9
EING
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 gesetzt, 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 Einstellungen der Werteingabe–Potis der CPU–Baugruppe automatisch auf die Worte im
E/A–Speicher der CPU–Baugruppe übertragen. Diese Funktion ist sehr nützlich, 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 Zeitgeber– und Zählereinstellungen verwendet werden können. Die folgenden Diagramme zeigen die Werteinstellungen. Werden diese Werteingabe–Potis gedreht, werden Werte von 0000 bis 0200 (BCD–Wert) im SR–Bereich gespeichert. Verwenden Sie für die Einstellungen einen Kreuzschlitz–Schraubendreher.
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
Abschnitt 2-13
Einstellschaltungen (nur CPM1/CPM1A/CPM2A)
Einstellverfahren
Verwenden Sie für die Einstellungen einen
Kreuzschlitz–Schraubendreher.
Nehmen Sie Werteingaben vor
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–
Programm
Werten Sie die in SR 250 und SR 251 gespeicherten Werte mit dem Kontaktplan–Programm
aus.
Werteingabe–Poti 1
Werteingabe–Poti 0
SR 251 Werteingabe–Poti 1–Sollwert
SR 250 Werteingabe–Poti 0–Sollwert
Werteingabeverfahren
Verwenden Sie einen Kreuzschlitz–Schraubendreher, um die Werteingabe vorzunehmen. Sie können die Sollwerte überprüfen , indem Sie ein Programmiergerät wie eine Programmierkonsole anschließen und die in SR 250 und SR 251
gespeicherten Werte ablesen.
Werteingabe–Poti 0
Kontaktplan–
Programmierung
Werteingabe–Poti 1
Die folgende Tabelle enthält die Worte und Bits, in denen die Werteingaben gespeichert werden.
Wort
SR 250
SR 251
Bits
00 bis 15
00 bis 15
Name
Werteingabe–Poti 0–Sollwertbereich
Werteingabe–Poti 1–Sollwertbereich
Wert
0000 bis
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
Abschnitt 2-14
Eingänge mit Impulsspeicherung
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 Eingabe schneller Signale.
CPU–Baugruppen mit 10 Ein–/Ausgängen verfügen über 2 und CPU–Baugruppen 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
Impulsspeicherung
Impuls–Speichereingänge verfügen über einen internen Puffer, somit können
Eingansgsignale mit einer Impulsbreite von min. 0,2 ms innerhalb eines Zyklus
erfasst werden.
Über–
wachung
Programmausführung
E/A–Auf–
frischung
Über–
wachung
Programmausführung
E/A–Auf–
frischung
Eingangssignal
(00003)
IR 00003
1 Zyklus
Einstellung der Eingänge
mit Impulsspeicherung
CPU–Baugruppe
Eingangsbits
CPU–Baugruppen mit 10 E/A
CPU–Baugruppen 20, 30 und 40 E/A
IR 00003 bis IR 00004
IR 00003 bis IR 00006
Mindest
Eingangs–
Impulsbreite
0,2
, ms
Die Eingangsbits in der obigen Tabelle können gemäß folgender Tabelle als Eingänge mit Impulsspeicherung in DM 6628 eingestellt werden.
Wort
DM 6628
Einstellungen
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
Eingangs–Interupts.
@INT(89)
000
000
#000E
Demaskiert 00003 (Interrupt–
Eingang 0), maskiert andere.
147
Abschnitt 2-14
Eingänge mit Impulsspeicherung
2-14-2 CPM2A/CPM2C–Eingänge mit Impulsspeicherung
Die CPM2A und CPM2C besitzen vier Eingänge, die als Eingänge mit Impulsspeicherung verwendet werden (werden ebenfalls für Interrupt–Eingänge und
Schnelle Zähler–Eingänge mit 2 kHz verwendet). Mit Eingänge mit Impulsspeicherung können sich innerhalb eines Zyklus ändernde Signale ausgewertet
werden, indem diese in einem internen Puffer gespeichert werden.
Über–
wachung
Programm–
ausführung
E/A–Auf–
frischung
Über–
wachung
Programm–
ausführung
E/A–Auf–
frischung
Eingang
(00003)
00003
1 Zyklus
Eingang (sehen Sie den Hinweis)
00003
00004
00005
00006 (sehen Sie den Hinweis 2)
Mindest–Eingangssignalbreite
50 µ
µs
Hinweis 1. Eingänge 00003 bis 00006 können als Interrupt–Eingänge, schnelle Zähler–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 vorhanden.
Die folgende Tabelle zeigt die Beziehungen zwischen Eingängen mit Impulsspeicherung 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–Eingangsfunktion; 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 Eingänge mit Impulsspeicherung spezifiziert werden.
148
Abschnitt 2-14
Eingänge mit Impulsspeicherung
Verwendung der Eingänge mit Impulsspeicherung
Verdrahtung der Eingänge
SPS–Konfiguration (DM 6628)
Eingänge 00003, 00004, 00005 und 00006
2: Werden als Eingänge mit Impulsspeicherung verwendet.
Eingang mit Impuls–
speicherung 0
Eingänge mit
Impulsspeicherung
Schnelle
Ansprechzeit
Eingang mit Impuls–
speicherung 1
Eingang mit Impuls–
speicherung 2
Eingang mit Impuls–
speicherung 3
SPS–Konfigur.
DM 6628
Verdrahtung der
Eingänge
Verdrahten Sie die CPM2A–Eingänge, wie es in der folgenden Abbildung dargestellt 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
Abschnitt 2-14
Eingänge mit Impulsspeicherung
Verdrahten Sie die CPM2C–Eingänge, wie es in der folgenden Abbildung dargestellt 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 verwenden, müssen Sie die folgenden Einstellungen im Systemeinstellbereich (DM
6628) über ein Programmiergerät vornehmen.
Wort
DM 6628
Bits
Funktion
00 bis
03
Interrupt–Einstellung für
Eingang 3
04 bis
07
Interrupt–Einstellung für
Eingang 4
08 bis
11
Interrupt–Einstellung für
Eingang 5
12 bis
15
Interrupt–Einstellung für
Eingang 6
0: Normaler Eingang
Ein–
stellung
2
Interrupt–Eingänge
1: Interru
t–Eingänge
(Interrupt–Eingangs–
oder Zählmodus))
2: Schneller Eingang
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.
150
Abschnitt 2-15
Makrofunktion
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 ähnlicher Programmabschnitte kann durch nur ein Unterprogramm ersetzt werden.
Dies führt zu einer Reduzierung der Programmschritte und somit zu einem
transparenteren Programm.
Ein Makro wird zum Aufruf eines Unterprogramms mit dem Befehl MCRO(99)
verwendet, anstatt mit SBS(91) (UNTERPROGRAMM–EINSPRUNG), wie
nachfolgend dargestellt ist.
Anwendung der
Makrofunktion
MCRO (99)
Unterprogramm–Nr
Erstes Eingangswort
Erstes Ausgangswort
Bei Ausführung des MRCO(99)–Befehls werden folgende Operationen abgearbeitet:
1, 2, 3...
1. Der Inhalt der vier aufeinanderfolgenden Worte, die mit dem ersten Eingangswort beginnen, wird auf SR 232 bis SR 235 übertragen.
2. Das spezifizierte Unterprogramm wird bis zu dem Befehl RET(93) (Unterprogrammrü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 Ausgangswortes 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 werden 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 Ausgangsmethode 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, spezifiziert werden.
Die Definition der durch den MCRO(99)–Befehl aufgerufenen Unterprogramme
erfolgt über SBN(92) und RET(93), ähnlich einem normalen Unterprogramm.
151
Abschnitt 2-15
Makrofunktion
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
000
20000
200
00001
00002
MCRO (99)
20001
00200
030
002
20501
205
20500
MCRO (99)
20500
030
00201
005
00202
20501
00500
210
MCRO (99)
21001
21000
030
001
21000
220
00501
00502
SBN (92)
21001
00100
23200
22001
23601
23600
22000
23600
22000
00101
00102
22001
152
030
Unterprogramm
wird zur Definierung eines Makros verwendet
23201
23202
23601
RET (93)
Abschnitt 2-16
Berechnungen mit vorzeichenbehafteten Binärdaten
2-16 Berechnungen mit vorzeichenbehafteten Binärdaten
Die CPM1/CPM1A/CPM2A/SRM1(–V2) ermöglicht Berechnungen mit vorzeichenbehafteten Binärdaten mit den folgenden Befehlen. Vorzeichenbehaftete
Binärdaten werden unter Anwendung von 2er–Komplementen verarbeitet.
CPM2A/CPM2C– und
SRM1(–V2) Befehle
Die folgenden vorzeichenbehafteten Binärwert–Befehle stehen in den SPS–Systemen 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 vorzeichenbehafteten 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–Komplementen 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 hexadezimalen Daten.
Dezimalzahl
32,767
32,766
.
.
.
2
1
0
–1
–2
.
.
.
–32,767
–32,768
4–stelliger Hex.–Wert
7FFF
7FFE
.
.
.
0002
0001
0000
FFFF
FFFE
.
.
.
8001
8000
153
Abschnitt 2-17
Flankenüberwachung
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, unter denen diese auf EIN gesetzt werden, sind in der folgenden Tabelle aufgeführt. Die Merker sind auf AUS gesetzt, wenn diese Bedingungen nicht erfüllt
werden.
Merker
Übertragsmerker (SR 25504)
EIN–Bedingungen
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 Ausdrücke verwenden, können Eingaben über die Programmierkonsole oder CX–
Programmer/SYSWIN unter Anwendung im Dezimalzahl–Format vorgenommen 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–Programmer/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 Befehlen über die Programmierkonsole.
2-17 Flankenüberwachung
Der CPM1/CPM1A, CPM2A//CPM2C und SRM1(–V2) unterstützen die Flankenüberwachung über die Programmierkonsole oder CX–Programmer/SYSWIN. 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 Flankenauswertung.
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 Programmieranforderungen zu unterstützen. Den Erweiterten Befehlen werden bis zu 18 Funktionscodes 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 zugewiesen werden müssen, bevor sie einsatzbereit sind (es sei denn, sie werden
in den Grundeinstellungen verwendet).
154
Abschnitt 2-18
Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) )
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) verwendet wird. Durch die Zuweisung der Erweiterten Befehle zu der Befehlstabelle ändert sich die Bedeutung der Befehle und Operanden. Stellen Sie deshalb 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).
Funktionscode 61
INI
Funktionscode 61
SPED
Funktionscode 64
PULS
SPED
Funktionscode 64
MAX
Funktionscode 65
MIN.
SUM
Zum Zeitpunktes der Auslieferung werden
die Funktions-Codes, wie vorstehend dargestellt, zugewiesen. (In diesem Beispiel beziehen sich alle Befehle auf Impulsausgaben.)
INI
PULS
MAX
Funktionscode 65
MIN.
SUM
Werden keine Impulsausgaben verwendet,
aber Maximal-, Minimal- und Summenwerte
benötigt, kann der SET-Befehl dazu verwendet 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 Erweiterte Befehle für die SRM1(–V2) oder CPM2A/CPM2C über CX–Programmer/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–Funktionscodes im CPM2A– oder CPM2C–Bedienerhandbuch für Verfahren mit der Programmierkonsole.
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
ASFT
----RXD
TXD
CMPL
INI
PRV
CTBL
SPED
PULS
SCL
BCNT
BCMP
STIM
----INT
ACC
AVG
FCS
HEX
HMS
MAX
MIN
NEG
PID
PWM
SCL2
SCL3
SEC
SRCH
STUP
SUM
SYNC
TIML
TMHH
ZCP
ZCPL
Funktionscode
17
18
19
47
48
60
61
62
63
64
65
66
67
68
69
87
88
89
-------------------------------------------
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 Programmierkonsole 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 aufgefü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
Abschnitt 2-19
Verwendung der CPM2A/CPM2C–Uhrfunktion
2-19Verwendung der CPM2A/CPM2C–Uhrfunktion
Die CPM2A–SPS und einige CPM2C–SPS–Systeme verfügen über eine eingebaute Uhrfunktion. Dieser Abschnitt beschreibt die Verwendung der Uhr.
2-19-1 Datenbereichs–Worte
Diese folgende Abbildung verdeutlicht die Konfiguration der mit der Uhr verwendeten Worte (AR 17 bis AR 21). Diese können, wie erforderlich, gelesen und verwendet werden. (AR 17 ermöglicht einen schnellen Zugriff auf die Stunden– und
Minuten–Angaben.)
15
AR 17
AR 18
AR 19
AR 20
AR 21
Stunde
Minute
Datum
Jahr
8 7
0
Minute
Sekunde
Stunde
Monat
Wochentag
Jeweils 2–stelliger BCD–Wert
(Nur die letzten beiden Stellen des
Jahres stehen zur Verfügung.)
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 erlauben, dass AR 18 bis AR 21 überschrieben wird.
2. Stellen Sie AR 18 bis AR 20 (Minute/Sekunde, Datum/Stunde und Jahr/Monat) sowie AR 2100 bis AR 2107 (Wochentag) über ein Programmiergerät
ein.
3. Nach der Zeiteinstellung wird AR 2115 ebenfalls automatisch zurückgesetzt. Die Uhr beginnt den Betrieb mit der eingestellten Zeit und Uhr–Stoppmerker 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ühler–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
3-2
3-3
Analoge E/A–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1-1
Analoge E/A–Baugruppen CPM1/CPM1A/CPM2A . . . . . . . . . . . . . .
3-1-2
Analoge E/A–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . . . .
Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-1
Temperaturfühler–Baugruppen der CPM1A/CPM2A . . . . . . . . . . . . . .
3-2-2
Temperaturfühler–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . .
3-2-3
Verwendung der Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . .
3-2-4
Anschließen von Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . .
3-2-5
Einstellung der Temperaturbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-6
Anschluss der Temperaturfühler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-7
Kontaktplanprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-8
Zwei–Dezimalstellen–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompoBus/S–E/A–Link–Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
160
169
181
181
182
184
184
186
188
191
196
202
159
Abschnitt
Analoge E/A–Funktionen
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.
2 Analogausg.
CPM1A–8ED–
CPM1A–MAD01–
E/A–Erweiterungs- Analog–E/A–Baugruppe
baugruppe
1 Analogausg.
CPM1(–V1)–/CPM1A–/CPM2A– CPM1A–20EDR1–
CPU–Baugruppe
E/A–Erweiterungsbaugruppe
Hinweis Die CPM1–30CDR–j–V1 ist die einzige CPM1–CPU–Baugruppe, an die 3 Erweiterungsbaugruppen oder E/A–Erweiterungsbaugruppen angeschlossen
werden können. Nur eine Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe können an Modelle ohne den “V1”–Zusatz angeschlossen werden. Analoge 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
Abschnitt
Analoge E/A–Funktionen
Spannungs–E/A
Analog–ein–
a og e
gangs–
teil
Analo–
ao
ger Aus–
A
gangs–
teil (sehen Sie
Hinweis 1)
3-1
Strom–E/A
Anzahl der Eingänge
2
Eingangssignalbereich
0 bis 10 V/1 bis 5 V
4 bis 20 mA
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
Anzahl der Ausgänge
1
Ausgangssignalbereich
0 bis 10 V oder
–10 bis 10 V
4 bis 20 mA
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 Stromausgänge gleichzeitig verwendet werden. In diesem Fall darf der gesamte Ausgangsstrom 21 mA jedoch nicht überschreiten.
2. Die Konvertierungszeit ist die Gesamtzeit für 2 Analogeingänge und 1 Analogausgang.
Analoge E/A–Signalbereiche
Analog–Eingangssignalbereiche
0 bis 10 V–Eingänge
Konvertierungswert
1 bis 5 V–Eingänge
Konvertierungswert
1V
Eingangssignal
4 bis 20 mA–Eingänge
Konvertierungswert
3V
Eingangssignal
Eingangssignal
161
Abschnitt
Analoge E/A–Funktionen
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
E/A–Bereich spezifizieren
Baugruppe anschließen
Analoge E/A verdrahten
Kontaktplan–Programm erstellen.
162
Analogeingänge
0 bis 10 V, 1 bis 5 V oder 4 bis 20 mA
Analogausgänge:
0 bis 10 V, –10 bis +10 V oder 4 bis 20 mA
Schließen Sie die analoge E/A–Baugruppe an.
Schließen Sie das analoge Eingabegerät an.
Schreiben Sie den jeweiligen Programmcode.
Analogeingang:
Konvertierte Daten lesen.
Analogausgang:
Sollwert schreiben.
3-1
Abschnitt
Analoge E/A–Funktionen
3-1
Analogeingänge
CPU–Baugruppe
Analoge E/A–Baugruppe
Kontaktplan–Programm
(21) MOVE–Befehl
Wort (n + 1)
Bereichscode
Wort (m + 1)
Gewandelter Wert von
Analogeingang 1
Gewandelter Wert von
Analogeingang 2
Wort (m + 2)
Schreibt den Bereichscode. Liest den Konvertierungswert.
Analoge Geräte
Temperaturfühler
Hierbei entspricht “m” den letzten Eingangswort
und “n” dem letzten Ausgangswort, das der CPU–,
vorhergehenden Erweiterungsbaugruppe oder der
E/A–Erweiterungsbaugruppe zugewiesen ist.
Drucksensor
Drehzahlsensor
Flusssensor
Spann.–/Strommeter
Analoge Ausgänge
CPU–Baugruppe
Analoge E/A–Baugruppe
Kontaktplan–Programm
(Sehen Sie den Hinweis.)
Wort (n + 1)
(21) MOVE–Befehl
Bereichscode
Analoger Ausgabe–
sollwert
Schreibt den Bereichscode. Schreibt den
Sollwert
Analoge Geräte
Justiergeräte
Hierbei entspricht “n” dem letzten Ausgangswort,
das der CPU–, vorhergehenden Erweiterungs–
oder E/A–Erweiterungsbaugruppe zugewiesen
ist.
Servoregler
Frequenzumrichter
Andere
Hinweis Wort (n + 1) kann für den Bereichscode oder den analogen Ausgabesollwert
verwendet werden.
163
Abschnitt
Analoge E/A–Funktionen
Einstellung des E/A–
Signalbereichs
3-1
Der E/A–Signalbereich wird eingestellt, indem der Bereichscode in das Ausgangswort 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 kurzgeschlossen 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–Baugruppe eingestellt werden.
Die 8 Bereichscode–Einstellungen erlauben 8 Kombinationen von Signalbereichen für die Analogein– und –ausgänge, wie es in der folgenden Tabelle dargestellt ist.
Bereichs–
code
Analogeingang 1–
Signalbereich
Analogeingang 2–
Signalbereich
Analog–Ausgangs–
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
Abschnitt
Analoge E/A–Funktionen
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 spezifiziert ist, in n+1 eingetragen, erkennt die analoge E/A–Baugruppe diesen Bereichscode nicht und es wird keine analoge E/A–Wandlung durchgeführt.
Anschluss der analogen
E/A–Baugruppe
Dieser Abschnitt beschreibt, wie eine analoge E/A–Baugruppe an die CPU–
Baugruppe angeschlossen wird.
Maximal 3 Erweiterungs– oder E/A–Erweiterungsbaugruppen, einschließlich
analoger E/A–Baugruppen, können mit einer SPS verbunden 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.
CPM1–/CPM1A–/CPM2A–
CPU–Baugruppe
Analoge E/A–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–Erweiterungsbaugruppen; die Zuweisung beginnt mit dem nächsten Wort, das dem zu letzt zugewiesenen Wort der CPU–Baugruppe oder das der vorhergehenden Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zugewiesen wurde, folgt. Die Zuweisung ist wie folgt, wenn “m” das letzte zugewiesene Eingangswort und “n”
das letzte zugewiesene Ausgangswort auf der CPU–Baugruppe oder der vorhergehenden 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
Ausgangsadresse
IR 000
IR 001
CPU–Baugruppe
mit 30 Anschlüssen
IR 010
IR 011
IR 002
IR 003
Analoge
E/A–Baugruppe
IR 012
165
Abschnitt
Analoge E/A–Funktionen
3-1
Verdrahtung analoger E/A–Geräte
Analogeingangs–Verdrahtung
2–adrig abgeschirmtes,
paarweise verdrilltes Kabel
Spannungsausgang für
analoges
Ausgabe–
gerät
Analoge E/A–Baugruppe
250 Ω
10 kΩ
Stromausgang für
analoges
Ausgabe-
gerät
250 Ω
10 kΩ
Analoge Ausgangsverdrahtung
Spannungsausgänge
Analoge E/A–Baugruppe 2–adrig abgeschirmtes,
paarweise verdrilltes Kabel
Spannungs–
eingang eines Analog–
gerätes
Stromausgänge
Analoge E/A–Baugruppe 2–adrig abgeschirmtes,
paarweise verdrilltes Kabel
Strom–
eingang eines 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
166
1. Verwenden Sie ein 2–adrig abgeschirmtes, paarweise verdrilltes Kabel.
2. Verlegen Sie die Verkabelung getrennt von Versorgungsspannungsleitungen (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örfilter am Eingangsteil und an der Spannungsversorgung–Baugruppe.
Abschnitt
Analoge E/A–Funktionen
3-1
Kontaktplan–Programm
Spezifizieren des Bereichscodes
Spezifizieren Sie den E/A–Signalbereich, indem Sie den Bereichscode im ersten Zyklus der Programmausführung über den Kontaktplan in das Ausgangswort der analogen E/A–Baugruppe schreiben. Die Analog–E/A–Baugruppe beginnt erst mit der Wandlung der analogen E/A–Werte, nachdem der Bereichscode 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 analogen E/A–Baugruppe ist “n+1”, wenn “n” das letzte Wort ist, das der CPU–Baugruppe oder einer vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe 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 vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesenen
Eingangswort (m) folgen, ausgegeben.
(m + 1)
0
0
0
0
0
0
0
Analogeingang 1,
Drahtbruch–Erfassungsmerker
Analogeingang 1–Wandlungswert (hex: (00 bis FF)
0: Normal
1: Offene Schaltung (Drahtbruch)
(m + 2)
0
0
0
0
0
0
0
Analogeingang 2–Wandlungswert (hex: (00 bis FF)
Analogeingang 2,
Drahtbruch–Erfassungsmerker
0: Normal
1: Offene Schaltung (Drahtbruch)
Hinweis Der Drahtbruch–Erfassungsmerker wird aktiviert, wenn der Eingangssignalbereich 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 Eingangssignalbereich 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 vorhergehenden Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zugewiesen wurde.
(n + 1)
0
0
0
0
0
0
0
Vorzeichenbit
(bei einem Ausgangssignal–
bereich –10 bis 10 V)
1, 2, 3...
Sollwert (hex: (00 bis FF)
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
Abschnitt
Analoge E/A–Funktionen
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–Baugruppe werden E/A–Worte werden zugewiesen, die dem letzten Worte folgen,
dass der CPU–Baugruppe zugewiesen wurden.
Eingangsworte
Ausgangsworte
IR 000
IR 001
IR 002
IR 003
CPU–Baugruppen
mit 30 E/A–
Anschlüssen
Analoge
E/A–Baugruppe
IR 010
IR 011
IR 012
Verdrahtung analoger E/A–Geräte
Einsatz des Analogeingangs 1 als Spannungseingang
Einsatz des Analogeingangs 2 als Stromeingang
Masse (–)
Spannungseingang 1 (+)
Stromeingang 2 (+)
Masse (–)
Einsatz eines analogen Ausgangs als Spannungsausgang
Masse (–)
Spannungsausgang (+)
Analoge E/A–Einstellungen
Eingang 1–Signalbereich:
Eingang 2–Signalbereich:
Ausgangssignalbereich:
Bereichscode–Einstellung:
0 bis 10 V
4 bis 20 mA
0 bis 10 V
FF04
IR 012
Bereichscode: FF04
168
Abschnitt
Analoge E/A–Funktionen
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 Ausgabesollwert 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
Abschnitt
Analoge E/A–Funktionen
Spannungs–E/A
Analogein–
a oge
gangsteil
t il
Strom–E/A
Anzahl der Eingänge
2 Eingänge (2 zugewiesene Worte)
Eingangssignalbereich
0 bis 5 VDC, 1 bis 5 VDC,
0 bis 10 VDC oder –10 bis 10 VDC
0 bis 20 mA oder 4 bis 20 mA
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
3-1
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.
Analogaus–
a ogaus
gangsteil
t il
Mittelwertfunktion
wird unterstützt (einstellbar für individuelle Eingänge über DIP–Schalter)
Drahtbruch–Erfassungsfunktion
wird unterstützt
Anzahl der Ausgänge
1 Ausgang (1 zugewiesenes Wort)
Ausgangssignalbereich
1 bis 5 VDC, 0 bis 10 VDC oder
–10 bis 10 VDC
0 bis 20 V oder 4 bis 20 mA
Zulässiger externer
Ausgangs–Lastwiderstand
min. 1 kΩ
600 Ω max.
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 Abschnitt beschrieben wird.
Analogeingangs–
signalbereiche
Die analoge E/A–Baugruppe wandelt Analogeingangsdaten in digitale Werte.
Die digitalen Werte hängen von den Eingangssignalbereichen ab, wie es in der
folgenden Abbildung gezeigt wird. Über–/unterschreitet die Eingabe den spezifizierten Bereich, befinden sich die gewandelten A/D–Daten fest auf dem unteren 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
F448 (–3000)
F31C (–3300)
170
10 V 11 V
Abschnitt
Analoge E/A–Funktionen
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 negative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)
0000 (0)
–0,5 V
FED4 (–300)
0V
10 V 10,5 V
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 negative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)
0000 (0)
–0,25 V
FED4 (–300)
0V
5 V 5,25 V
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). Eingangssignale 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
Abschnitt
Analoge E/A–Funktionen
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)
20 mA 21 mA
0 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). Eingangssignale zwischen 3,2 und 4 mA werden als 2er–Komplemente ausgedrü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)
FED4 (–300)
4 mA
20 mA 20,8 mA
0 mA
Analogausgangs–
signalbereiche
Die analoge E/A–Baugruppe wandelt die digitalen Ausgabedaten in analoge
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–Komplement.
11 V
10 V
F31C F448
8000 (–3300) (–3000)
0000 (0)
0V
–10 V
–11 V
172
0BB8 0CE4
(3000) (3300)
Gewandelte Daten
Hexadezimal (De7FFF zimalzahl)
Abschnitt
Analoge E/A–Funktionen
3-1
0 bis 10 V
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analogen 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
8000 FED4 (–300)
–0,5 V
0000 (0)
Gewandelte
Daten
Hexadezimal
1770 189C
(Dezimalzahl)
(6000) (6300) 7FFF
1 bis 5 V
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analogen 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
0V
8000 FED4
(–300)
0000 (0)
1770 189C
(6000) (6300)
Gewandelte
Daten
Hexadezimal
7FFF (Dezimalzahl)
0 bis 20 mA
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analogen Strombereich von 0 bis 20 mA. Der gesamte Ausgabebereich umfasst 0 bis
21 mA.
21 mA
20 mA
0000
(0)
8000
0 mA
1770 189C
(6000) (6300)
Gewandelte
Daten
Hexadezimal
7FFF
(Dezimalzahl)
173
Abschnitt
Analoge E/A–Funktionen
3-1
4 bis 20 mA
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analogen 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
0 mA
8000
FED4 0000 (0)
(–300)
1770 189C
(6000) (6300)
Gewandelte
Daten
Hexadezimal
7FFF (Dezimalzahl)
Mittelwertfunktion für
Analogeingangssignale
Die Mittelwertfunktion für die Eingänge wird über den DIP–Schalter aktiviert. Die
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–
Erfassungsfunktion für
Analogeingänge
Die Drahtbruch–Erfassungsfunktion wird aktiviert, wenn der Eingangsbereich
auf 1 bis 5 V eingestellt wurde und die Spannung unter 0,8 V abfällt oder wenn
der Eingangsbereich auf 4 bis 20 mA eingestellt wird und der Strom unter 3,2 mA
sinkt. Wird die Drahtbruch–Erfassungsfunktion aktiviert, werden die gewandelten Daten auf 8000 gesetzt.
Die Drahtbruch–Erfassungsfunktion wird aktiviert oder gesperrt, wenn Daten
gewandelt werden. Liegt das Eingangssignal wieder in einem wandelbaren Bereich, wird die Drahtbruch–Erfassung automatisch gesperrt und die Ausgabe
kehrt zum normalen Wert zurück.
Einsatz analoger E/A
Baugruppe anschließen
E/A–Bereiche spezifizieren
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
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
Kontaktplan–Programmabarbeitung
174
Anschluss analoger E/A–Geräte.
Schreiben Sie den jeweiligen Code.
Analogeingänge:
Konvertierte Daten lesen.
Analogausgang:
Sollwert schreiben.
Abschnitt
Analoge E/A–Funktionen
3-1
Analogeingänge
CPU–Baugruppe
Analoge E/A–Baugruppe
Kontaktplan–Programm
(21) MOVE–Befehl
Wort (n + 1)
Bereichscode
Wort (m + 1)
Gewandelter Wert von
Analogeingang 0
Gewandelter Wert
von Analogeingang 1
Wort (m + 2)
Schreibt den Bereichscode. Liest die gewandelten Werte.
Analoge Geräte
Hierbei entspricht “m” den letzten Eingangswort
und “n” dem letzten Ausgangswort, das der CPU–,
vorhergehenden Erweiterungsbaugruppe oder der
E/A–Erweiterungsbaugruppe zugewiesen ist.
Temperaturfühler
Drucksensor
Geschwindigkeitssensor
Flusssensor
Spann.–/Strommeter
Andere
Analogausgänge
CPU–Baugruppe
Analoge E/A–Baugruppe
Kontaktplan–Programm
(Sehen Sie den Hinweis.)
Bereichscode
Wort (n + 1)
Analoger Ausgabe–
sollwert
(21) MOVE–Befehl
Schreibt den Bereichscode. Schreibt den
Sollwert
Analoge Geräte
Hierbei entspricht “n” dem letzten Ausgangswort,
das der CPU–, vorhergehenden Erweiterungs–
oder E/A–Erweiterungsbaugruppe zugewiesen
ist.
Justiergeräte
Servoregler
Frequenzumrichter
Andere
Hinweis Wort (n + 1) kann für den Bereichscode oder den analogen Ausgabesollwert
verwendet werden.
Anschluss der analogen
E/A–Baugruppe.
Dieser Abschnitt beschreibt, wie eine analoge E/A–Baugruppe an die CPU–
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 verbunden 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.
CPU–
Baugruppe
Analoge E/A–Baugruppen
CPM2C–MAD11
E/A–
Erweiterungs–
baugruppe
175
Abschnitt
Analoge E/A–Funktionen
3-1
E/A–Zuweisung
Ein–/Ausgänge werden der analogen E/A–Baugruppe auf die gleiche Weise zugewiesen, 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 Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zugewiesen wurde. Die Zuweisung ist wie folgt, wenn “m” das letzte zugewiesene Eingangswort und “n” das
letzte zugewiesene Ausgangswort auf der CPU–Baugruppe oder der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe ist:
Analoge E/A–Baugruppe CPM2C–MAD11
Analogeingang 0:
Analogeingang 1:
Wort m+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–
Signalbereichs
E/A–Signalbereiche werden durch Einstellung des DIP–Schalters für analoge
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
Analog–Eingangsklemmen
DIP–Schalter
Aktiviert die Mittelwertfunktion für
die Eingänge und das Umschalten
zwischen Spannungs– und Stromeingängen
Analog–Ausgangsklemmen
DIP–Schaltereinstellungen
Stellen Sie den DIP–Schalter wie nachfolgend gezeigt ein. Alle Schalter sind
werksseitig auf OFF gesetzt.
--1
2
Mittelwertfunktion für Analogeingang 1
(OFF: keine Mittelwertbildung; ON: Mittelwertbildung)
3
Eingangstyp für Analogeingang 0
(OFF: Spannungseingang; ON Stromeingang)
4
176
Mittelwertfunktion für Analogeingang 0
(OFF: keine Mittelwertbildung; ON: Mittelwertbildung)
Eingangstyp für Analogeingang 1
(OFF: Spannungseingang; ON Stromeingang)
Abschnitt
Analoge E/A–Funktionen
! Vorsicht
3-1
Stellen Sie sicher, die Schalter des DIP–Schalters zum Auswählen des Eingangstyps 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 Elektrizität könnte Verarbeitungssfehler verursachen.
Bereichscode
Um Daten zu konvertieren muss der Bereichscode für die analoge E/A–Baugruppe eingestellt werden.
Die Bereichscode–Einstellungen ermöglichen kombinierte Signalbereiche für
Analogein– und –ausgänge, wie es in der folgenden Tabelle dargestellt ist.
Bereichs–
code
Analogeingang 1
Signalbereich
Analogeingang 2
Signalbereich
Analog–
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
(wird über DIP–Schalter ausgewählt)
1 bis 5 V
011
1 bis 5 V oder 0 bis 20 mA
(wird über DIP–Schalter ausgewählt)
0 bis 20 mA
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.
n+1
15
8 7
1 0 0 0 0 0 0
6 5 4 3 2 1 0
Analog– Analog– Analog–
ein–
ausein–
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:
011
Analogeingang 1:
4 bis 20 mA
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 Wandlungsstarts besitzen Eingangssignale den Wert 0000 und 0 V oder 0 mA wird ausgegeben.
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 Ausgangswort 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
Abschnitt
Analoge E/A–Funktionen
3-1
Verdrahtung analoger E/A–Geräte
Interne Schaltungen
Analogausgänge
510 kΩ
250 Ω
0+
Eingang 0
0–
510 kΩ
1+
Eingang 1
510 kΩ
250 Ω
510 kΩ
V+
Interne Schaltungen
Interne Schaltungen
Analogeingänge
1–
–
Ausgang
I+
N.v.
AM
N.v.
Analoge Masse
Analoge Masse
Anschlussbelegungen
Analogausgangs–
klemmen
Analogeingangs–
klemmen
EIN
Analogeing. 0 +
Analogeing. 0 –
Analogeing. 1 +
Analogeing. 1 –
Analoge Masse
0+
0–
1+
1–
AG
EIN
Analog. Span.–ausg.
Ausgang, Masse
Analog. Stromausg.
Nicht verwendet
Nicht verwendet
V+
–
I+
NC
NC
Analogeingangsverdrahtung
Analoges +
Ausgabegerät
+
–
–
Analoge
E/A–Baugruppe
Analoge Ausgangsverdrahtung
Analoge
E/A–Baugruppe
V+
–
Hinweis
178
+ Analoges
Gerät mit
Spannungs– eingang
Analoge
E/A–Baugruppe
I+
–
+ Analoges
Gerät mit
Strom–
– eingang
1. Verwenden Sie abgeschirmtes, verdrilltes Kabel, schließen Sie aber die Abschirmung nicht an.
2. Verlegen Sie die Verkabelung getrennt von Versorgungsspannungsleitungen (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 Versorgungsspannungsleitungen (AC–Spannungsversorgung, Hochspannung, usw.)
5. Installieren Sie bei Störungen in der Spannungsversorgung einen Entstörfilter am Eingangsteil und an der Spannungsversorgung–Baugruppe.
Abschnitt
Analoge E/A–Funktionen
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 Diagramm 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 Abbildung dargestellt wird, wodurch eine Spannung von ca. 33% bis 50% am anderen Eingang erzeugt wird. Wird der 5 V–Bereich verwendet, arbeitet die Drahtbruch–Erfassungsfunktion nicht. Tritt eine offene Schaltung an Punkt C auf, arbeitet die Drahtbruch–Erfassungsfunktion ebenfalls nicht, da die negativen Seiten gleich sind.
Gerät
mit
Analogausgang 1
A
B
C
Gerät
mit
Analogausgang 2
24 VDC
Gibt, z. B. ein analoges Gerät 2 5 V aus und wird die gleiche Spannungsversorgung 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 Spannungsversorgungen verwendet oder eine galvanische Trennung an jedem Eingang 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 Reaktion erfolgt, die Spannungsversorgung der Last.
• Schalten Sie die Spannungsversorgung der Last aus, bevor Sie die Spannungsversorgung der CPM2C–CPU–Baugruppe ausschalten.
Kontaktplan–Programm
Spezifizieren des Bereichscodes
Spezifizieren Sie den E/A–Signalbereich, indem Sie den Bereichscode im ersten Zyklus der Programmausführung über den Kontaktplan in das Ausgangs-
179
Abschnitt
Analoge E/A–Funktionen
3-1
wort der analogen E/A–Baugruppe schreiben. Die analoge E/A–Baugruppe beginnt, 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 analogen E/A–Baugruppe ist “n+1”, wenn “n” das letzte Wort ist, das der CPU–Baugruppe oder einer vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe 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) folgen, 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 vorhergehenden Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zugewiesen 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–Bereiche ausgegeben und 1 V oder 4 mA für den 1 bis 5 V– und 4 bis 20 mA–Bereich.
SR 25313
(Immer–EIN–Merker)
TIM 005
#0002
T005
MOV(21)
001
DM 0000
TIM 005 wird ausgeführt, sobald die
Spannung eingeschaltet wird. Nach
0,1 bis 0,2 s (100 bis 200 ms) schaltet sich der Fertigmerker für TIM 005
ein und die gewandelten Daten des
Analog–eingangs werden von IR 001
gelesen und in DM 0000 gespeichert.
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–Erweiterungsbaugruppen 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 Fehlerauswertung 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
Abschnitt
Temperaturfühler–Baugruppen
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
(Immer–EIN–Merker)
Schreibt den Bereichscode (8051) in die Baugruppe.
TIM 005
TIM 005
#0002
Ausführungsbedingung
MOV(21)
001
TIM 005
Ausführungsbedingung
DM 0000
Liest den gewandelten Wert von Analogeingang 0.
CMP (20)
002
#8000
25506(=)
01000
TIM 005
Ausführungsbedingung
Drahtbruch–Alarm
MOV(21)
002
TIM 005
Ausführungsbedingung
DM 0001
Liest den gewandelten Wert von Analogeingang 1.
MOV(21)
DM 0010
011
3-2
Der Inhalt von DM 0010 wird ins Ausgangswort als
analoger Ausgabesollwert geschrieben.
Temperaturfühler–Baugruppen
3-2-1 Temperaturfühler–Baugruppen der CPM1A/CPM2A
Bis zu drei Erweiterungsbaugruppen oder E/A–Erweiterungsbaugruppen können 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–Erweiterungsbaugruppe angeschlossen werden. Die andere Baugruppe kann eine
CPM1A–TS001/TS101–Temperaturfühler–Baugruppe sein.
Jede CPM1A–TS001/TS101–Temperaturfühler–Baugruppen bietet 2 Eingä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
Abschnitt
Temperaturfühler–Baugruppen
3-2
CPM1A– oder CPM2A–SPS zur Verfügung. Thermoelemente oder Platin–Widerstandsthermometer können angeschlossen werden.
Bis zu 3 Baugruppen, einschließlich der E/A–Erweiterungsbaugruppen und andere Erweiterungsbaugruppen (nur 2 Baugruppen bei
Verwendung von CPM1A–TS002/TS102)
CPM–/CPM1A–/
CPM2A–CPU–Baugruppe
CPM1A–20EDR1–
E/A–Erweiterungsbaugruppe
CPM1A–8ED–
CPM1A–TSjjj
E/A–Erweiterungs- Temperaturfühler–Baubaugruppe
gruppe
Thermoelemente
oder Platin–Widerstandsthermometer
Temperaturfühler–Eingänge
Technische Daten
CPM1A–TS001
Temperaturfühler
CPM1A-TS002
CPM1A-TS101
CPM1A-TS102
Thermoelemente
Platin–Widerstandsthermometer
Umschaltbar zwischen K und J, aber der
gleiche Typ muss für alle Eingänge
verwendet werden.
Umschaltbar zwischen Pt100 und JPt100,
aber der gleiche Typ muss für alle
Eingänge verwendet werden.
Anzahl der Eingänge
2
4
2
4
Zugewiesene Eingangsworte
2
4
2
4
Max. Anzahl der Baugruppen
(Sehen Sie den Hinweis 1)
3
1
3
1
Genauigkeit
(Der größere von±0,5% des gewandelten
Wertes oder max. ±2_C) ±1 Ziffer (sehen
Sie Hinweis 2).
Konvertierungszeit
250 ms für 2 oder 4 Eingänge
Gewandelte
Temperaturdaten
16 Bit–Binärdaten (4–stelliger Hexadezimal–Wert)
Galvanische Trennung
Optokoppler zwischen allen Temperatureingangssignalen
Hinweis
(Der größere von±0,5% des gewandelten
Wertes oder max. ±1_C) ±1 Ziffer
1. Werden nur CPM1A–TS001 und CPM1A–TS101 verwendet, dann können
bis zu 3 Baugruppen, einschließlich E/A–Erweiterungsbaugruppen und andere Erweiterungsbaugruppen angeschlossen werden. Wird eine
CPM1A–TS002 oder CPM1A–TS102 verwendet, dann kann nur eine andere E/A–Erweiterungsbaugruppe oder Erweiterungsbaugruppe angeschlossen 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 weniger 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
Abschnitt
Temperaturfühler–Baugruppen
3-2
2 Eingänge, d. h. das max. 8 Eingänge verwendet werden können. Thermoelemente oder Platin–Widerstandsthermometer können angeschlossen werden.
E/A–ErweiterungsCPM2C–TS001/101
CPM2C–CPU–Baugruppe Temperaturfühler–Baugruppen baugruppe
Thermoelemente
oder Platin–Widerstandsthermometer
Temperaturfühler–Eingänge
max. 8 Eingänge
Technische Daten
CPM2C-TS001
Temperaturfühler
Thermoelemente
Umschaltbar zwischen K
und J, aber der gleiche
Typ muss für alle
Eingänge verwendet
werden.
Hinweis
CPM2C-TS101
Platin–Widerstands–
thermometer
Umschaltbar zwischen
Pt100 und JPt100, aber
der gleiche Typ muss für
alle Eingänge verwendet
werden.
Anzahl der Eingänge
2
Zugewiesene Eingangsworte
2
Max. Anzahl der Baugruppen
(Sehen Sie den Hinweis 1)
4
4
Genauigkeit
(Der größere von±0,5%
des gewandelten Wertes
oder max. ±2_C) ±1
Ziffer (sehen Sie den
Hinweis).
(Der größere von±0,5%
des gewandelten Wertes
oder max. ±1_C) ±1
Ziffer
Konvertierungszeit
250 ms für 2 Eingänge
Gewandelte
Temperaturdaten
16 Bit–Binärdaten (4–stelliger Hexadezimal–Wert)
Galvanische Trennung
Optokoppler zwischen allen
Temperatureingangssignalen
1. Die Genauigkeit für ein Element des Typs K beträgt bei –100°C oder weniger max. ±4_C ± 1 Ziffer.
2. Die Fehlerabweichung für Temperaturen in °F entspricht dem doppelten
von °C.
183
Abschnitt
Temperaturfühler–Baugruppen
3-2
3-2-3 Verwendung der Temperaturfühler–Baugruppen
Baugruppe anschließen
Temperaturbereich spezifizieren
Temperaturfühler anschließen
Kontaktplan–Programmabarbeitung
Schließen Sie die Temperaturfühler–Baugruppe an.
Sehen Sie 3-2-4 Anschließen von Temperaturfühler–Baugruppen.
Stellen Sie die Temperaturmasseinheit, ggf. die 2–
Dezimalstellen–Betriebsart und den Temperaturbereich ein.
Sehen Sie 3-2-5 Einstellung der Temperaturbereiche.
Schließen Sie den Temperaturfühler an.
Sehen Sie 3-2-6 Anschliessen von Temperaturfühlern.
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–Baugruppen enthalten.
CPM1A/CPM2A–Temperaturfühler–Baugruppenzuweisungen
Temperaturfühler–Baugruppen werden auf die gleiche Weise Worte zugewiesen, wie anderen Erweiterungs– und E/A–Erweiterungsbaugruppen: in der Reihenfolge, in der die Baugruppen angeschlossen werden. Einer Temperaturfühler–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 angeschlossen werden. Es bestehen jedoch keine Einschränkungen in der Anschlussreihenfolge.
Temperaturfühler–Baugruppen mit 2 Eingänge: CPM1A–TS001 und CPM1A–TS101 (2 zugewiesene
Worte)
CPM1A– oder CPM2A–CPU–
Baugruppe
(mit 20, 30, 40 oder 60 E/A–
Anschlüssen)
CPM1A–20EDR1– CPM1A–8ED–
CPM1A–TS001/101
E/A–Erweiterungs- E/A–Erweiterungs- Temperaturfühler–
baugruppe
baugruppe
Baugruppe
Temperatur–fü
hler–
Baugruppen
184
2 Eingänge
CPM1A–TS001
CPM1A–TS101
E/A–Erweiterungs–
baugruppen
Mit 8 oder 20
E/A–Anschlüssen
Analoge E/A–Baugruppen
CPM1A-MAD01
CompoBus/S–E/A–Link–
Modul
CPM1A-SRT21
Bis zu 3 Baugruppen können
angeschlossen werden. Es
gibt keine Einschränkungen
g
g
b ü li h d
ih f l
iin
bezüglich
der R
Reihenfolge,
der Baugruppen
angeschlossen werden.
Abschnitt
Temperaturfühler–Baugruppen
3-2
Wortzuweisungen
Der CPM1A–TS001 und CPM1A–TS101 werden jeweils zwei Worte (eines für
jeden Eingang) zugewiesen. Ausgangsworten werden nicht zugewiesen.
CPU–Baugruppe mit
40 Anschlüssen
E/A–Erweiterungsbaugruppe mit 20 E/A
Erweiterungsbaugruppe
mit 8 Eingängen
CPM1A–TS001/101
Temperaturfühler–Baugruppe
Eingangswort–
Adressen
IR 000
IR 001
IR 002
IR 003
IR 004
IR 005
Ausgangswort–
Adressen
IR 010
IR 011
IR 012
Kein
Kein
Temperaturfühler–Baugruppen mit 4 Eingänge (4 zugewiesene Worte): CPM1A–TS002 und
CPM1A–TS102
CPM1A– oder CPM2A–CPU–
Baugruppe
(mit 20, 30, 40 oder 60 E/A–
Anschlüssen)
CPM1A–20EDR1–
E/A–Erweiterungsbaugruppe
CPM1A–TS002/102
Temperaturfühler–
Baugruppe
Temperaturfühler– 4 Ein–
gänge
Baugruppen
CPM1A–TS002
oder
CPM1A–TS102
Nur 1
Baugruppe
2 Ein–
gänge
CPM1A–TS001
oder
CPM1A–TS101
Nur 1
Baugruppe
E/A–Erweiterungs–
baugruppen
Mit 8 oder 20
E/A–Anschlüssen
Analoge E/A–Baugruppen
CompoBus/S–E/A–Link–
Modul
CPM1A-MAD01
CPM1A-SRT21
Bis zu 2 Baugruppen
können angeschlossen
werden. Es g
gibt keine
Ei
Einschränkungen
hä k
bezüglich der
Reihenfolge, in der
Baugruppen
angeschlossen
werden.
Wortzuweisungen
Der CPM1A–TS002 und CPM1A–TS102 werden jeweils vier Worte (eines für
jeden Eingang) zugewiesen. Ausgangsworten werden nicht zugewiesen.
CPU–Baugruppe mit
60 Anschlüssen
CPM1A–TS002/102
E/A–Erweiterungsbaugruppe mit 20 E/A Temperaturfühler–Baugruppe
Eingangswort–Adressen
IR 000
IR 001
IR 002
IR 003
Ausgangswort–Adressen
IR 010
IR 011
IR 012
IR 013
IR 004
IR 005
IR 006
IR 007
Kein
CPM2C–Temperaturfühler–Baugruppenzuweisungen
Bis zu vier CPM2CTS001/101–Temperaturfühler–Baugruppen können angeschlossen werden. Bis max. fünf Erweiterungs– und E/A–Erweiterungsbaugruppen können angeschlossen werden (einschließlich Temperaturfühler–
185
Abschnitt
Temperaturfühler–Baugruppen
3-2
Baugruppen). Unabhängig davon, wie viele Baugruppen angeschlossen werden, 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–
Baugruppe
CPM2C–TS001/101
E/A–ErweiterungsTemperaturfühler–Baugruppen baugruppe
Max. vier Temperaturfühler–Baugruppen
Wortzuweisung
Temperaturfühler–Baugruppen werden auf die gleiche Weise Worte zugewiesen, wie anderen Erweiterungs– und E/A–Erweiterungsbaugruppen: in der Reihenfolge, 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 angeschlossen ist (CPU– oder andere Baugruppe), zugewiesen. Ausgangsworten werden
nicht zugewiesen.
CPM2C–TS001
TemperaturfühCPU–Baugruppe
mit 20 Anschlüssen ler–Baugruppe
Eingänge
IR 000
Ausgänge
IR 010
Eingänge
IR 001
IR 002
Ausgänge
Kein
CPM2C–TS001
Temperaturfühler–Baugruppe
CPM2C–TS101
Temperaturfühler–Baugruppe
Eingänge
IR 003
IR 004
Eingänge
IR 005
IR 006
Ausgänge
Kein
Ausgänge
Kein
CPM2C–TS101
Temperaturfühler–Baugruppe
Eingänge
IR 007
IR 008
Ausgänge
Kein
CPM2C–24EDTC–
E/A–Erweiterungsbaugruppe
Eingänge
IR 009
Ausgänge
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
186
1. Schalten Sie immer die Spannungsversorgung aus, bevor Sie den Temperaturbereich einstellen.
2. Fassen Sie nie den DIP– oder Drehschalter während des Temperaturfühler–Baugruppenbetriebs an. Statische Elektrizität könnte Verarbeitungsfehler verursachen.
Abschnitt
Temperaturfühler–Baugruppen
3-2
CPM1A/CPM2A–Temperaturfühler–Baugruppen
CPM1A–TS001/002/101/102
DIP–Schalter
Wird verwendet, um die
Temperaturmasseinheit
und die Anzahl der verwendeten Dezimalstellen einzustellen.
Drehschalter
Wird verwendet,
um den Temperaturbereich 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 Temperaturmasseinheit und die Anzahl der verwendeten Dezimalstellen einzustellen.
Drehschalter
Wird verwendet, um den
Temperaturbebereich einzustellen.
DIP–Schalter–
einstellungen
Der DIP–Schalter wird dazu verwendet, die Temperaturmasseinheit (°C oder
°F) und die Anzahl der verwendeten Nachkommastellen einzustellen.
CPM1A-TSjjj
CPM2C-TSjjj
SW 1
--F
---
C
---
2
1
1
2
0.01
Schalter 1
1 oder 0,1
Einstellung
1
Temperaturmasseinheit
e e a u asse e
2
Anzahl verwendeter
Nachkommastellen
AUS
°C
EIN
°F
AUS
Normal (0 oder 1 Ziffer nach dem
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
Abschnitt
Temperaturfühler–Baugruppen
Drehschaltereinstellung
3-2
Der Drehschalter wird verwendet, um den Temperaturbereich einzustellen.
! Vorsicht
Stellen Sie den Temperaturbereich entsprechend dem mit der Baugruppe verbundenen Temperaturfühler ein. Temperaturdaten werden nicht richtig gewandelt, 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.
CPM1A-TS001/002
CPM2C-TS001
Ein–
stellung
g
Ein–
gangstyp
K
0
1
J
2
3
4 bis F
---
Bereich
(°C)
CPM1A-TS101/102
CPM2C-TS101
Bereich
(°F)
Ein–
gangstyp
Bereich
(°C)
Bereich
(°F)
–200 bis
1.300
–300 bis
2.300
Pt100
–200,0 bis
650,0
–300,0 bis
1.200,0
0,0 bis
500,0
0,0 bis
900,0
JPt100
–200,0 bis
650,0
–300,0 bis
1.200,0
–100 bis
850
–100 bis
1.500
---
Einstellung nicht möglich
0,0 bis
400,0
0,0 bis
750,0
---
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 Thermoelemente müssen vom gleichen Typ sein und der gleiche Eingabebereich
muss für beide verwendet werden.
Eingang 0
+
Eingang 0
–
Eingang 1
+
Eingang 1
–
N.v.
N.v.
N.v.
N.v.
Temperatureingang 0
Temperatureingang 1
188
Cold–Junction–Kompensation
N.v.
N.v.
N.v.
N.v.
Abschnitt
Temperaturfühler–Baugruppen
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 Eingabebereich muss für alle verwendet werden.
Eingang Eingang
1
0
+
+
Eingang 0
–
Eingang 1
–
N.v.
N.v.
Eingang Eingang
N.v.
3
2
+
+
Eingang
N.v. Eingang
3
2
–
–
Temperatur–
eingang 2
Temperatur–
eingang 0
Cold–Junction–
Kompensation
Temperatur–
eingang 1
Temperatur–
eingang 3
Hinweis Beachten Sie beim Einsatz einer Temperaturfühler–Baugruppe mit einem Thermoelementeingang 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 angeschlossenen Cold–Junction–Kompensator kalibriert. Deshalb kann die Baugruppe 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 gleiche Eingabebereich muss für beide verwendet werden.
Eingang 0 Eingang 1Eingang 1
A
A
B
Eingang 0 Eingang 0 Eingang 1
B
B
B
Pt
Temperatureingang 0
N.v.
N.v.
N.v.
N.v.
N.v.
N.v.
N.v.
N.v.
Pt
Temperatureingang 1
CPM1A-TS102
Ein Pt100– oder JPt100–Platin–Widerstandsthermometer kann angeschlossen
189
Abschnitt
Temperaturfühler–Baugruppen
3-2
werden, aber alle vier Thermometer müssen vom gleichen Typ sein und der gleiche Eingabebereich muss für alle verwendet werden.
Eingang 0 Eingang 1 Eingang 1
A
A
B
Eingang 0Eingang 0 Eingang 1
B
B
B
Pt
Temperatur–
eingang 0
N.v.
Pt
N.v.
Eingang 2Eingang 3 Eingang 3
A
B
A
Eingang 2 Eingang 2Eingang 3
B
B
B
Pt
Temperatur–
eingang 1
Temperatur–
eingang 2
Pt
Temperatur–
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 Thermoelemente 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 Thermoelementeingang 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 gleiche Eingangsbereich muss für beide verwendet werden.
0A
Pt
Temperatureingang 0
0B
0B
1A
Pt
Temperatureingang 1
190
1B
1B
Abschnitt
Temperaturfühler–Baugruppen
3-2
3-2-7 Kontaktplanprogrammierung
Die Temperaturdaten werden als 4–stelliger Hexadezimalwert in den der Temperaturfühler–Baugruppe zugewiesenen Eingangsworten gespeichert.
CPM1A-TS001/TS101 und CPM2C-TS001/TS101
“m” ist das letzte Wort, das der CPU–, Erweiterungs– oder E/A–Erweiterungsbaugruppe, die unmittelbar vor der Temperaturfühler–Baugruppe angeschlossen ist, zugewiesen wurde.
Gewandelte
Temperaturdaten
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–Erweiterungsbaugruppe, die unmittelbar vor der Temperaturfühler–Baugruppe angeschlossen 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 Bereichs 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 fehlerhaften 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.
Nachdem Einschalten der Spannung vergeht ca. 1 s, bevor die ersten Daten gewandelt werden. Die folgenden Befehle können an den Anfang des Programms
gestellt und IR 02000 ausgewertet werden, um das Lesen der gewandelten Daten der Analogeingänge zu verzögern, bis die Wandlung tatsächlich begonnen
hat.
Einschaltverhalten
25313
(Immer–EIN–Merker)
CMP (20)
001
#7FFE
Dieser Wert zeigt an, dass die Temperaturdatenumwandlung begonnen hat.
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
Abschnitt
Temperaturfühler–Baugruppen
Handhabungsprobleme
3-2
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 liegen in der Reihenfolge, in der die Erweiterungsbaugruppen an die SPS angeschlossen sind, wobei AR 0200 für die Erweiterungsbaugruppe verwendet wird,
die der CPU–Baugruppe am nächsten ist. Verwenden Sie diese Merker im Programm, falls eine Fehlerauswertung erfolgen soll.
Tritt ein Fehler in einer Temperaturfühler–Baugruppe auf, besitzen die gewandelten Temperaturdaten den Wert 7FFF.
Hinweis Der Status von AR 0200 bis AR 0204 ändert sich nicht bei einer Drahtbruch–Erfassung.
Programmierbeispiel 1
CPU–Baugruppe mit
20 Anschlüssen
Eingänge
IR 000
Ausgänge
IR 010
192
Das folgende Programmierbeispiel zeigt, wie die Eingabedaten von 2 Temperaturfühler–Eingänge in BCD–Werte umgewandelt werden und das Ergebnis in
DM 0000 und DM 0001 abgespeichert wird. Die folgende Systemkonfiguration
wird verwendet.
Temperaturfühler–
Baugruppe
Eingänge
IR 001
IR 002
Ausgänge
Kein
Temperaturfühler–Baugrp.einstellung:
Zwei–Dezimalstellen–Betriebsart:
Eingabebereichs–Einstellung:
Speicherwort Temperatureingang 0:
Speicherwort Temperatureingang 1:
AUS (°C)
AUS (normal)
1 (K2, 0,0 bis 500,0°C)
IR 001
IR 002
Abschnitt
Temperaturfühler–Baugruppen
3-2
25313
(Immer–EIN–Merker)
Erfasst den Abschluss der Initialisierung von Eingang 0.
CMP (20)
001
#7FFE
25506(=)
02000
EIN, wenn Eingang 0 initialisiert wurde
25313
(Immer–EIN–Merker)
Erfasst den Abschluss der Initialisierung von Eingang 1.
CMP (20)
002
#7FFE
25506
02001
EIN, wenn Eingang 1 initialisiert wurde
02000 Ausführungsbedingung
CMP (20)
001
Erkennt einen Drahtbruch–Alarm oder einen Baugruppenfehler und setzt die Temperaturdaten auf den
Fehlercode 7FFF.
#7FFF
25506(=)
01000
CMP (20)
001
EIN, wenn ein Drahtbruch–Alarm oder ein Baugruppenfehler für Eingang 0 erkannt wurde.
Überprüft, ob die Temperaturdaten in IR 001 500,0 °C
(1388 hex., ohne Komma) überschritten haben.
#1388
25505(>)
01001
Ein, für einen Eingang 0–Temperaturfehler
25507(<)
BCD (24)
001
Konvertiert den Inhalt von IR 001 (Temperaturdaten
für Eingang 0) in einen BCD–Wert und speichert
das Ergebnis in DM 0000.
DM 0000
02001 Ausführungsbedingung
CMP (20)
002
#7FFF
25506(=)
01002
CMP (20)
002
Erkennt einen Drahtbruch–Alarm oder einen Baugruppenfehler und setzt die Temperaturdaten auf den
Fehlercode 7FFF.
EIN, wenn ein Drahtbruch–Alarm oder ein Baugruppenfehler für Eingang 1 erkannt wurde.
Überprüft, ob die Temperaturdaten in IR 002 500,0 °C
(1388 hex., ohne Komma) überschritten haben.
#1388
25505(>)
01003
Ein, für einen Eingang 1–Temperaturfehler
25507(<)
BCD (24)
002
Konvertiert den Inhalt von IR 002 (Temperaturdaten
für Eingang 1) in einen BCD–Wert und speichert
das Ergebnis in DM 0001.
DM 0001
Programmierbeispiel 2
Das folgende Programmierbeispiel zeigt, wie die Eingabedaten von Temperaturfühler–Eingang 0 in BCD–Werte umgewandelt werden und das Ergebnis in
DM 0000 und DM 0001 abgespeichert wird. “0001” wird in DM 0001 gespeichert, wenn die Eingabedaten einen negativen Wert darstellen. Die folgende
193
Abschnitt
Temperaturfühler–Baugruppen
3-2
Systemkonfiguration wird verwendet.
CPU–Baugruppe mit
20 Anschlüssen
Eingänge
IR 000
Temperaturfühler–Baugruppe
Eingänge
IR 001
IR 002
Ausgänge
IR 010
Ausgänge
Kein
Temperaturfühler–Baugrp.–einstell.:
Zwei–Dezimalstellen–Betriebsart:
Eingabebereichs–Einstellung:
Speicherwort von Temperatureingang 0:
AUS (°C)
AUS (normal)
1 (Pt100, –200.0 bis 650.0°C)
IR 001
Programmierung mit BCD(24)–Befehl
25313
(Immer–EIN–Merker)
CMP (20)
Erfasst den Abschluss der Initialisierung von Eingang 0.
001
#7FFE
25606 (=)
02000
02000
EIN, wenn Eingang 0 initialisiert wurde
Ausführungsbedingung
CMP (20)
001
Erkennt einen Drahtbruch–Alarm oder einen Baugruppenfehler und setzt die Temperaturdaten auf den
Fehlercode 7FFF.
#7FFF
25506(=)
01000
25506(=)
EIN, wenn ein Drahtbruch–Alarm oder ein Baugruppenfehler für Eingang 0 erkannt wurde.
00115
BCD (24)
001
DM 0000
MOV(21)
#0000
Sind die Eingabetemperaturdaten nicht negativ,
wird der Inhalt von IR 001 (Temperaturdaten für
Eingang 0) in einen BCD–Wert konvertiert und das
Ergebnis in DM 0000 gespeichert.
Speichert #0000 in 0001
DM.
DM 0001
00115
CLC(41)
SBB (51)
#0000
001
DM 0010
BCD (24)
DM 0010
DM 0000
MOV(21)
#0001
DM 0001
194
Sind die Eingabetemperaturdaten negativ, wird der
Inhalt von IR 001 in den absoluten Wert der Isttemperatur konvertiert und das Ergebnis in DM 0010
gespeichert.
Konvertiert den Inhalt von DM 0010 (absoluter Wert
der negativen Temperaturdaten für Eingang 0) in
einen BCD–Wert und speichert das Ergebnis in
DM 0000.
Speichert #0001 in DM 0001, um einen negativen
Wert anzuzeigen.
Abschnitt
Temperaturfühler–Baugruppen
3-2
Programmierung mit dem SCL2(––)–Befehl (nur CPM2A/CPM2C)
25313
(Immer–EIN–Merker)
Erkennt den Abschluss der Initialisierung.
CMP (20)
001
#7FFE
25506(=)
02000
EIN, wenn die Initialisierung abgeschlossen ist.
02000 Ausführungsbedingung
Erfasst einen Drahtbruch–Alarm.
CMP (20)
001
#7FFF
25506(=)
01000
EIN, wenn ein Drahtbruch–Alarm erkannt wurde.
25506(=)
SCL2 (–)
001
DM 0010
Parametereinstellungen
für Datenumwandlung:
DM 0000
DM 0010 #0000
Offset
#0001
∆X (hex.)
DM 0012 #0001
∆Y (BCD)
DM 0011
25504 (CY)
Speichert #0000 in DM 0001, wenn der konvertierte Wert nicht negativ ist.
MOV(21)
#0000
DM 0001
25504 (CY)
Speichert #0001 in DM 0001, wenn der konvertierte Wert negativ ist.
MOV(21)
#0001
DM 0001
Betrieb
Binär–zu–BCD–Konvertierung
IR 001 163 162 161 160
Zur Anzeige eines negativen
Ergebnisses auf EIN gesetzt.
0
0
0
1/0
DM 0000
103 102 101 100
CY (bei Einsatz des SCL2–Befehls)
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
Abschnitt
Temperaturfühler–Baugruppen
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–stellige Hexadezimal(binär)–Daten mit 4 Stellen im ganzzahligen Teil und 2 Stellen
nach dem Komma gespeichert. Die tatsächlichen, im Speicher abgelegten Daten entsprechen dem 100–fachen des Istwertes, d.h. das Komma wird nicht angezeigt. In diesem Abschnitt werden Verfahren für die Anwendung dieser Daten
beschrieben.
Hinweis Nach der Einstellung zur Speicherung von Werten mit zwei Dezimalstellen werden 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 Ziffer 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
Links–/
rechtsliegend–
Merker
Temperatureinheit–Merker
0: °C
0: Linksliegend
1: Rechtsliegend 1: °F
Rechtsliegende 3 Stellen und Merker
15
14
Links–/
rechtsliegend–
Merker
Temperatureinheit–Merker
0: °C
0: Linksliegend
1: °F
1: Rechtsliegend
Links–/rechtsliegend–Merker
196
13
12
Drahtbruch–
Merker
Nicht verwendet.
0: Normal
1: Fehler
immer 0
13
Temperaturdaten
X 165
X 164
x 163
12
Drahtbruch–
Merker
Nicht verwendet.
0: Normal
1: Fehler
immer 0
Temperaturdaten
X 162
X 161
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.
x 160
Abschnitt
Temperaturfühler–Baugruppen
Datenwandlungs–
Beispiele
3-2
Einige Beispiele von für diverse Temperaturwerte gespeicherten Daten sind
nachfolgend dargestellt.
Beispiel 1
Temperatur:
1.130,25°C
×100:
113025
Temperaturdaten : 01B981 hex.
Linksliegende 3 Stellen und Merker
Merker
Bits
15 14 13 12
Daten
0
0
0
X 165
08 bis 11
X 164
04 bis 07
00 bis 03
0
1
B
0
x 163
0
Normal
°C
Linksliegend
0
1
B
Temperaturdaten
Merker
Rechtsliegende 3 Stellen und Merker
Merker
Bits
15 14 13 12
Daten
1
0
0
x 162
08 bis 11
x 161
04 bis 07
00 bis 03
9
8
1
0
x 160
Normal
°C
Rechtsliegend
8
9
8
1
Temperaturdaten
Merker
Beispiel 2
Temperatur:
–100,12°C
×100:
–10012
Temperaturdaten : FFD8E4 (hex., für –10012)
Linksliegende 3 Stellen und Merker
Merker
Bits
Daten
15 14 13 12
0
0
0
X 165
08 bis 11
X 164
04 bis 07
00 bis 03
F
F
D
0
x 163
0
F F D
Normal
°C
Linksliegend
Temperaturdaten
Merker
Rechtsliegende 3 Stellen und Merker
Merker
Bits
Daten
15 14 13 12
1
0
0
x 162
08 bis 11
x 161
04 bis 07
00 bis 03
8
E
4
0
x 160
8
8
E 4
Normal
°C
Rechtsliegend
Merker
Temperaturdaten
197
Abschnitt
Temperaturfühler–Baugruppen
3-2
Beispiel 3
Temperatur:
–200,12°F
×100:
–20012
Temperaturdaten: FFB1D4 (hex. für –20012)
Linksliegende 3 Stellen und Merker
Merker
Bits
15 14 13 12
Daten
0
1
0
X 165
08 bis 11
X 164
04 bis 07
00 bis 03
F
F
B
0
x 103
4
F F B
Normal
°F
Linksliegend
Temperaturdaten
Merker
Rechtsliegende 3 Stellen und Merker
Merker
Bits
15 14 13 12
Daten
1
1
0
x 162
08 bis 11
x 101
04 bis 07
00 bis 03
1
D
4
0
x 160
Normal
°F
Rechtsliegend
C 1
D 4
Temperaturdaten
Merker
Beispiel 4
Temperatur:
Drahtbruch (°F)
Temperaturdaten: 7FFF FFFF
Linksliegende 3 Stellen und Merker
Merker
Bits
Daten
15 14 13 12
0
1
1
X 165
08 bis 11
X 164
04 bis 07
00 bis 03
7
F
F
0
x 103
Fehler
°F
Linksliegend
6
Merker
7
F F
Temperaturdaten
Rechtsliegende 3 Stellen und Merker
Merker
Bits
Daten
15 14 13 12
1
1
1
x 162
08 bis 11
x 101
04 bis 07
00 bis 03
F
F
F
0
Fehler
°F
Rechtsliegend
Hinweis
198
x 160
E F F F
Merker
Temperaturdaten
1. Äußerst linke Stellen werden auf den unteren Speicheradressen gespeichert. 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ücksichtigen. Korrekte Daten stehen möglicherweise nicht zur Verfügung, wenn der
Lesezyklus größer als 125 ms ist.
Abschnitt
Temperaturfühler–Baugruppen
Programmbeispiel
3-2
Das folgende Programmbeispiel zeigt, wie die 2–Dezimalstellen–Betriebsart
mit der folgende SPS–Konfiguration verwendet wird.
CPU–Baugruppe
mit 20 Anschlüssen
E/A–ErweiterungsTemperaturfühler–
baugruppe mit 20 E/A Baugruppe
Eingänge
IR 000
Ausgänge
IR 010
Temperaturfühler–Baugruppeneinstellung:
OFF (°C)
Eingänge
IR 002
IR 003
Eingänge
IR 001
Ausgänge
IR 011
Zwei–Dezimalstellen–Betriebsart ON (2 Stellen werden nach dem Komma gespeichert)
Ausgänge
Kein
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
Temperatureingang 0
IR 002
Bit
IR 200
Äußerst r. Daten
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
DM 0100
X 163
X 162
X 161
X 160
DM 0101
X 167
X 166
X 165
X 164
0
Das folgende Programm würde hierzu verwendet werden.
199
Abschnitt
Temperaturfühler–Baugruppen
25315
(Erster–Zyklus–Merker)
(1)
Stellt DM 0103 auf #0100 und
DM 0102 auf #0000 ein.
MOV(21)
#0000
DM 0102
MOV(21)
#0100
25313
(Immer–EIN–Merker)
DM 0103
CMP (20)
Erfasst den Abschluss der Initialisierung
von Eingang 0.
002
#7FFE
25506(=)
02000
02000
EIN, wenn Eingang 0 initialisiert wurde
01000
Drahtbruch–Alarmausgang
00213 (Drahtbruch erfasst)
00215 (äußerst linke Stellen)
02001
SET 02001
Bereit zur Datenumwandlung.
MOV(21)
(2)
Äußerst linke Stellen wurden auf IR 200
übertragen
00215 (äußerst linke Stellen)
002
200
00215 (äußerst rechte Stellen)
(3)
MOVD (83)
Äußerst linke und äußerst
rechte Stellen wurden umgestellt und auf IR 202 und IR
201 übertragen.
002
#0020
201
(4)
MOVD (83)
200
#0300
201
(5)
MOVD (83)
200
#0011
202
RSET 02001
SET 02002
200
Datenumstellung beendet.
3-2
Abschnitt
Temperaturfühler–Baugruppen
3-2
20207 (nicht negative Daten)
02002
(6)
Sind die Temperaturdaten nicht negativ, werden die Binärdaten in IR 202 und IR 201 in
einen BCD–Wert konvertiert und in DM 0101
DM und DM 0100 gespeichert.
(7)
Sind die Temperaturdaten negativ, werden
die 2er–Komplementdaten in IR 202 und
IR 201 in Binärdaten konvertiert, die den
Absolutwert der Temperatureingabe darstellen und in HR 01 und HR 00 gespeichert.
BCDL (59)
201
DM 0100
20207 (negative Daten)
CLC(41)
SBB (51)
DM 0102
201
HR00
SBB (51)
DM 0103
202
HR01
BCDL (59)
HR00
DM 0100
MOVD (83)
#0008
(8)
Die Binärdaten in HR 01 und HR 00 werden
in einen BCD–Wert konvertiert und in DM
0101 und DM 0100 gespeichert.
(9)
“1” wird ins Bit von DM 0101, das negative 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 Datenbewegungen werden im folgenden Diagramm veranschaulicht.
IR 002: Äußerst linke 3 Stellen der Temperaturdaten
0
165
0
165
164
IR 002: Äußerst rechte 3 Stellen der Temperaturdaten
163
162
1
161
(2)
IR 200
164
160
(3)
163
(4)
(5)
IR 202
0
DM 0101 0/8
(1)
DM 0103
–
0
106 105 104
1
0
0
IR 202 2er–Komplementdaten
HR 01
0
163
162
161 160
3
DM 0100 10
102
101 100
IR 201
(9)
Sind Temperaturdaten negativ,wird hier “8” eingetragen (d.h.
“1” wird in das Bit, das negative Daten anzeigt, geschrieben).
(1) #0000
#0100
0
165 164
0
165 164
DM 0102
0
0
0
(6)
Sind die Temperaturdaten nicht negativ, werden die Binärdaten in IR 202 und IR 201 in
einen BCD–Wert konvertiert und in DM 0101
DM und DM 0100 gespeichert.
(8)
Sind die Temperaturdaten negativ, werden die
Binärdaten in HR 01 und HR 00 in einen
BCD–Wert konvertiert und in DM 0101 und
DM 0100 gespeichert.
0
IR 201 2er–Komplementdaten
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
Abschnitt
CompoBus/S–E/A–Link–Module
3-3
3-3
CompoBus/S–E/A–Link–Module
Eine SPS der Serie CPM1A, CPM2A oder CPM2C kann als Slave in einer CompoBus/S– (oder einer SRM1–CompoBus/S–)Master–Feldbussteuerung arbeiten, wenn ein CompoBus/S–E/A–Link–Modul angeschlossen wird. Das CompoBus/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–/Ausgä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–Feldbussteuerung (oder SRM1 CompoBus/
S–Master–Feldbussteuerung)
CPM1A/CPM2A–
CPU–Baugruppe
CPM1A-SRT21
CompoBus/S–
E/A–Link–Baugruppe
CPM2C– CPM2C–SRT21
CPU–
–CompoBus/S–
BauE/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 eingestellten Teilnehmernummer adressiert.
Master–SPS (CS1–Serie)
CPU–Baugruppe CompoBus/S–
Master–Feldbussteuerung
E/A–Speicher
Baugruppe
8 A–Merker
Nr. 0
Ausg.
2000
8 E–Merker
CPM1A, CPM2A oder CPM2C
CPU–Baugruppen mit 30
E/A–Anschlüssen
E/A–Speicher
CompoBus/
S–E/A–Link–
Modul
8 E–Merker
Teilnehmernummer:
0
8 A–Merker
Eing.
2004
Eing.
IR 002
Ausg.
IR 012
Technische Daten
202
Technische Daten
Modell–
nummer
CPM1A oder CPM2A:
CPM1A-SRT21
CPM2C:
CPM2C-SRT21
Master/Slave
CompoBus/S–Slave
Anzahl der E/A–Merker
8 Eingangs– und 8 Ausgangsmerker
Anzahl der Worte, die im
E/A–Speicher einer
CPU–Baugruppe zugewiesen
werden
1 Eingangswort, 1 Ausgangswort
Teilnehmernummern–
Einstellung
Einstellung über den DIP–Schalter
(Wird auf die gleiche Weise zugewiesen, wie
E/A–Erweiterungsbaugruppen und andere
Erweiterungsbaugruppen)
(Einstellung muss vor dem Einschalten der
Spannungsversorgung der CPU–Baugruppe erfolgen.)
Abschnitt
CompoBus/S–E/A–Link–Module
LED–Anzeigen
Anzeige
Status
3-3
Beschreibung
CO
COMM
(G lb)
(Gelb)
EIN
Kommunikation aktiv.
AUS
Die Kommunikation ist unterbrochen oder ein Fehler ist
aufgetreten.
ERR
(R t)
(Rot)
EIN
Ein Kommunikationsfehler ist aufgetreten.
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
CompoBus/S–E/A–Link–Moduls fest
und stellen Sie den DIP–Schalter entsprechend ein
Verlegen Sie die CompoBus/S–
Verkabelung
Anschluss des
CompoBus/S–E/A–Link–
Moduls
Die Teilnehmernummer sollte eine einmalige Nummer zwischen 0
und 15 sein.
Verwenden Sie den DIP–Schalter, um die die CompoBus/S–Teilnehmernummer der E/A–Link–Baugruppe, den Kommunikationsmodus und den Status der Ausgabedaten bei einem Kommunikationsfehler zu spezifizieren.
Schließen Sie das CompoBus/S–E/A–Link–Modul an
eine CompoBus/S–Verkabelung an.
Schließen Sie das CompoBus/S–E/A–Link–Modul an die CPU–Baugruppe an.
Werden ebenfalls Erweiterungs– oder E/A–Erweiterungsbaugruppen angeschlossen, können sie in beliebiger Reihenfolge an die CPU–Baugruppe angeschlossen werden.
CPM1A/CPM2A–
CPU–Baugruppe
CPM1A-SRT21
CPM2C–CPU– CompoBus/S–E/
CompoBus/S–
A–Link–Modul
E/A–Link–Baugruppe Baugruppe
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ächsten verfügbaren Ein– und Ausgangsworte werden zugewiesen. Hierbei ist “m”
das letzte zugewiesene Eingangswort und “n” das letzte zugewiesene Ausgangswort; 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
Abschnitt
CompoBus/S–E/A–Link–Module
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 001
Eingangsworte
IR 002
CPU–Baugruppen mit 30 E/A
Ausgangsworten
IR 010
IR 011
CompoBus/S–
E/A–Link–Mod.
IR 012
Das Eingangswort (m+1) enthält die 8 Datenmerker der Master–Feldbussteuerung und zwei CompoBus/S–Kommunikationsmerker.
15
Wort m +1
0
09 08 07
0
0
0
0
CompoBus/S–Kommunikations–Fehlermerker
00
0
Daten von der Master–Feldbussteuerung
0: Normal
1: Fehler
CompoBus/S–Kommunikations–Statusmerker
0: Keine Kommunikation;
1: Kommunikation aktiv
Daten, die an Master–Feldbussteuerung gesendet werden sollen, in das Ausgangswort (n+1) schreiben.
15
Wort n+1
0
07
0
0
0
0
0
0
00
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 gesendet 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 Arbeitsmerker verwendet werden, aber nichtverwendete Merker in den Ausgangs–Slaves können nicht als Arbeitsmerker eingesetzt werden.
Nichtverwendete Merker in Eingangswort können nicht als Arbeitsmerker verwendet 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 Ausgangsmerkern. Die Teilnehmernummern–Einstellung erfolgt über den DIP–
Schalter; Ein– und Ausgangsmerker verwenden die gleiche Teilnehmernummer.
Der Bereich der möglichen Teilnehmernummern–Einstellungen wird durch den
SPS–Typ, in die die Master–Feldbussteuerung eingesetzt ist, und die Einstellungen auf der Master–Feldbussteuerung bestimmt. Sehen Sie für weitere Einzelheiten das CompoBus/S–Bedienerhandbuch.
204
Abschnitt
CompoBus/S–E/A–Link–Module
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 Ausgabedaten bei einem Kommunikationsfehler zu spezifizieren.
CPM1A-SRT21
DIP–Schalter
CPM2C-SRT21
Schalter–
bezeich–
nung
1, 2, 4 und 8
Teilnehmer–Adresseneinstellung
Schalter
8421Adresse
Adresse
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
Schalter
8421
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
1 = ON, 0 = OFF
DR
HOLD
O
Hinweis
ON
Long-Distance–Kommunikationsmodus (sehen Sie Hinweis 2)
OFF
High-speed–Kommunikationsmodus
ON
Eingänge nach einem Kommunikationsfehler beibehalten
OFF
Eingänge nach einem Kommunikationsfehler löschen
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
Abschnitt
CompoBus/S–E/A–Link–Module
Anschluss der
CompoBus/S–
Kommunikations–
verkabelung
Schließen Sie die CompoBus/S–Kommunikationsverkabelung an, wie es in den
folgenden Diagrammen dargestellt ist.
CPM1A-SRT21
N C (BS+)
N C (BS–)
Diese Klemmen werden nicht verwendet (NC: not connected = N.
v.: nicht verbunden). Sie können
jedoch als Kommunikations–
Spannungsversorgungsklemmen
verwendet werden.
(BS +)
(BS –)
Anschluss an das
CompoBus/S–Kommunikationskabel.
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
3-3
KAPITEL 4
Kommunikationsfunktionen
Dieser Abschnitt beschreibt dieVerwendung der Kommunikationsfunktionen der SPS–Systeme CPM1, CPM1A, CPM2A,
CPM2C und SRM1(–V2).
4-1
4-2
4-3
4-4
4-5
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-1
Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-2
Schnittstellenverdrahtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPM1–/CPM1A–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-1
Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-2
1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-2-3
1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . .
CPM2A–/CPM2C–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-1
Host–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-2
Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . .
4-3-3
1:1–NT–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-4
1:1–PC–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SRM1(–V2)–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-1
Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-2
Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . .
4-4-3
1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-4-4
1:n–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . .
4-4-5
1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . .
Host–Link–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-1
IR/SR–Bereich lesen – RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-2
LR–Bereich lesen – RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-3
HR–Bereich lesen – RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-4
Istwert lesen – RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-5
TC–Status lesen – RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-6
DM–Bereich lesen – RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-7
AR–Bereich lesen – RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-8
IR/SR–Bereich schreiben – WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-9
LR–Bereich schreiben – WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-10
HR–Bereich schreiben – WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-11
Istwert schreiben – WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-12
TC–Status schreiben – WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-13
DM–Bereich schreiben – WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-14
AR–Bereich schreiben – WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-15
Sollwert lesen 1 – R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-16
Sollwert lesen 2 – R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-17
Sollwert ändern 1 – W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-18
Sollwert ändern 2 – W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-19
Status lesen – MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-20
Status schreiben – SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-21
Fehler lesen – MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-22
Zwangsweises setzen – KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-23
Zwangsweises rücksetzen – KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-24
Mehrfaches zwangsweises setzen/rücksetzen – FK . . . . . . . . . . . . . . .
4-5-25
Zwangsweises Setzen/Rücksetzen aufheben – KC . . . . . . . . . . . . . . . .
4-5-26
SPS–Typ lesen – MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-27
Test – TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-28
Programm lesen – RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-29
Programm speichern – WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-30
Zusammengefaßte Lesedaten – QQ . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-31
Abbruch – XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-32
Initialisieren – :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-33
TXD–Antwort – EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-34
Nicht definierter Befehl – IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
208
209
210
210
211
212
214
214
231
240
243
248
248
251
256
257
258
260
260
261
261
261
262
263
263
264
265
265
266
266
267
268
268
269
270
271
272
273
274
275
276
277
278
279
279
280
280
281
283
283
283
284
207
Abschnitt
Einführung
4-1
4-1
Einführung
4-1-1 Übersicht
CPM1/CPM1A–
Kommunikation
Die CPM1/CPM1A kommuniziert über ihre Peripherieschnittstelle mittels eines
RS–232C– oder eines RS–422–Adapters.
Host–Link–Kommunikationsmodus
Die CPM1/CPM1A–SPS–Systeme sind mit dem Host–Link–System kompatibel. 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–Adapter und ein B500–AL004–Link–Adapter werden für die 1:n–Kommunikation verwendet.
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–
Kommunikation
Die folgenden Kommunikationsmodi werden von den Schnittstellen der
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–
kationsfunktionen
Die folgenden Kommunikationsmodi werden von den Schnittstellen der
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
Abschnitt
Einführung
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
Abschnitt
CPM1–/CPM1A–Kommunikationsfunktionen
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. Normalerweise gibt der Host-Computer einen Befehl an eine SPS aus, die wiederum automatisch eine Empfangsbestätigung zurückgibt. Daher wird die Kommunikation ohne aktive Beteiligung der SPS ausgeführt. Einige SPS–Systeme können
ebenfalls Datenübertragungen einleiten, wenn eine direkte Beteiligung erforderlich ist.
Im Allgemeinen stehen zur Implementation des Host–Link–Kommunikationsmodus 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–
einstellung
Wort
DM 6650
Stellen Sie die CPM1/CPM1A–Peripherieschnittstelle für den Host–Link–Kommunikationsmodus entsprechend der folgenden Tabelle ein.
Bit
00 bis 07
Funktion
Einstellung
Kommunikationsformat1
00
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
DM 6651
08 bis 11
Link–Bereich für 1:1 PC–Link über Peripherieschnittstelle
0: LR 00 bis LR 15
0 (Jeder Wert ist
zulässig)
12 bis 15
Kommunikationsmodus1
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
0
00 bis 07
Baudrate1
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2
00 (Jeder Wert
ist zulässig)
08 bis 15
Rahmenformat1
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
00 (Jeder Wert
ist zulässig)
DM 6652
00 bis 15
Übertragungsverzögerung (Host–Link)1
0000 bis 9999: In ms.
0000
DM 6653
00 bis 07
Teilnehmernummer (Host–Link)1
00 bis 31 (BCD)
00 bis 31
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 jeweiligen Technischen Handbüchern der SPS–Systeme.
210
Abschnitt
CPM1–/CPM1A–Kommunikationsfunktionen
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–Eingä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 einen RS–232C–Adapter mit einem OMRON NT–Terminal (NT–Link–Schnittstelle) kommunizieren.
CPM1–SPS
RS–232C–Adapter
Programmierbares NT–Terminal
CPM1 CPU–Baugruppe
CPM1 CPU
RS–232C–Kabel
211
Abschnitt
CPM1–/CPM1A–Kommunikationsfunktionen
4-2
CPM1A–SPS
RS–232C–
Adapter
CPM1A CPU–Baugruppe
Programmierbares NT–Terminal
RS–232C–Kabel
SPS–Konfigurations–
einstellung
Wort
DM 6650
In der folgenden Tabelle sind die auf die 1:1–NT–Link–Kommunikation bezogenen Einstellungen aufgeführt.
Bit
00 bis 07
Funktion
Kommunikationsformat1
Einstellung
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
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
4
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) verwendet.
2. Sehen Sie für weitere Informationen über die NT–Link–Einstellungen anderer 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 anderen 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
Abschnitt
CPM1–/CPM1A–Kommunikationsfunktionen
CPM1/CPM1A
1:1–PC–Link–Anschluss
4-2
Das folgende Diagramm zeigt ein 1:1–PC–Link–Anschluss zwischen zwei
CPM1–SPS–Systemen. Sehen Sie für weitere Informationen über den Anschluss zweier CPM1 das Technische Handbuch der CPM1.
RS–232C–Kabel
RS–232C–
Adapter
CPM1 CPU–Baugruppe
RS–232C–
Adapter
CPM1 CPU–Baugruppe
Die für den 1:1–PC–Link verwendeten Worte sind nachfolgend dargestellt.
Master
Slave
LR 00
Daten
schreiben
LR 07
LR 08
Daten
lesen
LR 00
Schreibbereich
Lesebereich
Lesebereich
Schreibbereich
LR 07
LR 08
LR 15
LR 15
Daten
lesen
Daten
schreiben
1:1–PC–Link–
Beschränkungen mit einer
CPM1/CPM1A
In der CPM1/CPM1A können nur die16 LR–Worte von LR 00 bis LR 15 zur Kommunikation benutzt werden. Verwenden Sie also nur diese16 Worte in der
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–
einstellung
In der folgenden Tabelle sind die auf die 1:1–PC–Link–Kommunikation bezogenen Einstellungen aufgeführt.
Wort
DM 6650
Bit
Funktion
Einstellung
(Master)
Einstellung
(Slave)
00 bis 07
Kommunikationsformat1
00: Standard (1 Start–, 7 Daten– und 2 Stopbits,
gerade Parität, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
00 oder 01
00 oder 01
08 bis 11
Link–Bereich für 1:1 PC–Link über Peripherieschnittstelle
0: LR 00 bis LR 15
0
0 (Jeder Wert ist
zulässig)
12 bis 15
Kommunikationsmodus1
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
3
2
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 verwendet.
2. Weitere Informationen über die 1:1–PC–Link–Kommunikation mit einer anderen 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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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
25313 (Immer EIN)
Programmierung im Slave
25313 (Immer EIN)
MOV(21)
MOV(21)
000
000
LR00
LR08
MOV(21)
IR 000
SR 200
4-3
MOV(21)
LR08
LR00
200
200
LR 00
SchreiSchreibbereich
ben
LR 07
LR 08
Lesebereich
Lesen
LR 15
LR 00
Lesebereich
Schreibbereich
Lesen
SR 200
Schrei–
ben
IR 000
LR 07
LR 08
LR 15
CPM2A–/CPM2C–Kommunikationsfunktionen
Dieser Abschnitt beschreibt den Einsatzbereich der Kommunikationsfunktionen der CPM2A/CPM2C. Lesen Sie diesen Abschnitt, wenn Sie eine Kommunikation ohne Protokoll, die Host–Link–, 1:1–NT–Link– oder 1:1–PC–Link–Kommunikation 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 einige SPS–Vorgänge zu steuern. Ein Kommunikationsprogramm in der SPS ist
nicht erforderlich. Die Host–Link–Kommunikation kann über die Peripherieschnittstelle oder die RS–232C–Schnittstelle der CPM2A /CPM2C erfolgen.
CPM2A
Befehle
Host–Computer
Antworten
214
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
CPM2A 1:1–Kommunikation
Befehle
Antworten
Antworten
Befehle
Programmierbares NT–
Terminal
Anschluss an die CPM2A–RS–232C–
Schnittstelle (sehen Sie den Hinweis)
Anschluss an die CPM2A–RS–232C–
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
Anschlusskabel
RS–232C–Schnittstelle
(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
kompatibel
CS1W–CN118 (0,1 m)
CPM2C–CPU–
Baugruppe
CPM2C-CIF01
CPM2C–
CPU–
Baugruppe
CPM2C-CIF11
215
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Antworten
IBM PC/AT oder
kompatibel
Befehle
CPM2A–1:n–Kommunikation
Anschluss an die
CPM2A–RS–232C–
Schnittstelle
NT–AL001
RS232C/RS–422–Adapter
216
B500–AL004
Schnittstellen–
Adapter
Anschluss an die CPM2A–
Peripherieschnittstelle
CPM1–CIF11 RS–422–Adapter
4-3
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
CPM2C–1:n–Kommunikation
IBM PC/AT oder
kompatibler
Computer
Anschlusskabel
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 Peripherieschnittstelle
der CPU
CPM2-CIF11
Bei Einsatz der
Schnittstelle als
RS–232C–
Schnittstelle
CPM2-CIF11
CPM2-CIF11
NT–AL001
(Sehen Sie den Hinweis 1)
NT–AL001
(Sehen Sie den Hinweis 1)
RS–232C–Schnittstelle
XW2Z070T–1 (0,7 m)
XW2Z200T–1 (2 m)
CPM2C–
CPU–Baugruppe
XW2Z070T–1 (0,7 m)
XW2Z200T–1 (2 m)
CPM2C–
CPU–Baugruppe
CPM2C–
CPU–Baugruppe
CPM2C–
CPU–Baugruppe
CPM2C–
CPU–Baugruppe
RS–232C–
Schnittstelle
CPM2C–CN111 Anschlusskabel (0,15 m)
CPM2C–
CPU–Baugruppe
NT–AL001
(Sehen Sie den
Hinweis 1)
XW2Z070T–1 (0,7 m)
XW2Z200T–1 (2 m)
RS–232C–
Schnittstelle
CPM1C–CN118 Anschlusskabel (0,1 m)
CPM2-CIF01
Bis zu 32 SPS–Systeme
217
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 ausgetauscht. 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-Computer zur CPM2A/CPM2C und umgekehrt. Das Übertragungsrecht wird vom übertragenden Gerät zum empfangenden Gerät übergeben, wenn entweder ein Endezeichen (der Code, der das Ende eines Befehls oder einer Antwort kennzeichnet) oder ein Begrenzer (der Code, der die Rahmen voneinander trennt)
empfangen wird.
Host–
Computer
Rahmen (Befehl)
Rahmen (Befehl)
Teilnehmer–Nr.
Befehlscode
Teilnehmer–Nr.
Befehlscode
Text
Text
FCS-Prüfzeich.
Endezeichen
FCS-Prüfzeich.
Endezeichen
Nächste Rahmenübertragung
aktiviert (d.h. Übertragungsrecht
übergeben)
Teilnehmer–Nr.
Befehlscode
Endecode
Teilnehmer–Nr.
Befehlscode
Endecode
Text
Text
FCS-Prüfzeich.
Endezeichen
FCS-Prüfzeich.
Endezeichen
Rahmen (Antwort)
Rahmen (Antwort)
CPM2A/CPM2C
Slave–initiierte
Kommunikation
Datenübertragungen von der SPS zum Host–Computer können von der CPU–
Baugruppe mit TXD(48) veranlasst werden.
Host–
Computer
Es gibt keine Antwort
vom Host–Computer
Teilnehmer–Nr.
Befehlscode
CPM2A/CPM2C
Text
FCS-Prüfzeich.
Endezeichen
Rahmen (Antwort)
218
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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.
Bei der Übertragung eines Befehles von dem Host-Computer müssen die Befehlsdaten folgendes Format besitzen.
Befehlsformat
1
@
0
Teilnehmer-Nr.
↵
*
X 10 X 10
Befehls–
code
FCS–
Prüfzeichen
Text
Ende–
zeichen
@
Ein ”@”–Symbol muss die Sequenz einleiten.
Teilnehmer–Nr.
Identifiziert die CPM2A/CPM2C–SPS, die mit dem Host–Computer kommuniziert.
Spezifiziert die Teilnehmernummer der CPM2A/CPM2C in der SPS–Konfiguration (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.
Die Antwort von der CPM2A/CPM2C wird im nachfolgenden Format zurückgegeben. Erstellen Sie ein Programm, mit dem die Anwortdaten ausgewertet und
verarbeitet werden können.
Antwortformat
@
1
0
1
X 10 X 10
Teilnehmer-Nr.
x 16
Befehls–
code
0
*
x 16
Endecode
Text
FCS–
Prüfzeichen
CR
Ende–
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, enthä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 aufgeteilten Übertragung wird das Ende des ersten und des mittleren Rahmens
durch einen Begrenzer anstatt durch ein Endezeichen gekennzeichnet.
219
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Unterteilende Befehle
4-3
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 solange wiederholt, bis der gesamte Befehl übertragen wurde.
Rahmen 2 (Befehl)
Rahmen 1 (Befehl)
Rahmen 3 (Befehl)
Teilnehmer–Nr.
Befehlscode
Host–
Computer
Text
Text
Text
FCS-Prüfzeich.
Begrenzer
FCS-Prüfzeich.
Begrenzer
FCS-Prüfzeich.
Endezeichen
Begrenzer
CPM2A/CPM2C
Begrenzer
Teilnehmer–Nr.
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
Teilnehmer–Nr.
Befehlscode
Endecode
CPM2A/CPM2C
Text
FCS–Prüfzeich.
Begrenzer
Rahmen 1 (Antwort)
220
Begrenzer
Text
Text
FCS-Prüfzeich.
Begrenzer
FCS-Prüfzeich.
Endezeichen
Rahmen 2 (Antwort)
Rahmen 3 (Antwort)
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Vorsichtsmaßnahmen bei
langen Übertragungen
Rahmen
1
@
4-3
Stellen Sie bei der Aufteilung von Befehlen wie WR, WL, WC, oder WD, die
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.
(max. 131 Zeichen)
0
0
W
X 101 X 100
Teilnehmer-Nr.
↵
Daten
D
Befehls–
code
Ein Datenwort
FCS–
Prüfzeichen
Begrenzer
Daten desselben Wortes dürfen nicht geteilt werden.
Rahmen 2 (max. 128 Zeichen)
Daten
↵
*
Ein Datenwort
FCS–
Prüfzeichen
Ende–
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 Zeichen 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
Teilnehmer-Nr.
R
R
0
0
Befehlscode
0
Text
1
4
2
*
CR
Ende–
FCS–
Prüfzeichen zeichen
Bereich für die FCS–Berechnung
ASCII–Code
@
1
0
R
0
0
→
→
→
→
→
→
40
31
30
52
30
30
Erstes Zielwort
→
→
→
→
→
→
0100
Rechtsliegend
0000
XOR
0011
0001
XOR
0011
0000
XOR
0101
0010
XOR
0011
0000
XOR
0011
0000
XOR
bis
0
1
Berechnungsergebnisse
→
→
30
31
→
→
0011
0000
XOR
0011
0100
↓
↓
4
2
0001
0010
Hexadezimal–Konvertierung.
Werden wie ASCII–Zeichen behandelt.
221
CPM2A–/CPM2C–Kommunikationsfunktionen
Abschnitt
4-3
In diesem Beispiel wird ein einfaches BASIC–Unterprogramm für die
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
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Beispielprogramm für
FCS
222
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
Befehle
CPM2A/CPM2C–Betriebsart
Befehls–c
ee s c
d
ode
RUN
MONITOR
Name
a e
Seite
Se
e
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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
Antwort–Codes
Endecode
Inhalt
Vermutlicher Grund
Abhilfe
00
Normale Beendigung
---
---
01
Nicht in der RUN–Betriebsart ausführbar
Der gesendete Befehl kann nicht ausgeführt werden, wenn die SPS in der
RUN–Betriebsart ist.
Überprüfen Sie die Abhängigkeit von
Befehl und SPS–Betriebsart.
02
Nicht in der MONITOR–Betriebsart ausführbar
Der gesendete Befehl kann nicht ausgeführt werden, wenn die SPS in der
MONITOR–Betriebsart ist.
04
Adresse überschritten
Die höchste Adresse des Anwenderprogrammbereichs wurde überschritten.
Überprüfen Sie das Programm.
0B
Nicht in der PROGRAM–
Betriebsart ausführbar
Der gesendete Befehl kann nicht ausgeführt werden, wenn sich die SPS in
der PROGRAM–Betriebsart befindet.
Dieser Code wird gegenwärtig nicht verwendet.
13
FCS–Fehler
Die FCS ist fehlerhaft. Entweder ist die
FCS–Berechnung fehlerhaft oder Störungen üben eine ungünstigen Einfluß
aus.
Überprüfen Sie das FCS–Berechnungsverfahren. Übertragen Sie bei Störungen den Befehl erneut.
14
Formatfehler
Das Befehlsformat ist falsch.
Überprüfen Sie das Format und übertragen Sie den Befehl erneut.
15
Ziffern–Eingabefehler
Die Lese–/Schreibbereichsspezifikation
ist fehlerhaft.
Korrigieren Sie den Bereich und übertragen Sie den Befehl erneut.
16
Befehl wird nicht unterstützt
Der spezifizierte Befehl ist auf der spezifizierten Adresse nicht vorhanden.
(Lesen des Sollwertes, usw.)
Überprüfen Sie die Adresse und den
Befehl.
18
Rahmenlängen–Fehler
Die maximale Rahmenlänge wurde
überschritten.
Unterteilen Sie den Befehl in mehrere
Rahmen.
19
Nicht ausführbar
Lesen von Angaben, die nicht im zusammengesetzten Befehl (QQ) spezifiziert sind.
QQ ausführen, um Angaben zu speichern, bevor diese gelesen werden.
23
Anwenderspeicher mit Schreibschutz
versehen
Der Speicher ist in der SPS–Konfiguration schreibgeschützt.
Ändern Sie die Einstellung in der SPS–
Konfiguration (DM 6602).
A3
Abbruch wegen eines FCS–Fehlers in
den Sendedaten
A4
Abbruch wegen eines Formatfehlers in
den Sendedaten
Der Fehler wurde generiert, während
ein sich über mehrere Rahmen verteil d B
f hl ausgeführt
füh t wurde.
d
lender
Befehl
Überprüfen Sie die Daten auf fehlerhafte Rahmen,, korrigieren
Sie diese
g
f und
d nehmen
h
Si
i erneute
t Üb
ggf.
Sie eine
Übertragung vor.
A5
Abbruch wegen eines Eingabefehlers
von Zifferndaten in den Sendedaten
A8
Abbruch wegen eines Rahmenlängenfehlers in den Sendedaten
A5
---
Hinweis: Die Daten wurden bis zu diesem Punkt
P kt schon
h in
i den
d entsprechent
h
den Bereich der CPU–Baugruppe geschrieben.
Störungen beeinflussten den Empfang.
Übertragen Sie den Befehl erneut.
Applikationsverfahren
Einstellung der Kommunikations–
schalter der CPU–Baugruppe
Anschliessen der Kabel
Vom Host–Computer ausgesendete
Befehle.
Kommunikations–DIP–
Schaltereinstellungen
224
Stellen Sie den Kommunikationsschalter der CPM2A
CPU–Baugruppe oder den DIP–Schalter der CPM2C
CPU–Baugruppe ein.
Stellen Sie 1:1– oder 1:n–Anschlüsse her.
Kontaktplan
(von der CPM2A/CPM2C initiierte
Kommunikation)
Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
Vorderseite der CPU–Baugruppe und die der CPM2C ebenfalls über den auf
der Vorderseite der CPU–Baugruppe befindlichen DIP–Schalter gesteuert.
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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–Einstellungsparametern bestimmt (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität und eine Baudrate von 9.600 Bits/Sek.).
Hinweis Wird eine Programmierkonsole mit der Peripherieschnittstelle verbunden, erfolgt 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 eingestellt, unabhängig von der Einstellung von Schalter 1 oder den Einstellungen in
der SPS–Konfiguration.
DIP–Schalter
225
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 Einstellungen in der SPS–Konfiguration oder die Standard–Einstellungen beeinflusst wird (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität und eine Baudrate
von 9.600 Bits/Sek.).
Schalterein–
stellungen
Schalter
1
Peripherieschnittstellen–
Kommunikation
RS–232C–Schnittstellen–
Kommunikation
Schalter
2
OFF
OFF
Programmierkonsolen–
Protokoll
OFF
ON
Von der SPS–Konfiguration bestimmt
(DM 6650 bis DM 6654)
ON
OFF
Programmierkonsolen–
Protokoll
ON
ON
Von Standard–Einstellungen bestimmt
Von der SPS–Konfiguration bestimmt
bi DM 6649)
(DM 6645 bis
Von Standard–Einstellungen bestimmt
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 Anschlusskabel CPM2C–CN111 und CS1W–CN118 an Stelle des RS–232C–
Adapters verwendet werden.
IBM PC/AT oder kompatibel
Signal
Stift–Nr.
RS–232C–Schnittstelle
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 Spannungsversorgung von 5 VDC wird an den RS–232C/RS–422–Adapter ange-
226
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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
Signal
Stift–Nr.
RS–232C–Schnittstelle
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
Wort
DM 6645
Die erforderlich SPS–Konfigurationseinstellungen hängen davon ab, ob eine
Peripherie– oder eine RS–232C–Schnittstelle verwendet wird.
RS–232C–Schnittstelleneinstellungen
Bit
00 bis 03
Funktion
Einstellung
Kommunikationsformat
0: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
Entsprechend
den Host– Parametern
1: Einstellungen in DM 6646
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07
CTS–Handshake–Einstellungen
0: Deaktiviert;
1: Einstellung aktiviert
0 oder 1
08 bis 11
Link–Worte für 1:1–PC–Link
0: LR 00 bis LR 15; andere: nicht wirksam
Beliebige
Einstellung
12 bis 15
Kommunikationsmodus
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
0
(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:
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.
DM 6647
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–einstellung (03) wird verwendet und AR 1302 wird auf EIN gesetzt).
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
Entsprechend
den Host–
Parametern
0000 bis 9999
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung (0000) wird verwendet und AR 1302 wird auf EIN gesetzt).
227
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Wort
DM 6648
Bit
00 bis 07
Funktion
00 bis 31 (BCD): Teilnehmernummer (Host–Link)
4-3
Einstellung
00 bis 31
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung (00) wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11
Startcode (RS–232C)
0: deaktiviert;
1: Startcode in DM 6649 verwenden.
Beliebige
Einstellung
12 bis 15
Endecode (RS–232C)
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Endecode in DM 6649 verwenden.
2: CR, LF
Beliebige
Einstellung
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Deaktiviert–Einstellung wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6649
00 bis 07
Startcode (00 bis FF)
(Ohne Protokoll, wirksam, wenn, Bit 8 bis 11 von DM 6648 auf 1 gesetzt wird.)
Beliebige
Einstellung
00 bis 15
Anzahl der empfangenen Datenbytes
(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
Beliebige
Einstellung
Endecode (00 bis FF)
(Ohne Protokoll, wirksam, wenn, Bit 12 bis 15 von DM 6648 auf 1 gesetzt wird.)
Peripherieschnittstelleneinstellungen
Wort
DM 6650
Bit
Funktion
Einstellung
00 bis 03
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
Entsprechend
den Host– Parametern
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
00: Host–Link oder Toolbus;
01: Ohne Protokoll
0
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstellung (00) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651
00 bis 07
Baudrate
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
Entsprechend
den Host– Parametern
Rahmenformat
00:
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
Start
1
1
1
1
1
1
1
1
1
1
1
1
Länge
7
7
7
7
7
7
8
8
8
8
8
8
Stop
1
1
1
2
2
2
1
1
1
2
2
2
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
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 (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
0000 bis 9999
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Wort
DM 6653
Bit
00 bis 07
Funktion
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
4-3
Einstellung
00 bis 31
(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)
0: deaktiviert
1: Startcode in DM 6654 verwenden.
Beliebige Einstellung
12 bis 15
Endecode (Peripherieschnittstelle)
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Endecode in DM 6654 verwenden.
2: CR, LF
Beliebige Einstellung
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Deaktiviert–Einstellung wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654
00 bis 07
Startcode
(Peripherieschnittstelle, wirksam, wenn Bit 08 bis 11 von DM 6653 auf 1 gesetzt wird.)
Beliebige Einstellung
00 bis FF (hexadezimal)
08 bis 15
Anzahl der empfangenen Datenbytes
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 0 gesetzt wird.)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Beliebige Einstellung
Endecode (00 bis FF)
(Peripherieschnittstelle, wirksam, wenn, Bit 12 bis 15 von DM 6653 auf 1 gesetzt wird.)
Ausgabe von Befehlen
über einen
Host–Computer
Dieses Beispiel zeigt ein BASIC–Programm, das den Zustand der CPM2A/
CPM2C–Eingänge in IR 000 liest. Sehen Sie für weitere Einzelheiten Abschnitt
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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
1370 CLOSE
1380 END
4-3
#1
Kontaktplan (AWL)
Die unangeforderte Host–Link–Kommunikation wird mit TXD(48) ausgeführt.
AWL
Steuerung
(@)TXD(48)
Inhalt
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
AR 08
Bit (s)
Inhalt
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–Datenbytes, 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
Teilnehmer-Nr.
230
Daten (ASCII)
CR
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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–Computer 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 seriellen 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
RS–232C–Geräte
CPM1–CIF01 RS–232C–Adapter
(Die CTS–Handshake–Steuerung
kann nicht verwendet werden.)
CPM2A–CPU–Baugruppe
Barcode–Leser
Seriellerer Drucker
Andere
Peripherieschnittstelle
RS–232C–Geräte
CQM1–CIF02 RS–232C–Adapter
(Die CTS–Handshake–Steuerung
kann nicht verwendet werden.)
CPM2A–CPU–Baugruppe
Barcode–Leser
Seriellerer Drucker
Andere
Peripherieschnittstelle
231
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 Anschluss externer Geräte eingesetzt werden. Sehen Sie das CPM2C Programmierhandbuch 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 maximale Datenanzahl einschließlich des Start–/Endecodes beträgt hierbei 256 Bytes.
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
CR
LF
Startcode 00–FF/Endecode CR, LF:
ST
Daten (max. 256 Zeichen)
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–Konfiguration 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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 getestet 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 aktiviert–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
Peripherieschnittstelle
RS–232C–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 folgenden 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–
schalters
Anschliessen der Kabel
Stellen Sie den Kommunikationsschalter der CPM2A
CPU–Baugruppe oder den DIP–Schalter der CPM2C
CPU–Baugruppe ein.
Stellen Sie den RS–232C–Anschluss mit dem seriellen Gerät her.
Kontaktplan–Programm
Kommunikations–DIP–
Schaltereinstellungen
Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 Peripherieschnittstelle 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–
einstellungen
Peripherieschnittstellen–
Kommunikation
Schalter 1
Schalter 2
OFF
OFF
Programmierkonsolen–
Protokoll
OFF
ON
Von der SPS–Konfiguration bestimmt
(DM 6650 bis DM 6654)
ON
OFF
Programmierkonsolen–
Protokoll
ON
ON
Von Standard–Einstellungen bestimmt
RS–232C–Schnittstellen–Kom
munikation
Von der SPS–Konfiguration bestimmt
bi DM 6649)
(DM 6645 bis
Von Standard–Einstellungen bestimmt
Hinweis Ein RS–232C–Adapter wird für die Ohne Protokoll–Kommunikation über die
Peripherieschnittstelle benötigt.
234
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Anschliessen der Kabel
4-3
Dieser Abschnitt beschreibt RS–232C–Anschlüsse.
Die RS–232C–Schnittstelle des seriellen Gerätes und die RS–232C–Schnittstelle der CPM2A/CPM2C oder des CPM1–CIF01 RS–232C–Adapters wird,
wie in der folgenden Abbildung gezeigt, angeschlossen. Bei der CPM2C können 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
Die erforderlich SPS–Konfigurationseinstellungen hängen davon ab, ob eine
Peripherie– oder eine RS–232C–Schnittstelle verwendet wird.
RS–232C–Schnittstelleneinstellungen
SPS–Konfiguration
Wort
DM 6645
Bit
00 bis 03
Funktion
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
Einstellung
Applikations–
abhängig
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
0: LR 00 bis LR 15; andere: nicht wirksam
Beliebige Einstellung
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: 1:1–NT–Link
1
(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
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
00:
1
01:
1
02:
1
03:
1
04:
1
05:
1
06:
1
07:
1
08:
1
09:
1
10:
1
11:
1
Länge
7
7
7
7
7
7
8
8
8
8
8
8
Stop
1
1
1
2
2
2
1
1
1
2
2
2
Applikationsabhängig
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (03)
wird verwendet und AR 1302 wird auf EIN gesetzt).
235
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
Wort
DM 6647
Bit
00 bis 15
Funktion
Übertragungsverzögerung (Host–Link)
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von 0001 gleich
10 ms
4-3
Einstellung
0000 bis 9999
(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)
(Andere Einstellungen verursachen einen gerinfügigen Fehler, die Vorgabeeinstellung (00)
wird verwendet und AR 1302 wird eingeschaltet.)
Applikationsabhängig
08 bis 11
Startcode (RS–232C)
0: deaktiviert;
1: Startcode in DM 6649 verwenden.
0 oder 1
12 bis 15
Endecode (RS–232C)
00: deaktiviert (Anzahl der empfangenen Bytes)
01: Endecode in DM 6649 verwenden.
02: CR, LF
0 bis 2
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6649
236
00 bis 07
Startcode (00 bis FF)
(Ohne Protokoll, wirksam, wenn, Bit 8 bis 11 von DM 6648 auf 1 gesetzt wird.)
00 bis FF
08 bis 15
Anzahl der empfangenen Datenbytes
(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
00 bis FF
Endecode (00 bis FF)
(Ohne Protokoll, wirksam, wenn, Bit 12 bis 15 von DM 6648 auf 1 gesetzt wird.)
00 bis FF
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
Peripherieschnittstelleneinstellungen
Wort
DM 6650
Bit
00 bis 03
Funktion
Einstellung
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
Applikationsabhä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 11
Nicht verwendet
0
12 bis 15
Kommunikationsmodus
0: Host–Link oder Toolbus;
1: Ohne Protokoll
1
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstellung
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651
DM 6652
00 bis 07
Baudrate
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
Keine
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (03)
wird verwendet und AR 1302 wird auf EIN gesetzt).
00 bis 15
Übertragungsverzögerung (Host–Link)
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms.
Applikationsabhängig
0000 bis 9999
(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)
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
Applikationsabhängig
08 bis 11
Startcode (Peripherieschnittstelle)
0: deaktiviert
1: Startcode in DM 6654 verwenden.
0 oder 1
12 bis 15
Endecode (Peripherieschnittstelle)
00: deaktiviert (Anzahl der empfangenen Bytes)
01: Endecode in DM 6654 verwenden.
02: CR. LF
0 bis 2
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654
Programm
00 bis 07
Startcode (00 bis FF)
(Peripherieschnittstelle, wirksam, wenn, Bit 8 bis 11 von DM 6653 auf 1 gesetzt wird.)
00 bis FF
08 bis 15
Anzahl der empfangenen Datenbytes
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 0 gesetzt wird.)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
00 bis FF
Endecode (00 bis FF)
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 1 gesetzt wird.)
00 bis FF
Die folgenden Befehle werden in der Ohne Protokoll–Kommunikation verwendet.
AWL
Steuerung
Inhalt
(@)TXD(48)
Datenausgabe über
die Schnittstellen
Liest Daten vom spezifizierten Speicher und sendet
diese im spezifizierten Rahmenformat (Start– und
Endecode können aktiviert/deaktiviert werden).
(@)RXD(47)
Datenempfang über
die Schnittstelle
Empfängt Daten im spezifizierten Rahmenformat
(Start– und Endecode können aktiviert/ deaktiviert
werden) und speichert nur die Daten im spezifizierten
Speicher.
237
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
Die Ohne Protokoll–Kommunikationverwendet die folgenden AR–Bereichsmerker.
Wort
AR 08
Bit (s)
Inhalt
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 aufgetreten.
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 Datenbytes, beginnend bei S.
238
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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: Anzahl der zu empfangenden Bytes (BCD: 0001 bis 0256)
N
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–Schnittstellenkommunikation ü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), beginnend mit den äußerst linken Bytes, übertragen. Wird AR 0806 (Empfang beendet–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 Bytes) gespeichert.
00100
DIFU (13)
Ohne Protokoll–Kommunikation starten
00101
00101
AR 0805
TXD(48)
DM 0100
#0000
#0010
Erstes Wort mit den gesendeten Daten.
RS–232C–Schnittstelle verwenden; Daten von den äußerst linken Bytes zu den
äußerst rechten Bytes senden.
10 Bytes senden.
AR 0806
@RXD(47)
DM 0200
#0000
#0256
Erstes Wort zur Speicherung der Empfangsdaten.
RS–232C–Schnittstelle verwenden; empfangene
Daten (beginnend bei den äußerst linken Bytes
zu den äußerst rechten Bytes) speichern.
256 Bytes empfangen.
239
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 werden.
CPM2A–Anschluss
CPM2A–CPU–Baugruppe
RS–232C–Kabel
Programmierbares NT–Terminal
RS–232C–Schnittstelle
CPM2C–1:1–NT–Link–Anschluss
Anschlusskabel
CBL–405C–2M (2 m)
CBL–405C–5M (5 m)
RS–232C–Anschluss
Programmierbares
NT–Terminal
RS–232C–Schnittstelle
(Sub–D, 9–polig)
RS–232C–
CPM2C–CPU–
Baugruppe
Schnittstelle
CPM2C–CN111 (0,15 m)
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)
CBL–405C–2M (2 m)
CPM2C-CIF11
Hinweis Bei einer 1:1–NT–Link–Kommunikation kann das NT–Terminal nicht an einen
Peripherieschnittstellen–Anschluss angeschlossen werden.
240
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
Applikationsverfahren
Kommunikationseinstellungen
Anschliessen der Kabel
Kommunikations–DIP–
Schaltereinstellungen
Verwenden Sie die Einstellungen in der SPS–Konfiguration
(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.)
Anschluss eines NT–Terminals.
Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
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öglich, wenn der Kommunikationsschalter eingeschaltet ist.
Kommunikationsschalter
ON
OFF
RS–232C–Schnittstelle
241
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 werden (DM 6645 bis DM 6649).
DIP–Schalter
Schalter–
einstellungen
Wort
Schalter 1
Schalter 2
OFF
OFF
Programmierkonsolen–
Protokoll
OFF
ON
Von der SPS–Konfiguration bestimmt
(DM 6650 bis DM 6654)
ON
OFF
Programmierkonsolen–
Protokoll
ON
ON
Von Standard–Einstellungen bestimmt
Bit
00 bis 03
RS–232C–Schnittstellen–Kom
munikation
Von der SPS–Konfiguration bestimmt
bi DM 6649)
(DM 6645 bis
Von Standard–Einstellungen bestimmt
Beim Einsatz einer NT–Link–Kommunikation mit einer CPM2A/CPM2C–SPS
müssen die folgenden SPS–Einstellungen (DM 6645) über ein Programmiergerät vorgenommen werden.
SPS–Konfiguration
DM 6645
Peripherieschnittstellen–
Kommunikation
Funktion
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
Einstellung
00 oder 01
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: Deaktiviert
1: Einstellung aktiviert
0 oder 1
08 bis 11
Für den 1:1–NT–Link–Kommunikationsmodus unerheblich
0
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: 1:1–NT–Link
4
(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
242
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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
4-3
RS–232C–Schnittstelle erfolgt. Bei der CPM2C werden die Anschlusskabel
CPM2C–CN111 und CS1W–CN118 verwendet.
OMRON–NT
Signal
Stift–Nr.
RS–232C–Schnittstelle
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 anderen 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
RS–232C–Schnittstelle
OMRON–SPS (CQM1, CPM1, CPM1A, CPM2C,
SRM1(–V2), C200HS oder C200HX/HG/HE)
CPM2A–CPU–Baugruppe
RS–232C–Schnittstelle
OMRON–SPS (CQM1, CPM1, CPM1A, CPM2C,
SRM1(–V2), C200HS oder C200HX/HG/HE)
243
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
1:1–Link–Master
CPM2C–CPU–
Baugruppe
RS–232C–Schnittstelle
(Sub–D, 9–polig)
1:1–Link–Slave
CPM2C–CPU–
Baugruppe
RS–232C–Schnittstelle
(Sub–D, 9–polig)
CPM2C–CN111
(0,1 m)
4-3
CPM2C–CN111 (0,1 m)
Anschlusskabel
CBL–405C–2M (2 m)
CBL–405C–5M (5 m)
CS1W–CN118
(0,1 m)
CS1W–CN118 (0,1 m)
CPM2C-CIF01
CPM2C-CIF01
CPM2C-CIF11
CPM2C-CIF11
OMRON–SPS (CQM1, CPM1, CPM1A, CPM2A,
SRM1(–V2), C200HS oder C200HX/HG/HE)
Master
Link–Merker
OMRON–SPS (CQM1, CPM1, CPM1A, CPM2A,
SRM1(–V2), C200HS oder C200HX/HG/HE)
Slave
Link–Merker
LR 00
Schreiben
LR07
LR08
Lesen
LR 15
LR 00
Schreibbereich
Lesebereich
Lesebereich
Schreibbereich
Lesen
LR07
LR08
Schreiben
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
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
PC–Link mit anderen
SPS–Systemen
4-3
Der Link–Merkerbereich der CPM2A/CPM2C–SPS–Systeme umfasst 16
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 entsprechenden 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
Kommunikationseinstellungen
Anschliessen der Kabel
Kommunikations–DIP–
Schaltereinstellungen
Verwenden Sie die Einstellungen in der SPS–
Konfiguration (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.)
Schließen Sie eine SPS über den 1:1–PC–Link an
eine andere an.
Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
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öglich, wenn der Kommunikationsschalter eingeschaltet ist.
Kommunikationsschalter
ON
OFF
RS–232C–Schnittstelle
245
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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 werden (DM 6645 bis DM 6649).
DIP–Schalter
Schalter–
einstellungen
DM 6645
Schalter 1
Schalter 2
OFF
OFF
Programmierkonsolen–
Protokoll
OFF
ON
Von der SPS–Konfiguration bestimmt
(DM 6650 bis DM 6654)
ON
OFF
Programmierkonsolen–
Protokoll
ON
ON
Von Standard–Einstellungen bestimmt
Bit
00 bis 03
RS–232C–Schnittstellen–Kom
munikation
Von der SPS–Konfiguration bestimmt
bi DM 6649)
(DM 6645 bis
Von Standard–Einstellungen bestimmt
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.
SPS–Konfiguration
Wort
Peripherieschnittstellen–
Kommunikation
Funktion
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
Ein–
stellung
(Master)
Ein–
stellung
(Slave)
Beliebige
Einstellung
Beliebige
Einstellung
(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: Deaktiviert
1: Einstellung aktiviert
0
0
08 bis 11
Link–Bereich für den 1:1–PC–Link
0: LR 00 bis LR 15
0
0
3
2
(Andere Einstellungen: deaktiviert)
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: 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 anderen SPS finden Sie im jeweiligen Handbuch dieser SPS.
Anschliessen der Kabel
246
Dieser Abschnitt beschreibt den RS–232C–Anschluss.
Das für den 1:1–PC–Link verwendete RS–232C–Kabel ist ein Kreuzverbindungskabel. Ohne CTS–Handshake–Steuerung der RS–232C–Schnittstelle
Abschnitt
CPM2A–/CPM2C–Kommunikationsfunktionen
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
Signal Stift–Nr.
RS–232C–Schnittstelle
Signal Stift–Nr.
Empfohlene Kabel
CBL–405C–2M:
2m
CBL–405C–5M:
5m
Gehäuse
247
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
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. Normalerweise gibt der Host-Computer einen Befehl an eine SPS aus, die wiederum automatisch 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 erforderlich 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–Befehle. Einzelheiten über die zur Verfügung stehenden Host–Link–Befehle finden
Sie im Kapitel 4-5.
SPS–Konfigurations–
einstellung
Wort
Die Einstellungen der SRM1(–V2)–Peripherieschnittstelle müssen richtig vorgenommen werden, um die in der folgenden Tabelle dargestellte Host–Link–
Kommunikation zu verwenden.
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
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
Anpassung
an Host–
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–Link;
1: Ohne Protokoll
0: HostLink
(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
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2
08 bis 15
Rahmenformat
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Anpassung
an Host–
Parameter
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Anpassung
an Host–
Parameter
(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)
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).
248
Anpassung
an Host–
Parameter
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Wort
DM 6653
Bit
00 bis 07
Funktion
Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
4-4
Ein–
stellung
00 bis 31
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654
08 bis 11
Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf 1
gesetzt werden.)
0: Deaktiviert
1: Einstellung aktiviert
Beliebige
Einstellung
12 bis 15
Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf 1
gesetzt werden.)
0: Deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
Beliebige
Einstellung
00 bis 07
Startcode (wirksam, wenn Bits 08 bis 11 von DM 6650 auf 1 gesetzt werden).
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Beliebige
Einstellung
08 bis 15
Endecode (Ohne Protokoll)
Beliebige
Einstellung
Bits 12 bis 15 des Datenwortes DM 6653 auf 0 gesetzt:
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 zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus:
Kommunikationsformat:
Host-Link
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
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
Host–
Parameter
04 bis 07
CTS–Handshake–Einstellungen
0: Deaktiviert;
1: Einstellung aktiviert
0
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–Teilnehmernummer.
1 bis 7
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: 1:1 –NT–Link; 5: 1:n–NT–Link
0
(Alle anderen Einstellungen spezifizieren den Host–Link–Modus, verursachen einen geringfügigen Fehler und aktivieren AR 1302.)
249
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Wort
DM 6646
Bit
Funktion
00 bis 07
Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2
08 bis 15
Rahmenformat
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
4-4
Ein–
stellung
Host–
Parameter
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Host–
Parameter
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
Host–
Parameter
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)
00 bis 31
08 bis 11
Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 1
gesetzt werden).
0: deaktiviert;
1: Einstellung aktiviert
Beliebige
Einstellung
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
Beliebige
Einstellung
00 bis 07
Startcode (aktive Schnittstelle)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Beliebige
Einstellung
08 bis 15
Endecode aktiviert (aktive Schnittstelle)
Beliebige
Einstellung
DM 6649
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 zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus:
Kommunikationsformat:
Host-Link
Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer:
00
Beispielprogramm
1000
1010
1020
1050
1060
1070
1080
1090
1100
1110
250
Dieses Beispiel zeigt ein BASIC–Programm, das den Zustand der
SRM1(-V2)–Eingänge in IR 000 liest. Sehen Sie für weitere Einzelheiten Abschnitt 4-5 Host–Schnittstellenbefehle.
Eine FCS–Prüfung (Rahmen–Überprüfungsfolge) der empfangenen Antwortdaten 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.
’
––––––––––––––
’SRM1 Beispielprogramm in BASIC
’
’
–––––––––––––
’ Eingest. RS-232C–Werte Baudrate: 9,6Kb/Sek,PARITÄT:GERADE,DATEN:7,STOP:2
OPEN ”COM:E73” AS #1
*REPEAT
’ Einlesen der Übertragungsdaten
–––––––––––––
INPUT ”send data:”,SEND$
’ FCS–Berechnung
–––––––––––––
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
1120
1130
1140
1150
1160
1170
1180
1190
1200
1210
1220
1230
1240
1250
1260
1270
1280
1290
1300
1310
1320
1330
1340
1350
1360
1370
1380
4-4
FCS=0
FOR IFCS=1 TO LEN(SEND$)
FCS=FCS XOR ASC(MID$(SEND$;IFCS,1)
NEXT
FCS$=RIGHT$(”0”+HEX$(FCS),2)
’ Ausführung der Kommunikation
––––––––––––
ZZZ$=SEND$+FCS$+”*”+CHR$(13)
PRINT #1,ZZZ$;
’ Antworttest
––––––
RECCNT=0:TMP$=””
*DRECLOOP
IF LOC(1)<>0 THEN *DREC1
RECCNT=RECCNT+1
IF RECCNT=5000 THEN *DRECERR ELSE *DRECLOOP
*DREC1
TMP$=TMP$+INPUT$(LOC(1),#1)
IF RIGHT$(TMP$,1)=CHR$(13) THEN *DRECEND ELSE RECCNT=0:GOTO *DRECLOOP
*DRECERR
TMP$=”No response!!”+CHR$(13)
*DRECEND
RECV$=TMP$
PRINT ”Empfangene Daten:”;RECV$
’ gehe zum Einlesen der Übertragungsdaten
––––––––––––
GOTO *REPEAT
’ Bearbeitung abgeschlossen
––––––––––––
CLOSE #1
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 einem 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
(4–stellige BCD– Zahl), 0000 bis 0256
N
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 Abschluss der Datenübertragung wird er wieder auf EIN gesetzt.
251
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
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 Endecodes, 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 Status 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
N
C: Steuerdaten
Bits 00 bis 03
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 gespeichert. Ü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–
Schnittstelle
Peripherieschnittstelle
Fehler
AR 0800 bis
AR 0803
AR 0808 bis
AR 0811
RS–232C–Schnittstellen–Fehlercode (1–stelliger BCD–
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 Empfangs 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 Zustand wiederherzustellen), setzen Sie SR 25209 auf EIN. Setzen Sie, um die
Peripherieschnittstelle zurückzusetzen, SR 25208 auf EIN. Nach der Rücksetzung werden diese Bits automatisch wieder auf AUS gesetzt.
Der Start– und Endecode ist nicht in AR 09 oder AR 10 (Anzahl der empfangenen Bytes) enthalten.
Die Daten besitzen folgendes Format: “31323132313231323132CR LF”
Einstellungen der
Peripherieschnittstelle
252
Wird die Peripherieschnittstelle als aktive Schnittstelle (ohne Protokoll) verwendet, müssen die folgenden Einstellungen über ein Peripheriegerät in
DM 6650 bis DM 6653 der SRM1(–V2) vorgenommen werden.
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Wort
Bit
Funktion
4-4
Ein–
stellung
Einstellungen der Peripheriegeräte–Schnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6650
00 bis 03
Kommunikationsformat
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
Applikationsabhängig
(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–Link;
1: Ohne Protokoll
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
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2
08 bis 15
Rahmenformat
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Applikationsabhängig
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Applikationsabhängig
(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)
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms.
Host–Parameter
(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 (BCD)
00 bis 31
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(000) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654
08 bis 11
Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf
1 gesetzt werden.)
0: deaktiviert
1: Einstellung aktiviert
Applikationsabhängig
12 bis 15
Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf
1 gesetzt werden.)
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
Applikationsabhängig
00 bis 07
Startcode 00 bis FF
Applikationsabhä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 zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus:
Kommunikationsformat:
Host-Link
Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
253
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Teilnehmernummer:
RS–232C–Schnittstellen–
einstellungen
Wort
4-4
00
Wird die RS–232C–Schnittstelle als aktive Schnittstelle (ohne Protokoll) verwendet, müssen die folgenden Einstellungen über ein Peripheriegerät in
DM 6645 bis DM 6649 der SRM1(–V2) vorgenommen werden.
Bit
Funktion
Ein–
stellung
RS–232C Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645
Applikationsabhängig
00 bis 03
Kommunikationsformat
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: 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: Deaktiviert
0
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: 1:1–NT–Link
5: 1:n–NT–Link
1
(Alle anderen Einstellungen spezifizieren den Host–Link–Modus, verursachen einen geringfügigen Fehler und aktivieren AR 1302.)
DM 6646
00 bis 07
Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2
08 bis 15
Rahmenformat
Start
00:
1 Bit
01:
1 Bit
02:
1 Bit
03:
1 Bit
04:
1 Bit
05:
1 Bit
06:
1 Bit
07:
1 Bit
08:
1 Bit
09:
1 Bit
10:
1 Bit
11:
1 Bit
Länge
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
7 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
8 Bits
Stop
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
1 Bit
1 Bit
1 Bit
2 Bits
2 Bits
2 Bits
Applikationsabhängig
Parität
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Gerade
Ungerade
Kein
Applikationsabhängig
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
Applikationsabhängig
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)
Applikationsabhängig
08 bis 11
Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 1
gesetzt werden).
0: deaktiviert;
1: Einstellung aktiviert
Applikationsabhängig
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
00 bis 07
Startcode (aktive Schnittstelle)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
08 bis 15
Endecode aktiviert (aktive Schnittstelle)
DM 6649
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 zurück, damit dieser innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus:
254
Host-Link
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
4-4
Kommunikationsformat:
Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer:
00
Übertragungsdaten–
Konfiguration
Wird die Ohne Protokoll–Kommunikation verwendet, werden Daten mit dem
TXD(48)–Befehl gesendet und mit dem RXD(47)–Befehl empfangen. Die maximale Datenanzahl einschließlich des Start–/Endecodes beträgt hierbei 256 Bytes.
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
CR
LF
Startcode 00–FF/Endecode CR, LF:
ST
Daten (max. 256 Zeichen)
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 Übertragungsdaten enthalten ist und die Übertragung hierdurch teilweise abbricht.
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 werden. 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–Merker auf EIN gesetzt. Wird der RXD–Befehl ausgeführt, werden die empfangenen 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
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
4-4
Hinweis Der Zeitverlauf vom Start des Datenempfangs bis zur Beendigung ist nachfolgend 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)
00101
00101
Ohne Protokoll–Kommunikation starten
AR 0805
TXD
DM 0100
#0000
#0010
Erstes Wort der gesendeten Daten
Über die RS–232C–Schnittstelle werden
die Daten gelesen und von den höheren
bis zu den niedrigen Werten gespeichert
10 übertragene Zeichen
AR 0806
@RXD
DM 0200
#0000
#256
Erstes Wort zur Speicherung der
Empfangsdaten
Über die RS–232C–Schnittstelle werden
die Daten gelesen von den höheren bis
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–Terminal (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–
einstellung
256
In der folgenden Tabelle sind die auf den 1:1–NT–Link–Kommunikationmodus
bezogenen Einstellungen aufgeführt.
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Wort
DM 6645
Bit
Funktion
4-4
Ein–
stellung
00 bis 03
Kommunikationsformat 1
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
00 oder 01
04 bis 07
CTS–Handshake–Einstellungen
0: Deaktiviert
1: Einstellung aktiviert
0 oder 1
08 bis 11
Für den 1:1–NT–Link–Kommunikationsmodus unbedeutend
0
12 bis 15
Kommunikationsmodus1
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
4
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 verwendet.
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 Informationen über Kabelanschlüsse für eine 1:n–NT–Link–Kommunikation.
SPS–Konfigurations–
einstellung
In der folgenden Tabelle sind die auf den 1:n–NT–Link–Kommunikationmodus
bezogenen Einstellungen aufgeführt.
257
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
Wort
DM 6645
Bit
Funktion
4-4
Einstellung
00 bis 03
Kommunikationsformat 1
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
00 oder 01
04 bis 07
CTS–Handshake–Einstellungen
0: Deaktiviert
1: Einstellung aktiviert
0 oder 1
08 bis 11
Spezifiziert die höchste Bedien–Terminal–Teilnehmernummer.
1 bis 7
1 bis 7
12 bis 15
Kommunikationsmodus1
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
5
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 verwendet.
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 Standard–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 ausgetauscht werden.
1:1–SRM1(–V2)
PC–Link–Verbindungen
In der folgenden Abbildung ist eine 1:1–PC–Link–Verbindung zwischen zwei
SRM1(–V2)–Systemen dargestellt.
SRM1
SRM1
RS–232C–Schnittstelle
258
RS–232C–Schnittstelle
Abschnitt
SRM1(–V2)–Kommunikationsfunktionen
4-4
Die für den 1:1–PC–Link verwendeten Worte sind nachfolgend dargestellt.
Master
Slave
LR 00
Daten
schreiben
Daten
lesen
LR 00
Lesebereich
Schreibbereich
LR 07
LR 08
Schreibbereich
Lesebereich
LR 07
LR 08
LR 15
LR 15
Daten
lesen
Daten
schreiben
Beschränkungen der
1:1–PC–Link–
Kommunikation mit einer
SRM1(–V2)
Ein 1:1–PC–Link ist nur mit der SRM1–C02–V1/V2 SPS–möglich, die mit einer
RS–232C–Schnittstelle ausgestattet ist.
In der SRM1 können nur die16 LR–Worte von LR 00 bis LR 15 zur Kommunikation 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 realisieren. 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 Kabelanschlüsse für die 1:1–PC–Link–Kommunikation.
SPS–Konfigurations–
einstellung
Nehmen Sie die folgenden SPS–Konfigurationseinstellungen mit einem Programmiergerät vor, wenn eine SRM1(–V2) in einem 1:1–PC–Link verwendet
wird.
Wort
DM 6645
Bit
Funktion
Einstellung
(Master)
Einstellung
(Slave)
00 bis 03
Kommunikationsformat1
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
00 oder
01
00 oder
01
04 bis 07
CTS–Handshake–Einstellungen
0: Deaktiviert
1: Einstellung aktiviert
0
0
08 bis 11
Stellt den Schnittstellenbereich auf 1:1–PC–Link ein
0: LR 00 bis LR 15
Ungleich 0: deaktiviert
0
0
12 bis 15
Kommunikationsmodus1
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
3
2
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 verwendet.
2. Weitere Informationen über die 1:1–PC–Link–Kommunikation mit einer anderen 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
Abschnitt
Host–Link–Befehle
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
25313 (Immer EIN)
Programmierung im Slave
25313 (Immer EIN)
MOV (21)
MOV (21)
000
000
LR00
LR08
MOV (21)
MOV (21)
LR08
LR00
200
200
LR 00
IR 000
Schreiben
IR 200
Lesen
LR 00
Lesebereich
Schreibbereich
LR 07
LR 08
Lesebereich
Schreibbereich
LR 07
LR 08
LR 15
LR 15
4-5
4-5
Lesen
IR 200
Schreiben
IR 000
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
0 R
X 10 X 10
Teilnehmer–Nr.
R
3 x 102 X 101 X 100
x 10
Befehls–
code
Anfangswort*
3 x 102 X 101 X 100
:
x 10
Anzahl der Worte
(0000 bis 0256)
↵
Ende–
FCS–
Prüfzeichen zeichen
Hinweis *Anfangswort: 0000 bis 0049 und 0200 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 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ückgegeben.)
Antwortformat
@
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
0 R
X 10 X 10
Teilnehmer–Nr.
R
Befehls–
code
1 x 160
x 16
Endecode
3
x 16
2
x 16
1 x 160
:
x 16
Daten lesen (1 Wort)
FCS–
Prüfzeichen
↵
Ende–
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, erhalten Sie als Antwort 0000.
2. Das Antwortformat wird unterteilt, wenn mehr als 30 Datenworte gelesen
werden.
Parameter
260
Daten lesen (Antwort)
Die Inhalte der Worte, die über den Befehl spezifiziert wurden, werden bei der
Abschnitt
Host–Link–Befehle
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
0 R
X 10 X 10
Teilnehmer–Nr.
L
3 x 102 X 101 X 100
x 10
3 x 102 X 101 X 100
Anfangswort1
Befehls–
code
:
x 10
Wortanzahl2
↵
FCS–
Ende–
Prüfzeichen zeichen
Hinweis 1. Anfangswort: 0000 bis 0015
2. Wortanzahl: 0001 bis 0016
Antwortformat
@
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
0 R
X 10 X 10
Teilnehmer–Nr.
L
Befehls–
code
Parameter
1 x 160
x 16
Endecode
3
x 16
2
x 16
1 x 160
:
x 16
Daten lesen (1 Wort)
Daten lesen (sooft wie Wortanzahl)
↵
Ende–
FCS–
Prüfzeichen zeichen
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
0 R
X 10 X 10
Teilnehmer–Nr.
H
3 x 102 X 101 X 100
x 10
3 x 102 X 101 X 100
Anfangswort1
Befehls–
code
:
x 10
Wortanzahl2
FCS–
Prüfzeichen
↵
Ende–
zeichen
Hinweis 1. Anfangswort: 0000 bis 0019
2. Wortanzahl 0001 bis 0020
Antwortformat
@
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
Teilnehmer–Nr.
Parameter
0 R
X 10 X 10
H
Befehls–
code
1 x 160
x 16
Endecode
3
x 16
2
x 16
1 x 160
:
x 16
Daten lesen (1 Wort)
Daten lesen (sooft wie Wortanzahl)
FCS–
Prüfzeichen
↵
Ende–
zeichen
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
Abschnitt
Host–Link–Befehle
4-5
Befehlsformat
1
@
0 R
Teilnehmer–Nr.
3 x 102 X 101 X 100
C
X 10 X 10
3 x 102 X 101 X 100
x 10
Befehls–
code
1. Zeitgeber/Zähler1
Anzahl der
Zähler/Zeitgeber 2
↵
:
x 10
FCS–
Prüfzeichen
Ende–
zeichen
Hinweis 1. Zeitgeber/Zähler:
0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 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
0 R
X 10 X 10
Teilnehmer–Nr.
C
1 x 160
x 16
Befehls–
code
3
x 10
Endecode
2
x 10
1
0
:
X 10 X 10
↵
Ende–
Daten lesen (1 Wort)
FCS–
Daten lesen (sooft wie Wortanzahl) Prüfzeichen zeichen
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
Antwort als Hexadezimalwerte ausgegeben. Die empfangenen Istwerte werden
in gleicher Reihenfolge beginnend mit dem spezifiziertem Zeitgeber/Zähler ausgegeben.
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
0 R
X 10 X 10
Teilnehmer–Nr.
G
3 x 102 X 101 X 100
x 10
3 x 102 X 101 X 100
x 10
Befehls– 1. Zeitgeber/Zähler1
code
Anzahl der
Zähler/Zeitgeber 2
FCS–
Prüfzeichen
:
↵
Ende–
zeichen
Hinweis 1. Zeitgeber/Zähler:
0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 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
0 R
X 10 X 10
Teilnehmer–Nr.
G
Befehls–
code
1 x 160 EIN/
x 16
:
AUS
Endecode Daten lesen
(1 Zeitgeber/Zähler)
↵
Ende–
FCS–
Prüfzeichen zeichen
Daten lesen
(Anzahl von Zeitgebern/Zählern)
Die Antwort wird beim Lesen von mehr als 123 Zeitgeber/Zähler aufgeteilt.
Parameter
262
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.
Abschnitt
Host–Link–Befehle
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
0 R
X 10 X 10
Teilnehmer–Nr.
D
3 x 102 X 101 X 100
x 10
Befehls–
code
3 x 102 X 101 X 100
:
x 10
Anfangswort*
FCS–
Prüfzeichen
Wortanzahl
(0001 bis 6656)
↵
Ende–
zeichen
Hinweis 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 (Eine Antwort von “0000” wird für nichtvorhandene DM–Worte zurückgegeben.)
Antwortformat
@
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
0 R
X 10 X 10
Teilnehmer–Nr.
D
Befehls–
code
1 x 160
x 16
Endecode
3
x 16
2
x 16
1 x 160
:
x 16
↵
FCS–
Ende–
Prüfzeichen zeichen
Daten lesen (1 Wort)
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 Antwort 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 Antwort 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–Bereich 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
0 R
X 10 X 10
Teilnehmer–Nr.
J
Befehls–
code
3 x 102 X 101 X 100
x 10
Anfangswort1
3 x 102 X 101 X 100
x 10
Wortanzahl2
FCS–
Prüfzeichen
:
↵
Ende–
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
Abschnitt
Host–Link–Befehle
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
@
4-5
0 R
X 10 X 10
Teilnehmer–Nr.
1 x 160
J
x 16
Befehls–
code
Parameter
Endecode
3
x 16
2
x 16
1 x 160
↵
:
x 16
FCS–
Prüfzeichen
Daten lesen (1 Wort)
Daten lesen
(Anzahl der gelesenen Worte)
Ende–
zeichen
Daten lesen (Antwort)
Die Inhalte der Worte, die über den Befehl spezifiziert wurden, wird bei der Antwort 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 spezifiziertem Wort. Das Schreiben erfolgt Wort für Wort.
Befehlsformat
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
R
Befehls–
code
3 x 102 X 101 X 100
x 10
3 x 162
x 16
Anfangswort*
1
x 16
0
↵
:
x 16
Daten speichern (1 Wort)
FCS–
Prüfzeichen
Daten speichern
(Wortanzahl)
Ende–
zeichen
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 unterteilt werden.
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
R
Befehls–
code
1 x 160
x 16
Ende–
code
FCS–
Prüfzeichen
:
↵
Ende–
zeichen
Hinweis 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, in diese Worte zu schreiben, wird der
Schreibvorgang nicht ausgeführt und eine normale Fertig–Meldung wird zurü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 Schreibvorgang abgebrochen, da SR 253 hinter dem zur Verfügung stehenden beschreibbaren Speicherbereich liegt.
264
Abschnitt
Host–Link–Befehle
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
0 W
X 10 X 10
Teilnehmer–Nr.
L
3 x 102 X 101 X 100
3 x 162
x 10
Befehls–
code
x 16
Anfangswort*
1
x 16
0
↵
:
x 16
FCS–
Prüfzeichen
Daten speichern (1 Wort)
Ende–
zeichen
(entspr. der Anzahl Worte) )
Hinweis Anfangswort: 0000 bis 0015
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
Parameter
1 x 160
L
Befehls–
code
Endecode
↵
:
x 16
FCS–
Prüfzeichen
Ende–
zeichen
Daten schreiben (Befehl)
Spezifiziert die Reihenfolge der Worte, die als Hexadezimalwerte in den LR–Bereich geschrieben werden sollen, beginnend mit dem ersten spezifizierten Anfangswort.
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
0 W
X 10 X 10
Teilnehmer–Nr.
H
Befehls–
code
3 x 102 X 101 X 100
x 10
3 x 162
x 16
1
x 16
0
Daten speichern (1 Wort)
Anfangswort*
↵
:
x 16
FCS–
Prüfzeichen
Daten schreiben
(entspr. der Anzahl Worte)
Ende–
zeichen
Hinweis Anfangswort: 0000 bis 0019
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
Teilnehmer–Nr.
Parameter
0 W
X 10 X 10
H
Befehls–
code
1 x 160
x 16
Endecode
FCS–
Prüfzeichen
:
↵
Endezeichen
Daten schreiben (Befehl)
Spezifiziert die Reihenfolge der Worte, die in den HR–Bereich als Hexadezimalwerte geschrieben werden sollen, beginnend mit dem ersten spezifizierten Anfangswort.
265
Abschnitt
Host–Link–Befehle
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 abgebrochen, 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
0 W
C
X 10 X 10
Teilnehmer–Nr.
3 x 102 X 101 X 100
x 10
3 x 102 X 101 X 100
:
x 10
Befehls– 1. Zeitgeber/Zähler*
code
Daten schreiben
(1 Zeigeber/Zähler)
FCS–
Prüfzeichen
↵
Ende–
zeichen
Daten schreiben
(entsp. der Anzahl Istwerte)
Hinweis 1. Zeitgeber/Zähler:
0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis 0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Sollen mehr als 30 Datenworte geschrieben werden, muss der Befehl unterteilt werden.
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
Teilnehmer–Nr.
Parameter
0 W
C
X 10 X 10
Befehls–
code
1 x 160
Endecode
↵
:
x 16
FCS–
Prüfzeichen
Ende–
zeichen
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 eingesetzt, 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 Schreibvorgang wird abgebrochen, da für die Speicherung TC 128 jenseits des beschreibbaren Bereichs liegen würde.
4-5-12 TC–Status schreiben – WG
Schreibt den Status der Fertigmerker der Zeitgeber und Zähler in den TC–Bereich, beginnend mit dem spezifizierten Zeitgeber/Zähler (Nummer). Der
Schreibvorgang erfolgt mit aufeinanderfolgenden TC–Nummern.
Befehlsformat
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
G
Befehls–
code
3 x 102 X 101 X 100 EIN/
x 10
:
AUS
1. Zeitgeber/Zähler*
Daten schreiben
(1 Zeitgeber/Zähler)
FCS–
Prüfzeichen
Daten schreiben
(entspr. der Wortanzahl)
266
Ende–
zeichen
↵
Abschnitt
Host–Link–Befehle
4-5
Hinweis 1. Zeitgeber/Zähler:
0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 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
0 W
X 10 X 10
Teilnehmer–Nr.
Parameter
1 x 160
G
Befehls–
code
Endecode
↵
:
x 16
Ende–
FCS–
Prüfzeichen zeichen
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 abgebrochen, da für die Speicherung TC 128 jenseits des beschreibbaren Bereichs 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
0 W
X 10 X 10
Teilnehmer–Nr.
D
Befehls–
code
3 x 102 X 101 X 100
x 10
3 x 162
x 16
Anfangswort*
1
x 16
0
Daten speichern (1 Wort)
Daten speichern
(Wortanzahl)
↵
:
x 16
Ende–
FCS–
Prüfzeichen zeichen
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 unterteilt werden.
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
D
Befehls–
code
1 x 160
:
x 16
Endecode
FCS–
Prüfzeichen
↵
Ende–
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 werden. Wird versucht, in diese Worte zu schreiben, wird der Schreibvorgang für
diese Worte nicht ausgeführt und der Befehl wird mit einer normalen Fertigmeldung abgeschlossen.
Parameter
Daten schreiben (Befehl)
Spezifiziert die Anzahl der Worte, die im DM–Bereich als Hexadezimalwerte gespeichert werden sollen, beginnend mit dem spezifizierten Anfangswort.
267
Abschnitt
Host–Link–Befehle
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 jenseits 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
0 W
J
X 10 X 10
Teilnehmer–Nr.
3 x 102 X 101 X 100
x 10
Befehls–
code
3 x 162
x 16
Anfangswort*
1
x 16
0
↵
:
x 16
Daten speichern (1 Wort)
FCS–
Prüfzeichen
Daten speichern
(entspr. der Wortanzahl)
Ende–
zeichen
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
0 W
Teilnehmer–Nr.
Parameter
J
X 10 X 10
Befehls–
code
1 x 160
Endecode
↵
::
x 16
Ende–
FCS–
Prüfzeichen zeichen
Daten schreiben (Befehl)
Spezifiziert die Anzahl der zu schreibenden Worte, die im AR–Bereich als Hexadezimalwerte gespeichert werden sollen, beginnend mit dem spezifizierten Anfangswort.
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 Schreibvorgang wird abgebrochen, da für die Speicherung AR 16 jenseits des beschreibbaren 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–stelliger BCD–Wert gelesen. Der Lesevorgang beginnt am Programmanfang. Daher
kann es bis zu 10 Sekunden dauern, bis eine Antwortmeldung erfolgt.
Befehlsformat
@
1
0 R
X 10 X 10
Teilnehmer–Nr.
#
Befehls–
code
1
OP
2
OP
3
OP
Name
4
OP
3
x 10
2 X 101 X 100
:
x 10
TC–Nummer*
FCS–
Prüfzeichen
↵
Ende–
zeichen
Hinweis TC–Nummer: 0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis
0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
268
Abschnitt
Host–Link–Befehle
4-5
Antwortformat
1
@
0 R
#
X 10 X 10
Teilnehmer–Nr.
1 x 160
x 16
Befehls–
code
Parameter
3
x 10
2 X 101 X 100
Sollwert
Endecode
↵
:
x 10
Ende–
zeichen
FCS–
Prüfzeichen
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 Zeitgeber/Zähler–Nummer.
Name
OP1
OP2
Befehlsname
ee s a e
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 Konstante 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 Sollwertes. 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 spezifizierten Programmadresse im Anwenderprogramm gespeichert. Die Programmgröße darf zur Ausführung dieses Befehles 10 K nicht überschreiten.
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
R
$
3 x 102 X 101 X 100 OP1 OP2 OP3 OP4
x 10
Befehls–
code
Programm–
adresse
Name
3
x 10
2
1 X 100
:
x 10 X 10
TC–Nummer*
↵
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
@
1
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
0
X 10 X 10
Teilnehmer–Nr.
R
$
Befehls–
code
1 x 160 OP1 OP2 OP3 OP4
x 16
Endecode
Operand
3 x 102 X 101 X 100
x 10
Sollwert
:
↵
Ende–
FCS–
Prüfzeichen zeichen
269
Abschnitt
Host–Link–Befehle
Parameter
4-5
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
OP1
OP2
Befehlsname
ee s a e
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ückgegeben und enthält entweder die Wortadresse, auf der der Sollwert gespeichert ist oder die Konstante des Sollwertes wird an “SV” zurückgegeben.
Operand
Konstante oder
Wortadresse
Klassifizierung
OP1
OP2
OP3
OP4
C
I
O
(Leerz.)
IR oder SR
0000 bis 0049
0200 bis 0255
0000 bis 0019
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
CPM2A/CPM2C
CPM1
Hinweis Spezifizieren Sie den Befehlsnamen in ”Name”. Verwenden Sie für diese Einstellung 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 Suchvorgang beginnt am Programmanfang. Daher kann es unter Umständen bis zu 10
Sekunden dauern, bis eine Antwortmeldung erfolgt.
Befehlsformat
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
#
Befehls–
code
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 x 103 x 102 X 101 X 100
Name
TC–Nummer*
Sollwert SV
(0000 bis 9999)
:
↵
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
Teilnehmer–Nr.
Parameter
270
0 W
X 10 X 10
#
Befehls–
code
1 x 160
:
x 16
Endecode
FCS–
Prüfzeichen
↵
Ende–
zeichen
Name, TC–Nummer (Befehl)
Spezifizieren Sie den Namen des Befehls in ”Name”. Verwenden Sie für diese
Abschnitt
Host–Link–Befehle
4-5
Einstellung 4 Zeichen. Verwenden Sie als TC–Nummer die entsprechende Zeitgeber/Zähler–Nummer.
Befehlsname
OP1
OP2
Klassifizierung
ass
eu g
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
0 W
X 10 X 10
Teilnehmer–Nr.
$
Befehls–
code
3 x 102 X 101 X 100 OP1 OP2 OP3 OP4
x 10
Programm–
adresse
3 x 102 X 101 X 100
x 10
Name
TC–Nummer
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100
Operand
:
↵
FCS–
Ende–
Prüfzeichen zeichen
Sollwert
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
0 W
X 10 X 10
Teilnehmer–Nr.
Parameter
1 x 160
$
:
x 16
Befehls–
code
Endecode
FCS–
Prüfzeichen
↵
Ende–
zeichen
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 zugewiesene Zeitgeber/Zähler–Nummer verwendet werden.
Befehlsname
OP1
OP2
Klassifizierung
ass
eu g
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
Abschnitt
Host–Link–Befehle
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
Konstante oder
Wortadresse
Klassifizierung
OP1
OP2
OP3
OP4
C
I
O
(Leerz.)
L
R
(Leerz.)
H
R
(Leerz.)
A
R
D
CPM2A/CPM2C
CPM1/CPM1A/S
RM1(–V2)
IR oder SR
0000 bis 0049
0200 bis 0252
0000 bis 0019
0200 bis 0252
(Leerz.)
LR
0000 bis 0015
0000 bis 0015
(Leerz.)
HR
0000 bis 0019
0000 bis 0019
(Leerz.)
(Leerz.)
AR
0000 bis 0023
0000 bis 0015
M
(Leerz.)
(Leerz.)
DM
0000 bis 2047
6144 bis 6655
0000 bis 1023*
6144 bis 6655
D
M
:
(Leerz.)
DM (indirekt)
0000 bis 2047
6144 bis 6655
0000 bis 1023*
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
0 M
X 10 X 10
Teilnehmer–Nr.
Antwortformat
@
Befehls–
code
:
↵
FCS–
Ende–
Prüfzeichen zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
0 M
X 10 X 10
Teilnehmer–Nr.
272
S
S
Befehls–
code
1 x 160
x 16
Endecode
3
x 16
2
x 16
1
x 16
Statusdaten
0 16 Zeichen
:
x 16
Meldung
FCS–
Prüfzeichen
↵
Ende–
zeichen
Abschnitt
Host–Link–Befehle
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 niederwertige Byte die Größe des Programmspeichers angezeigt.
3
2
x 16
Bit
4-5
15
14
13
0
0
x 16
12
11
10
0
0
9
8
Bit
1: schwerwiegender
Fehler
1: FALS generiert
Betriebsart
9
8
0
0
PROGRAM
1
0
RUN
1
1
MONITOR
1
0
x 16
Bit
7
6
Dieser Bereich unterscheidet sich von
dem Bereich des Befehls “Status speichern –– SC”
x 16
5
4
3
1
Bit
2
1
0
0
0
0
Schreibgeschützter Programmbereich
0: Schreibschutz aktiviert
1: Nicht schreibgeschützt
Programm–
bereich
6
5
4
0
0
0
0
0
1
4 kB
0
1
0
8 kB
Kein
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
0
X 10 X 10
Teilnehmer–Nr.
Antwortformat
C
Befehls–
code
1 x 160
x 16
Betriebsart–
Daten
:
↵
FCS–
Ende–
Prüfzeichen zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
Teilnehmer–Nr.
Parameter
S
S
C
Befehls–
code
1 x 160
x 16
Endecode
:
↵
FCS–
Ende–
Prüfzeichen zeichen
Betriebsartdaten (Befehl)
Die Betriebsartdaten bestehen aus einem 2–stelligen Hexadezimalwert (1
273
Abschnitt
Host–Link–Befehle
4-5
Byte). Mit den rechten Stellen wird die Betriebsart festgelegt. Setzen Sie alle
verbleibenden Stellen auf “00”.
1
0
x 16
Bit
x 16
7
6
5
4
3
2
0
0
0
0
0
0
1
0
Bit
Betriebsart
1
0
0
0
1
0
1
1
PROGRAM
MONITOR
RUN
Dieser Bereich unterscheidet sich von dem
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 festgestellte Fehler bereits gelöscht wurden.
Befehlsformat
1
@
0 M
X 10 X 10
Teilnehmer–Nr.
Antwortformat
@
1
Parameter
274
0
:
X 10 X 10
Befehls–
code
Fehler
löschen
↵
FCS–
Ende–
Prüfzeichen zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
0 M
X 10 X 10
Teilnehmer–Nr.
1
F
F
Befehls–
code
1 x 160
x 16
Endecode
3 x 162
x 16
1 x 160
x 16
Fehlerinformation
(1. Wort)
3 x 162
x 16
1 x 160
x 16
Fehlerinformation
(2. Wort)
:
↵
FCS–
Ende–
Prüfzeichen zeichen
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.
Abschnitt
Host–Link–Befehle
4-5
CPM1/CPM1A/CPM2A–CPM2C–SPS–Systeme
1. Wort
3
2
x 16
Bit 15
14
1
x 16
13
12
11
0
0
0
10
0
x 16
9
8
7
6
0
x 16
5
0
4
3
2
1
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
3
2
x 16
Bit 15
0
14
1
x 16
13
12
0
0
x 16
11
10
9
8
0
0
0
0
7
6
x 16
5
4
3
2
1
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
3
2
x 16
Bit 15
14
1
x 16
13
12
11
10
9
0
0
0
0
0
0
x 16
8
7
x 16
6
5
4
3
2
1
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
3
2
x 16
Bit 15
0
14
13
0
0
1
x 16
12
0
x 16
11
10
9
8
0
0
0
0
7
6
5
x 16
4
3
2
1
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 solange erhalten, bis ein Aufhebebefehl (KC) für den Befehl “Zwangsweise setzen/rücksetzen” oder der nächste Befehl “Zwangsweise setzen/rücksetzen”
übertragen wird.
275
Abschnitt
Host–Link–Befehle
4-5
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
K
S
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 X 101 X 100
Befehls–
code
Antwortformat
Name
Wortadresse
:
FCS–
Prüfzeichen
Bit
↵
Ende–
zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
K
X 10 X 10
Teilnehmer–Nr.
Parameter
S
Befehls–
code
1 x 160
:
x 16
Endecode
FCS–
Prüfzeichen
↵
Ende–
zeichen
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
Wortadressen–Bereich für
Einstellung
Klassifizierung
OP1
OP2
OP3
OP4
C
I
O
(Leerz.)
IR oder SR
0000 bis 0049
0200 bis 0252
0000 bis 0019
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)
bis
0255
0000 b
s0
55
bis
0127
0000 b
s0
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)
CPM2A/CPM2C
Bit
CPM1/CPM1A/
SRM1(–V2)
00 bis 15
((dezimal))
Immer
e
00
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 zwangsweise rückgesetzt. Die Merker können nur einzeln zwangsweise gesetzt werden.
Wurde ein Bit zwangsweise gesetzt oder zurückgesetzt, bleibt der Status solange erhalten, bis ein Aufhebebefehl (KC) für den Befehl “Zwangsweise setzen/rücksetzen” oder der nächste Befehl “Zwangsweise setzen/rücksetzen”
übertragen wird.
Befehlsformat
@
1
Teilnehmer–Nr.
276
0
X 10 X 10
K
R
Befehls–
code
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 X 101 X 100
Name
Wortadresse
Bit
:
FCS–
Prüfzeichen
↵
Ende–
zeichen
Abschnitt
Host–Link–Befehle
Antwortformat
4-5
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
@
0
X 10 X 10
K
Teilnehmer–Nr.
Parameter
1 x 160
R
:
x 16
Befehls–
code
Endecode
CR
Ende–
FCS–
Prüfzeichen zeichen
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
Wortadressen–Bereich für
Einstellung
Klassifizierung
OP1
OP2
OP3
OP4
C
I
O
(Leerz.)
IR oder SR
0000 bis 0049
0200 bis 0252
0000 bis 0019
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 b
bis
s0
0255
55
0000 b
bis
s0
0127
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)
CPM2A/
CPM2C
Bit
CPM1/CPM1A/S
RM1(–V2)
00 bis 15
((dezimal))
Immer
e 00
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–Bereichen zwangsweise gesetzt oder rückgesetzt.
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
F
Befehls–
code
K
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100
Name
Wortadre
sse
Zwangsw. setzen/rücksetzen
0
0
x 16 x 16
Bit
Antwortformat
15
14
0
x 16
0
0
x 16 x 16
13
12
0
0
x 16
x 16
10
1
11
:
0
↵
x 16
0
FCS–
Ende–
Prüfzeichen zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
Teilnehmer–Nr.
F
Befehls–
code
K
1 x 160
x 16
Endecode
:
↵
FCS–
Ende–
Prüfzeichen zeichen
277
Abschnitt
Host–Link–Befehle
Parameter
4-5
Name, Wortadresse, Bit (Befehl)
Spezifizieren Sie unter “Name” den zwangsweise zu setzenden/rückzusetzenden 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
Wortadressen–Bereich für
Einstellung
Klassifizierung
OP1
OP2
OP3
OP4
C
I
O
(Leerz.)
IR oder SR
0000 bis 0049
0200 bis 0252
0000 bis 0019
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
s0
0255
55
0000 b
bis
s0
0127
C
N
T
(Leerz.)
Fertigmerker (Zähler)
C
N
T
R
Fertigmerker (Aufwärts–/Abwärtszähler)
CPM2A/CPM2C
CPM1/CPM1A/
SRM1(–V2)
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 verarbeitung jedes Bits, wie es in der folgenden Abbildung gezeigt wird.
Hexadezimal–
Einstellung
Funktion
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ückgesetzten Bits jedoch behalten ihren Status solange, bis der Status aufgehoben wird.
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
Teilnehmer–Nr.
F
K
Befehls–
code
1 x 160
:
x 16
Endecode
↵
FCS–
Ende–
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
Abschnitt
Host–Link–Befehle
4-5
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
Antwortformat
K
C
:
Befehls–
code
FCS–
Prüfzeichen
↵
Ende–
zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
@
0
X 10 X 10
Teilnehmer–Nr.
K
C
Befehls–
code
1 x 160
:
x 16
CR
FCS–
Ende–
Prüfzeichen zeichen
Endecode
4-5-26 SPS–Typ lesen – MM
Mit diesem Befehl wird das SPS–Modell gelesen.
Befehlsformat
@
1
0 M
X 10 X 10
Teilnehmer–Nr.
Antwortformat
Befehls–
code
↵
:
FCS–
Ende–
Prüfzeichen zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0 M
X 10 X 10
Teilnehmer–Nr.
Parameter
M
M
Befehls–
code
1 x 160
x 16
1 x 160
:
x 16
Endecode
SPS–
Code
FCS–
Prüfzeichen
↵
Ende–
zeichen
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 übertragen.
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
T
S
Befehls–
code
122 Zeichen max.
Zeichen
↵
:
FCS–
Ende–
Prüfzeichen zeichen
279
Abschnitt
Host–Link–Befehle
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
Teilnehmer–Nr.
Parameter
4-5
T
122 Zeichen max.
S
Befehls–
code
↵
:
Zeichen
FCS–
Prüfzeichen
Ende–
zeichen
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–Programmspeicher in Maschinensprache (Objektcode). Der Inhalt wird als ein Block gelesen.
Befehlsformat
1
@
0
X 10 X 10
Teilnehmer–Nr.
Antwortformat
P
:
Befehls–
code
FCS–
Prüfzeichen
↵
Ende–
zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
R
Teilnehmer–Nr.
Parameter
R
1 x 160
P
x 16
Befehls–
code
1 x 160
:
x 16
Endecode
1 Byte
Programm
(gesamter UM–Bereich)
↵
FCS–
Ende–
Prüfzeichen zeichen
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 Anwenderspeicher der SPS in Maschinensprache. Der Speichervorgang erfolgt in einem
Block.
Befehlsformat
@
1
0 W
X 10 X 10
Teilnehmer–Nr.
Antwortformat
Befehls–
code
1
0 W
X 10 X 10
Teilnehmer–Nr.
280
1 x 160
:
x 16
1 Byte
Programm (bis zur Größe
des UM–Bereichs)
FCS–
Prüfzeichen
CR
Ende–
zeichen
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
Parameter
P
P
Befehls–
code
1 x 160
x 16
Endecode
:
CR
FCS–
Ende–
Prüfzeichen zeichen
Programm (Befehl)
Die Programmdaten dürfen die Größe des zur Verfügung stehenden SpeicherBereichs nicht überschreiten.
Abschnitt
Host–Link–Befehle
4-5
4-5-30 Zusammengefaßte Lesedaten – QQ
Registriert alle spezifizierten Bits, Worte und Zeitgeber/Zähler, die gelesen werden 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 gelesen werden sollen.
Befehlsformat
@
1
0 Q
X 10 X 10
Teilnehmer–Nr.
Q
Befehls–
code
M
R
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 OP1 OP2
UnterBefehls–
code
Lesebereich
Adressenbereich
lesen
Daten–
format
,
Trenn–
zeichen
Einzelinformation lesen
Gesamtinformation lesen (max. 128 Zeichen)
,
Trenn–
zeichen
OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 OP1 OP2
Lesebereich
Adressenbereich
lesen
Daten–
format
Einzelinformation lesen
↵
:
FCS–
Ende–
Prüfzei- zeichen
chen
Gesamtinformation lesen (max. 128 Zeichen)
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
Teilnehmer–Nr.
Parameter
0 Q
X 10 X 10
Q
Befehls–
code
M
UnterBefehls–
code
R
1 x 160
x 16
Endecode
:
↵
FCS–
Ende–
Prüfzeichen zeichen
Bereich lesen (Befehl
Spezifikation des zu lesenden Bereichs als 4–stelliger Code. Der Lesebereich
(Speicherbereich) der SPS ist in der nachfolgenden Tabelle dargestellt.
281
Abschnitt
Host–Link–Befehle
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 Datenformat als 2–stelliger BCD–Wert spezifiziert.
Bereichs–
e ec s
klassifizierung
kl
ifi i
IR ode
oder S
SR
Daten
ae
l
lesen
Bit
Bit
CPM2A/
CPM2C
Datenformat
ae o a
CPM1/CPM1A/S
RM1(–V2)
C I O (S)
0000 b
bis
s 00
0049
9
0200 bi
bis 0255
0000 b
bis
s 00
0019
9
0200 bi
bis 0255
00 bis 15 (dezimal)
L R (S) (S)
bis
0015
0000 b
s 00
5
bis
0015
0000 b
s 00
5
00 bis 15 (dezimal)
H R (S) (S)
0000 b
bis
s 00
0019
9
0000 b
bis
s 00
0019
9
A R (S) (S)
bis
0023
0000 b
s 00
3
bis
0015
0000 b
s 00
5
T I M (S)
0000 b
bis
s0
0255
55
0000 b
bis
s0
0127
TIMH
bis
0255
0000 b
s0
55
bis
0127
0000 b
s0
TIML
0000 b
bis
s0
0255
55
Nicht
c verwendet.
e e de
TMHH
0000 b
bis
s0
0255
55
Nicht
c verwendet.
e e de
C N T (S)
0000 b
bis
s0
0255
55
0000 b
bis
s0
0127
CNTR
0000 b
bis
s0
0255
55
0000 b
bis
s0
0127
D M (S) (S)
0000 bis 2047
6144 bis 6655
0000 bis 1023*
6144 bis 6655
Wort
LR
Wort lesen
Bereich
e e c lee
sen
Wort
HR
“CH”
Bit
Wort
AR
2 Zeichen außer “CH”
“CH”
Fertigmerker
Istwert
LANGER
G
ZEITGEBER
G
00 bis 15 (dezimal)
“CH”
Fertigmerker
Istwert
Schneller
Sc
e e Zeitgeber
e gebe
00 bis 15 (dezimal)
“CH”
Bit
Wort
Zeitgeber
e gebe
“CH”
2 Zeichen außer “CH”
“CH”
Fertigmerker
Istwert
2 Zeichen außer “CH”
“CH”
S
SEHR
SCHNELLER
SC
ZEITGEBER
Fertigmerker
Zähler
ä e
Fertigmerker
Istwert
2 Zeichen außer “CH”
“CH”
Istwert
2 Zeichen außer “CH”
“CH”
Aufwärts–/Abwärts–zähu ä s / b ä s ä
l
ler
Fertigmerker
DM
Wort
Istwert
2 Zeichen außer “CH”
“CH”
2 beliebige Zeichen
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 werden. (Werden Istwerte von Zeitgebern/Zählern spezifiziert, wird auch der Status
des Fertig–Bits übertragen, deshalb handelt es sich hier um zwei Lesebereiche).
(QQIR) Leseaufforderung
Bit–, Wort– und Zeitgeber–/Zähler–Werte werden entsprechend ihrer Registrierung gruppenweise gelesen und in einer Antwort zurückgesendet, wie es im
QQMR–Befehls spezifiziert war.
Befehlsformat
@
1
Teilnehmer–Nr.
282
0 Q
X 10 X 10
Q
Befehls–
code
I
UnterBefehls–
code
R
:
FCS–
Ende–
Prüfzeichen zeichen
↵
Abschnitt
Host–Link–Befehle
Antwortformat
@
4-5
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
1
0 Q
X 10 X 10
Teilnehmer–Nr.
Q
Befehls–
code
I
R
UnterBefehls–
code
,
1 x 160 EIN/
3
2
1
0
AUS x 10 x 10 X 10 X 10
x 16
Endecode
EIN/
AUS
,
Zeitgeber/Zähler
Ist der Istwert spezifiziert,
wird der Status des Fertigmerkers auch übertragen.
,
3 x 162
x 16
Parameter
Trenn–
zeichen
1 x 160
:
x 16
Wortdaten
IR, SR, LR, HR,
AR, DM
Bitdaten
EIN/AUS
,
↵
FCS–
Ende–
Prüfzeichen zeichen
Daten lesen (Antwort)
Gelesene Daten werden, entsprechend dem Datenformat und in der Reihenfolge, übertragen, wie sie im QQMR–Befehl spezifiziert wurden. Wurde der Fertigmerker 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 zurü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 ablaufender Prozess abgebrochen und die Freigabe zum Empfang des nächsten Befehles bewirkt. Auf den ABBRUCH–Befehl erfolgt keine Antwort.
Befehlsformat
@
1
0
X 10 X 10
Teilnehmer–Nr.
X
Z
:
Befehls–
FCS–
code
Prüfzeichen
CR
Ende–
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 Parameter.
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 enthalten. (TXD (48) unterstützt keine Mehrfachrahmen.)
283
Abschnitt
Host–Link–Befehle
Antwortformat
Der Endecode 00 stellt den normalen Befehlsabschluss dar.
@
1
0
X 10 X 10
Teilnehmer–Nr.
Parameter
4-5
E
X
:
In TXD(48) spezifizierte Daten
Befehls–
code
↵
FCS–
Ende–
Prüfzeichen zeichen
Zeichen
(max. 122)
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
Teilnehmer–Nr.
284
I
C
Befehls–
code
:
↵
FCS–
Ende–
Prüfzeichen zeichen
KAPITEL 5
Speicherbereiche
Dieses Kapitel beschreibt die Struktur der SPS–Speicherbereiche und deren Anwendung.
5-1
5-2
5-3
Speicherbereichsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-1
Speicherbereichsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-2
Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-3
CPM1/CPM1A/SRM1(-V2) Flash–Speicher . . . . . . . . . . . . . . . . . . . .
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme . . . . . . . . . . . . . . . .
5-2-1
CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-2
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-3
Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-4
Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E/A–Zuweisung für CPM2C–SPS–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-1
CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-2
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-3
Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-4
Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
286
286
289
291
292
292
295
296
297
301
301
302
305
306
285
Abschnitt
Speicherbereichsfunktionen
5-1
5-1
Speicherbereichsfunktionen
5-1-1 Speicherbereichsstruktur
CPM1/CPM1A
Die folgenden Speicherbereiche können mit der CPM1/CPM1A verwendet werden.
Datenbereich
Worte
Bits
Funktion
IR–
Bereich1
Eingangsbereich
IR 000 ... IR 009
(10 Worte)
IR 00000 ... IR 00915
(160 Bits)
Diese Bits sind den physikalischen Ein– und Ausg
g zugewiesen.
g
gängen
Ausgangsbereich
IR 010 ... IR 019
(10 Worte)
IR 01000 ... IR 01915
(160 Bits)
Arbeits–
bereich
IR 200 ... IR 231
(32 Worte)
IR 20000 ... IR 23115
(512 Bits)
Arbeitsmerker können beliebig innerhalb des Programms verwendet werden.
SR(Systemmerker)–
Bereich
SR 232 ... SR 255
(24 Worte)
SR 23200 ... SR 25515
(384 Bits)
Diese Systemmerker besitzen spezifische Funktionen, z.B. als Merker- und Steuerbits.
TR (Temporärer
Merker)–Bereich
---
TR 0 ... TR 7
(8 Bits)
Diese Merker dienen zur temporären Speicherung des EIN/AUS-Zustands in Programmverzweigungen.
HR–Bereich2
HR 00 ... HR 19
(20 Worte)
HR 0000 ... HR 1915
(320 Bits)
Diese Bits speichern Daten und behalten ihren
EIN/AUS–Zustand, nachdem die Spannungsversorgung ausgeschaltet wurde o. der Betrieb gestartet oder gestoppt wird. Sie werden wie Arbeitsmerker eingesetzt.
AR–Bereich
AR 00 ... AR 15
(16 Worte)
AR 0000 ... AR 1515
(256 Bits)
Diese Systemmerker besitzen spezifische Funktionen, z.B. als Merker- und Steuerbits.
LR(Schnittstellen–
merker)–Bereich1
LR 00 ... LR 15
(16 Worte)
LR 0000 ... LR 1515
(256 Bits)
Wird bei 1:1–PC–Link mit einer anderen SPS verwendet.
Zeitgeber/Zähler–
Bereich2
TC 000 ... TC 127
(Zeitgeber/Zähler–Nummern) 3
Zeitgeber und Zähler verwenden den Befehl TIM,
TIMH(15), CNT und CNTR(12). Für Zeitgeber
und Zähler werden dieselben Nummern verwendet.
DM
(Daten–
Merker)–
Bereich
DM 0000 ... DM 0999
DM 1022 ... DM 1023
(1002 Worte)
In diesem Bereich erfolgt der Datenzugriff wortweise. Die Daten werden auch beim Ausschalten
der Spann.versorgung oder bei Betriebsbeginn/–
ende aufrechterhalten.
Lesen/
Speichern2
---
In den Lese/Schreibbereichen kann beliebig innerhalb des Programms gelesen und in diese geschrieben werden.
Fehler–
protokoll
DM 1000 ... DM 1021
(22 Worte)
---
Speichert Zeitpunkt und Fehlercode. Diese Worte
können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerprotokoll–Funktion nicht verwendet wird.
Nur Lesen4
DM 6144 ... DM 6599
(456 Worte)
---
Können vom Programm nicht überschrieben werden.
SPS–Konfiguration4
DM 6600 ... DM 6655
(56 Worte)
---
Speichert verschiedene Steuerparameter der
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 Lese/Schreib–DM–Bereiches. Die Datensicherungszeit variiert mit der Umgebungstemperatur, aber bei 250C hält der Kondensator den Speicherinhalt
20 Tage lang aufrecht. Ist die Spannungsversorgung über einen die Sicherungszeit überschreitenden Zeitraum ausgeschaltet, wird der Speicherinhalt 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 Zugriff 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
Abschnitt
Speicherbereichsfunktionen
CPM2A/CPM2C
5-1
Die folgenden Speicherbereiche können mit der CPM2A/CPM2C verwendet
werden.
Datenbereich
Worte
Bits
Funktion
IR–
Bereich1
Eingangsbereich
IR 000 ... IR 009
(10 Worte)
IR 00000 ... IR 00915
(160 Bits)
Diese Bits sind den physikalischen Ein– und Ausg
g zugewiesen.
g
gängen
Ausgangsbereich
IR 010 ... IR 019
(10 Worte)
IR 01000 ... IR 01915
(160 Bits)
Arbeits–
bereich
IR 020 bis IR 049
IR 200 bis IR 227
(58 Worte)
IR 02000 bis IR 04915
IR 20000 bis IR 22715
(928 Bit)
Arbeitsmerker können beliebig innerhalb des Programms verwendet werden.
SR(Systemmerker)–
Bereich
SR 228 ... SR 255
(28 Worte)
SR 22800 ... SR 25515
(448 Bits)
Diese Systemmerker besitzen spezifische Funktionen, z.B. als Merker- und Steuerbits.
TR(Temporärer
Merker)–Bereich
---
TR 0 ... TR 7
(8 Bits)
Diese Merker dienen zur temporären Speicherung des EIN/AUS-Zustands in Programmverzweigungen.
HR–Bereich2
HR 00 ... HR 19
(20 Worte)
HR 0000 ... HR 1915
(320 Bits)
Diese Bits speichern Daten und behalten ihren
EIN/AUS–Zustand, nachdem die Spannungsversorgung ausgeschaltet wurde oder der Betrieb
gestartet oder gestoppt wird. Sie werden wie Arbeitsmerker eingesetzt.
AR–Bereich2
AR 00 ... AR 23
(24 Worte)
AR 0000 ... AR 2315
(384 Bits)
Diese Merker besitzen spezifische Funktionen,
z.B. als Systemmerker und Steuerbits.
LR(Schnittstellenmerker)–Bereich1
LR 00 ... LR 15
(16 Worte)
LR 0000 ... LR 1515
(256 Bits)
Wird für einen 1:1–PC–Link mit einer anderen
SPS verwendet.
Zeitgeber/Zähler–
Bereich2
TC 000 ... TC 255
(Zeitgeber/Zähler–Nummern) 3
Zeitgeber und Zähler verwenden die TIM–,
TIMH(15)–, CNT–, CNTR(12)–, TMHH(––)– und
TIML(––)–Befehle. Für Zeitgeber/Zähler werden
dieselben Nummern verwendet.
DM
(Daten–
Merker)–
Bereich
DM 0000 ... DM 1999
DM 2022 ... DM 2047
(2,026 Worte)
In diesem Bereich erfolgt der Datenzugriff wortweise. Die Worte werden auch beim Ausschalten
der Spannungsversorgung oder bei Betriebsbeginn oder –ende aufrechterhalten.
Lesen/
Speichern2
---
In den Lese/Schreibbereichen kann beliebig innerhalb des Programms gelesen und geschrieben werden.
Fehlerprotokoll DM 2000 ... DM 2021
(22 Worte)
---
Speichert Zeitpunkt und Fehlercode. Diese Worte
können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerprotokoll–Funktion nicht verwendet wird.
Nur Lesen4,5
DM 6144 ... DM 6599
(456 Worte)
---
Können vom Programm nicht überschrieben werden.
SPS–Konfiguration4,5
DM 6600 ... DM 6655
(56 Worte)
---
Speichert verschieden Steuerparameter von
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 Batterie werden diese Bereiche über die in einem Kondensator gespeicherte
Spannung abgesichert.)
3. Wird eine TC–Nummer als ein Wortoperand verwendet, wird auf den Zeitgeber 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
Abschnitt
Speicherbereichsfunktionen
SRM1(–V2)
5-1
Die folgenden Speicherbereiche können mit der SRM1(–V2) verwendet werden.
Datenbereich
Worte
Bits
Funktion
IR–
Bereich1
Eingangsbereich
IR 000 ... IR 007
(8 Worte)
IR 00000 ... IR 00715
(128 Bits)
Diese Bits sind den externen Ein–/Ausgängen
zugewiesen. Der EIN/AUS–Zustand der E/A–Bits
enspricht dem der Ein–/Ausgänge
Ausgangsbereich
IR 010 ... IR 017
(8 Worte)
IR 01000 ... IR 01715
(128 Bits)
Bit Betriebsart
(Wird der CompoBus/S in der 128 Bit–Betriebsart
verwendet, können IR 004 bis IR 007 und IR 014
bis IR 017 auch als Arbeitsmerker verwendet
werden.)
Arbeits–
bereich
IR 008 bis IR 009
IR 018 bis IR 019
IR 200 bis IR 239
(44 Worte)
IR 00800 bis IR 00915
IR 01800 bis IR 01915
IR 20000 bis IR 23915
(704 Bit)
Arbeitsmerker können beliebig innerhalb des Programms verwendet werden. IR 232 bis IR 239
werden jedoch als MAKRO–Eingangsbereich verwendet, wenn MCRO(99) verwendet wird.
SR (Systemmerker)–
Bereich
SR 240 ... SR 255
(16 Worte)
SR 24000 ... SR 25507
(248 Bits)
Diese Systemmerker besitzen spezifische Funktionen, z.B. als Merker- und Steuerbits.
TR (Temporärer Merker)–Bereich
---
TR 0 ... TR 7
(8 Bits)
Diese Merker dienen zur temporären Speicherung des EIN/AUS-Zustands in Programmverzweigungen.
HR–Bereich2
HR 00 ... HR 19
(20 Worte)
HR 0000 ... HR 1915
(320 Bits)
Diese Bits speichern Daten und behalten ihren
EIN/AUS–Zustand, nachdem die Spannungsversorgung ausgeschaltet wurde o. der Betrieb gestartet oder gestoppt wird. Sie werden wie Arbeitsmerker eingesetzt.
AR–Bereich2
AR 00 ... AR 15
(16 Worte)
AR 0000 ... AR 1515
(256 Bits)
Diese Systemmerker besitzen spezifische Funktionen, z.B. als Merker- und Steuerbits. AR 04 bis
07 werden für Slave–Funktionen verwendet. Sehen Sie den AR–Bereich.
LR–Bereich1
LR 00 ... LR 15
(16 Worte)
LR 0000 ... LR 1515
(256 Bits)
Wird für einen 1:1–PC–Link mit einer anderen
SPS verwendet.
Zeitgeber/Zähler–
Bereich2
TC 000 ... TC 127
(Zeitgeber/Zähler–Nummern)3
Zeitgeber und Zähler verwenden den Befehl TIM,
TIMH(15), CNT und CNTR(12). Für Zeitgeber
und Zähler werden dieselben Nummern verwendet.
DM
(Datenmerker)–
Bereich
DM 0000 ... DM 1999
(2.000 Worte)
In diesem Bereich erfolgt der Datenzugriff wortweise. Die Worte werden auch beim Ausschalten
der Spannungsversorgung, bei Betriebsbeginn/–
ende aufrechterhalten.
Lesen/
Speichern2
---
In den Lese/Schreibbereichen kann beliebig innerhalb des Programms gelesen und geschrieben werden.
Fehler–
protokoll
DM 2000 ... DM 2021
(22 Worte)
---
Speichert Zeitpunkt und Fehlercode. Diese Worte
können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerprotokoll–Funktion nicht verwendet wird.
Nur Lesen4
DM 6144 ... DM 6599
(456 Worte)
---
Können vom Programm nicht überschrieben werden.
SPS–Konfiguration4
DM 6600 ... DM 6655
(56 Worte)
---
Speichert verschieden Steuerparameter von
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 Gegenüberstellung der Datensicherungszeit/Temperatur finden Sie im Technischen 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 Zugriff 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
Abschnitt
Speicherbereichsfunktionen
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. Eingangsbits beginnen bei IR 00000 und Ausgangsbits bei IR 01000.
IR Worte, die nicht Ein– oder Ausgängen zugewiesen sind, können als Arbeitsworte verwendet werden. Zusätzlich können nicht verwendete Bits in IR–Worten, 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 normale Eingänge arbeiten oder diesen können in der SPS–Konfiguration besondere Funktionen zugewiesen werden.
Besondere Funktionen für die Bits IR 00000 bis IR 00002 werden in DM
6642 spezifiziert:
Bit–
adresse
d
IR 00000
IR 00001
IR 00002
SPS–Konfigurationseinstellung (DM 6642 Bits 08 bis 15)
00
Werden als
normale
g g
Eingänge
verwendet.
d t
01
02, 03 oder 04
Werden als schnelle
Zählereingänge
verwendet.
Werden als Eingänge für eine
synchronisierte
Impulssteuerung verwendet.
Wird als normaler Eingang
verwendet.
Besondere Funktionen für die Bits IR 00003 bis IR 00006 werden in
DM 6628 spezifiziert:
Bit–
adresse
d
Bits
s in
DM 6628
IR 00003
00 bis 03
IR 00004
04 bis 07
IR 00005*
08 bis 11
IR 00006*
12 bis 15
SPS–Konfigurationseinstellung (in DM 6628)
0
Werden als
normale Eingänge
verwendet.
1
Werden als
Interrupt
Interrupt–
Eingänge
(einschließlich
Zählbetriebsart)
verwendet.
2
Werden als
Eingänge mit
Im
uls
Impuls–
speicherung
verwendet
verwendet.
Hinweis *Eingang 00006 ist nicht vorhanden und Eingang 00005 muss als
normaler Eingang in CPM2C–CPU–Baugruppen mit 10 Ein–/Ausgängen verwendet werden.
2. Ausgangsbits IR 01000 und IR 01001 können als normale Ausgänge arbeiten 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
PULS (65)
Funktion
Mit SPED(64):
Einphasige Impulsausgaben ohne Beschleunigung und Abbremsung
Mit ACC(––):
Einphasige Impulsausgaben mit trapezförmiger
Beschleunigung/Abbremsung
SR–Bereich
SYNC(––)
Synchronisierte Impulssteuerung
PWM(––)
Impulsausgabe mit variablem Tastverhältnis
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 Bitfunktionen 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 Speicherung 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 verwendet 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 Versorgungsspannung 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–Versorgungsspannung oder bei Betriebsbeginn oder –ende bei. Einzelheiten über die diversen 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 gemeinsame 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 sowohl 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 verschiedene Befehle handelt.
Verwenden Sie die TC–Nummern 000 bis 003 für TIMH(15) und die TC–Nummern 004 bis 007 für TMHH(––)*. Werden diese Zeitgebernummern verwendet,
wird deren Zeitverhalten als Interruptvorgang ausgewertet und der Zykluszeitgeber 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 Wortdaten 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–Versorgungsspannung 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 beschriebenen Funktionen, zugewiesen.
DM 1000 bis DM 1021 DM enthalten Fehlerprotokoll–Informationen. Weitere Informationen ü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 Programm verwendet werden; anderen DM–Worten sind spezielle, nachstehend
beschriebene Funktionen zugeordnet.
290
Abschnitt
Speicherbereichsfunktionen
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; anderen DM–Worten sind spezielle, nachstehend beschriebene Funktionen zugeordnet.
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 verwenden.
Schreiben von Daten
Hinweis
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 eingeschaltet werden.
SRM1–C01/02 kondensatorbasierende Datensicherung
Werden Änderungen an den zuvor beschriebenen Speicherbereichen vorgenommen und werden diese nicht in den Flash–Speicher geschrieben, dann gehen 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 eingelesen.
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–Konfigurationsbereich (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 maximal 850 ms später als bei einem normalen Einschalten ohne Änderungen ein.
SRM1–Zykluszeiten
Eine Zykluszeit–Überlaufwarnung wird nicht ausgegeben, wenn jede der folgenden 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 Speicherinhalts deaktiviert.
291
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2
5-2
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2-1 CPU–Baugruppen
CPM1
Anzahl der E/A
(auf der CPU–
Baugruppe)
10
0
20
0
30
30
Modell–
nummer
CPM1–10CDRj
C
0C j
CPM1–20CDRj
C
0C j
CPM1–30CDRj
CPM1-30CDR-j-V1
E/A
Zugewiesene Bits
Eingang
6 Eingänge: 00000 ... 00005
Ausgang
4 Ausgänge: 01000 ... 01003
Eingang
12 Eingänge: 00000 ... 00011
Ausgang
8 Ausgänge: 01000 ... 01007
Eingang
18 Eingänge:
00000 bis 00011
00100 bis 00105
Ausgang
12 Ausgänge:
01000 bis 01007
01100 bis 01103
Eingang
18 Eingänge:
00000 bis 00011
00100 bis 00105
Ausgang
12 Ausgänge:
01000 bis 01007
01100 bis 01103
Max. Anzahl der
E/A–
Erweiterungs–b
augruppen
Max. Anzahl der
E/A (sehen Sie
Hinweis 1)
1 (sehen
(se e Sie
Se
Hi
i 1)
Hinweis
30
1 (sehen
(se e Sie
Se
Hi
Hinweis
i 1)
40
0
1 (sehen Sie
Hinweis 1)
50
3 (sehen Sie
Hinweis 2)
90
Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle beinhalten 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–Erweiterungsbaugruppen 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
(auf der CPU–
Baugruppe)
10
Modell–
nummer
E/A
Zugewiesene Bits
CPM1A-10CDR-j
CPM1A-10CDT-D
CPM1A-10CDT1-D
Eingang
6 Eingänge: 00000 ... 00005
Ausgang
4 Ausgänge: 01000 ... 01003
20
CPM1A-20CDR-j
CPM1A-20CDT-D
CPM1A 20CDT1 D
CPM1A-20CDT1-D
Eingang
12 Eingänge:
0000 bis 00011
Ausgang
8 Ausgänge: 01000 ... 01007
30
CPM1A-30CDR-j
CPM1A-30CDT-D
CPM1A-30CDT1-D
Eingänge
18 Eingänge:
00000 bis 00011
00100 bis 00105
Ausgang
12 Ausgänge:
01000 bis 01007
01100 bis 01103
Eingänge
24 Eingänge:
00000 bis 00011
00100 bis 00111
Ausgang
16 Ausgänge:
01000 bis 01007
01100 bis 01107
40
CPM1A-40CDR-j
CPM1A-40CDT-D
CPM1A-40CDT1-D
Max. Anzahl der
E/A–
Erweiterungs–
baugruppen
Max. Anzahl
der E/A
(sehen Sie
Hinweis 1)
Kein
10
Kein
20
3 (sehen Sie den
Hinweis)
90
3 (sehen Sie den
Hinweis)
100
Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle beinhalten auch die E/A von E/A–Erweiterungsbaugruppen.
292
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
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 angeschlossen werden.
CPM2A
Anzahl der E/A
(auf der CPU–
Baugruppe)
Modell–
nummer
E/A
Zugewiesene Bits
20
CPM2A-20CDR-j
CPM2A-20CDT-D
CPM2A 20CDT1 D
CPM2A-20CDT1-D
Eingang
12 Eingänge:
0000 bis 00011
Ausgang
8 Ausgänge: 01000 ... 01007
30
CPM2A-30CDR-j
CPM2A-30CDT-D
CPM2A-30CDT1-D
Eingang
18 Eingänge:
00000 bis 00011
00100 bis 00105
Ausgang
12 Ausgänge:
01000 bis 01007
01100 bis 01103
Eingang
24 Eingänge:
00000 bis 00011
00100 bis 00111
Ausgang
16 Ausgänge:
01000 bis 01007
01100 bis 01107
Eingang
36 Eingänge:
00000 bis 00011
00100 bis 00111
00200 bis 00211
Ausgang
24 Ausgänge:
01000 bis 01007
01100 bis 01107
01200 bis 01207
40
CPM2A-40CDR-j
CPM2A-40CDT-D
CPM2A-40CDT1-D
60
CPM2A-60CDR-j
CPM2A-60CDT-D
CPM2A-60CDT1-D
Max. Anzahl der
E/A–
Erweiterungs–ba
ugruppen
Max. Anzahl
der E/A
(sehen Sie
Hinweis 1)
3
80
3
90
3
100
3
120
Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle beinhalten auch die E/A von E/A–Erweiterungsbaugruppen.
2. Beim Einsatz einer CPM2A–CPU–Baugruppe können bis zu 3 Erweiterungsbaugruppen oder E/A–Erweiterungsbaugruppen an die SPS angeschlossen 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
IR 00000 bis IR 00005
CPM1-10CDR-j
CPM1A-10CDjj
4 Ausgänge
IR 01000 bis IR 01003
Bits
Eingänge IR 000
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
Bitte nicht verwenden
Ausgänge IR 010
293
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2
CPU–Baugruppen mit 20 E/A–Anschlüssen
12 Eingänge
IR 00000 bis IR 00011
CPM1-20CDR-j
CPM1A-20CDj-j
CPM2A-20CDj-j
8 Ausgänge
IR 01000 bis IR 01007
15
Bits
Eingänge IR 000
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
Bitte nicht verwenden
Ausgänge IR 010
CPU–Baugruppen mit 30 E/A–Anschlüssen
18 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00105
CPM1-30CDR-j/CPM1-30CDR-j-V1
CPM1A-30CDj-j
CPM2A-30CDj-j
12 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01103
15
Bits
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
09
08
07
06
05
04
03
02
01
00
IR 000
Eingänge
Ausgänge
IR 001
Bitte nicht verwenden
IR 010
IR 011
CPU–Baugruppen mit 40 E/A–Anschlüssen
24 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111
CPM1A-40CDj-j
CPM2A-40CDj-j
16 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107
15
Bits
IR 000
Eingänge
IR 001
Ausgänge
IR 010
IR 011
294
14
13
12
Bitte nicht verwenden
11
10
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2
CPU–Baugruppen mit 60 E/A–Anschlüssen
36 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111
IR 00200 bis IR 00211
CPM1A-60CDj-j
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
E/A
8
8
20
20
Modell–
nummer
CPM1A-8ED
E/A
Zugewiesene Bits
Eingang
8 Eingänge: Wort (m+1), Bit 00 bis 07
Ausgang
---
CPM1A-8ER
CPM1A-8ET
CPM1A-8ET1
Eingang
---
Ausgang
8 Ausgänge: Wort (n+1), Bit 00 bis 07
CPM1A-20EDR
CPM1A-20EDR1
CPM1A
20EDR1
CPM1A-20EDT
CPM1A-20EDT1
Eingang
12 Eingänge: Wort (m+1), Bit 00 bis 11
Ausgang
8 Ausgänge: Wort (n+1), Bit 00 bis 07
CPM1A-20EDR
Eingang
12 Eingänge: Wort (m+1), Bit 00 bis 11
Ausgang
8 Ausgänge: Wort (n+1), Bit 00 bis 07
Hinweis
Kompatible
CPU–Baugruppen
CPM1
CPM1A-30/40
CPM2A
CPM1
CPM1A-30/40
CPM2A
CPM1
CPM1A-30/40
CPM1A
30/40
CPM2A
CPM1
CPM1A-30/40
CPM2A
“m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen wird , falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen 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 zugewiesen 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 zugewiesen 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
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2
E/A–Erweiterungsbaugruppen mit 8 Eingängen
8 Eingänge
Wort (m+1), Bits 00 bis 07
CPM1A-8ED
Keine Ausgänge
15
Bits
14
13
11
10
09
08
07
06
05
04
03
02
01
00
08
07
06
05
04
03
02
01
00
08
07
06
05
04
03
02
01
00
Bitte nicht verwenden
m+1
Eingänge
12
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
15
Bits
Ausgänge
14
13
12
11
10
09
n+1
E/A–Erweiterungsbaugruppen mit 20 E/A–Anschlüssen
12 Eingänge
Wort (m+1), Bits 00 bis 11
CPM1-20EDR
CPM1A-20EDR
CPM1A-20EDR1
CPM1A-20EDT
CPM1A-20EDT1
8 Ausgänge
Wort (n+1), Bits 00 bis 07
15
Bits
Eingänge
m+1
Ausgänge
n+1
14
13
12
11
10
09
Bitte nicht verwenden
5-2-3 Erweiterungsbaugruppen
Baugruppe
Modell–
nummer
Analoge E/A–
Baugruppe
CPM1A-MAD01
Temperaturfühler–Bau
e eau ü e
au
gruppen
E/A
Zugewiesene Worte
Eingang
2 Eingänge: m+1, m+2
Ausgang
1 Ausgang: n+1
C
CPM1A–TS001
S00
CPM1A TS101
CPM1A–TS101
Eingang
2 Eingänge: m+1, m+2
Ausgang
---
CPM1A-TS002
C
S00
CPM1A TS102
CPM1A-TS102
Eingang
4 Eingänge: m+1 bis m+4
Ausgang
---
Co o us/S /
CompoBus/S–E/A–Lin
CPM1A-SRT21
C
S
k B
k–Baugruppe
Eingang
1 Eingang: m + 1
Ausgang
1 Ausgang: n+1
Max. Anzahl der
Baugruppen
Kompatible
CPU–
Baugruppen
3 (sehen Sie
Hinweis 2)
CPM1
CPM1A
CPM2A
3
C
CPM1A
CPM2A
1
CPM1A
C
CPM2A
3
C
CPM1A
CPM2A
Hinweis 1. “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen wird, falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen wird, falls diese angeschlossen ist.
296
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
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 werden.
3. Nur eine CPM1ATS002/102–Temperaturfühler–Baugruppe kann an die
SPS angeschlossen werden. Wird eine CPM1A–TS002/102–Temperaturfühler–Baugruppe mit der SPS verbunden, kann nur eine andere Erweiterungs–
oder
E/A–Erweiterungsbaugruppe
(außer
der
CPM1A–TS002/102–Temperaturfühler–Baugruppe) angeschlossen werden.
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
Eingang 0: Wort (m+1)
Eingang 1: Wort (m + 2)
4 Temperatureingänge
Eingang 0: Wort (m+1)
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. Ausgangsbits 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 Modellnummer kann nur eine E/A–Erweiterungsbaugruppe angeschlossen werden.
• Beim Einsatz einer CPM1–CPU–Baugruppe mit “–V1” am Ende der Modellnummer 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üssen oder beim Einsatz einer CPM2A–CPU–Baugruppe können bis zu 3 Erweiterungs– oder E/A–Erweiterungsbaugruppen, außer Temperaturfühler–Baugruppen mit 4 Eingängen, angeschlossen werden. Nur eine Temperaturfühler–Baugruppe mit 4 Eingängen kann angeschlossen werden. Wird eine Temperaturfühler–Baugruppe mit 4 Eingängen an die SPS angeschlossen, kann
zusätzlich nur noch eine weitere Erweiterungs– oder E/A–Erweiterungsbaugruppe (außer einer anderen Temperaturfühler–Baugruppe mit 4 Eingängen)
angeschlossen werden.
297
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
Beispiel:
5-2
CPU–Baugruppe mit 20 Ein–/Ausgängen mit zusätzlicher E/A–Erweiterungsbaugruppe mit
20 E/A
CPU–Baugruppe mit
20 E/A–Anschlüssen
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
12 Eingänge
IR 00000 bis IR 00011
12 Eingänge
IR 00100 bis IR 00111
8 Ausgänge
IR 01000 bis IR 01007
8 Ausgänge
IR 01100 bis IR 01107
15
Bits
14
13
12
IR 000
Bitte nicht verwenden
IR 001
Bitte nicht verwenden
11
10
09
08
07
06
05
04
03
02
01
00
Eingänge
IR 010
Ausgänge
IR 011
• IR 00000 bis IR 00011 und IR 00100 bis IR 00111 werden als Eingangsbits zugewiesen. 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 werden.
• 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
30 E/A–Anschlüssen
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
18 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00105
12 Eingänge
IR 00200 bis IR 00211
12 Eingänge
IR 00300 bis IR 00311
12 Eingänge
IR 00400 bis IR 00411
12 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01103
8 Ausgänge
IR 01200 bis IR 01207
8 Ausgänge
IR 01300 bis IR 01307
8 Ausgänge
IR 01400 bis IR 01407
15
Bits
14
13
12
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
11
10
09
08
07
06
05
04
03
02
01
00
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
5-2
Beispiel: CPU–Baugruppe mit 60 E/A–Anschlüssen mit 3 zusätzlichen E/A–Erweiterungsbaugruppen
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
CPU–Baugruppe mit
60 E/A–Anschlüssen
36 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111
IR 00200 bis IR 00211
12 Eingänge
IR 00300 bis IR 00311
24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107
IR 01200 bis IR 01207
15
Bits
E/A–Erweiter.–baugruppe
(8 Ausgänge)
13
12
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
11
10
12 Eingänge
IR 00400 bis IR 00411
Keine Eingänge
8 Ausgänge
IR 01300 bis IR 01307
14
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
8 Ausgänge
IR 01400 bis IR 01407
09
08
07
06
05
8 Ausgänge
IR 01500 bis IR 01507
04
03
02
01
00
IR 010
IR 011
Ausgänge IR 012
IR 013
IR 014
IR 015
299
Abschnitt
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme
Beispiel:
5-2
Konfiguration, einschließlich Analog–E/A–Baugruppe, Temperaturfühler–Baugruppe und
E/A–Erweiterungsbaugruppe
CPU–Baugruppe mit
60 E/A–Anschlüssen
Analog–E/A–Baugruppe
CPM1A–MAD01
Temperaturfühler–Baugrp.
CPM1A–TS001/101
E/A–Erweiter.–baugruppe
(20 E/A–Anschlüssen)
2 Analogeingänge
Eingang 0: IR 003
Eingang 1: IR 004
2 Temperatureingänge
Eingang 0: IR 005
Eingang 1: IR 006
12 Eingänge
IR 00700 bis IR 00711
1 analoger Ausgang
Ausgang 1: IR 013
Keine Ausgänge
36 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111
IR 00200 bis IR 00211
24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107
IR 01200 bis IR 01207
15
Bits
14
13
12
IR 000
Bitte nicht verwenden
IR 001
Bitte nicht verwenden
Eingänge IR 002
Bitte nicht verwenden
11
10
09
08
07
06
8 Ausgänge
IR 01400 bis IR 01407
05
04
03
01
00
Für Eingang 0 der Analog–E/A–Baugruppe verwendet
IR 003
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
02
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önnen bis zu 3 Erweiterungsbaugruppen (Analog–E/A–Baugruppen, Temperaturfühler–Baugruppen oder CompoBus/s–Baugruppen) mit einer CPM1A– oder
CPM2A–SPS verbunden werden. Nur eine CPM1A–TS002/102–Temperaturfühler–Baugruppe kann an die SPS angeschlossen werden. (Sehen Sie Seite
301 für einen Beispiel der CPM1A–TS002/102–Zuweisungen.)
300
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
Beispiel:
5-3
Konfiguration, einschließlich der Temperaturfühler–Baugruppe mit 4 Eingängen und
CompoBus/s–Link–Baugruppe
CPU–Baugruppen mit
60 E/A–Anschlüssen
Temperaturfühler–Baugrp.
CPM1A–TS002/102
CompoBus/S–E/A–Link–
Baugrp. CPM1A-SRT21
36 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111
IR 00200 bis IR 00211
2 Temperatureingänge
Eingang 0: IR 003
Eingang 1: IR 004
Eingang 2: IR 005
Eingabe 3: IR 006
8 Eingangsbits
IR 00700 bis IR 00707
24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107
IR 01200 bis IR 01207
15
Bits
8 Ausgangsbits
IR 01300 bis IR 01307
Keine Ausgänge
14
13
12
IR 000
Bitte nicht verwenden
IR 001
Bitte nicht verwenden
Eingänge IR 002
Bitte nicht verwenden
11
10
09
08
07
06
05
04
03
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
02
01
00
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 Erweiterungsbaugruppe verbunden werden.
5-3
E/A–Zuweisung für CPM2C–SPS–Systeme
5-3-1 CPU–Baugruppen
Anzahl der E/A
(auf der CPU–
Baugruppe)
10
20
Modell–
nummer
E/A
Zugewiesene Bits
CPM2C-10CDR-D
CPM2C-10C1DR-D
CPM2C-10CDTC-D
CPM2C
10CDTC D
CPM2C-10C1DTC-D
CPM2C-10C1DTC-D
CPM2C-10C1DT1C-D
Eingang
6 Eingänge: 00000 ... 00005
Ausgang
4 Ausgänge: 01000 ... 01003
CPM2C-20CDTC-D
CPM2C-20C1DTC-D
CPM2C 20C1DTC D
CPM2C-20C1DTC-D
CPM2C-20C1DT1C-D
Eingang
12 Eingänge: 00000 ... 00011
Ausgang
8 Ausgänge: 01000 ... 01007
Max. Anzahl der
E/A–
Erweiterungs–
baugruppen
Max. Anzahl der
E/A
(sehen Sie
Hinweis 1)
5
130
5
140
Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle beinhalten 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
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
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
IR 00000
bis
IR 00005
CPM2C-10CjDjj-j
4 Ausgänge
IR 01000
bis
IR 01003
Bits
15
14
13
12
Eingänge IR 000
11
10
09
08
07
06
05
04
03
02
01
00
08
07
06
05
04
03
02
01
00
Bitte nicht verwenden
AusgängeIR 010
CPU–Baugruppe mit 20 E/A–Anschlüssen
12 Eingänge
IR 00000
bis
IR 00011
CPM2C-20CjDjj-j
8 Ausgänge
IR 01000
bis
IR 01007
15
Bits
Eingänge IR 000
14
13
12
11
10
09
Bitte nicht verwenden
Ausgänge IR 010
5-3-2 E/A–Erweiterungsbaugruppen
Anzahl der E/A
8
Modellnummer
CPM2C-8EDC
C
C8 C
E/A
Zugewiesene Bits
Eingang
8 Eingänge: Wort (m+1), Bit 00 bis 07
Ausgang
---
Eingang
16 Eingänge: Wort (m+1), Bits 00 bis 15
Ausgang
---
CPM2C-8ER
CPM2C-8ETC
CPM2C-8ET1C
Eingang
---
Ausgang
8 Ausgänge: Wort (n+1), Bit 00 bis 07
C
CPM2C-16ETC
C 6 C
CPM2C 16ET1C
CPM2C-16ET1C
Eingang
---
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
Ausgang
4 Ausgänge: Wort (n+1), Bits 00 bis 03
24
CPM2C-24ETC
C
C
C
CPM2C 24ET1C
CPM2C-24ET1C
Eingang
16 Eingänge: Wort (m+1), Bits 00 bis 15
Ausgang
8 Ausgänge: Wort (n+1), Bit 00 bis 07
16
6
8
16
6
302
CPM2C-16EDC
C
C 6 C
Max. Anzahl der
Baugruppen
5
5
5
5
5
5
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
Hinweis
5-3
“m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen wird, falls diese schon angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen 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 zugewiesen 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 zugewiesen 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
Wort (m+1) Bit 00
bis
Wort (m+1) Bit 07
CPM2C-8EDC
Keine Ausgänge
15
Bits
Eingänge
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
08
07
06
05
04
03
02
01
00
Bitte nicht verwenden
m+1
E/A–Erweiterungsbaugruppe mit 16 Eingängen
16 Eingänge
Wort (m+1), Bit 00
bis
Wort (m+1), Bit 15
CPM2C-16EDC
Keine Ausgänge
15
Bits
Eingänge
14
13
12
11
10
09
m+1
303
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
5-3
E/A–Erweiterungsbaugruppen mit 8 Ausgänge
Keine Eingänge
CPM2C-8ER
CPM2C-8ETC
CPM2C-8ET1C
8 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 07
15
Bits
Ausgänge
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
09
08
07
06
05
04
03
02
01
00
08
07
06
05
04
03
02
01
00
07
06
05
04
03
02
01
00
n+1
E/A–Erweiterungsbaugruppe mit 16 Ausgängen
Keine Eingänge
CPM2C-16ETC
CPM2C-16ET1C
16 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 15
15
Bits
Ausgänge
14
13
12
11
10
n+1
E/A–Erweiterungsbaugruppe mit 10 E/A–Anschlüssen
6 Eingänge
Wort (m+1), Bit 00
bis
Wort (m+1), Bit 05
CPM2C-10EDR
4 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 03
15
Bits
Eingänge
m+1
Ausgänge
n+1
14
13
12
11
10
09
Bitte nicht verwenden
E/A–Erweiterungsbaugruppe mit 24 E/A–Anschlüssen
16 Eingänge
Wort (m+1), Bit 00
bis
Wort (m+1), Bit 15
CPM2C-24ETC
CPM2C-24ET1C
8 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 07
15
Bits
Eingänge
m+1
Ausgänge
n+1
304
14
13
12
11
10
09
08
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
5-3
5-3-3 Erweiterungsbaugruppen
Baugruppe
Modell–
nummer
Analoge
a oge E/A–Baugruppe
/
aug u e
CPM2C-MAD11
C
C
Temperaturfühler–Baugruppe
e eau ü e
aug u e
Co o us/S /
CompoBus/S–E/A–Link–
B
Baugruppe
E/A
Zugewiesene Worte
Eingang
2 Eingänge: m+1, m+2
Ausgang
1 Ausgang: n+1
C
CPM2C-TS001
C S00
CPM2C TS101
CPM2C-TS101
Eingang
2 Eingänge: m+1, m+2
Ausgang
---
CPM2C-SRT21
C
CS
Eingang
1 Eingang: m + 1
Ausgang
1 Ausgang: n+1
Max. Anzahl der
Baugruppen
4
4
5
Hinweis 1. “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen wird, falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesen 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 Ausgangswort.) Eine andere Baugruppe, wie eine E/A–Erweiterungsbaugruppe oder
CPM2C–SRT21–CompoBus/S–E/A Link–Baugruppe kann jedoch zusätzlich zu den 4 Analog–E/A–Baugruppen oder Temperaturfühler–Baugruppen 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
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
Hinweis
5-3
Eingangsmerker 00 bis 07 in Wort (m+1) sind Ausgänge des Masters. Ausgangsmerker 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 Erweiterungs– und E/A–Erweiterungsbaugruppen, in der Reihenfolge, in der sie angeschlossen 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. Obwohl E/A–Bits automatisch zugewiesen werden, ist es erforderlich, sicherzustellen, dass sowohl die Anzahl der Ein– und der Ausgangsworte 10 nicht überschreitet. Zum Beispiel benötigen Analog–E/A– und Temperaturfühler–Baugruppen jeweils 2 Eingangsworte; somit ist es nicht möglich, 5 dieser Baugruppen anzuschließen.
Beispiel:
CPU–Baugruppe mit 20 Ein–/Ausgängen und zusätzlicher E/A–Erweiterungsbaugruppe
mit 24 E/A
CPU–Baugruppe
(20 E/A–Anschl.)
12 Eingänge
IR 00000
bis IR
00011
16 Eingänge
IR 00100
bis
IR 00115
8 Ausgänge
IR 01000
bis IR
01007
8 Ausgänge
IR 01100
bis IR
01107
15
Bits
IR 000
Eingänge
Ausgänge
IR 001
IR 010
IR 011
306
E/A–Erweiter.–baugrp.
(24 E/A–Anschlüssen)
14
13
12
Bitte nicht verwenden
11
10
09
08
07
06
05
04
03
02
01
00
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
Beispiel:
5-3
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–
baugruppe
baugruppe
baugruppe
baugruppe
baugruppe
CPU–Baugruppe mit
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
IR 00000
bis IR
00011
16 Eingänge
IR 00100
bis
IR 00115
16 Eingänge
IR 00200
bis
IR 00215
16 Eingänge
IR 00300
bis
IR 00315
16 Eingänge
IR 00400
bis
IR 00415
16 Eingänge
IR 00500
bis
IR 00515
8 Ausgänge
IR 01000
bis IR
01007
8 Ausgänge
IR 01100
bis IR
01107
8 Ausgänge
IR 01200
bis IR
01207
8 Ausgänge
IR 01300
bis IR
01307
8 Ausgänge
IR 01400
bis IR
01407
8 Ausgänge
IR 01500
bis IR
01507
Bits
15
IR 000
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
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
CPU–Baugruppe mit
20 E/A–Anschlüssen
E/A–Erweiterungs–
baugruppe
(16 Eingänge)
E/A–Erweiterungs–
baubaugruppe
(16 Eingänge)
12 Eingänge
IR 00000
bis IR
00011
16 Eingänge
IR 00100
bis
IR 00115
16 Eingänge
IR 00200
bis
IR 00215
8 Ausgänge
IR 01000
bis IR
01007
Bits
15
IR 000
Eingänge
Keine Ausgänge
14
13
Keine Eingänge
16 Ausgänge
IR 01100
bis
IR 01115
Keine Ausgänge
12
11
10
E/A–Erweiterungs–
baugruppe
(16 Ausgänge)
09
08
07
E/A–Erweiterungs–
baugruppe
(16 Ausgänge)
Keine Eingänge
05
04
8 Eingangsmerker
IR 00300
bis
IR 00307
8 Ausgangsmerker
IR 01300
bis IR
01307
16 Ausgänge
IR 01200
bis
IR 01215
06
CompoBus/S–E/A–
Link–Baugruppe
03
02
01
00
Bitte nicht verwenden
IR 001
IR 002
IR 003
Bitte nicht verwenden
IR 010
Ausgänge
IR 011
IR 012
IR 013
307
Abschnitt
E/A–Zuweisung für CPM2C–SPS–Systeme
Beispiel:
Konfiguration, einschließlich Analog–E/A–Baugruppen, Temperaturfühler–Baugruppen
und E/A–Erweiterungsbaugruppe
Analog–E/A–
Baugruppe 1
CPM2C–MAD11
Temperaturfühler–
Baugruppen
CPM2C–TS001
Analog–E/A–
Baugruppe 2
CPM2C–MAD11
Temperaturfühler–
Baugruppe 2
CPM2C-TS101
12 Eingänge
IR 00000
bis IR
00011
2 Analogeingänge
Eingang 0: IR 001
Eingang 1: IR 002
2 Temperatur–
eingänge
Eingang 0: IR 003
Eingang 1: IR 004
2 Analogeingänge
Eingang 0: IR 005
Eingang 1: IR 006
2 Temperatur–
eingänge
Eingang 0: IR 007
Eingang 1: IR 008
8 Ausgänge
IR 01000
bis IR
01007
1 analoger Ausgang
Ausgang: IR 011
CPU–Baugruppe mit
20 E/A–Anschlüssen
1 analoger Ausgang
Ausgang: Wort 012
Keine Ausgänge
15
Bits
IR 000
14
13
12
11
10
09
08
07
06
E/A–Erweiterungs–
baugrp. (24 E/A)
16 Eingänge
IR 00900
bis
IR 00915
8 Ausgänge
IR 01300
bis IR
01307
Keine Ausgänge
05
04
03
02
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
Ausgänge
IR 011
Für den Ausgang von Analog–E/A–Baugruppe 1 verwendet
IR 012
Für den Ausgang von Analog–E/A–Baugruppe 2 verwendet
IR 013
308
5-3
01
00
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
6-2
6-3
6-4
6-5
6-6
6-7
Generelle Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Befehlsterminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kontaktplanstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-1
Basis–Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-2
AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-3
Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-4
OUTPUT und OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-5
Der END–Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-6
Logikblock–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-7
Programmierung mehrerer Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-8
Strompfad–Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-9
Sprungbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Steuerung des Bitzustands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-1
SET und RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-2
DIFFERENTIATE UP– und DIFFERENTIATE DOWN
(Flankengesteuerte Ausführung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-3
KEEP (Bistabiles Flip–Flop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-4
Selbsthaltemerker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbeitsmerker (interne Relais) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorsichtsmaßnahmen bei der Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
310
311
311
312
312
314
316
317
317
325
325
329
331
331
331
332
332
333
335
336
309
Abschnitt
Generelle Vorgehensweise
6-1
6-1
Generelle Vorgehensweise
Es gibt einige grundsätzliche Schritte, die beim Erstellen eines Programms beachtet werden müssen. Im Anhang D E/A–Zuweisungs–Formblatt und Anhang
E Programm–Code–Formblatt sind Formblätter vorbereitet, die eine Hilfestellung beim Programmieren bieten.
1, 2, 3... 1.
2.
3.
4.
5.
6.
7.
8.
9.
Erstellen Sie eine Liste aller E/A–Geräte mit zugeordneten Ein–/Ausgängen und fertigen Sie eine Tabelle an, in der jedem E/A–Gerät die entsprechenden E/A–Bits zugewiesen werden.
Falls Sie LR–Bits für die Link–Verbindung zweier SPS verwenden möchten, sollten Sie auch hierfür ein entsprechendes Formblatt anfertigen, dass
die entsprechenden Zuweisungen enthält.
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.
Ferner schlagen wir vor, dass Sie bei der Programmiervorbereitung Tabellen 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 erläutert).
Erstellen Sie den Kontaktplan.
Geben Sie das Programm in die CPU ein. Falls Sie hierfür eine Programmierkonsole verwenden, so arbeitet diese in AWL.
Überprüfen Sie das Programm auf Syntaxfehler und korrigieren Sie diese.
Starten Sie das Programm, um es auf Ausführungsfehler zu überprüfen
und korrigieren Sie diese ggf.
Ist das vollständige Steuerungssystem nach Installation betriebsbereit,
sollten Sie das Programm starten und noch eventuell erforderliche Feinabstimmungen vornehmen.
Die Grundlagen der Kontaktplan– und AWL–Programmierung werden in Abschnitt 6-3 Kontaktplan–Grundlagen erläutert. Beschreibungen der Programmvorbereitung 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 erlä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 Informationen zur Fehlersuche.
310
Abschnitt
Befehlsterminologie
6-2
6-2
Befehlsterminologie
Bei der Kontaktplan–Programmierung gibt es zwei Befehlsarten. Befehle der einen entsprechen den Bedingungen im Kontaktplan und werden nur bei der Programmkonvertierung in AWL als Befehle angesehen; die andere umfasst Befehle, die letztendlich entsprechend den Bedingungen im Kontaktplan ausgefü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 Operand 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 laufenden Linie, der Stromschiene, von der nach rechts horizontale Linien, die
Netzwerke, abzweigen. Entlang der Netzwerke sind die Bedingungen aufgefü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
00100 00002
00501
00003 HR 0500
00502
00007 TIM 001 LR 0515
00503
00504
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 Bedingungen. Bedingungen mit vertikalen Linien ohne eine Diagonale repräsentieren 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 Anweisungen an deren rechter Seite verbunden ist. Dies ändert nicht an der Kontaktplan–
Programmausführung im funktionalen Sinn. Keine Bedingungen können zwi-
311
Abschnitt
Kontaktplanstruktur
6-3
schen den Befehlen auf der rechten Seite und der rechten Stromschiene eingefü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–Bedienerhandbuch: SPS der C–Serie für weitere Einzelheiten.
6-3-1
Basis–Begriffe
Schließer– und
Öffner–Bedingungen
Abhängig von dem ihr zugewiesenen Operandenbit hat jede Bedingung entweder den Status EIN oder AUS. Eine Schließer–Bedingung ist EIN, wenn das
Operandenbit GESETZT ist. Eine Öffner–Bedingung ist EIN, wenn das Operandenbit 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 GESETZT geschehen soll.
00000
Befehl
Schließer–
Bedingung
00000
Befehl
Öffner–
Bedingung
Der Befehl wird ausgeführt,
wenn IR Bit 00000
GESETZT ist.
Der Befehl wird ausgeführt,
wenn IR Bit 00000 NICHT
GESETZT ist.
Ausführungsbedingungen
In der Kontaktplan–Programmierung bestimmt die logische Verknüpfung der
EIN– und AUS–Bedingungen vor einem Befehl die zusammengesetzte Bedingung, 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 Bedingungen im Kontaktplan über E/A–Bits, Merker, Arbeitsmerker, Zeitgeber/Zähler
usw. bestimmt werden. Die LOAD– und OUTPUT–Befehle können darüber hinaus Bits aus dem TR–Bereich verwenden; jedoch nur in besonderen Applikationen. Sehen Sie für weitere Informationen Abschnitt 6-3-8 Verzweigungsbefehle.
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 genannt. 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 Informationen 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
Abschnitt
Kontaktplanstruktur
6-3
wird unabhängig davon, mit welchem Gerät (PC/AT, Programmierkonsole) programmiert 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 anhand 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–
Struktur
Das Programm belegt im Programmspeicher entsprechende Adressen. Adressen des Programmspeichers unterscheiden sich von denen anderer Speicherbereiche, da sich auf jeder Adresse nicht notwendigerweise die gleiche Anzahl
von Daten befindet. Vielmehr befinden sich auf jeder Adresse die von einem Befehl 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 Kapazitä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 Bitoperanden (ohne Zuweiser) benötigt, wird dieser in der gleichen Zeile wie der Befehl programmiert. Die übrigen Worte, die für den Befehl erforderlich sind, beinhalten 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
00000
00001
00002
00003
00004
00005
00006
LD
AND
OR
LD NOT
OR
AND LD
MOV (21)
Operanden
HR
DM
00007
00008
00009
00010
00011
00012
00013
0001
00001
00002
00100
00101
000
0000
CMP (20)
DM
HR
0000
00
25505
20000
DM
DM
0000
0500
00502
00005
20001
AND
OUT
MOV (21)
LD
AND
OUT
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 überprüft werden kann.
313
Abschnitt
Kontaktplanstruktur
6-3
Die Programmadressen müssen während der Programmierrung nicht eingegeben werden, sondern werden automatisch fortlaufend angezeigt. Eine dezidierte 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 weiteren 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 Befehle 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 Befehle verwendet.
00000
LOAD–Befehl
00000
LOAD NOT–BEFEHL
Adresse
Befehl
00000
00001
00002
00003
LD
Befehl
LD NOT
Befehl
Operanden
00000
00000
Ist in dem Strompfad nur eine einzige Bedingung vorhanden, ist die Ausführungsbedingung 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ührungsbedingung 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, entspricht 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 Befehle in der AWL eine Zeile.
00000
00100
LR 0000
Befehl
Adresse
00000
00001
00002
00003
Befehl
LD
AND NOT
AND
Befehl
Operanden
LR
00000
00100
0000
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 Gesamtheit aller Bedingungen bis zu diesem Punkt) und der Zustand des dem
AND–Befehl zugeordneten Operandenbits zu beachten ist. Falls beide den Zustand WAHR aufweisen, folgt hieraus eine WAHR–Ausführungsbedingung mit
dem Zustand WAHR für den nächsten Befehl. Falls irgendeine Bedingung
314
Abschnitt
Kontaktplanstruktur
6-3
FALSCH ist, ist das Gesamtergebnis ebenfalls AUS. Die Ausführungsbedingung 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 zwischen 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 Bedingungen einem OR oder OR NOT–Befehl. Das nachfolgende Beispiel zeigt drei Bedingungen, die in ihrer Reihenfolge von oben nach unten einem LOAD NOT–,
OR NOT– und OR–Befehl entsprechen. Wiederum benötigt jeder dieser Befehle in der AWL eine Zeile.
00000
Befehl
00100
LR 0000
Adresse
Befehl
00000
00001
00002
00003
LD NOT
OR NOT
OR
Befehl
Operanden
00000
00100
0000
LR
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ührungsbedingung mit dem Zustand WAHR für den nächsten Befehl.
Verknüpfung von AND– und Sollen in einem komplizierteren Kontaktplan AND– und OR–Befehle miteinanOR–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 Operandenbit bewirkt. Das folgende Beispiel veranschaulicht, dass der Kontaktplan
und die AWL der gleichen Logik folgen.
00000
00001
00002
00003
Befehl
00200
Adresse
00000
00001
00002
00003
00004
00005
Befehl
LD
AND
OR
AND
AND NOT
Befehl
Operanden
00000
00001
00200
00002
00003
315
Abschnitt
Kontaktplanstruktur
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 logischen 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ührungsbedingungen ist die Verwendung der Befehle OUTPUT und OUTPUT
NOT. Diese Befehle steuern den Zustand des gekennzeichneten Operandenbits 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ückgesetzt. Mit dem OUTPUT NOT–Befehl wird das Operandenbit, wenn und solange die Ausführungsbedingung FALSCH ist, gesetzt und, wenn und solange
die Ausführungsbedingung WAHR ist, zurückgesetzt. Dies ist nachfolgend dargestellt. Wie nachstehend dargestellt, erfordert jeder dieser Befehle in der AWL
eine Zeile.
Adresse
00000
01000
00000
00001
Befehl
LD
OUT
Operanden
00000
01000
00001
01001
Adresse
00000
00001
Befehl
LD
OUT NOT
Operanden
00001
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 Eingangsbits 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
Abschnitt
Kontaktplanstruktur
6-3-5
6-3
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–Befehl 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 Befehle 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)
Adresse
00500
00501
00502
00503
Befehl
Programmende
Operanden
LD
AND NOT
Befehl
END(01)
00000
00001
---
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 erlä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–Verknü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
00003
00001
Adresse
Befehl
00000
00001
00002
00003
00004
LD
OR
LD
OR NOT
AND LD
Operanden
00000
00001
00002
00003
---
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üpfung 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 verwendeten” Ausführungsbedingung mit der dann aktuellen Ausführungsbedingung 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–Befehle, 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 Zustand 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 werden Striche dazu verwendet, anzuzeigen, dass keine Operandenzuweisung
oder kein Eingang erforderlich ist.
OR LOAD
318
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-
Abschnitt
Kontaktplanstruktur
6-3
rungsbedingung mit einer Oder–Verknüpfung zueinander in Beziehung gesetzt
werden.
00000
00001
Befehl
00002
Adresse
00000
00001
00002
00003
00004
00003
Befehl
Operanden
LD
AND NOT
LD
AND
OR LD
00000
00001
00002
00003
---
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 jedem 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 erste 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–Befehle 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 werden 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 sieben Logikblock–Befehle erforderlich sind. Mit der ersten Methode kann eine beliebige 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 geschaltet sind. Die Programmierung der Programme ist ebenfalls dargestellt:
00000
00002
00004
20000
00001
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
Befehl
LD
OR NOT
LD NOT
OR
AND LD
LD
OR
AND LD
OUT
00003
Operanden
00000
00001
00002
00003
—
00004
00005
—
20000
00005
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD
OR NOT
LD NOT
OR
LD
OR
AND LD
AND LD
OUT
Operanden
00000
00001
00002
00003
00004
00005
—
—
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 ersten Methode verknüpft werden können.
319
Abschnitt
Kontaktplanstruktur
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 Operanden 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
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD
AND NOT
LD NOT
AND NOT
OR LD
LD
AND
OR LD
OUT
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD
AND NOT
LD NOT
AND NOT
LD
AND
OR LD
OR LD
OUT
00000
00001
00002
00003
–
00004
00005
–
20001
Operanden
00000
00001
00002
00003
00004
00005
–
–
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 ersten Methode verknüpft werden können.
Verknüpfen von AND LOAD
und OR LOAD
Sollen AND LOAD und OR LOAD miteinander verknüpft werden, können, solange 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
a
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
320
Block
b
Befehl
LD
AND NOT
LD
AND
OR
OR
AND LD
OUT
Operanden
00000
00001
00002
00003
00201
00004
–
20001
Abschnitt
Kontaktplanstruktur
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 miteinander 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 umgekehrter Reihenfolge programmiert werden, d.h. der Logikblock–Befehl für die
letzten zwei Blöcke wird zuerst eingegeben, gefolgt von der Ausführungsbedingung, die aus dem ersten Logikblock–Befehl resultiert und der Ausführungsbedingung des 3. Logikblockes vom Ende aus und zurück zum ersten zu verknüpfenden Logikblock.
Block
b1
00000 00001
00002 00003
20002
00004 00202
Block
b2
Block
a
Komplexe Kontaktpläne
Block
b
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD NOT
AND
LD
AND NOT
LD NOT
AND
OR LD
AND LD
OUT
Operanden
00000
00001
00002
00003
00004
00202
–
–
20002
Um zu ermitteln, welche Logikblock–Befehle erforderlich sind, um einen Kontaktplan zu programmieren, ist es manchmal notwendig, den Kontaktplan in zunä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 davon, ob diese von einer Einzelbedingung, einem logischen Block oder einem
vorhergehenden Logikblock–Befehl stammen.
Bei komplizierten Kontaktplänen sollte die Programmierung der Blöcke grundsä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
Abschnitt
Kontaktplanstruktur
6-3
Der nachfolgende Kontaktplan muss in zwei Blöcke, und diese dann in zwei weitere Blöcke unterteilt werden, bevor er programmiert werden kann. Wie nachstehend 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
a1
00000 00001
Block
b1
00004 00005
20003
00002 00003
00006 00007
Block
a2
Block
b2
Block
a
Block
b
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
LD
AND NOT
LD NOT
AND
OR LD
LD
AND
LD
AND
OR LD
AND LD
OUT
Operanden
00000
00001
00002
00003
–
00004
00005
00006
00007
–
–
20003
Blocks a1 und a2
Block b1 und b2
Blöcke a und b
Der folgende Kontaktplan ist leicht zu kodieren, wenn folgende Reihenfolge eingehalten 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 verknü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ührungsbedingung zu verknüpfen ist. Nach dem Kodieren von Block d muss mit einem dritten AND LOAD–Befehl dessen Ausführungsbedingung mit der Ausführungsbedingung des zweiten AND LOAD–Befehls verknüpft werden und so fort, bis zum
Erreichen des Blocks n.
20000
Block
a
322
Block
b
Block
c
Block
n
Abschnitt
Kontaktplanstruktur
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
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
LD
LD
AND NOT
OR LD
AND LD
LD NOT
AND
OR LD
LD NOT
AND
OR LD
OUT
Operanden
LR 0000
00002
00004
00005
00006
00007
00003
LR
00000
00001
00002
00003
––
––
00004
00005
––
00006
00007
––
0000
Das obige Programm ist ausführbar. Wird der Kontaktplan jedoch wie nachstehend gezeichnet, führt dies zu einer Vereinfachung des Programms und zur Einsparung von Speicherplatz, da sowohl der erste OR LOAD– als auch der erste
AND LOAD–Befehl entbehrlich wird.
00002
00003
00000
LR 0000
00001
00004
00005
00006
00007
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
LD
AND NOT
OR
AND
LD NOT
AND
OR LD
LD NOT
AND
OR LD
OUT
Operanden
LR
00002
00003
00001
00000
00004
00005
-00006
00007
––
0000
Beim folgenden Kontaktplan sollten Sie zunächst die fünf Blöcke programmieren 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
LR 0000
Block
a
Block
b
Block
c
00003
00004
Block
d
00005
00006
00007
Blöcke d und e
Block
e
Block c mit Ergebnis Vorzeile
Block b mit Ergebnis Vorzeile
Block a mit Ergebnis Vorzeile
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
LD
AND
LD
AND
LD
LD
AND
OR LD
AND LD
OR LD
AND LD
OUT
Operanden
LR
00000
00001
00002
00003
00004
00005
00006
00007
––
––
––
––
0000
323
Abschnitt
Kontaktplanstruktur
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
Adresse
LR 0000
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00005
00001
00002
Befehl
Operanden
LD
AND
OR
AND
AND
LD
AND
OR LD
AND
OUT
00006
00007
00005
00003
00004
00001
00002
––
00000
0000
LR
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 c
Block b
Der erste Logikblock–Befehl dient dazu, die aus Block a und b folgenden Ausfü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 nachfolgende Abbildung veranschaulicht die logischen Abläufe.
Block b
Block a
00000
00001
01000
01001
LD
UND
00000
00001
LD
UND
01000
01001
OR LD
Block c
20000
00005
00004
00005
OR
20000
LD
AND
00002
00003
00006
AND
00002
AND NOT 00003
OR
AND LD
20000
324
00004
00006
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
AND
LD
AND
OR LD
OR
AND
AND NOT
LD
AND
OR
AND LD
OUT
Operanden
00000
00001
01000
01001
––
20000
00002
00003
00004
00005
00006
––
20000
Abschnitt
Kontaktplanstruktur
6-3-7
6-3
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
00001
20000
00002
00004
20001
HR 0000
6-3-8
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
Befehl
LD
OR
OR
OR
AND
OUT
OUT
AND
OUT
Operanden
HR
HR
00000
00001
00002
0000
00003
0001
20000
00004
20001
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 Problemstellung besteht darin, dass der Strompfad zunächst von links nach rechts abgearbeitet wird und das Programm erst nach der Ausführung des ersten Befehls zum
Verzweigungspunkt zurückkehrt, um dann den abzweigenden Strompfad abzuarbeiten. Sollte also eine Bedingung auf einem Strompfad hinter einem Verzweigungspunkt liegen, könnte sich die Ausführungsbedingung innerhalb dieser Zeitspanne verändern, mit der Folge, dass eine ordnungsgemäße Programmausführung unmöglich wird. Die folgenden Abbildungen veranschaulichen dies. In beiden Fällen wird zunächst Befehl 1 ausgeführt, bevor das Programm zum Verzweigungspunkt zurückkehrt und den Strompfad, der zum Befehl 2 führt, abarbeitet.
00000
Verzweigungs–
punkt
Adresse
Befehl 1
Befehl 2
00000
00001
00002
00003
Befehl 1
Adresse
00002
Abbildung A: Korrekter Ablauf in KOP und AWL
Verzweigungspunkt
00000
Befehl
LD
Befehl 1
AND
Befehl 2
Operanden
00000
00002
00001
00002
Befehl 2
Abbildung B: Korrektur des fehlerhaften Ablaufs in AWL–Darstellung
erforderlich
00000
00001
00002
00003
00004
Befehl
LD
AND
Befehl 1
AND
Befehl 2
Operanden
00000
00001
00002
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 erforderlich.
Wenn, wie in Abbildung B, auf dem oberen Strompfad zwischen Verzweigungspunkt 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 abzweigenden 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
Abschnitt
Kontaktplanstruktur
6-3
poräre Merker”), zum anderen die Verriegelungsbefehle IL(02)/IL(03) in der
AWL–Darstellung angewendet werden.
Die TR–Bits TR 0 bis TR 7 (also insgesamt 8 Bits) können zum temporären Erhalt der Ausführungsbedingung in der AWL–Darstellung verwendet werden.
Wird ein TR–Bit auf einen Verzweigungspunkt gesetzt, wird beim ersten Erreichen des Verzweigungspunktes die aktuelle Ausführungsbedingung im zugewiesenen TR–Bit gespeichert. Bei Rückkehr des Programms zum Verzweigungspunkt stellt das TR–Bit die ursprüngliche Ausführungsbedingung wieder
her.
TR–Bits
Um einen korrekten Ablauf zu gewährleisten, muss der obige, unter B abgebildete Kontaktplan gemäß nachfolgender Abbildung verändert werden. In der
AWL wird die Ausführungsbedingung am Verzweigungspunkt gespeichert, wobei das TR–Bit als Operand des OUTPUT–Befehls verwendet wird. Bei der
Rückkehr des Programms zum Verzweigungspunkt wird die Ausführungsbedingung unter Verwendung des TR–Bits als Operand des LOAD–Befehls wiederhergestellt.
TR 0
Adresse
00001
00000
Befehl 1
00002
Befehl 2
Abbildung B: Korrigierter Ablauf in AWL unter Verwendung eines TR–Bits
00000
00001
00002
00003
00004
00005
00006
Befehl
Operanden
LD
OUT
AND
Befehl 1
LD
AND
Befehl 2
00000
0
00001
TR
TR
0
00002
Der obige Code wird wie folgt interpretiert: Der Zustand von IR 00000 wird geladen (LOAD–Befehl), um die anfängliche Ausführungsbedingung zu erzeugen.
Diese Ausführungsbedingung wird dann unter Verwendung des OUTPUT–Befehls an TR 0 ausgegeben, um den Zustand am Verzweigungspunkt zu speichern. Diese Ausführungsbedingung wird mit dem Zustand von IR 00001 AND–
verknüpft und der Befehl 1 entsprechend ausgeführt. Die am Verzweigungspunkt gespeicherte Ausführungsbedingung wird dann zurückgeladen (ein
LOAD–Befehl mit TR 0 als Operand), mit dem Zustand von IR 00002 AND–verknüpft und dann Befehl 2 entsprechend ausgeführt.
Das folgende Beispiel zeigt eine Anwendung mit zwei TR–Bits.
TR 0
00000
TR 1
00001
00002
Befehl 1
00003
Befehl 2
00004
Befehl 3
00005
Befehl 4
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
LD
OUT
AND
OUT
AND
Befehl 1
LD
AND
Befehl 2
LD
AND
Befehl 3
LD
AND NOT
Befehl 4
Operanden
TR
TR
00000
0
00001
1
00002
TR
1
00003
TR
0
00004
TR
0
00005
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
Abschnitt
Kontaktplanstruktur
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 Verzweigungspunkte mit zwischenzuspeichernden Ausführungszuständen erforderlich, müssen Verriegelungen (eine Begriffserklärung befindet sich weiter hinten im Handbuch) 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 Beispiele veranschaulichen dies. Die jeweils untere Version beinhaltet weniger Befehle und keine TR–Bits. Im ersten Beispiel wird dies durch eine Neuorganisation der Teile des Befehlsblockes erreicht: durch Weglassen des zweiten OUTPUT–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 werden.
TR 0
00000
00000
00001
00003
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 Programmiersoftware 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 speichern, 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
Abschnitt
Kontaktplanstruktur
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 weiteren Befehle bis zum Erreichen von INTERLOCK CLEAR mit der Ausführungsbedingung FALSCH ausgeführt und damit der gesamte Abschnitt des Kontaktplans 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 separaten Strompfad programmiert und schließlich wird ein weiterer letzter Strompfad
hinzugefügt, der mit dem INTERLOCK CLEAR–Befehl abschließt. Keine Bedingungen 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
00000
00001
00002
00003
00004
00005
00006
00001
Befehl 1
00002
Befehl 2
ILC (03)
Befehl
Operanden
LD
IL (02)
LD
Befehl 1
LD
Befehl 2
ILC (03)
00000
–––
00001
00002
---
Ist in der oben dargestellten, geänderten Version des Kontaktplanes IR 00000
GESETZT, bestimmt der Zustand von IR 00001 bzw. IR 00002 die Ausführungsbedingung für Befehl 1 und 2. Das Setzen von IR 00000 bewirkt das gleiche Ergebnis wie eine AND–Verknüpfung des Zustands der beiden Bits. Ist IR 00001
nicht gesetzt, bewirkt der INTERLOCK–Befehl eine FALSCH–Ausführungsbedingung für die Befehle 1 und 2 und die Programmausführung wird dann entsprechend dem unteren Strompfad mit dem INTERLOCK CLEAR–Befehl fortgesetzt.
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)
00001
Befehl 1
00002
IL (02)
00003
00004
Befehl 2
00005
Befehl 3
00006
Befehl 4
ILC (03)
328
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
LD
IL (02)
LD
Befehl 1
LD
IL (02)
LD
AND NOT
Befehl 2
LD
Befehl 3
LD
Befehl 4
ILC (03)
Operanden
00000
–––
00001
00002
–––
00003
00004
00005
00006
---
Abschnitt
Kontaktplanstruktur
6-3
Ist IR 00000 im obenstehenden Kontaktplan nicht gesetzt (d.h., wenn die Ausfü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, fortgefahren. Ist IR 00000 gesetzt, wird der Zustand von IR 00001 als Ausführungsbedingung für Befehl 1 geladen und der Zustand von IR 00002 bestimmt die Ausfü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ührungsbedingung für weitere Strompfade.
6-3-9
Sprungbefehle
Mit einer entsprechenden Ausführungsbedingung können bestimmte Programmabschnitte übersprungen werden. Die Wirkung eines Sprungbefehls ist
der Wirkung eines INTERLOCK–Befehls mit der FALSCH–Ausführungsbedingung ähnlich. Beim Sprung wird jedoch der Zustand der Befehlsoperanden beibehalten. Sprungbefehle dienen daher zur Steuerung von Geräten, die Ausgänge mit Selbsthaltung benötigen, wie z.B. pneumatische und hydraulische
Anlagen. Bei elektronischen Geräten, die diese Art von Ausgängen nicht erfordern, 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–Anweisung. 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 verwendet 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 veranschaulicht werden. Obwohl 01 als Sprungnummer verwendet wurde, könnte jede Zahl
zwischen 01 und 99 verwendet werden, solange diese noch nicht in einem anderen Teil des Programms verwendet wird. Außer der Sprungnummer benötigen JUMP und JUMP END keine weiteren Operanden.
00000
JMP (04) 01
00001
Befehl 1
00002
Befehl 2
JME (05) 01
Abbildung B: Korrigierter Ablauf mit Sprungbefehl
Adresse
00000
00001
00002
00003
00004
00005
00006
Befehl
LD
JMP (04)
LD
Befehl 1
LD
Befehl 2
JME (05)
Operanden
00000
01
00001
00002
01
Die Version der Abbildung B würde eine kürzere Zykluszeit als irgendeine der
anderen Kontaktplanversionen besitzen.
329
Abschnitt
Kontaktplanstruktur
6-3
Der zweite Sprungtyp wird mit Sprungnummer 00 erzeugt. Sprungnummer 00
kann mit beliebig vielen JUMP–Befehlen verwendet werden, die dann nacheinander ausgeführt werden. Dies bedeutet, dass nur ein einziger JUMP End–Befehl 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–Befehl mit der Sprungnummer 00 fortgesetzt. Damit können große Programmabschnitte ü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 aufgeführt, jedoch insofern abgeändert, als es die Funktionsweise des JUMP–Befehls mit Sprungnummer 00 erläutert. Der wesentliche Unterscheid zwischen
beiden Befehlsarten besteht darin, dass der INTERLOCK–Befehl den Bitzustand innerhalb ganzer Programmabschnitte zurücksetzt, während der JUMP–
Befehl den Bitzustand überhaupt nicht beeinflußt.
00000
JMP (04) 00
00001
Befehl 1
00002
JMP (04) 00
00003
00004
Befehl 2
00005
Befehl 3
00006
Befehl 4
JME (05) 00
330
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
LD
JMP (04)
LD
Befehl 1
LD
JMP (04)
LD
AND NOT
Befehl 2
LD
Befehl 3
LD
Befehl 4
JME (05)
Operanden
00000
00
00001
00002
00
00003
00004
00005
00006
00
Abschnitt
Steuerung des Bitzustands
6-4
6-4
Steuerung des Bitzustands
Es gibt sieben Basisbefehle, die zur Steuerung des individuellem Bitstatus verwendet werden können. Dies sind: OUTPUT, OUTPUT NOT, SET, RESET, DIFFERENTIATE UP, DIFFERENTIATE DOWN und KEEP. Alle diese Befehle werden als letzter Befehl des Strompfads programmiert und besitzen eine Bitadresse als Operanden. Obwohl Abschnitt 7-8 Bit–Steuerbefehle eine umfangreiche Beschreibung enthält, erfolgt an dieser Stelle auf Grund der besonderen
Bedeutung dieser Befehle bereits eine Beschreibung (ohne OUTPUT und OUTPUT 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 verwendet werden, den Zustand anderer Bits im E/A– oder in anderen Speicherbereichen 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–Befehlen, mit dem Unterschied, dass eine Änderung des Bitzustandes nur bei einer 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 Operandenbit 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ührungsbedingung 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 Zustand IR 00100 dann einnimmt. Wird IR 00101 gesetzt, wird IR 20000 (RESET)
zurückgesetzt.
Adresse
00100
SET
20000
00101
RSET 20000
00000
00001
00002
00003
Befehl
LD
SET
LD
RSET
Operanden
00100
20000
00101
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 Operandenbit 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
Abschnitt
Steuerung des Bitzustands
6-4
WAHR auf FALSCH gewechselt hat. Beide Befehle erfordern in der AWL jeweils
eine Zeile.
00000
DIFU (13) 20001
Adresse
Befehl
00000
00001
LD
DIFU(13)
Operanden
00000
20001
00001
DIFD (14) 20002
Adresse
Befehl
00000
00001
LD
DIFD (14)
Operanden
00001
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 unabhängig davon, welchen Zustand IR 00000 einnimmt. Mit dem DIFFERENTIATION 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 basierend 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 gesetzt. 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) Abschnitt 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 anderen Befehlen, die aus mehr als einer AWL–Zeile bestehen, werden die Befehlszeilen vor dem Befehl, der diese steuert, programmiert.
00002
00003
S: Setz–EINGANG
HR 0000
00004
R: Rücksetz–EINGANG
00005
6-4-4
KEEP (11)
Adresse
Befehl
00000
00001
00002
00003
00004
LD
AND NOT
LD
OR
KEEP (11)
Operanden
HR
00002
00003
00004
00005
0000
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–Befehl gesetzt sein, damit eine Rücksetzung erfolgen kann. Ohne diese Rücksetzung gibt es keine Möglichkeit das Operandenbit des OUTPUT–Befehls zu
steuern.
Der obenstehende Kontaktplan kann folgendermaßen verändert werden. Lediglich die Programmausführung in einem verriegelten Programmabschnitt erfolgt unterschiedlich, wenn nämlich die Ausführungsbedingung für den INTERLOCK–Befehl WAHR ist. Auch hier, wie im Beispiel zur Veranschaulichung des
332
Abschnitt
Arbeitsmerker (interne Relais)
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
HR 0000
00005
HR 0000
6-5
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
LD
AND NOT
OR
LD NOT
OR NOT
AND LD
OUT
Operanden
HR
HR
00002
00003
0000
00004
00005
–––
0000
Arbeitsmerker (interne Relais)
In der Programmierung ist es oft äußerst schwierig, entsprechende Ausführungsbedingungen durch eine direkte Verknüpfung von Bedingungen zu erzeugen. 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 erforderlich, 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 werden. Alle Bits des E/A–Bereichs ohne zugewiesene E/A–Funktionen und bestimmte 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 unterstützt spätere Programmtestläufe.
Arbeitsmerker–
Anwendungen
Im folgenden werden zwei der gebräuchlichsten Anwendungsmöglichkeiten für
Arbeitsmerker erläutert, um Anhaltspunkte über deren Verwendungsmöglichkeiten zu geben. Sollten Schwierigkeiten bei der Programmierung eines Steuervorgangs auftreten, so sollte die Verwendung von Arbeitsmerkern berücksichtigt werden, um die Programmierung zu vereinfachen.
Arbeitsmerker werden häufig zusammen mit OUTPUT–, OUTPUT NOT–, DIFFERENTIATE 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 Abschnitt 7-16-1 SCHIEBEREGISTER – SFT (10) ist ein Beispiel für die Verwendung 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 umfassendes Verständnis für deren Funktionsweise ist für eine effiziente Programmierung unabdingbar.
Vereinfachung komplexer
Bedingungen
Arbeitsmerker können die Programmierung vereinfachen, wenn eine bestimmte 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 resultierende Ausführungsbedingung als Zustand von IR 21600 speichert. IR 21600
wird dann mit diversen anderen Bedingungen verknüpft, um die Ausgangsbe-
333
Abschnitt
Arbeitsmerker (interne Relais)
6-5
dingungen für IR 20000, IR 20001 und IR 20002 zu bestimmen, d.h., um die diesen Bits zugewiesenen Ausgänge ein– und auszuschalten.
00000
00001
21600
00002
00003
21600
00004
00005
20000
21600
00005
20001
00004
21600
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
LD
AND NOT
OR
OR NOT
OUT
LD
AND
AND NOT
OUT
LD
OR NOT
AND
OUT
LD NOT
OR
OR
OUT
Operanden
00000
00001
00002
00003
21600
21600
00004
00005
20000
21600
00004
00005
20001
21600
00006
00007
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 nachfolgenden 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 wiederum als Operand des DIFFERENTIATE UP–Befehls (DIFU(13)) programmiert 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
DIFU (13) 22500
22500
20000
00001
00004
334
00002
00003
00005
Adresse
Befehl
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
LD
DIFU(13)
LD
LD
AND NOT
AND NOT
OR LD
LD
AND NOT
OR LD
OUT
Operanden
00000
22500
22500
00001
00002
00003
–––
00004
00005
–––
20000
Abschnitt
Vorsichtsmaßnahmen bei der Programmierung
6-6
6-6
Vorsichtsmaßnahmen bei der Programmierung
Die Anzahl der Bedingungen, die in Reihe oder Parallel verwendet werden können, 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 vielmehr, 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
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
LD
AND
OR
AND
Befehl 1
LD
AND
OR
AND NOT
Befehl 2
Operanden
Befehl 1
00000
00000
00004
00003
Befehl 2
00001
Abbildung B: Korrigierte Version
00001
00004
00000
00002
00000
00004
00001
00003
Einem bestimmten Bit können Bedingungen beliebig oft zugewiesen werden.
Komplexe Programme sind oft das Ergebnis des Versuchs, die Anzahl der Zugriffe 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 nachfolgende 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
Abbildung B: Korrigierte Version
Adresse
00000
00001
Befehl
LD
Befehl
Operanden
25313
Es gibt einige Ausnahmen von dieser Regel, insbesondere für die INTERLOCK
CLEAR–, JUMP END– und STEP–Befehle. Diese Befehle werden jeweils paarweise verwendet und von der Ausführungsbedingung des ersten Befehls gesteuert. Es sollten keine weiteren Bedingungen auf Strompfaden plaziert werden, 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 notwendige Anzahl von Befehlen zu beschränken. In der nachfolgenden Abbildung A
ist ein OR LOAD–Befehl erforderlich, um den oberen und unteren Strompfad-
335
Abschnitt
Programmausführung
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.
Adresse
00000
20007
00001 20007
00000
00001
00002
00003
00004
Befehl
LD
LD
AND
OR LD
OUT
Operanden
00000
00001
20007
–––
20007
Abbildung A
Adresse
00001 20007
20007
00000
00000
00001
00002
00003
Befehl
LD
AND
OR
OUT
Operanden
00001
20007
00000
20007
Abbildung B
6-7
Programmausführung
Bei der ersten Programmausführung durchläuft die CPU–Baugruppe das Programm von Anfang bis Ende. Dabei werden alle Bedingungen und die Ausführung aller Befehle überprüft. Es ist wichtig, dass die Befehle in der geeigneten
Reihenfolge angeordnet werden; z.B. sollte der gewünschte Dateninhalt tatsächlich in ein Datenwort verschoben werden, bevor dieses Wort als Operand
eines Befehls verwendet wird. Bedenken Sie immer, dass ein Strompfad zunä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 Programmieren auch komplizierter Steuerungsvorgänge erheblich vereinfachen. Dieses Kapitel beschreibt die Kontaktplan–Symbole, 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 Ausfü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
7-2
7-3
7-4
7-5
7-6
7-7
7-8
7-9
7-10
7-11
7-12
7-13
7-14
7-15
7-16
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Befehlsformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Datenbereiche, Zuweiserwerte und Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
340
Befehle mit flankengesteuerter Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
342
Eingabe von rechts angeordneten Befehlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
343
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
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
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
NO OPERATION (Keine Funktion) – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . .
355
END (ENDE) – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
355
INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) –
IL(02) und ILC(03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
356
JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05) . . . . . . . . . . . .
358
Anwenderdefinierte Fehlerbefehle
FAILURE ALARM AND RESET und SEVERE FAILURE ALARM –
FAL(06) und FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
359
Schrittbefehle
STEP DEFINE und STEP START (Schritt und nächster Schritt) –
STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
360
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
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-3
7-16-4
ARITHMETIC SHIFT LEFT (Verschiebung nach links) – ASL (25) .
381
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
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
7-22
7-23
7-24
7-25
7-26
7-27
7-28
7-29
7-30
DOUBLE BCD MULTIPLY (BCD–Doppelwort–Multiplikation) –
MULL(56) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
442
7-21-10 DOUBLE BCD DIVIDE (BCD–Doppelwort–Division) – DIVL(57) .
443
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
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
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
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
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
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
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
Interrupt–Verarbeitungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
481
7-29-1
INTERRUPT CONTROL (Interrupt–Steuerung) – INT(89) . . . . . . . .
481
7-29-2
INTERVAL TIMER (Intervall–Zeitgeber) – STIM(69) . . . . . . . . . . . .
484
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
7-1
Abschnitt
7-3
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 Funktionscodes dienen der Befehlseingabe in die CPU. Eine nach Funktionscodes
geordnete Tabelle ist ebenfalls Bestandteil von Anhang A Programmierbefehle. 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 Operanden weisen auf Daten hin bzw. übergeben diese, mit denen der Befehl ausgefü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 (dieser 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 gleichen 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 Sprungbefehl 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 Operanden zuverwendenden Speicherbereiche und die den Zuweisern zuzuordnenden 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 Operanden verwendet werden. Benötigt ein Operand z.B. zwei Worte, kann das letzte
Wort innerhalb des Speicherbereichs nicht dem Operanden als erstes Wort zugewiesen werden, da die Worte immer im selben Speicherbereich liegen müssen. Andere besondere Einschränkungen finden Sie im Abschnitt Einschränkungen. Sehen Sie den Abschnitt 5 Speicherbereiche bzgl. Adressierkonventionen und Adressen von Merkern und Steuerbits.
340
Abschnitt
Datenbereiche, Zuweiserwerte und Merker
! Vorsicht
7-3
Die IR– und SR–Bereiche werden als separate Speicherbereiche angesehen.
Hat ein Operand Zugriff auf den einen Bereich, bedeutet dies nicht notwendigerweise, 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 eines Befehls beeinflußt werden. Dies umfaßt auch die nachfolgenden SR–Bereichsmerker.
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ührung verwendet wird. Ist ER aktiviert, wird angezeigt, dass ein Fehler bei der aktuellen 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. Befehle werden bei gesetztem ER–Merker nicht ausgeführt. Sehen Sie Anhang B
Fehler– und Arithmetikmerker–Vorgänge für eine Tabelle der Befehle und Merker, 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
MOV(21)
*DM 0001
LR 00
Indirekte
Adresse
Inhalt
DM 0000
DM 0001
DM 0002
4C59
1111
F35A
DM 1111
DM 1113
DM 1114
5555
2506
D541
Zeigt auf
DM 1111.
5555 übertragen nach
LR 00.
Bei der indirekten Adressierung muss das gewünschte Wort in BCD–Form angegeben werden. Darüberhinaus muss es ein Wort innerhalb des DM–Bereiches 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 verwendeten Befehl abhängig. Konstanten müssen ebenfalls in den vom entsprechenden Befehl geforderten Format eingegeben werden, d.h. in BCD oder hexadezimal.
341
Abschnitt
Befehle mit flankengesteuerter Ausführung
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 @–Symbol vor dem mnemonischen Code gekennzeichnet.
Ein Befehl ohne flankengesteuerte Ausführung wird abgearbeitet, wenn seine
Ausführungsbedingung WAHR ist. Ein Befehl mit flankengesteuerter Ausführung wird nur ein Mal, und zwar nach dem AUS/EIN–Übergang der Ausführungsbedingung ausgeführt. Hat sich die Ausführungsbedingung seit der letzten Überprüfung durch das Programm nicht verändert oder ist er von EIN auf
AUS gewechselt, wird der Befehl nicht ausgeführt. Die nachfolgenden Kontaktplä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
MOV(21)
HR 10
Abbildung A
DM 0000
Adresse
00000
00001
Befehl
Operanden
LD
MOV (21)
00000
HR
DM
10
0000
00000
Abbildung B
@MOV(21)
Adresse
Befehl
HR 10
00000
00001
LD
@MOV(21)
DM 0000
Operanden
00000
HR
DM
10
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 Zykluszeit von 80 ms für 2 Sekunden eingeschaltet bleibt, wird die Funktion nur ein einziges Mal, während des ersten Zyklus, nachdem 00000 von AUS auf EIN wechselt, 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 ausgeführt wird. Bei der Eingabe über die Programmierkonsole werden die gleichen Funktionscodes verwendet, jedoch wird NOT hinter dem Funktionscode
eingegeben, um zu kennenzeichnen, dass es sich um einen Befehl mit flankengesteuerter 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 INTERLOCK–CLEAR–Befehle auf Befehle mit flankengesteuerter Ausführung.
Die CPM2A/CPM2C verfügt ebenfalls über Befehle mit flankengesteuerter Ausführung: DIFU(13) und DIFD(14). DIFU(13) arbeitet wie ein Befehl mit flankengesteuerter 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
7-5
Abschnitt
7-5
Eingabe von rechts angeordneten Befehlen
Der AWL–Code für Kontaktpläne wird in Abschnitt 6 Kontaktplan–Programmierung 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 gesonderte Zeilen geschrieben, und zwar in der gleichen Reihenfolge, wie sie als Kontaktplansymbole der Befehle erscheinen.
Die Befehlsspalten der AWL werden ausschließlich mit dem Befehlswort ausgefüllt. In allen anderen Zeilen bleiben die beiden linken Spalten frei. Sollte der Befehl 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 Speicherbereich 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 Befehlswortes 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 Programmierkonsole sicher, dass Sie den richtigen Funktionscode eingeben. Das Gleiche 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 Anwender zugewiesene Funktionscodes der Befehlstabelle handelt. Sehen Sie
Seite 154 für weitere Informationen.
343
Abschnitt
Eingabe von rechts angeordneten Befehlen
7-5
Der folgende Kontaktplan und der entsprechende AWL–Code verschaulichen
die zuvor beschriebenen Regeln:
00000
Adresse Befehl
00001
DIFU (13) 21600
00002
00100
00200
21600
BCNT (67)
01001 01002
LR 0000
#0001
004
HR 00
00005
TIM 000
#0150
Daten
00000
LD
00000
00001
AND
00001
00002
OR
00002
00003
DIFU(13)
21600
00004
LD
00100
00005
AND NOT
00200
00006
LD
01001
00007
AND NOT
00008
AND NOT
00009
OR LD
00010
AND
00011
BCNT (67)
TIM 000
01002
LR
0000
––
21600
––
#
MOV (21)
0001
004
HR 00
HR
LR 00
HR 0015
00012
LD
00013
TIM
00
00005
000
#
01000
00014
LD
00015
MOV (21)
0150
TIM
000
––
HR
Mehrfache
Anweisungszeilen
00000
SFT (10)
P
HR 00
01001 01002
21600
R
OUT NOT
LR
00
HR
0015
01000
Daten
00000
LD
00000
00001
AND
00001
00002
LD
00002
00003
LD
00100
00004
AND NOT
00200
00005
LD
01001
00006
AND NOT
00007
AND NOT
00008
OR LD
00009
AND
00010
SFT (10)
HR 00
LR 0000
HR 0015
01001
344
00017
Adresse Befehl
I
00002
00200
LD
Setzt ein Befehl mehrere Strompfade voraus (wie z.B. KEEP(11), werden zunächst alle Bedingungen auf dem Strompfad, jeweils beginnend mit LD oder LD
NOT, eingegeben. Die sich so ergebenden logischen Blöcke werden letztendlich durch den Befehl ausgewertet. Das nachstehende Beispiel veranschaulicht
dies für den Befehl SFT(10).
00001
00100
00016
00
00011
LD
00012
OUT NOT
01002
LR
0000
––
21600
HR
00
HR
00
HR
0015
01001
Abschnitt
Befehlstabellen
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 Funktionscodes 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 festgelegte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–Bezeichnung 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.
Rechte Stelle
Linke
e
Stelle
St
ll
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD TO BINARY
(@) BCD
BINARY TO
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
---
---
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
---
---
6
CMPL
DOUBLE
COMPARE
(@) INI
MODE
CONTROL
(@) PRV
HIGHSPEED
COUNTER
PV READ
(@) CTBL
COMPARISON TABLE
LOAD
(@) SPED
SPEED
OUTPUT *
(@) PULS
SET PULSES
*
---
(@) BCNT
BIT
COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-TO-16
DECODER
(@) DMPX
16-TO-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
(@) INT
INTERRUPT
CONTROL
9
---
(@) SBS
SUBROUTINE ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
(@) IORF
I/O
REFRESH
---
(@) MCRO
MACRO
Hinweis * Nur für die CPM1A–Transistorausgangs–Modelle.
345
Abschnitt
Befehlstabellen
7-6
7-6-2 CPM2A/CPM2C–Funktionscodes
In der folgenden Tabelle sind die CPM2A/CPM2C–Befehle aufgeführt, die festgelegte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–
Bezeichnung sind angegeben. Verwenden Sie die Ziffern in der äußersten linken Spalte als linke Stelle und die Nummer in der Spaltenüberschrift als rechte
Stelle des Funktionscodes.
Rechte Stelle
Linke
e
Stelle
St
ll
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD TO
BINARY
(@) BCD
BINARY TO
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
(@) RXD
RECEIVE
(@) TXD
TRANSMIT
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
(@) BINL
DOUBLE
BCD-TODOUBLE
BINARY
(@) BCDL
DOUBLE BINARY-TODOUBLE
BCD
6
CMPL
DOUBLE
COMPARE
(@) INI
MODE
CONTROL
(@) PRV
HIGHSPEED
COUNTER
PV READ
(@) CTBL
COMPARISON TABLE
LOAD
(@) SPED
SPEED OUTPUT
(@) PULS
SET PULSES
(@) SCL
SCALING
(@) BCNT
BIT
COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-TO-16
DECODER
(@) DMPX
16-TO-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
(@) INT
INTERRUPT
CONTROL
9
---
(@) SBS
SUBROUTINE
ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
(@) IORF
I/O
REFRESH
---
(@) MCRO
MACRO
Hinweis Die schattierten Bereiche sind Funktionscodes, denen normalerweise Erweiterte Befehle zugeordnet sind oder denen der Anwender Erweiterte Befehle zuordnen kann. Die folgenden Erweiterten Befehle sind zusätzlich zu denen, die
oben mit Standard–Funktionscodes aufgeführt sind, verfügbar.
AWL–
Befehl
346
Name
AWL–
Befehl
Name
(@)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
(@)SCL2
Skalierung eines vorzeichen–
behafteten Binärwertes zu einem
BCD–Wert
Doppelwort–Bereichsgrößen
o e o
e e c sg öße
l i h
vergleichen
Abschnitt
Befehlstabellen
7-6
7-6-3 SRM1(–V2) Funktionscodes
In der folgenden Tabelle sind die SRM1(-V2)–Befehle aufgeführt, die festgelegte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–Bezeichnung 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.
Rechte Stelle
Linke
e
Stelle
St
ll
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD TO BINARY
(@) BCD
BINARY TO
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
(@) RXD
(@) TXD
TRANSMIT
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
---
---
6
CMPL
DOUBLE
COMPARE
---
---
---
---
---
(@) SCL
SCALING
(@) BCNT
BIT
COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-TO-16
DECODER
(@) DMPX
16-TO-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
---
9
---
(@) SBS
SUBROUTINE
ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
---
---
(@) MCRO
MACRO
RECEIVE
Hinweis Die schattierten Bereiche sind Funktionscodes, denen normalerweise Erweiterte Befehle zugeordnet sind oder denen der Anwender Erweiterte Befehle zuordnen 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
Abschnitt
Befehlstabellen
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–
Befehl
Code
Worte
Name
CPU–Baugruppen
Seite
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
LINKS
Alle
381
ASR(@)
26
2
ARITHMETISCHES VERSCHIEBEN NACH
RECHTS
Alle
381
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
Abschnitt
Befehlstabellen
AWL–
Befehl
Code
Worte
Name
CPU–Baugruppen
7-6
Seite
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
(Nur Transistorausgänge)
466
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
BINÄRWERT ZU BCD
CPM2A/CPM2C
399
SCL3(@)
––
4
SKALIERUNG BCD–WERT ZU
VORZEICHENBEHAFTETEM BINÄRWERT
CPM2A/CPM2C
401
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
(Nur Transistorausgänge)
467
SRCH(@)
––
4
DATENSUCHE
CPM2A/CPM2C
448
SRD(@)
75
3
EIN STELLE NACH RECHTS VERSCHIEBEN
Alle
384
349
Abschnitt
Kontaktplanbefehle
AWL–
Befehl
Code
Worte
Name
CPU–Baugruppen
7-7
Seite
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 Abschnitte 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
LOAD NOT – LD NOT
B: Bit
IR, SR, AR, HR, TC, LR
B
AND – AND
B: Bit
IR, SR, AR, HR, TC, LR
B
AND NOT – AND NOT
B: Bit
IR, SR, AR, HR, TC, LR
B: Bit
OR – OR
B
OR NOT – OR NOT
B
IR, SR, AR, HR, TC, LR
B: Bit
Einschränkung
350
IR, SR, AR, HR, TC, LR
Die Anzahl der verwendeten Befehle wie auch die Reihenfolge ihrer Anwendung wird ausschließlich durch die Speicherkapazität der SPS beschränkt.
Abschnitt
Bitsteuerungs–Befehle
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ührungsbedingungen 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 zugewiesenen 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
Kontaktplansymbol
OR LOAD – OR LD
00000
00002
00001
00003
00000
00001
00002
00003
Kontaktplansymbol
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 verwendet 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 erforderlich, 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 verschiedene Weisen zu setzen und rückzusetzen.
351
Abschnitt
Bitsteuerungs–Befehle
7-8
7-8-1 OUTPUT und OUTPUT NOT – OUT und OUT NOT
OUTPUT – OUT
Kontaktplansymbol
Datenbereiche
B: Bit
B
OUTPUT NOT – OUT NOT
Kontaktplansymbol
IR, SR, AR, HR, LR, TR
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ückgesetzt. Bei einem zugewiesenem TR–Bit erscheint OUT an einem Verzweigungspunkt anstatt am Ende des Strompfads. Sehen Sie Abschnitt 6-3-8 Verzweigungen 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 zurückgesetzt.
OUT und OUT NOT bewirkt die Steuerung der Programmausführung durch setzen und rücksetzen der Bits, die den Bedingungen im Kontaktplan zugewiesen
sind. Dadurch werden die Ausführungsbedigungen für andere Befehle festgelegt. 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 werden. 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
SET B
Datenbereiche
B: Bit
IR, SR, AR, HR, LR
RSET B
B: Bit
IR, SR, AR, HR, LR
Beschreibung
352
Mit SET wird das Operandenbit mit der Ausführungsbedingung WAHR auf EIN
gesetzt. Der Zustand des Bits bleibt jedoch unbeeinflußt, wenn die Ausführungsbedingung FALSCH ist. Mit RSET wird das Operandenbit auf AUS gesetzt, 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.
Abschnitt
Bitsteuerungs–Befehle
7-8
Ebenso unterscheidet sich RSET von OUT NOT, da OUT NOT das Operandenbit 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ückgesetzt wird.
Im zweiten Beispiel (Diagramm B) wird IR 20000 gesetzt, wenn IR 00001 gesetzt wird und bleibt gesetzt (auch wenn IR 00001 rückgesetzt wird), bis IR
00002 gesetzt wird.
00000
20000
Adresse
00000
00001
Diagramm A
Befehl
LD
OUT
Operanden
00000
20000
00001
SET 20000
00002
RSET 20000
Diagramm B
Adresse
00000
00001
00002
00003
Befehl
LD
SET
LD
RSET
Operanden
00001
20000
00002
20000
7-8-3 KEEP (R–S– Flip–Flop) – KEEP(11)
Kontaktplansymbol
Datenbereiche
S
KEEP (11)
B
R
B: Bit
IR, SR, AR, HR, LR
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ührungsbedigungen sind S (SETZ–Eingang) und R (RÜCKSETZ–Eingang). KEEP(11) arbeitet 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ÜCKGESETZT, völlig unabhängig davon, ob die Ausführungsbedingung WAHR bleibt
oder auf FALSCH wechselt. Das Verhältnis zwischen den Ausführungsbedin-
353
Abschnitt
Bitsteuerungs–Befehle
7-8
gungen und dem durch KEEP(11) erzeugten Bitstatus ist nachfolgend dargestellt:
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 Eingangsgerä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
B
A
R
Bits, die dem KEEP–Befehl zugewiesenen sind, werden nicht in INTERLOCK(Verriegelungs)–Bereichen ZURÜCKGESETZT. Sehen Sie Abschnitt
7-11 INTERLOCK und INTERLOCK CLEAR IL(02) und ILC(03) für weitere Informationen.
7-8-4 DIFFERENTIATE UP and DOWN (Ausführung bei
steigender/fallender Flanke) – DIFU(13) und DIFD(14)
Kontaktplansymbole
DIFU(13) B
Datenbereiche
B: Bit
IR, SR, AR, HR, LR
DIFD(14) B
B: Bit
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 genau 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 vorhergehende Ausführungsbedingung FALSCH und ist die aktuelle Ausführungsbedingung WAHR, setzt DIFU(13) das zugewiesene Bit auf EIN. War die vorhergehende Ausführungsbedingung WAHR und die aktuelle Ausführungsbedingung
ist entweder WAHR oder FALSCH, wird DIFU(13) das entsprechende 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
354
Abschnitt 7-10
END (ENDE) – END(01)
länger als für einen Zyklus einnimmt (sehen Sie auch die folgenden Vorsichtsmaß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ührungsbedingung 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 bestimmten 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 Zyklus 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 bestimmbar, wenn die Befehle zwischen IL und ILC, JMP und JME oder in Unterprogrammen 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 ZURÜCKGESETZT wird.
00000
DIFU(13) 20014
DIFD(14) 20015
7-9
Adresse
00000
00001
00002
Befehl
LD
DIFU(13)
DIFD(14)
Operanden
00000
20014
20015
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
Beschreibung
END(01)
Mit END(01) wird jedes Programm abgeschlossen. Sollten Unterprogramme
vorhanden sein, wird END(01) hinter das letzte Unterprogramm gesetzt. Befehle 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 abschnittweise ausgeführt werden soll, um Fehler in der Programmierung einzugrenzen.
Wird kein END(01) im Programm programmiert, kann das Programm nicht ausgefü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)
Beschreibung
Kontaktplansymbol
IL(02)
Kontaktplansymbol
ILC(03)
IL(02) und ILC(03) werden zur Verriegelgung bestimmter Abschnitte im Kontaktplan 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 Programm 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 zugewiesenen 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)–Befehlen muss zumindest ein IL(02)-Befehl programmiert werden.
DIFU(13) und DIFD(14) in
verriegelten
Programmabschnitten
356
Befinden sich DIFU(13)– oder DIFD(14)–Befehle in einem verriegelten Abschnitt und ist die Ausführungsbedingung für IL(02) FALSCH, werden Änderungen der Ausführungsbedingungen für DIFU(13) und DIFD(14) nicht ausgewertet. 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-
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
IL(02)
00001
DIFU(13) 20000
ILC(03)
A
00000
00001
00002
00003
00004
Befehl
Operanden
LD
IL(02)
LD
DIFU(13)
ILC(03)
00000
00001
20000
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 werden 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ückgesetzt.
Werden mehrere IL(02) mit einem einzigen ILC(03) verwendet, gibt das Programmiergerät bei der Programmüberprüfung eine Warnmeldung aus. Die Programmausfü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
00000
IL(02)
00001
TIM 000
#0015
1.5 s
Befehl
00000
00001
00002
00003
LD
IL(02)
LD
TIM
00004
00005
00006
00007
00008
00009
LD
IL(02)
LD
AND NOT
LD
CNT
IL(02)
00100
00010
00011
00012
LD
OUT
ILC(03)
00000
#
00002
00003
Operanden
00004
CP
R
CNT
001
IR 010
00005
01002
ILC(03)
00001
000
0015
00002
00003
00004
00100
001
010
00005
01002
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 ausgefü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
JMP(04) N
Datenbereiche
N: Sprungnummer
#
JME(05) N
N: Sprungnummer
#
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 Abschnitte 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 sofort 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 zwischen 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 Suchungsvorgangs verlängert sich die Zykluszeit im Vergleich zu den anderen
Sprungbefehlen.
Der Status von Zeitgebern, Zählern und allen anderen Bits, die über Befehle gesteuert 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 verwenden, 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
Sprüngen
Wurden DIFU(13) und DIFD(14) so programmiert, ein entsprechendes Bit auf
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 Sprungfunktion 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
Abschnitt 7-13
Anwenderdefinierte Fehlerbefehle
TIMH(15) und TMHH(––) in
Sprüngen
Wird TIMH(15) oder TMHH(––) zwischen JMP(04) und JME(05) programmiert,
erfogt eine Zeitnahme durch einen Interrupt, wenn die Sprungnummern 01 bis
49 verwendet werden; keine Zeitnahme erfolgt, wenn Sprungnummer 00 verwendet 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 eingegeben 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
@FAL(06) n
FAL(06) n
n: FAL–Nummer
# (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 schwerwiegenden 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ührungsbedingung 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 zuzugreifen, 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) angezeigt 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
Abschnitt 7-14
Schrittbefehle
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
STEP(08)
STEP(08) B
Datenbereiche
B: Steuerbit
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 verwendet, das Programm so zu strukturieren, dass größere Abschnitte als gesonderte
Einheiten sowohl ausgeführt als auch zurückgesetzt werden können. Der Programmabschnitt 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 Programmabschnitt nicht enthalten sein dürfen.
STEP(08) verwendet ein Steuerbit aus dem IR– oder HR–Bereich, das den Anfang des durch den Schrittbefehl definierten Programmabschnitts kennzeichnet. STEP(08) erfordert keine Ausführungsbedingung, wird also durch das Bit
selbst gesteuert. Die Ausführung der Schrittbefehl wird durch SNXT(09) eingeleitet, wobei das gleiche Steuerbit wie für den STEP(08)–Befehl verwendet werden 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 stehen, 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 verwendetes 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
Abschnitt 7-14
Schrittbefehle
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)
Adresse
Befehl
00000
00001
00002
LD
SNXT(09)
STEP(08)
Operanden
LR
LR
00000
1005
1005
Schritt von LR 1005 gesteuert
00100
00101
LD
SNXT(09)
00001
20200
Adresse
Befehl
00102
STEP(08)
Ende der Schrittausführung
Operanden
20200
Schritt über IR 20200 gesteuert
00200
00201
00202
LD
SNXT(09)
STEP(08)
00002
23000
–––
Schritte können nacheinander programmiert werden. Jeder Schritt wird durch
STEP(08) eingeleitet und mit SNXT(09) beendet. In diesem Fall sind drei Ausführungsarten möglich: sequentiell, verzweigend oder parallel. Die Ausführungsbedingungen für und die Positionierung von SNXT(09) legt fest, wie die
Schritte ausgeführt werden. Die drei nachfolgenden Beispiele veranschaulichen 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 verwendet werden (sehen Sie das nachfolgende Beispiel 3). Alle Steuerbits müssen aufeinanderfolgen und im gleichen Wort enthalten sein.
Werden IR– und LR–Bits als Steuerbits verwendet, geht deren Status bei Spannungsunterbrechung verloren. Sollte es notwendig sein, den Status aufrecht zu
erhalten, müssen HR–Bits verwendet werden.
361
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
Merker
25407: Schrittstart–Merker: wird für einen Zyklus gesetzt, wenn STEP(08) ausgeführt wird. Er kann zum Zurücksetzen von Zählern in Schritten verwendet werden.
00000
Start
SNXT(09) 20000
20000
STEP(08) 20000
00100
CP
CNT 001
25407
25407
R
Adresse
Befehl
Operanden
00000
00001
00002
00003
LD
SNXT(09)
STEP(08)
LD
00000
20000
20000
00100
#0003
Adresse
00004
00005
1 Zyklus
Befehl
Operanden
LD
CNT
#
25407
01
0003
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 verwendet, 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 Strompfaden 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 werden: entweder für einen Zeitgeber– oder einen Zählerbefehl. Hingegen können
sie als Operanden beliebig oft verwendet werden (nicht in Zeitgeber/Zählerbefehlen).
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 einen Zeitgeber spezifiziert wurde, kann diese mit dem Präfix TIM versehen werden und als Operand in bestimmten Anweisungen vorangestellt werden. Das
TIM–Präfix wird ohne Rücksicht auf den Zeitgeberbefehl verwendet, der zur Definition 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. Werden 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 Speicheradresse 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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 immer ein Befehl, die zweite ist immer ein Bitoperand und die dritte ein Wortoperand. 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 Eingangsbaugruppe als Wortadresse spezifiziert, kann die Eingangsbaugruppe so verdrahtet 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 Dezimalpunkt 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ührungsbedingung 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ückgezä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ührungsbedingung für TIM und dem zugewiesenen Fertigmerker.
Ausführungs–
bedingung
WAHR
FALSCH
WAHR
Fertigmerker
FALSCH
SW
SW
363
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 bleiben, 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 Zustand 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 aktiviert, 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 Zeitgebers 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 Anwendungsprogrammen.
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 Zeitgeber 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Ä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.
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 ZEITGEBER – 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 bleiben, muss eine Zeitgeberschaltung mit nullspannungsicherem Istwert unter
364
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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ückgesetzt, 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 Änderung eines TIMH(15)–Befehls mit Interruptauffrischung nur in der PROGRAM–
Betriebsart vor.
Verwenden Sie Zeitgebernummern 000 bis 003 für TIMH(15). Schnelle Zeitgeber 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 überschreitet.
SPS
Interruptauffrischung jede 10
ms
Aufgefrischt, wenn TIMH(15)
ausgeführt wird
CPM2A/CPM2C
TC 000 bis TC 003
TC 004 bis TC 255
CPM1, CPM1A und
SRM1(–V2)
TC 000 bis TC 003
TC 004 bis TC 127
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 aktiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird jedoch 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 irgendwo zwischen 0 und 0.01 s aktiviert, nachdem die Ausführungsbedingung
des Zeitgebers 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,01 s) in Anwendungsprogrammen.
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)
000
#0150
Adresse
1.5 s
Befehl
00000
00001
LD
TIMH(15)
00002
00003
LD
OUT
TIM 000
01600
Operanden
#
TIM
00000
000
0150
000
01600
365
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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ÄHLERBEFEHL verwendet werden. TC–Nummern reichen von TIM000 bis TIM255.
(Mit der Programmiersoftware SYSWIN 3.4: Sie müssen ”TIM” mit der tatsächlichen 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 betragen; 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ührungsbedingung FALSCH wird. Nachdem er aktiviert ist, zählt TMHH(––), beginnend mit dem Sollwert, in 1 ms–Schritten herunter.
Der Zeitgeber läuft ab, wenn der Istwert #0000 erreicht (0 ms). Sobald der Zeitgeber 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 Programmabschnitten hängt von der TC–Nummer, die zur Definition des Zeitgebers verwendet wird, ab, wie es in der folgenden Tabellen beschrieben ist.
TC–
Nummer
Beschreibung
000 bis 003
008 bis 255
Der Zeitgeber unterbricht seinen Betrieb, wenn die Ausführungsbedingung
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
366
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 definiert 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 aktiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird je-
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 irgendwo zwischen 0 und 1 ms aktiviert, nachdem die Ausführungsbedingung
des Zeitgebers 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 –1 ms) in Anwendungsprogrammen.
Merker
ER:
n ist keine gültige TC–Nummer.
Beispiel
Im folgenden Beispiel wird CIO 20000 eingeschaltet, nachdem CIO 00000 aktiviert wurde und bleibt für mindestens 1,5 Sekunden eingeschaltet. Wird 00000
deaktiviert, werden auch Zeitgeber und CIO 20000 zurückgesetzt.
00000
Adresse
Befehl
00000
00001
LD
TMHH(––)
Operanden
TMHH(––)
TIM004
#1500
1.5 s
TIM
#
000
TIM 004
20000
00000
00002
00003
LD
OUT
TIM
004
1500
000
004
20000
7-15-4 LONG TIMER (Langer Zeitgeber) – TIML(––)
Kontaktplansymbol
Datenbereiche
n: Zeitgeber–Nr (sehen Sie die Beschränkungen)
TIML(––)
TIM000 bis TIM255
n
SV
SW: Sollwert
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ÄHLERBEFEHL 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–Einheiten verwendet werden (C=001).
Ein Langer Zeitgeber wird aktiviert, sobald die entsprechende Ausführungsbedingung WAHR wird. Er wird auf den Sollwert zurückgesetzt, wenn die Ausführungsbedingung 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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 Zeitgeber 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 übersprungen werden, werden nicht zurückgesetzt, wenn die Ausführungsbedingung für
JMP(04) FALSCH ist. Der Zeitgeber stellt jedoch seine Funktion ein und der Istwert wird beibehalten. Die Zeitnahme wird fortgesetzt, wenn die Ausführungsbedingung 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 überschreitet (C=001).
Lange Zeitgeber in verriegelten Programmabschnitten werden (auf den Sollwert) 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ächlichen 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 aktiviert, 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ührungsbedingung des Zeitgebers 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 –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 aktiviert wurde und bleibt für mindestens 1.500 Sekunden eingeschaltet. Wird
00000 deaktiviert, werden auch Zeitgeber und CIO 20000 zurückgesetzt.
00000
Adresse
Befehl
00000
00001
LD
TIML(––)
Operanden
TIML(––)
TIM002
#0150
1500 s
TIM
#
001
TIM 002
20000
368
00000
00002
00003
LD
OUT
TIM
002
0150
001
002
20000
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
7-15-5 COUNTER (Zähler) – CNT
Datenbereiche
n: TC–Nummer
Kontaktplansymbol
#
CP
CNT n
R
Datenbereiche
SW
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Ä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.
Beschreibung
CNT arbeitet, ausgehend vom Sollwert (Zählvorgabe), als Abwärtszähler. Der
Zähler wird aktiviert, wenn bei der Ausführungsbedingung WAHR eine steigende 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ührungsbedingung während der letzten Ausführung FALSCH war. Bleibt die Ausführungsbedingung 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 wieder dann, wenn an R kein Signal mehr anliegt. In verriegelten Programmabschnitten oder bei Spannungsunterbrechungen wird der Istwert (Zählwert) nicht
zurückgesetzt.
Die nachfolgende Abbildung stellt die Vorgänge, bezogen auf Ausführungsbedingungen, Fertigmerker und Zählwerte, dar. Die Istwert–Linienhöhe zeigt nur
Änderungen des Istwert an.
Ausführungsbedingung
für den Zähleingangsimpuls
(CP)
Ausführungsbedingung
für Rücksetz–Eingangs–
signal (R)
WAHR
FALSCH
WAHR
FALSCH
WAHR
Fertigmerker
FALSCH
SW
SW
Zählwert (IW)
0002
SW – 1
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ählvorgabe 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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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) gesetzt 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 Fertigmerker für CNT 002 gesetzt, sobald 700 Mal eine Sekunde verstrichen ist (11 Minuten und 40 Sekunden). Als Ergebnis wird IR 20002 auf EIN gesetzt.
00000 25502
Adresse
CP
CNT
001
00001
R
#0700
CNT 001
Befehl
00000
00001
00002
00003
LD
AND
LD NOT
CNT
00004
00005
LD
OUT
20002
! Vorsicht
Operanden
#
CNT
00000
25502
00001
001
0700
001
20002
Eine kürzere Taktzeit führt nicht unbedingt zu einem genauere Zeitgeberverhalten. Wenn die Zeitdauer, für die das Bit gesetzt wird, sehr kurz ist, kann es vorkommen, dass die Erkennung bei langen Zyklen unpräzise wird. Das bedeutet,
dass Taktzeiten zwischen 0,02–Sekunden und 0,1–Sekunden bei mit CNT–Befehlen gebildeten Zeitgebern vermieden werden sollten.
7-15-6 REVERSIBLE COUNTER (Aufwärts–/Abwärtszähler) – CNTR(12)
Datenbereiche
N: TC–Nummer
Kontaktplansymbol
#
II
DI
R
CNTR (12)
N
Datenbereiche
SV
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Ä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.
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ählvorgabe (Sollwert) gesetzt und der Fertigmerker bleibt solange gesetzt, bis der Istwert erneut dekrementiert wird. Wird die Zählvorgabe überschritten, wird der Istwert auf 0000 gestellt und der Fertigmerker gesetzt, solange, bis der Istwert wieder inkrementiert wird.
370
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
CNTR(12) wird über den Rücksetzeingang zurückgesetzt. Der Istwert wird weder inkrementiert noch dekrementiert, solange ein Signal an R anliegt. Der Zählvorgang beginnt wieder, wenn R auf AUS gesetzt wird. In verriegelten Programmabschnitten 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 dargestellt (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
(II)
EIN
Dekrement–Eingang
(DI)
EIN
AUS
AUS
EIN
Fertigmerker
AUS
SW
Zählwert (IW)
SW
SW – 1
SW – 1
0001
SW – 2
0000
SW – 2
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 falschen 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)
P
P
C
C
TB
TB
000
C: Steuerdaten
000 bis 003
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 Einstellungen 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ählers 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 erfolgt entsprechend der Tabelle.
371
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 spezifizierten Bereichs, wird das spezifizierte Unterprogramm aufgerufen und ausgeführt. Sehen Sie Abschnitt 2-3-5 Schnelle Zähler–Interrupts für weitere Informationen ü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ückgesetzt werden.
Gemeinsamkeiten von
Zielwert– und
Bereichvergleichen
1, 2, 3...
Ein Zielwertvergleich unterscheidet sich von einem Bereichsvergleich, aber die
zwei Funktionen besitzen einige Gemeinsamkeiten.
Zielwertvergleich
Eine Zielwertvergleichstabelle enthält bis zu sechzehn 8–stellige Zielwerte und
eine jedem Zielwert entsprechende Unterprogrammnummer. Eine Unterprogrammnummer 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 undefinierte 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 Vergleich für den letzten Tabellenwert abgeschlossen, beginnt der Vorgang von
vorn.
• In der CPM2A/CPM2C wird der Istwert jedesmal mit allen Zielwerten in der Tabelle verglichen, wenn CTBL(63) ausgeführt wird. Stimmt der Istwert mit dem
Zielwert überein, wird das betreffende Unterprogramm aufgerufen und ausgeführt.
Das folgende Diagramm zeigt die Struktur einer Zielwertvergleichstabelle. Zielwerte müssen einmalig sein; ein Fehler tritt auf, wenn ein Zielwert mehr als einmal in der Tabelle vorhanden ist.
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 Unterprogrammnummer spezifiziert werden, wenn keine Interrupt–Verarbeitung
erforderlich ist.
3. Der Vergleich kann mit INI(61) abgebrochen werden. Ein gespeicherte Tabelle ist gültig, bis der SPS–Betrieb abgebrochen oder eine neue Vergleichstabelle 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.)
TB
TB+1
TB+2
TB+3
372
Anzahl der Zielwerte (0001 bis 0016, BCD–Wert)
Zielwert #1, niederwertige 4 Ziffern
Zielwert #1, höherwertige 4 Ziffern
Unterprogrammnummer für Nr. 1 (s. S. d. Hinw.)
Eine Zielwert–
einstellung
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
Hinweis Die Unterprogrammnummer zur Aktivierung des Unterprogramms bei der Dekrementierung kann zwischen F000 und F049 liegen und bei der Inkrementierung zwischen 0000 und 0049. Ein Fehler tritt auf, wenn der schnelle Zähler auf
einen Inkrementalbetrieb eingestellt wird, aber eine dekrementierende Unterprogrammnummer (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 entsprechende Unterprogrammnummern spezifiziert werden. Der Vergleich findet in jedem 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, definieren Sie die nicht benötigten Unterprogrammnummern als FFFF.
TB
TB+1
TB+2
TB+3
TB+4
Unterer Grenzwert Nr1, niederwertige 4 Ziffern (BCD)
Unterer Grenzwert Nr1, höherwertige 4 Ziffern (BCD)
Oberer Grenzwert Nr1, niederwertige 4 Ziffern (BCD)
Oberer Grenzwert Nr1, höherwertige 4 Ziffern (BCD)
Unterprogrammnummer (sehen Sie Hinweis 2)
Erste
Bereichs–
einstellung
TB+35
TB+36
TB+37
TB+38
TB+39
Unterer Grenzwert Nr 8, niederwertige 4 Ziffern (BCD)
Unterer Grenzwert Nr 8, höherwertigte 4 Ziffern (BCD)
Oberer Grenzwert Nr 8, niederwertige 4 Ziffern (BCD)
Oberer Grenzwert Nr 8, höherwertige 4 Ziffern (BCD)
Unterprogrammnummer (sehen Sie Hinweis 2)
Achte
Bereichs–
einstellung
Hinweis 1. Der untere Grenzwert jedes Bereichs muss unterhalb des oberen Grenzwertes 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 innerhalb 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 unteren Grenzen Zeitwerte darstellen.
4. Eine Unterprogrammnummer kann mehr als einmal in der Tabelle verwendet 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–Bereichsgrenze wurde überschritten).
P ist nicht 000 oder C liegt nicht zwischen 000 und 003.
Ein CTBL(63)–Befehl mit einem anderen Vergleichsformat steht im Unterprogramm, 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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
CTBL(63) wird in einem Interrupt–Unterprogramm ausgeführt, während 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 (Differential–Phasenbetrieb, Impuls– und Richtungseingangsmodus und Aufwärts–/Abwärtseingangsmodus).
Ein Zielwert liegt nicht zwischen 0000 0000 und 1677 7215 oder eine
Unterprogrammnummer liegt nicht zwischen 0000 und 0049 (Inkrementalmodus).
Bereichvergleichsfehler:
Der oberer Grenzwert eines Bereichs ist kleiner als sein unterer Grenzwert.
Ein Zielwert liegt nicht zwischen F838 8608 und 0838 8607 (Differential–Phasenbetrieb, Impuls– und Richtungseingangsmodus und Aufwärts–/Abwärtseingangsmodus).
Ein Zielwert liegt nicht zwischen 0000 0000 und 1677 7215 oder eine
Unterprogrammnummer liegt nicht zwischen 0000 und 0049 (Inkrementalmodus).
7-15-8 MODE CONTROL (Zählersteuerung) – INI(61)
Kontaktplansymbol
Datenbereiche
P:Schnittstellen–Spezifikation
INI(61)
@INI(61)
P
P
C
C
P1
P1
000, 010, 100, 101, 102, 103
C: Steuerdaten
000 to 005
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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
Über P wird die Nummer des Schnellen Zählers oder des Impulsausgangs spezifiziert, 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/Abbremsung (Ausgang 01000).
010*
Spezifiziert den einphasigen Impulsausgang 1 ohne Beschleunigung/Abbremsung(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 verwendet 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 Istwert
Ändert den Istwert des Schnellen Zählers oder eines eingangsgesteuerten Interrupts im Zählmodus.
003
000
Anhalten der Impulsausgabe
004*
Neuer
Istwert
Ändert den Istwert der Impulsausgabe.
005*
000
Beendet die synchronisierte Impulsausgabe.
Hinweis *Diese Einstellungen können nur in den CPM2A/CPM2C–SPS–Systemen verwendet werden.
Anfang oder Ende des
Vergleichs
(C=000 oder C=001)
Bei C = 000 bzw. 001 beginnt bzw. beendet INI(61) den Vergleich des Schnellen
Zähler–Istwertes mit der über CTBL(63) erstellten Vergleichstabelle. Ein Fehler
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 Befehl nur einmal ausgeführt werden muss, um den Tabellenvergleich zu beginnen.
Istwert ändern
(C=002)
Bei C=002 ändert INI(61) den Istwert des spezifizierten Schnellen Zählers oder
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 gespeicherten 8–stelligen BCD–Wert.
Der neue Istwert kann zwischen F838 8608 und 0838 8607 (Differential–Phasenbetrieb, Impuls– und Richtungseingangsmodus oder Aufwärts–/Abwärts–
eingangsmodus) liegen. (Das hexadezimale “F” auf der ersten Stellen kennzeichnet einen negativen Wert.)
Der neue Istwert kann zwischen 0000 0000 und 1677 7215 im Inkrementalmodus 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
(C=003)
Bei C = 003 beendet INI(61) die Impulsausgabe.
Istwert ändern
(C=004)
INI(61) ändert den Istwert des Impulsausgangs in den auf P1 und P1+1 gespeicherten 8–stelligen BCD–Wert. Der Istwert kann nicht geändert werden, während die Impulsausgabe stattfindet.
375
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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
Impulsausgabe beenden
(C=005)
Entspricht C=005, beendet INI(61) die synchronisierte Impulsausgabe.
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 spezifizierte Istwert liegt nicht innerhalb des akzeptablen Bereichs.
Die für P1 oder P1+1 spezifizierte Adresse überschreitet die Datenbereichsgrenze.
Indirekt adressierte DM–Worte sind nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichsgrenze wurde überschritten).
Die spezifizierte Funktion ist nicht kompatibel mit dem tatsächlichen
SPS–Betrieb. Setzen Sie zum Beispiel nicht C auf 005, wenn keine synchronisierte 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 Hauptprogramm 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)
P
P
C
C
D
D
000, 010, 100, 101, 102, 103
C: Steuerdaten
000, 001, 002, oder 003
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
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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 spezifiziert, 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/Abbremsung (Ausgang 01000), eine Einzelphasen–Impulsausgabe 0 mit trapezförmige
Beschleunigung/Abbremsung (Ausgang 01000) oder eine synchronisierte Impulsausgabe 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 verwendet werden.
C bestimmt den Datentyp, auf den zugegriffen wird.
C
Funktion
Zielwort (s)
000
Liest den Istwert des Schnellen Zählers oder eingangsgesteuerten Interrupts (Zählmodus) oder die Eingangsfrequenz der synchronisierten Impulssteuerung.
D und D+1
001
Liest den Zustand des Schnellen Zählers oder der Impulsausgabe.
D
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 verwendet 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 spezifizierten 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–Phasenbetrieb, Impuls– und Richtungseingangsmodus oder Aufwärts–/Abwärtseingangsmodus) liegen. (Das hexadezimale “F” auf der ersten Stellen kennzeichnet 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 Impulsausgangs gelesen und die Daten werden auf D gespeichert.
377
Abschnitt 7-15
Zeitgeber– und Zählerbefehle
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
Schneller Zähler
Impulsausg
gabe
Bit
Funktion
00
Schneller Zähler–Vergleichsmodus
(0: deaktiviert; 1: aktiviert)
01
Schneller Zähler–Über–/Unterlauf
(0: normal; 1: Über–/Unterlauf.)
05
Gesamtzahl der Impulsen, die für Impulsausgang 0 spezifiziert sind
(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 verwendeten 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–
ergebnisse (C=002)
Ist C = 002, liest der PRV(62)–Befehl die Vergleichsergebnisse der Istwerte aus
den 8 Bereichen und speichert diese Daten in Wort D. Die Bits 00...07 des Wortes D enthalten die Vergleichsergebnismerker der Bereiche 1...8 (0: außerhalb
des Bereichs; 1: innerhalb des Bereichs).
Impulsausgabe–Istwert
lesen (C=003)
Ist C=003, liest PRV(62) den Impulsausgabe–Istwert und speichert den 8–stelligen BCD–Wert in D und D+1. (Die äußerst linken 4 Stellen werden in D+1 gespeichert.)
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 Datenbereichsgrenze.
Fehler bei der Operandeneinstellungen.
Indirekt adressierte DM–Worte sind nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichsgrenze 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
Abschnitt 7-16
Schiebebefehle
7-16 Schiebebefehle
7-16-1 SHIFT REGISTER (Schieberegister) – SFT(10)
Kontaktplansymbol
Datenbereiche
St: Anfangswort
I
SFT (10)
IR, SR, AR, HR, LR
P
St
R
E
E: Endwort
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 Programmsyntax auf der Programmierkonsole oder einem anderen Programmierungsgerät überprüft wird. Das Programm wird jedoch in der geschriebenen Form ausgefü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) ausgeführt und ist 1) Eingang P auf EIN gesetzt und war dieser bei der letzten Ausführung auf AUS gesetzt und ist 2) Eingang R auf AUS gesetzt, dann wird der Eingang I in das äußerst rechte Bit eines zwischen St und E definierten Schieberegisters 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 befindlichen Bits nach links verschoben und die im äußerst linken Bit gespeicherte Information des Register geht verloren.
E
St+1, St+2 ...
Datenverlust
St
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 zugewiesen 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
Abschnitt 7-16
Schiebebefehle
00 verschoben wird. Eine ”1” wird in HR 0007 verschoben, wenn Ausgang
20000 auf EIN gesetzt ist.
00000
Adresse
I
SFT (10)
25502
P
HR 00
00001
R
HR 00
HR 0007
20000
Befehl
00000
00001
00002
00003
LD
LD
LD
SFT (10)
00004
00005
LD
OUT
Operanden
00000
25502
00001
00
00
0007
20000
HR
HR
HR
7-16-2 WORD SHIFT (Wortweises Verschieben) – WSFT(16)
Kontaktplansymbol
Datenbereiche
St: Anfangswort
WSFT (16)
@WSFT(16)
St
St
E
E
IR, SR, AR, DM, HR, LR
E: Endwort
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 verloren.
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
Abschnitt 7-16
Schiebebefehle
7-16-3 ARITHMETIC SHIFT LEFT (Verschiebung nach links) – ASL (25)
Kontaktplansymbol
ASL (25)
@ASL(25)
Wd
Wd
Datenbereiche
Wd: Schiebewort
IR, SR, AR, DM, HR, LR
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 verschoben wird.
CY
Bit
Bit
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
ASR (26)
@ASR(26)
Wd
Wd
Datenbereiche
Wd: Schiebewort
IR, SR, AR, DM, HR, LR
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
1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0
CY
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
Abschnitt 7-16
Schiebebefehle
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
ROL (27)
@ROL(27)
Wd
Wd
Datenbereiche
Wd: Rotationswort
IR, SR, AR, DM, HR, LR
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.
CY
Bit
15
Bit
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
Einschränkung
382
ROR (28)
@ROR(28)
Wd
Wd
Datenbereiche
Wd: Rotationswort
IR, SR, AR, DM, HR, LR
DM 6144 bis DM 6655 können nicht für Wd verwendet werden.
Abschnitt 7-16
Schiebebefehle
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.
CY
Bit
15
Bit
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)
St
St
E
E
IR, SR, AR, DM, HR, LR
E: Endwort
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 (einschließ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
...
8 F C 5
Datenverlust
Vorsichtsmaßnahmen
St
D 7 9 1
0
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. Verwenden Sie den Befehl (@SLD(74)) (flankengesteuerte Ausführung) oder verknüpfen Sie SLD(74) mit DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung auzuführen.
383
Abschnitt 7-16
Schiebebefehle
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)
E
E
St
St
IR, SR, AR, DM, HR, LR
St: Anfangswort
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 (einschließ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
3 4 5 2
0
...
E
F 8 C 1
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. Verwenden Sie den Befehl (@SRD(75)) (flankengesteuerte Ausführung) oder verknüpfen Sie SRD(75) mit DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung 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
Abschnitt 7-16
Schiebebefehle
7-16-9 REVERSIBLE SHIFT REGISTER (Links/Rechts–Schieberegister)
– SFTR(84)
Datenbereiche
C: Steuerwort
Kontaktplansymbol
IR, SR, AR, DM, HR, LR
SFTR(84)
@SFTR(84)
C
C
St
St
E
E
St: Anfangswort
IR, SR, AR, DM, HR, LR
E: Endwort
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 spezifiziert die Verschieberichtung, den in das Register einzufügenden Status, den
Verschiebungsfreigabe– und den Rücksetzeingang. Die Zuweisung des Steuerwortes 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ührungsbedingung 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ücksetzbit (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:
Beispiel
Übernimmt, je nach Verschieberichtung, die Daten von Bit 00 in St oder
von Bit 15 in E.
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
Abschnitt 7-16
Schiebebefehle
beregister befindet sich in DM 0010 – DM 0011 und wird durch IR 00004 gesteuert.
Adresse
00000
20012
Verschieberichtung
20013
Eingangsstatus
20014
Verschiebungs–
freigabe–Bit
20015
Rücksetzbit
00001
00002
00003
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
Befehl
Operanden
LD
OUT
LD
OUT
LD
OUT
LD
OUT
LD
@SFTR(84)
00000
20012
00001
20013
00002
20014
00003
20015
00004
DM
DM
00004
200
0010
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
E
E: Endwort
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 werden.
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 Auswirkung 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 nullenenthaltendes 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 nachfolgende 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 Registers verwendet. Ein beliebiger Teil des Registers kann zurückgesetzt werden,
indem der gewünschte Teil mit St und E spezifiziert wird.
386
Abschnitt 7-16
Schiebebefehle
Steuerwort
Bits 00 bis12 von C werden nicht verwendet. Bit 13 enthält die Verschieberichtung. Setzen Sie Bit 13 auf EIN, um abwärts zu verschieben (auf Worte mit niedriger Adresse) und auf AUS, um aufwärts zu verschieben (auf Worte mit höherer 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 Bereich 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, werden 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
@ASFT (17)
#6000
DM 0100
Adresse
Befehl
Operanden
00000
00001
LD
@ASFT (17)
00000
#
DM
DM
DM 0110
Vor der
Ausführung
Nach einer
Ausführung
Nach sieben
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
6000
0100
0110
Hinweis Mit C=4000 werden die Nullen “aufwärts” verschoben; das gesamte Schieberegister wird auf Null gesetzt, wenn C=8000 ist.
387
Abschnitt 7-17
Datenübertragungsbefehle
7-17 Datenübertragungsbefehle
7-17-1 MOVE (Übertragen) – MOV(21)
Kontaktplansymbol
Datenbereiche
S: Quellwort
MOV(21)
@MOV(21)
S
S
D
D
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
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 ausgefü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 Zeitgebers 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)
001
HR 05
Adresse
Befehl
00000
00001
LD
@MOV(21)
Operanden
00000
HR
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
001
05
7-17-2 MOVE NOT (Invertiertes Übertragen) – MVN(22)
Kontaktplansymbol
Datenbereiche
S: Quellwort
MVN(22)
@MVN(22)
S
S
D
D
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
Einschränkung
388
IR, SR, AR, DM, HR, LR
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Abschnitt 7-17
Datenübertragungsbefehle
Beschreibung
Ist die Ausführungsbedingung FALSCH, wird der Befehl MVN(22) nicht ausgefü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 Zeitgebers 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 Komplement von #F8C5 nach DM 0010 zu kopieren, wenn IR 00001 von AUS auf EIN
wechselt.
00001
@MVN(22)
#F8C5
DM 0010
Adresse
Befehl
00000
00001
LD
@MOV(21)
Operanden
00001
#
DM
#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
F8C5
0010
7-17-3 BLOCK TRANSFER (Blockweise übertragen) – XFER(70)
Datenbereiche
N: Anzahl der Worte (BCD)
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
XFER (70)
@XFER(70)
N
N
S
S
D
D
S: Anfangs–Quellwort
Einschränkungen
IR, SR, AR, DM, HR, TC, LR
D: Anfangs–Zielwort
IR, SR, AR, DM, HR, TC, LR
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
Abschnitt 7-17
Datenübertragungsbefehle
Beschreibung
Merker
Ist die Ausführungsbedingung FALSCH, wird der Befehl XFER(70) nicht ausgeführt. Ist diese jedoch WAHR, kopiert XFER(70) den Inhalt von S, S+1, ..., S+N
nach D, D+1, ..., D+N.
ER:
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
n liegt nicht im BCD–Format vor.
S und S+n oder D und D+n befinden sich nicht im gleichen Datenbereich.
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
S: Quelldaten
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
BSET (71)
@BSET(71)
S
S
St
St
E
E
St: Anfangswort
IR, SR AR, DM, HR, TC, LR
E: Endwort
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 Datenbereich 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 ausgefü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
Abschnitt 7-17
Datenübertragungsbefehle
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 werden, um die Ausführung anderer Befehle vorzubereiten. Er kann auch dazu verwendet 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 Konstante (#0000) auf einen Block des DM–Bereiches (DM 0000 bis DM 0500) zu
kopieren, wenn IR 00000 auf EIN gesetzt ist.
00000
@BSET(71)
#0000
Adresse
Befehl
00000
00001
LD
@BSET(71)
DM 0000
Operanden
00000
#
DM
DM
DM 0500
0000
0000
0500
7-17-5 DATA EXCHANGE (Datenaustausch) – XCHG(73)
Kontaktplansymbol
Datenbereiche
E1: Austauschwort 1
XCHG (73)
@XCHG(73)
E1
E1
E2
E2
IR, SR, AR, DM, HR, TC, LR
E2: Austauschwort 2
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 ausgefü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
Abschnitt 7-17
Datenübertragungsbefehle
7-17-6 SINGLE WORD DISTRIBUTE (Datenverteilung) – DIST(80)
Datenbereiche
S: Quelldaten
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
DIST (80)
@DIST(80)
S
S
DBs
DBs
C
C
DBs: Anfangswort des Zielbereiches
IR, SR, AR, DM, HR, TC, LR
C: Steuerwort (BCD)
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 verwendet werden.
Verteilung eines einzelnen
Wortes
Sind die Bits 12 bis 15 von C=0, kann DIST(80) für die Verteilung eines einzelnen Wortes verwendet werden. Der gesamte Inhalt von C spezifiziert einen Offset Of (0000 bis 2047 in BCD).
Ist die Ausführungsbedingung FALSCH, wird der Befehl DIST(80) nicht ausgefü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
@DIST(80)
#00FF
Adresse
Befehl
00000
00001
LD
@DIST(80)
HR 10
Operanden
00000
#
HR
LR
LR 10
LR 10
#00FF
HR 10
0 0 0 5
0 0 F F
0 0 0 0
00FF
10
10
HR 15
0 0 F F
Stapeloperationen
392
Sind die Bits 12 bis 15 von C=9, kann der Befehl DIST( 80) für die Stapeloperation 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 ausgefü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.
Abschnitt 7-17
Datenübertragungsbefehle
Hinweis 1. Der DIST(80)–Befehl wird bei jedem Zyklus ausgeführt, wenn nicht die flankengesteuerte 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.
Im folgenden Beispiel wird mit dem DIST(80)–Befehl ein Stapel zwischen DM
0001 und DM 0005 erstellt. DM 0000 arbeitet als Stapelzeiger.
Beispiel
00000
@DIST(80)
200
Adresse
Befehl
00000
00001
LD
@DIST(80)
Operanden
00000
DM 0000
216
IR 200
FFFF
IR 216
9005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0000
0000
0000
0000
0000
0000
Merker
Erste
Ausführung
Stapelzeiger
inkrementiert
ER:
DM
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0001
FFFF
0000
0000
0000
0000
Zweite
Ausführung
Stapelzeiger
inkrementiert
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
200
0000
216
0002
FFFF
FFFF
0000
0000
0000
Der Offset oder die Stapellänge im Steuerwort 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).
Während der Stapeloperation überschreitet der Wert des Stapelzeigers+1 die Stapellänge.
EQ:
Auf EIN gesetzt, wenn der Inhalt von S Null ist; andernfalls auf AUS gesetzt.
7-17-7 DATA COLLECT (Daten sammeln) – COLL(81)
Datenbereiche
SBs: Quell–Basiswort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR
COLL (81)
@COLL(81)
SBs
SBs
C
C
D
D
C: Steuerwort (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
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 verwendet werden. Der gesamte Inhalt von C spezifiziert einen Offset Of (0000 bis 2047
in BCD).
393
Abschnitt 7-17
Datenübertragungsbefehle
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
@COLL(81)
DM 0000
Adresse
Befehl
00000
00001
LD
@DIST(80)
Operanden
00001
200
DM
LR 00
LR
200
DM 0000
LR 00
0 0 0 5
0 0 0 0
0 0 F F
0000
200
00
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 dekrementiert.
00000
@COLL(81)
DM 0000
Adresse
Befehl
00000
00001
LD
@COLL(81)
216
Operanden
00000
DM
001
394
IR 216
9005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0005
AAAA
BBBB
CCCC
DDDD
EEEE
Dekrementierung des
Stapelzeigers DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0004
BBBB
CCCC
DDDD
EEEE
EEEE
IR 001
0000
216
001
AAAA
Abschnitt 7-17
Datenübertragungsbefehle
LIFO–Stapeloperationen
Sind die Bits12 bis15 von C=8, wird COLL(81) in der LIFO–Stapeloperation verwendet. 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 anschließend um 1 dekrementiert.
00000
@COLL(81)
DM 0000
Adresse
Befehl
00000
00001
LD
@COLL(81)
Operanden
216
00000
DM
0000
216
001
001
Merker
IR 216
8005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0005
AAAA
BBBB
CCCC
DDDD
EEEE
ER:
Dekrementierung des
Stapelzeigers DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0004
AAAA
BBBB
CCCC
DDDD
EEEE
IR 001
EEEE
Der Offset oder die Stapellänge im Steuerwort 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).
Während der Stapeloperation überschreitet der Wert des Stapelzeigers
die Stapellänge; es wurde versucht, ein Wort über die Stapellänge hinaus 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
S: Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, LR, #
MOVB (82)
@MOVB(82)
S
S
Bi
Bi
D
D
Bi:Bitkennzeichner (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
IR, SR, AR, DM, HR, LR
395
Abschnitt 7-17
Datenübertragungsbefehle
Einschränkungen
Die äußerst rechten zwei Stellen und die äußerst linken zwei Stellen von Bi müssen 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 ausgeführt. Wird die Ausführungsbedingung WAHR, kopiert MOVB (82) das spezifizierte 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
15
Bi
Bi
MSB
1
2
0
1
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
Bit
15
LSB
S
Bit
00
1
2
0
1
Bit
00
0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
Quellbit (00 bis 15)
Bit
15
Zielbit (00 bis 15)
D
Merker
ER:
Bit
00
0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1
Bi liegt nicht im BCD–Format vor oder spezifiziert ein nicht vorhandenes 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
S: Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
MOVD(83)
@MOVD(83)
S
S
Di
Di
D
D
Di:Stellenkennzeichner (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
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 ausgefü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 kopierenden 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
Abschnitt 7-18
Datensteuerungsbefehle
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).
Im folgenden Beispiel werden die Datenbewegungen für diverse Werte von Di
dargestellt.
Stellenkennzeichner
Di: 0010
Di: 0030
S
D
S
D
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
S
D
S
D
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
Di: 0031
Merker
ER:
Di: 0023
Mindestens eine der äußerst rechten drei Stellen von Di liegt nicht zwischen 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
SCL (66)
@SCL(66)
S
S
P1
P1
R
R
S:Quellwort
IR, SR, AR, DM, HR, TC, LR, #
P1:Erstes Parameterwort
IR, SR, AR, DM, HR, TC, LR
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
Abschnitt 7-18
Datensteuerungsbefehle
Beschreibung
Der Befehl SCL(66) wird zur linearen Konvertierung eines 4–stelligen Hexadezimal– 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 hexadezimalen Wert in Abhängigkeit von einer speziellen linearen Funktion. Diese lineare Funktion wird durch zwei Punkte in den Parameterworten P1 bis P1+3
definiert.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL(66) nicht ausgeführt. Ist diese jedoch WAHR, konvertiert SCL (66) einen 4–stelligen Hexadezimalwert 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 geschrieben. 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
R
Ay
Ax
S
Bx
Wert vor der Konvertierung
(hexadezimal)
Die Ergebnisse können durch die Konvertierung aller BCD–Werte und Berechnung ü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–Bereichsgrenze wurde überschritten).
P1 und P1+3 befinden sich nicht im gleichen Datenbereich oder ein anderer Einstellungsfehler liegt vor.
EQ:
Beispiel
398
Auf EIN gesetzt, wenn das Ergebnis in R = 0000 ist.
Ist 00000 im folgenden Beispiel auf EIN gesetzt, werden die BCD–Quelldaten in
DM 0100 (#0100) in einen Hexadezimalwert gemäß den Parametern in DM
Abschnitt 7-18
Datensteuerungsbefehle
0150 bis DM 0153 konvertiert. Das Ergebnis (#0512) wird dann in DM 0200 gespeichert.
00000
@SCL(66)
Adresse
Befehl
00000
00001
LD
@SCL(66)
DM 0100
DM 0150
00000
DM
DM
DM
DM 0200
DM 0150
DM 0151
DM 0152
DM 0153
Operanden
0010
0005
0050
0019
0100
0150
0200
DM 0100
0100
DM 0200
0512
7-18-2 SIGNED BINARY TO BCD SCALING (Vorzeichenbehafteten
Binärwert in BCD–Wert konvertieren) – SCL2(––)
Kontaktplansymbole
Datenbereiche
SCL2(––)
@SCL2(––)
S
S
P1
P1
R
R
S:Quellwort
IR, SR, AR, DM, HR, LR
P1:Erstes Parameterwort
IR, SR, AR, DM, HR, LR
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 vorzeichenbehafteten 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 spezifischen Linearbeziehung. Die Konvertierungsgerade wird durch den X–Schnittpunkt definiert und die Neigung der Geraden in den Parameterworten P1 bis
P1+2.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL2(––) nicht ausgeführt. Ist diese jedoch WAHR, konvertiert SCL2(––) den 4–stelligen vorzeichenbehafteten Hexadezimalwert in S in den 4–stelligen BCD–Wert auf der Geraden, die durch die X–Schnittpunkte (P1,0) und die Neigung (P1+2÷P1+1) definiert ist und speichert die Ergebnisse in R. Das Ergebnis wird auf die nächstliegende 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
(Hex.–Wert mit Vorzeichen).
8000 ... 7FFF (–32.768 ... 32.767)
P1+1
∆X (Hex.–Wert mit Vorzeichen)
8000 ... 7FFF (–32.768 ... 32.767)
P1+2
∆Y (BCD)
0000 ... 9999
399
Abschnitt 7-18
Datensteuerungsbefehle
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
(Hex.–Wert mit Vorzeichen)
S
X–Schnittpunkt
Das Ergebnis kann berechnet werden, indem zuerst alle vorzeichenbehafteten
Hexadezimalwerte in BCD–Werte konvertiert werden und dann folgende Formel angewendet wird:
R + DY
DX
Merker
ER:
(S–P1)
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Bereichsgrenze wurde überschritten).
P1 und P1+2 befinden sich nicht im gleichen Datenbereich oder es liegt
ein anderer Einstellfehler vor.
Beispiel
CY:
Auf EIN gesetzt, wenn das Ergebnis von R negativ ist.
EQ:
Auf EIN gesetzt, wenn das Ergebnis in R = 0000 ist.
Wird 00500 im folgenden Beispiel auf EIN gesetzt, werden die vorzeichenbehafteten 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 negativ ist.
00500
@SCL2(––)
200
DM 0000
Adresse
Befehl
00000
00001
LD
@SCL2(––)
Operanden
00500
LR 00
DM
LR
2
DM 0000
DM 0001
DM 0002
FFFD
0003
0002
FFFD
IR 200
FFE2
LR 00
0018
200
0000
00
3
FFE2
CY=1
–0018
R + 0002
0003
+2
3
400
(FFE2–FFFD)
(–1B) + –18
Der CY–Merker wird gesetzt, da das
Konvertierungsergebnis negativ ist.
Abschnitt 7-18
Datensteuerungsbefehle
7-18-3 BCD TO SIGNED BINARY SCALING (BCD–Wert in
vorzeichenbehafteten Binärwert konvertieren) – SCL3(––)
Kontaktplansymbol
Datenbereiche
SCL3(––)
@SCL3(––)
S
S
P1
P1
R
R
S:Quellwort
IR, SR, AR, DM, HR, LR
P1:Erstes Parameterwort
IR, SR, AR, DM, HR, LR
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–stelligen, vorzeichenbehafteten Hexadezimalwert linear zu konvertieren. SCL3(––)
konvertiert den BCD–Wert entsprechend einer spezifizierten Linearbeziehung.
Die Konvertierungsgerade wird durch den Y–Schnittpunkt definiert und die Neigung der Geraden in den Parameterworten P1 bis P1+2 spezifiziert.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL3(––) nicht ausgeführt. Ist diese jedoch WAHR, konvertiert SCL3(––) den 4–stelligen BCD–Wert
in S in den 4–stelligen vorzeichenbehafteten Hexadezimalwert auf der Geraden, die durch den Y–Schnittpunkt (0, P1) und die Neigung (P1+2÷P1+1) definiert ist und speichert das Ergebnis in R. Das Ergebnis wird auf die nächstliegende 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 gewü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 gespeichert.
Hinweis Der obere und untere Grenzwert für eine 12 Bit–A/D–Wandler–Baugruppe beträgt 07FF und F800.
Die folgende Tabelle enthält die Funktionen und Bereiche der Parameterworte:
Parameter
Funktion
Bereich
P1
Y–Schnittpunkt
(Hex.–Wert mit Vorzeichen)
8000 ... 7FFF (–32.768 ... 32.767)
P1+1
∆X (BCD)
0001 ... 9999
P1+2
∆Y (Hex.–Wert mit Vorzeichen)
8000 ... 7FFF (–32.768 ... 32.767)
P1+3
Obere Grenze
(Hex.–Wert mit Vorzeichen)
8000 ... 7FFF (–32.768 ... 32.767)
P1+4
Untere Grenze
(Hex.–Wert mit Vorzeichen)
8000 ... 7FFF (–32.768 ... 32.767)
401
Abschnitt 7-18
Datensteuerungsbefehle
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)
Obere
Grenze
∆Y
∆X
R
Y–
Schnittpunkt
Wert vor der
Konvertierung (BCD)
S
Untere
Grenze
Das Ergebnis wird berechnet, indem zuerst alle BCD–Werte in vorzeichenbehaftete Binärwerte konvertiert werden und dann die folgende Formel angewendet wird:
R+
Merker
ER:
ÒDY
DX
Ó
S ) P1
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Bereichsgrenze wurde überschritten).
Der Inhalt von S liegt nicht im BCD–Format vor.
402
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.
Abschnitt 7-18
Datensteuerungsbefehle
Beispiel
Der Zustand von 00101 bestimmt das Vorzeichen des BCD–Quellwortes im folgenden 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, konvertiert. Das Ergebnis wird dann in DM 0100 geschrieben. (In der zweiten Konvertierung 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
CLC(41)
00000
00001
00002
00101
00004
00005
00101
STC(40)
00100
@SCL3(––)
Befehl
Operanden
LD
CLC(41)
LD
STC (40)
LD
SCL3(––)
LR 02
25313
00101
00100
LR
DM
DM
DM 0000
DM 0100
02
0000
0100
Hex.–Wert mit Vorzeichen.
CY=0
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
6
3
0005
BCD–
Daten
0005
0003
0006
07FF
F800
CY=1
LR 02
0100
LR 02
1035
DM 0100
00CD
DM 0100
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
OW
IR, SR, DM, HR, LR
OW: Ausgangsdatenwort (Stellgröße)
IR, SR, AR, DM, HR, LR
Einschränkungen
! Vorsicht
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.
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
Abschnitt 7-18
Datensteuerungsbefehle
Beschreibung
Wort
Bits
PID(––) führt eine PID–Regelung aus, die auf den in P1 bis P1+6 spezifizierten Parametern basiert.
Ist die Ausführungsbedingung FALSCH, wird PID(––) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, führt PID(––) eine PID–Regelung, entsprechend 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.
Parameter–
bezeichnung
Funktion/Einstellbereich
P1
00 bis 15
Sollwert (SV).
Dies ist der Zielwert bei einer PID–Regelung. Er kann auf einen beliebigen Binärwert eingestellt werden, wobei die Anzahl der Bits durch den Eingangsbereichs–
Parameter spezifiziert wird.
P1+1
00 bis 15
Proportionalband–
Breite
Dieser Parameter spezifiziert das Verhältnis zwischen Propotionalband–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)/ Abtastintervall (τ)
Stellt die Höhe der Integralwirkung ein. Das Vergrößern dieses Wertes verstärkt
die Integralwirkung. Dieser Wert muss als BCD–Wert von 0001 bis 8191 oder
9999 spezifiziert werden. Eine Einstellung von 9999 deaktiviert die Integralregelung.
P1+3
00 bis 15
Vorhaltezeit (Tdk)/Abtastintervall (τ)
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
Betriebs
Spezifiziert die Vorwärts– oder Rückwärtsregelung. (0 = rückwärts, 1 = vorwärts).
04 bis 15
Eingangsfilter–
Koeffizient (α)
Bestimmt die Stärke des Eingangsfilters. Je kleiner der Koeffizient, desto schwächer der Filter.
Stellen Sie die Nachstellzeit dividiert durch den Abtastintervall ein.
Stellt die Höhe der Vorhaltewirkung ein. Das Vergrößern dieses Wertes verstärkt
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.
Für diesen Wert muss 000 oder ein BCD–Wert von 100 bis 199 spezifiziert werden. 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
P1+7 bis
P1+32
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.
00 bis 15
Arbeitsbereich
Nicht verwenden.
(Wird vom System verwendet).
! Vorsicht
Änderungen der Parameter sind erst wirksam, wenn die Ausführungsbedingung für PID(––) von AUS auf EIN wechselt.
Hinweis Liegt einer der nachfolgenden Umstände vor, sollten Sie PID(––) nicht verwenden, 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 Abtast–Intervall ist die Zeit, die verstrichen sein muß, bevor neue Eingangsdaten
für die Verarbeitung gelesen werden.
404
Abschnitt 7-18
Datensteuerungsbefehle
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
PID–Verarbeitung
Keine Vearbeitung
(70+30=100 ms,
(70 ms)
kein Übertrag)
PID–Verarbeitung
Keine Verarbeitung
mit Anfangswerten PID–Verarbeitung
(130 ms, 30 ms Übertrag)
(70 ms)
(0 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 Änderungen der Stellwertausgabe erfolgen nicht beim Beginn, um einen ungünstig Einfluss auf das geregelte System (kurze Einschwingabweichungen) zu vermeiden.
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 entsprechen und entsprechend den eingestellten den PID–Konstanten, ausgeführt.
Abtastintervall und PID–Ausführungszeitverhalten
Das Abtastintervall bestimmt die Zeitpunkte, an denen Eingangsdaten eingelsen 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ößenaufschaltung 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 verlangsamt, verschlechtert sich die Reaktion auf Störungen.
Zielantwort
Störungsreaktion
(2)
Überschwingen
Während die Störgrößenreaktion schneller wird,
verschlechtert sich die Zielantwort.
405
Abschnitt 7-18
Datensteuerungsbefehle
Regelvorgänge
Proportionalregelung (P)
Die Proportionalregelung ist ein Vorgang, bei dem ein Proportionalband in Hinsicht auf den Sollwert definiert wird und sich der Stellwert innerhalb dieses Bandes proportional zur Regelabweichung verhält. Ein Beispiel für die Rückwärtsregelung ist in der folgenden Abbildung dargestellt
Wird die Proportionalregelung verwendet und ist der Istwert kleiner als das Proportionalband, beträgt der Stellwert 100% (d.h. Maximalwert). Innerhalb des
Proportionalbandes verhält sich der Stellwert proportional zur Regel–abweichung (der Unterschied zwischen Sollwert und Istwert) und wird bis zur Sollwert– und Istwert–Entsprechung allmählich verringert (d.h. bis die Regelabweichung 0 beträgt); zu diesem Zeitpunkt beträgt der Stellwert 0% (d.h. Minimalwert). Der Stellwert beträgt ebenfalls 0%, wenn der Istwert größer als der Sollwert ist.
Das Proportionalband wird als Prozentsatz des vollständigen Eingangsbereichs ausgedrückt. Je kleiner das Proportionalband, desto größer ist die proportionale Konstante und je stärker ist die Nachregelung. Bei der Proportionalregelung tritt gewöhnlich ein Offset (restliche Regelabweichung) auf, aber der
Offset kann reduziert werden, indem das Proportionalband verringert wird. Regelschwingungen treten auf, falls es zu stark verringert wird.
Proportionalregelung (Rückwärtsregelung)
Einstellung des Proportionalbandes
Proportionalband
Zu schmales Proportionalband (Regelschwingungen treten auf)
100%
Offset
Stellwert
Soll–
wert
0%
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 Integralbetrieb benötigt, um die gleiche Ebene wie der Stellwert der Proportionalregelung in Hinsicht auf die Sprungabweichung zu erreichen, wie es in der folgenden Abbildung gezeigt wird. Je kürzer die Nachstellzeit, desto stärker ist die Korrektur 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
Regelabweichung
Sprungantwort
PI–Regelung
I–Regelung
P action
Stellwert
Ti: Nachstellzeit
406
Abschnitt 7-18
Datensteuerungsbefehle
Vorhaltebetrieb (D)
Da Proportionalregelung und Integralbetrieb beide Korrekturen in Hinsicht auf
die Regelergebnisse vornehmen, tritt unvermeidlicherweise eine Ansprechverzögerung auf. Der Vorhaltebetrieb kompensiert diesen Nachteil. Als Reaktion
auf eine plötzliche Störung liefert er einen großen Stellwert und stellt den ursprünglichen Zustand schnell wiederher. Eine Korrektur erfolgt mit dem Stellwert, 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 Sprungregelabweichung zu erreichen, wie es in der folgenden Abbildung angezeigt wird. Je
länger die Vorhaltezeit, desto stärker ist die Korrektur durch den Vorhaltebetrieb.
Vorhaltebetrieb
Regelabweichung
Sprungantwort
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 irgendeinen 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
D–Regelung
Stellwert
Rampenförmige Reaktion der PID–Regelungsausgaben
Regelabweichung
Rampenförmige Reaktion
PID–Verhalten
I–Regelung
P–Aktion
Stellwert
D–Regelung
407
Abschnitt 7-18
Datensteuerungsbefehle
Regelwirkungsweise
Beim Einsatz der PID–Regelung kann eine der beiden der folgenden zwei Regelwirkungsweise 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.
Vorwärtsregelung
Proportionalband
Rückwärtsregelung
Proportionalband
100%
100%
Stellwert
Stellwert
0%
0%
Niedrige
Temperatur
Einstellung der
PID–Parameter
Soll–
wert
Hohe
Temperatur
Niedrige
Temperatur
Hohe
Temperatur
Sollwert
Die allgemeine Beziehung zwischen PID–Parameter und Regelzustand ist
nachfolgend dargestellt.
• Ist der Zeitfaktor für das Erreichen des Sollwertes (Nachstellzeit) vernachlässigbar, 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 stabilisiert 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. Regelschwingungen werden reduziert, wenn die Nachstellzeit oder das Proportionalband vergrößert wird.
(Wenn Regelschwingungen auftreten)
SV
Vergößern von I oder P.
408
Abschnitt 7-19
Vergleichsbefehle
• Treten Regelschwingungen mit kurzer Periode auf, kann trotz schneller Reaktion des Systems eine zu große Vorhaltezeit vorliegen. Reduzieren Sie in diesem 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, daher kann PID(––) nicht genau ausgeführt werden. PID(––) wird in diesem Fall jedoch ausgeführt.
P1 und P1+32 befinden sich nicht im gleichen Bereich oder eine Parametereinstellung befindet sich nicht innerhalb des spezifizierten Bereichs.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichsgrenze wurde überschritten).
CY:
Auf EIN gesetzt, wenn eine PID–Regelung stattfindet. (Auf AUS gesetzt, 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 ausgefü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
Abschnitt 7-19
Vergleichsbefehle
Merker
C1 < C2
C1 = C2
C1 > C2
25505
AUS
AUS
EIN
EQ
25506
AUS
EIN
AUS
LE
25507
EIN
AUS
AUS
Im folgenden Beispiel wird die sofortige Speicherung des Vergleichergebnisses
dargestellt. Ist der Inhalt von HR 09 größer als der von DM 0000, wird 20000 auf
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.
Beispiel:
CMP (20)–Ergebnis
speichern
00000
Adresse
GR
TR
0
CMP (20)
HR 09
DM 0000
25505
20000
Größer als
25506
20001
Gleich
20002
Kleiner als
25507
Adresse
Befehl
00000
00001
00002
LD
OUT
CMP (20)
TR
HR
DM
00003
00004
Adresse
Operanden
AND
OUT
00000
0
00005
00006
00007
00008
00009
00010
09
0000
25505
20000
Befehl
LD
AND
OUT
LD
AND
OUT
Operanden
TR
0
25506
20001
0
25507
20002
TR
7-19-2 TABLE COMPARE (Tabellenvergleich) – TCMP(85)
Datenbereiche
CD: Zu vergleichende Daten
Kontaktplansymbol
IR, SR, DM, HR, TC, LR, #
TCMP (85)
@TCMP(85)
CD
CD
TB
TB
R
R
TB: Erstes Vergleichswort
IR, SR, DM, HR, TC, LR
R Ergebniswort
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 ausgefü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 Übereinstimmung mit TB+1, wird Bit 01 auf EIN gesetzt, usw. Die restlichen Bits in R
werden auf AUS gesetzt.
410
Abschnitt 7-19
Vergleichsbefehle
Merker
ER:
Die Vergleichstabelle (d.h. TB bis TB+15) überschreitet den Datenbereich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
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.
Beispiel
00000
TCMP(85)
HR 00
Adresse
Befehl
00000
00001
LD
TCMP (85)
DM 0000
HR
00
0210
Vergleicht die Daten in HR 00
mit den angegebenen Bereichen.
Obere Grenzen
R: 216
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
DM 0006
DM 0007
DM 0008
DM 0009
DM 0010
DM 0011
DM 0012
DM 0013
DM 0014
DM 0015
IR 21600
IR 21601
IR 21602
IR 21603
IR 21604
IR 21605
IR 21606
IR 21607
IR 21608
IR 21609
IR 21610
IR 21611
IR 21612
IR 21613
IR 21614
IR 21615
0100
0200
0210
0400
0500
0600
0210
0800
0900
1000
0210
1200
1300
1400
0210
1600
00000
HR
DM
216
CD: HR 00
Operanden
00
0000
216
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
7-19-3 BLOCK COMPARE (Blockweiser Vergleich) – BCMP(68)
Datenbereiche
CD: Zu vergleichende Daten
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
BCMP (68)
@BCMP(68)
CD
CD
CB
CB
R
R
CB: Erstes Vergleichs–Blockwort
IR, SR, DM, HR, TC, LR
R Ergebniswort
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 werden.
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
Abschnitt 7-19
Vergleichsbefehle
Beschreibung
Ist die Ausführungsbedingung FALSCH, wird der Befehl BCMP(68) nicht ausgefü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. Jeder Bereich wird durch zwei Worte definiert. Das erste Wort spezifiziert den unteren 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 entsprechende Bit in R, das für jeden Vergleich gesetzt wird, sind nachstehend dargestellt. 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 Datenbereich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
412
Abschnitt 7-19
Vergleichsbefehle
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
00000
00001
LD
BCMP (68)
HR 00
DM 0010
HR 00
Unteren Grenzen
0210
Vergleicht die Daten in HR
00 (die 0210 enthalten), mit
den angegebenen Bereichen.
DM 0010
DM 0012
DM 0014
DM 0016
DM 0018
DM 0020
DM 0022
DM 0024
DM 0026
DM 0028
DM 0030
DM 0032
DM 0034
DM 0036
DM 0038
DM 0040
0000
0101
0201
0301
0401
0501
0601
0701
0801
0901
1001
1101
1201
1301
1401
1501
00000
HR
DM
LR
LR 05
HR 00
Operanden
Obere Grenzen
DM 0011
DM 0013
DM 0015
DM 0017
DM 0019
DM 0021
DM 0023
DM 0025
DM 0027
DM 0029
DM 0031
DM 0033
DM 0035
DM 0037
DM 0039
DM 0041
0100
0200
0300
0400
0500
0600
0700
0800
0900
1000
1100
1200
1300
1400
1500
1600
00
0010
05
R:LR 05
LR 0500
LR 0501
LR 0502
LR 0503
LR 0504
LR 0505
LR 0506
LR 0507
LR 0508
LR 0509
LR 0510
LR 0511
LR 0512
LR 0513
LR 0514
LR 0515
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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 werden.
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 ausgeführt. Ist diese jedoch WAHR, verknüpft CMPL(60) den 4–stelligen Hexadezimalwert 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
Abschnitt 7-19
Vergleichsbefehle
Merker
Beispiel:
CMPL(60) –Ergebnisse
speichern
00000
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.
Im folgenden Beispiel wird die sofortige Speicherung des Vergleichergebnisses
dargestellt. Ist der Inhalt von HR 10, HR 09 größer als der von DM 0001, DM
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
0
CMPL (60)
HR 09
DM 0000
Adresse
Befehl
00000
00001
00002
LD
OUT
CMPL (60)
00003
00004
00005
00006
00007
00008
00009
00010
25505
20000
Größer als
25506
Gleich
25507
20002
TR
HR
DM
–––
20001
Operanden
Kleiner als
AND
OUT
LD
AND
OUT
LD
AND
OUT
TR
TR
00000
0
09
0000
25505
20000
0
25506
20001
0
25507
20002
7-19-5 – AREA RANGE COMPARE (Bereichsvergleich) – ZCP(––)
Datenbereiche
CD: Zu vergleichende Daten
Kontaktplansymbol
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 ausgefü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 ergebnisabhängig die GR–, EQ–, und LE–Merker im SR–Bereich. Der resultierende Merkerzustand ist in der nachfolgenden Tabelle dargestellt.
Merkerzustand
Vergleichsgebnis
e g e c sgeb s
GR (SR 25505)
414
EQ (SR 25506)
LE (SR 25507)
CD < LL
0
0
1
LL ≤ CD ≤ UL
0
1
0
UL < CD
1
0
0
Abschnitt 7-19
Vergleichsbefehle
Vorsichtsmaßnahmen
Werden andere Befehle zwischen ZCP(––) und die Programmierbefehle, 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 ist größer als UL.
Beispiel
EQ:
Auf EIN gesetzt, wenn LL ≤ CD ≤ UL.
LE:
Auf EIN gesetzt, wenn CD < LL.
GR:
Auf EIN gesetzt, wenn CD > UL.
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.
00000
TR
0
ZCP(––)
200
#0010
#AB1F
25505
01000
Größer als
(über dem
Bereich)
01001
Gleich
(innerhalb des
Bereichs)
01002
Kleiner als
(unter dem
Bereich)
25506
25507
Adresse
Befehl
00000
00001
00002
LD
OUT
ZCP(––)
Operanden
00000
0
TR
AND
LL: #0010
0
0
1
0
<
00004
00005
00006
00007
00008
00009
00010
200
0010
AB1F
25505
#
#
00003
Adresse
6
CD: 200
F
A
4
<
Befehl
OUT
LD
AND
OUT
LD
AND
OUT
Operanden
01000
0
25506
01001
0
25507
01002
TR
TR
01000: AUS
01001: EIN
01002: AUS
UL: #AB1F
A
B
1
F
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
LL
UL
IR, SR, AR, DM, HR, LR
UL: Oberer Grenzbereich
IR, SR, AR, DM, HR, LR
415
Abschnitt 7-20
Konvertierungsbefehle
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 ausgefü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 LEMerker im SR–Bereich. Der resultierende Merkerzustand ist in der nachfolgenden Tabelle dargestellt.
Merkerzustand
Vergleichsgebnis
e g e c sgeb s
GR
(SR 25505)
EQ
(SR 25506)
LE
(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)
S
S
R
R
IR, SR, AR, DM, HR, TC, LR
R Ergebniswort
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 gleichwertige 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.
416
BCD–Daten
S
Binär
R
Abschnitt 7-20
Konvertierungsbefehle
Mit dem Befehl BIN(23) werden BCD–Werte in binäre Daten konvertiert, damit
die Anzeigen auf der Programmierkonsole oder jedem anderen Programmiergerä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)
S
S
R
R
IR, SR, AR, DM, HR, LR
R Ergebniswort
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 Programmiergerät in dezimalem anstatt in hexadezimalem Format angezeigt wird. Der Befehl kann zur Konvertierung von BCD–Werten verwendet werden, um arithmetische 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
Abschnitt 7-20
Konvertierungsbefehle
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)
S
S
R
R
IR, SR, AR, DM, HR, TC, LR
R Erstes Ergebniswort
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 ausgefü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.
Merker
ER:
BCD–Daten
S+1
S
Binär
R+1
R
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)
S
S
R
R
IR, SR, AR, DM, HR, LR
R Erstes Ergebniswort
Einschränkungen
418
IR, SR, AR, DM, HR, LR
Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.
Überschreitet der Inhalt von S den Wert 05F5E0FF, überschreitet das konvertierte 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.
Abschnitt 7-20
Konvertierungsbefehle
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
BCD–Daten
Merker
ER:
S+1
S
R+1
R
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
S: Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR
MLPX (76)
@MLPX(76)
S
S
Di
Di
R
R
Di: Stellenkennzeichnung
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort
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 ausgeführt. Ist diese jedoch WAHR, werden über MLPX(76) bis zu vier Hexadezimalstellen (mit jeweils vier Bits) vom Quellwort S in Dezimalwerte von 0 ...15 konvertiert. Jeder dieser Dezimalwerte kennzeichnet eine Bitposition. Das Bit, dessen Nummer mit allen konvertierten Werten übereinstimmt, wird in einem Ergebniswort 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 zugewiesen. Werden mehr Stellen als in S verbleiben zugewiesen (Zählanfang ist die
erste zugewiesene Stelle), werden die verbleibenden Stellen wieder dem An-
419
Abschnitt 7-20
Konvertierungsbefehle
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 konvertiert, kann die letzte Wortadresse in einem Datenbereich nicht zugewiesen werden. Werden 3 Stellen konvertiert, können die letzten zwei Worte in einem Datenbereich 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
1
R+1
0
R
1
R+1
2
2
R+2
3
3
R+3
Di: 0031
Di: 0023
S
Merker
ER:
S
0
R
0
R
1
R+1
1
R+1
2
R+2
2
R+2
3
R+3
3
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
Abschnitt 7-20
Konvertierungsbefehle
Das folgende Programm konvertiert die Stellen 1 bis 3 von DM 0020 in die Bitstellungen und setzt die entsprechenden Bits in drei aufeinanderfolgenden Worten, beginnend mit HR 10, auf EIN. Die Stelle 0 wird nicht konvertiert.
Beispiel
00000
MLPX (76)
Adresse
Befehl
DM 0020
00000
00001
LD
MLPX (76)
#0021
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
R: HR 10
Nicht
konvertiert
1
1
1
1
0
1
1
0
0
0
0
0
15
6
0
HR 1000
HR 1001
HR 1002
HR 1003
HR 1004
HR 1005
HR 1006
HR 1007
HR 1008
HR 1009
HR 1010
HR 1011
HR 1012
HR 1013
HR 1014
HR 1015
R+1: HR 11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
00000
DM
#
HR
HR 10
S: DM 0020
Operanden
HR 1100
HR 1101
HR 1102
HR 1103
HR 1104
HR 1105
HR 1106
HR 1107
HR 1108
HR 1109
HR 1110
HR 1111
HR 1112
HR 1113
HR 1114
HR 1115
0020
0021
10
R+2: HR 12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
HR 1200
HR 1201
HR 1202
HR 1203
HR 1204
HR 1205
HR 1206
HR 1207
HR 1208
HR 1209
HR 1210
HR 1211
HR 1212
HR 1213
HR 1214
HR 1215
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7-20-6 16–TO–4 ENCODER (16–in–4–Enkoder) – DMPX(77)
Datenbereiche
SB: Erstes Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR
DMPX (77)
@DMPX(77)
SB
SB
R
R
Di
Di
R: Ergebniswort
IR, SR, AR, DM, HR, LR
Di: Stellenkennzeichner
IR, SR, AR, DM, HR, TC, LR, #
Einschränkungen
Die beiden äußersten rechten Stellen von Di müssen jeweils einen Wert zwischen 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 ausgefü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 übertragen. Die Definition dieser spezifizierten Stelle wird über die Stellenkennzeichnung Di vorgenommen. Dort wird auch die Anzahl der zu kodierenden
Stellen festgelegt.
421
Abschnitt 7-20
Konvertierungsbefehle
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 verbleibenden 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 Daten 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
S
0
S
R
0
S+1
1
S+1
1
2
S+2
2
3
S+3
3
R
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
Abschnitt 7-20
Konvertierungsbefehle
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 dargestellte Bit mit dem Status 1 (EIN), das höchste auf EIN gesetzte Bit im Wort ist.
Beispiel
00000
DMPX (77)
Adresse
Befehl
200
00000
00001
LD
DMPX (77)
HR 10
Operanden
00000
HR
#
200
10
0010
LR
HR
#
10
10
0012
#0010
DMPX (77)
00002
LR 10
HR 10
#0012
IR 200
IR 201
01000
01100
:
DMPX (77)
:
01011
1
01109
01012
0
01110
1
0
::
:
::
:
01015
0
01115
0
HR 10
LR 11
LR 10
LR 1100
LR 1000
LR 1001 1
:
LR 1002 0
LR 1108 1
::
:
LR 1109 0
::
:
::
Stelle 0
B
Stelle 1
9
Stelle 2
1
Stelle 3
8
:
LR 1115 0
LR 1015 0
7-20-7 7–SEGMENT DECODER (Dekodierung für 7–Segment–Anzeige) –
SDEC(78)
Datenbereiche
S: Quellwort (Binär)
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR
SDEC (78)
@SDEC(78)
S
S
Di
Di
D
D
Di: Stellenkennzeichner
IR, SR, AR, DM, HR, TC, LR, #
D: Erstes Zielwort
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 ausgeführt. Ist diese jedoch WAHR, konvertiert SDEC(78) die zugewiesene Stelle(n)
von S in den gleichwertigen 8 Bit–Wert zur Ansteuerung einer 7– Segmentanzeige und speichert ihn in dem/den mit D beginnenden Zielwort(en).
423
Abschnitt 7-20
Konvertierungsbefehle
Jede oder alle der in S vorhandenen Stellen werden, ausgehend von der zugewiesenen 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–Segment–Displaycode (die äußerst rechten oder linken 8 Bits) gespeichert wird, erfolgt in Di. Werden 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 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
S–Stellen
0
1
Di: 0030
D
S–Stellen
D
1. Hälfte
0
1. Hälfte
2. Hälfte
1
2. Hälfte
2
2
3
3
D+1
1. Hälfte
2. Hälfte
Di: 0112
S–Stellen
D
0
1. Hälfte
1
2. Hälfte
2
3
D+1
Di: 0130
S–Stellen
0
1
2
3
D
1. Hälfte
2. Hälfte
D+1
1. Hälfte
1. Hälfte
2. Hälfte
2. Hälfte
D+2
1. Hälfte
2. Hälfte
424
Abschnitt 7-20
Konvertierungsbefehle
Das folgende Beispiel zeigt die erforderlichen Daten zur Anzeige einer 8. Die
Kleinbuchstaben geben an, welche Bits den Segmenten der 7–Segment–Anzeige entsprechen. Die nachstehende Tabelle zeigt die ursprünglichen Daten
und den konvertierten Code aller Hexadezimalziffern.
Beispiel
00000
@ SDEC(78)
DM 0010
LR 07
200
LR 07
a
IR 200
DM 0010
f
1
a
1
1
b
22
0
1
c
0
23
0
1
d
0
20
0
1
e
21
0
1
f
22
0
1
g
0
23
1
0
20
0
21
1
22
1
0
23
1
0
20
1
21
0
0
22
1
0
23
1
0
1
0
x100
0
x101
0
0
x102
0
0
x103
1: Beginn bei 2. Stelle
0: Eine Ziffer zu
dekodieren
1
2
0 oder 1:
0 Bits 00 bis 07
1 Bits 08 bis 15.
3
Nicht verwendet
Stelle
Merker
0
20
0
21
Bit 00
8
Bit 07
Ursprungsdaten
Bits
g
e
c
d
0
Konvertierter Code (Segmente)
g
f
e
d
c
b
–
Anzeige
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
ER:
b
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
Abschnitt 7-20
Konvertierungsbefehle
7-20-8 ASCII CONVERT (ASCII–Konvertierung) – ASC(86)
Datenbereiche
S: Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR
ASC (86)
@ASC(86)
S
S
Di
Di
D
D
Di: Stellenkennzeichner
IR, SR, AR, DM, HR, TC, LR, #
D: Erstes Zielwort
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 ausgefü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 zugewiesenen 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. Werden 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) verbleiben, 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
426
0: keine
1: gerade
2: ungerade
Abschnitt 7-20
Konvertierungsbefehle
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
S
0
1
Di: 0030
D
S:
D
1. Hälfte
0
1. Hälfte
2. Hälfte
1
2. Hälfte
2
2
3
3
D+1
1. Hälfte
2. Hälfte
Di: 0112
Di: 0130
0
1. Hälfte
S
0
1
2. Hälfte
1
S
D
1. Hälfte
2. Hälfte
2
2
3
D
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 Paritä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 erstellen); 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 Zustand 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
Abschnitt 7-20
Konvertierungsbefehle
7-20-9 ASCII–TO–HEXADECIMAL (in Hexadezimal–Wort konvertieren) –
HEX(––)
Operanden–Datenbereiche
S: Erstes Quellwort
Kontaktplansymbol
IR, SR, AR, DM, HR, TC, LR, #
HEX(––)
@HEX(––)
S
S
Di
Di
D
D
Di: Stellenkennzeichner
IR, SR, AR, DM, HR, TC, LR, #
D: Zielwort
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 Hexadezimalwerte 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 ausgeführt. Ist diese jedoch WAHR, konvertiert HEX(––) das/die zugewiesene(n)
Byte(s) des ASCII–Codes von dem Quellwort(e) in das hexadezimale Äquivalent 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 zugewiesenen ersten Stelle), werden weitere Stellen beginnend bei D verwendet.
Stellen in D, auf die keine konvertierten Daten übertragen werden, bleiben unverä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
428
0: keine
1: gerade
2: ungerade
Abschnitt 7-20
Konvertierungsbefehle
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
S+1
3
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
S+1
1
S+1
3
2
1. Byte
1. Byte
2. Byte
2. Byte
3
S+2
1. Byte
2. Byte
ASCII–Codetabelle
Die folgende Tabelle zeigt die ASCII–Codes vor der Konvertierung und die Hexadezimalwerte nach der Konvertierung. Eine Tabelle der ASCII–Zeichen finden Sie im Anhang G.
Ursprüngliche Daten
ASCII–Code
Konvertierte Daten
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 gerade 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 besteht.
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
Abschnitt 7-20
Konvertierungsbefehle
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
@HEX(––)
Adresse
Befehl
00000
00001
LD
@HEX(––)
LR 10
HR 10
Operanden
00000
LR
HR
200
10
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
SEC(––)
@SEC(––)
S
S
R
R
000
000
S: Anfangs–Quellwort (BCD)
IR, SR, AR, DM, HR, TC, LR
R Anfangs–Ergebniswort (BCD)
IR, SR, AR, DM, HR, TC, LR
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–Format 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/Minuten/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 spezifiziert. Das Maximum liegt daher bei 9999 Stunden, 59 Minuten und 59 Sekunden.
Das Ergebnis wird an R und R+1 ausgegeben. Der Maximalwert liegt bei
35.999.999 Sekunden.
Merker
ER:
430
S und S+1 oder R und R+1 befinden sich nicht im gleichen Datenbereich.
Abschnitt 7-20
Konvertierungsbefehle
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:
Beispiel
Auf EIN gesetzt, wenn das Ergebnis Null ist.
Ist 00000 auf AUS (d.h. die Ausführungsbedingung ist EIN), konvertiert der folgende 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
Adresse
SEC(––)
HR 12
DM 0100
00000
00001
Befehl
Operanden
LD NOT
SEC(––)
00000
HR
DM
HR 12
HR 13
3
2
2
8
0
1
7
5
2.815 Std., 32 Min.,
07 Sek.
DM 0100
DM 0101
5
1
9
0
2
1
7
3
10.135.927 s
12
0100
000
7-20-11 SECONDS–TO–HOURS (Sekunden–in–Stunden) – HMS(––)
Datenbereiche
Kontaktplansymbol
HMS(––)
@HMS(––)
S
S
R
R
000
000
S: Anfangs–Quellwort (BCD)
IR, SR, AR, DM, HR, TC, LR
R Anfangs–Ergebniswort (BCD)
IR, SR, AR, DM, HR, TC, LR
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 Zeitangabe 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 gespeichert 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 Sekunden.
Merker
ER:
S und S+1 oder R und R+1 befinden sich nicht im gleichen Datenbereich.
S und/oder S+1 liegen nicht im BCD–Format vor oder die Anzahl der
Sekunden überschreitet 36.000.000 Sekunden.
431
Abschnitt 7-20
Konvertierungsbefehle
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ:
Beispiel
Auf EIN gesetzt, wenn das Ergebnis Null ist.
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
Adresse
HMS(––)
HR 12
DM 0100
00000
00001
Befehl
Operanden
LD NOT
HMS(––)
00000
HR
DM
HR 12
HR 13
5
1
9
0
2
1
7
3
10.135.927 s
DM 0100
DM 0101
3
2
2
8
0
1
7
5
2.815 Std., 32 Min., 07 Sek.
7-20-12
12
0100
000
2’S COMPLEMENT (2er–Komplement) – NEG(––)
Kontaktplansymbol
Datenbereiche
NEG(––)
@NEG(––)
S
S
R
R
000
000
S: Quellwort
IR, SR, AR, DM, HR, TC, LR, #
R Ergebniswort
IR, SR, AR, DM, HR, LR
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 Quellwortes (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–Daten für weitere Einzelheiten.
Merker
432
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.
Abschnitt 7-20
Konvertierungsbefehle
Beispiel
Das folgende Beispiel zeigt die Anwendung von NEG(––), um das Zweierkomplement des Inhaltes von DM 0005 zu bilden und das Ergebnis an IR 15 auszugeben.
00100
NEG(––)
DM 0005
15
Adresse
00000
00001
Befehl
Operanden
LD
NEG(––)
00100
DM
000
0005
15
000
#0000
–
#001F
Inhalt von DM 0005.
#FFE1
Ausgabe an IR 15.
433
Abschnitt 7-21
BCD–Rechenbefehle
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)
Au
Au
Ad
Ad
R
R
Ad: 2. Summand (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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
Merker
ER:
CY
R
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).
434
CY:
Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ:
Auf EIN gesetzt, wenn das Ergebnis 0 ist.
Abschnitt 7-21
BCD–Rechenbefehle
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 Konstanten (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.
Beispiel
Adresse
TR 0
00002
CLC(41)
ADD (30)
00000
00001
00002
00003
Befehl
Operanden
LD
OUT
CLC (41)
ADD(30)
TR
200
#
DM
#6103
DM 0100
25504
MOV (21)
00004
00005
AND
MOV (21)
#0001
DM 0101
25504
MOV (21)
00006
00007
00008
LD
AND NOT
MOV (21)
#0000
DM 0101
00002
0
200
6103
0100
25504
#
DM
TR
0001
0101
0
25504
#
DM
0000
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
Mi: Minuend (BCD)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
SUB(31)
@SUB(31)
Mi
Mi
Su
Su
R
R
Su: Subtrahend (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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
Merker
ER:
CY
R
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
Abschnitt 7-21
BCD–Rechenbefehle
EQ:
! Vorsicht
Beispiel
Auf EIN gesetzt, wenn das Ergebnis 0 ist.
Vor der Ausführung des SUB(31)–Befehls muss in jedem Fall der Übertragsmerker 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 Ergebnis 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.
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 Ergebnis 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 Subtraktion 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)
201
Erste
Subtraktion
DM 0100
HR 10
25504
CLC(41)
@SUB(31)
#0000
Zweite
Subtraktion
HR 10
HR 10
25504
HR 1100
HR 1100
436
Auf EIN gesetzt, um ein
negatives Ergebnis anzuzeigen
Abschnitt 7-21
BCD–Rechenbefehle
Adresse
Befehl
00000
00001
00002
00003
LD
OUT
CLC (41)
@SUB(31)
Operanden
00002
0
TR
201
0100
10
25504
DM
HR
00004
00005
00006
00007
00008
00009
00010
00011
AND
CLC (41)
@SUB(31)
LD
LD
OR
AND LD
OUT
#
HR
HR
TR
0000
10
10
0
25504
1100
--1100
HR
HR
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 subtrahiert. 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 negativen 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)
MD
MD
Mr
Mr
R
R
Mr: Multiplikator (BCD)
Beschränkungen
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort
IR, SR, AR, DM, HR LR
DM 6144 bis DM 6655 können nicht für R verwendet werden.
437
Abschnitt 7-21
BCD–Rechenbefehle
Erläuterungen
Ist die Ausführungsbedingung FALSCH, wird der Befehl MUL(32) nicht ausgefü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
Beispiel
R
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
MUL (32)
00000
00001
013
DM 0005
Befehl
HR 07
X
0
Merker
ER:
00000
DM
HR
3
Md: IR 013
3
5
6
0
Mr: DM 0005
0
2
5
3
R: HR 07
9
0
R+1: HR 08
0
0
8
Operanden
LD
MUL (32)
013
0005
07
0
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
Dr
R
Beschränkungen
438
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort (BCD)
IR, SR, AR, DM, HR, LR
R und R+1 müssen sich im gleichen Datenbereich befinden. DM 6144 bis DM
6655 können nicht für R verwendet werden.
Abschnitt 7-21
BCD–Rechenbefehle
Erläuterungen
Ist die Ausführungsbedingung FALSCH, wird der Befehl DIV(33) nicht ausgefü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
Dr
Merker
ER:
R
Dd
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.
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 dargestellt.
Beispiel
00000
Adresse
DIV(33)
216
00000
00001
Befehl
Operanden
LD
DIV(33)
00000
HR 09
DM 0017
Quotient
1
0
R: DM 0017
1
5
0
Dd: HR 09
0
0
3
3
HR
DM
Rest
216
09
0017
R + 1: DM 0018
0
0
0
2
Dd: IR 216
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)
Au
Au
Ad
Ad
R
R
Ad: 2. Summand (BCD)
Beschränkungen
IR, SR, AR, DM, HR, TC, LR
R: Erstes Ergebniswort
IR, SR, AR, DM, HR, LR
DM 6144 bis DM 6655 können nicht für R verwendet werden.
439
Abschnitt 7-21
BCD–Rechenbefehle
Erläuterungen
Ist die Ausführungsbedingung FALSCH, wird der Befehl ADDL(54) nicht ausgeführt. Ist diese jedoch WAHR, addiert ADDL(54) den Inhalt von CY zum 8–stelligen 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 überschreitet.
Au + 1
Au
Ad + 1
Ad
+
CY
Merker
ER:
CY
R+1
R
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).
Beispiel
CY:
Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ:
Auf EIN gesetzt, wenn das Ergebnis 0 ist.
Ist 00000 auf EIN gesetzt, erfolgt im folgenden Programmabschnitt eine Addition 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)–Befehl 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 addiert 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 Addition)) werden zwei aus Nullen bestehende Konstanten addiert, um den Übertrag
aus der zweiten Addition in HR 13 abzulegen.
00000
Adresse
Befehl
00000
00001
00002
LD
CLC(41)
@ADDL(54)
Operanden
CLC(41)
@ADDL(54)
LR 00
DM 0010
HR 10
@ADD(30)
00003
DM 0012
HR 12
#0000
#0000
HR 13
440
00004
LR
DM
HR
00
0010
10
LR
DM
HR
02
0012
12
#
#
HR
0000
0000
13
@ADD(30)
LR 02
@ADB(50)
00000
@ADB(50)
Abschnitt 7-21
BCD–Rechenbefehle
7-21-8 DOUBLE BCD SUBTRACT (BCD–Doppelwort–Subtraktion) –
SUBL(55)
Datenbereiche
Mi: Minuend (BCD)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
SUBL (55)
@SUBL(55)
Mi
Mi
Su
Su
R
R
Su: Subtrahend (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort
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 ausgeführt. Ist diese jedoch WAHR, subtrahiert SUBL(55) CY und den 8–stelligen Inhalt 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 generieren.
Mi + 1
Mi
Su + 1
Su
–
CY
Merker
ER:
CY
R+1
R
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
Abschnitt 7-21
BCD–Rechenbefehle
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 werden kann (eine 8–stellige Konstante kann nicht eingegeben werden).
TR 0
00003
CLC(41)
Erste
Subtraktion
@SUBL(55)
HR 00
220
DM 0100
25504
@BSET(71)
#0000
DM 0000
DM 0001
CLC(41)
Zweite
Subtraktion
@SUBL(55)
DM 0000
DM 0100
DM 0100
25504
HR 0100
HR 0100
Adresse
00000
00001
00002
00003
Auf EIN gesetzt, um
ein negatives Ergebnis
anzuzeigen
Befehl
Operanden
LD
OUT
CLC (41)
@SUBL(55)
TR
HR
DM
00004
00005
AND
@BSET(71)
#
DM
DM
Adresse
00003
0
00006
00007
00
220
0100
25504
00008
00009
00010
00011
00012
0000
0000
0001
Befehl
Operanden
CLC(41)
@SUBL(55)
LD
LD
OR
AND LD
OUT
DM
DM
DM
TR
HR
0000
0100
0100
0
25504
0100
HR
0100
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)
MD
MD
Mr
Mr
R
R
Mr: Multiplikator (BCD)
442
IR, SR, AR, DM, HR, TC, LR
R: Erstes Ergebniswort
IR, SR, AR, DM, HR LR
Abschnitt 7-21
BCD–Rechenbefehle
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 ausgefü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.
X
R+3
Merker
ER:
R+2
MD + 1
MD
Mr + 1
Mr
R+1
R
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
Dd: Dividend (BCD)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR
DIVL(57)
@DIVL(57)
Dd
Dd
Dr
Dr
R
R
Dr: Divisor (BCD)
IR, SR, AR, DM, HR, TC, LR
R: Erstes Ergebniswort
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 ausgefü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
R+3
Dr+1
Merker
ER:
Quotient
R+2
Dr
R+1
R
Dd+1
Dd
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 Datenwortbereichsgrenze wurde überschritten).
EQ:
Auf EIN gesetzt, wenn das Ergebnis 0 ist.
443
Abschnitt 7-22
Binäre Rechenbefehle
7-22 Binäre Rechenbefehle
7-22-1 BINÄR ADD (Binäre Addition) – ADB(50)
Datenbereiche
Au: 1. Summand (binär)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
ADB(50)
@ADB(50)
Au
Au
Ad
Ad
R
R
Ad: 2. Summand (binär)
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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 Unterlauf– bzw. Überlaufmerker (SR 25404 und SR 25405) an, ob das Ergebnis den
unteren oder oberen Grenzwert des vorzeichenbehafteten16 Bit–Binärdatenbereichs überschreitet.
Merker
Beispiel
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.
Das folgende Beispiel zeigt eine 4–stellige Addition mit CY zum Schreiben von
entweder #0000 oder #0001 in R+1 zur Sicherung des Übertrags.
Adresse
TR 0
00000
00000
00001
00002
00003
CLC(41)
ADB (50)
Befehl
LD
OUT
CLC (41)
ADB (50)
Operanden
TR
200
DM 0100
HR 10
=R
25504
00004
00005
MOV (21)
#0000
HR 11
DM
HR
AND NOT
MOV (21)
= R+1
25504
MOV (21)
#0001
HR 11
444
= R+1
00006
00007
00008
LD
AND
MOV (21)
00000
0
200
0100
10
25504
#
HR
TR
0000
11
0
25504
#
HR
00001
11
Abschnitt 7-22
Binäre Rechenbefehle
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.
+
0
R+1: HR 11
0
0
1
A
Au: IR 200
6
E
2
8
Ad: DM 0100
0
C
5
2
R: HR 10
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 Datenbereich überschreitet (–32.768 (8000) bis +32.767 (7FFF)).
7-22-2 SBB(51) – BINARY SUBTRACT (Binäre Subtraktion)
Datenbereiche
Mi: Minuend (Binär)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
SBB(51)
@SBB(51)
Mi
Mi
Su
Su
R
R
Su: Subtrahend (Binär)
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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 eingesetzt werden. Bei der CPM1A, CPM2A und SRM1(–V2) zeigen die Unterlauf–
bzw. Überlaufmerker (SR 25404 und SR 25405) an, ob das Ergebnis den unteren oder oberen Grenzwert des vorzeichenbehafteten16 Bit–Binärdatenbereichs überschreitet.
Merker
Beispiel
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.
Das folgende Beispiel zeigt eine 4–stellige Subtraktion. Ist IR 00001 auf EIN gesetzt, wird der Inhalt von LR 00 und CY vom Inhalt von IR 200 subtrahiert und
das Ergebnis in HR 01 gespeichert.
445
Abschnitt 7-22
Binäre Rechenbefehle
Bei einem negativen Ergebnis wird CY auf EIN gesetzt. Werden normale Daten
verwendet, muss ein negatives Ergebnis (vorzeichenbehafteter Binärwert) unter Anwendung des NEG(––)–Befehls in normale Daten konvertiert werden. Sehen Sie Abschnitt 7-20-12 2’s COMPLEMENT (2–er Komplement) – NEG(––)
für weitere Informationen.
Adresse
00001
00000
00001
00002
00003
CLC(41)
SBB (51)
Befehl
LD
OUT
CLC (41)
SBB (51)
Operanden
TR
00001
1
LR
HR
200
00
01
200
LR00
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 Komplement konvertiert.
F
Mi: IR 002
8
C
5
–
7
Su: LR 00
A
0
3
–
0
0
0
R: HR 01
E
C
7
CY = 0
(von CLC(41))
0
2
Hinweis Bei vorzeichenbehafteten binären Berechnungen zeigt der Zustand der UF–
und OF–Merker an, ob das Ergebnis den vorzeichenbehafteten binären Datenbereich ü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)
MD
MD
Mr
Mr
R
R
Mr: Multiplikator (Binär)
Beschränkungen
446
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort
IR, SR, AR, DM, HR LR
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.
Abschnitt 7-22
Binäre Rechenbefehle
Erläuterungen
Ist die Ausführungsbedingung FALSCH, wird der Befehl MLB(52) nicht ausgefü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
Merker
R
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
Dd: Dividend (Binär)
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
DVB(53)
@DVB(53)
Dd
Dd
Dr
Dr
R
R
Dr: Divisor (Binär)
IR, SR, AR, DM, HR, TC, LR, #
R: Erstes Ergebniswort
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 ausgeführt. Ist diese jedoch WAHR, dividiert DVB(53) den Inhalt von Dd durch den Inhalt von Dr und das Ergebnis wird in R und R+1 abgelegt: der Quotient in R und
der Rest in R+1.
Quotient
R
Dr
Merker
ER:
Rest
R+1
Dd
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
Abschnitt 7-23
Spezielle mathematische Befehle
7-23 Spezielle mathematische Befehle
7-23-1 DATA SEARCH (Datenbereiche durchsuchen) – SRCH(––)
Kontaktplan–Symbol
Datenbereiche
N: Anzahl der Worte
SRCH(––)
@SRCH(––)
N
N
R1
R1
C
C
IR, SR, AR, DM, HR, TC, LR, #
R1: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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 werden.
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 enthalten. Befinden sich die Vergleichsdaten auf einer oder mehreren Adressen,
wird der EQ–Merker (SR 25506) gesetzt und die niedrigste Adresse, die die Vergleichdaten enthält, wir in C+1 ausgegeben. Die Adresse wird, entsprechend
dem DM–Bereich, auf verschiedene Arten identifiziert:
1, 2, 3...
Merker
1. Bei einer Adresse im DM–Bereich, wird die Wortadresse in C+1 gespeichert. Ist zum Beispiel DM 0114 die niedrigste Adresse, die die Vergleichsdaten 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.
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:
Beispiel
448
Es wurden passende Vergleichsdaten im Suchbereich gefunden.
Im folgenden Beispiel wird ein aus 10 Worten (DM 200 bis DM 209) bestehender Bereich nach Adressen durchsucht, die die gleichen Daten enthalten wie
Abschnitt 7-23
Spezielle mathematische Befehle
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
@SRCH(––)
#0010
200
Adresse
00000
00001
Befehl
Operanden
LD
@SRCH(––)
00000
#
DM 0100
DM
DM 0100
89AB
IR 200
IR 201
IR 202
IR 203
IR 204
IR 205
IR 206
IR 207
IR 208
IR 209
1234
5678
ABCD
EF13
89AB
8860
90CD
00FF
89AB
810C
Offset des ersten Wortes, dass die Suchdaten
enthält
← Suchdaten gefunden
Offset: 0004
DM 0101
0010
0200
0100
0004
← Suchdaten gefunden
Hinweis Die passenden Suchdaten in IR 208 werden ignoriert, da die Suchdaten in einem Wort mit niedrigerer Adresse im Bereich gefunden wurden.
7-23-2 FIND MAXIMUM (Maximum suchen) – MAX(––)
Kontaktplan–Symbol
Datenbereiche
C: Steuerdaten
MAX(––)
@MAX(––)
C
C
R1
R1
D
D
IR, SR, AR, DM, HR, TC, LR, #
R1: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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 ausgefü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
Abschnitt 7-23
Spezielle mathematische Befehle
Ist Bit 14 des Steuerwortes C gesetzt und enthalten mehrere Adressen den gleichen Maximalwert, wird die Position der niedrigsten Adresse in D+1 gespeichert. 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ß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 vorzeichenbehaftete 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.
Ohne Vorzeichen –
auf Null gesetzt.
! Vorsicht
Merker
Ausgabe der Adresse an D+1?
1 (EIN): Ja.
0 (AUS): Nein.
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.
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:
Beispiel
450
Auf EIN gesetzt, wenn der Maximalwert #0000 ist.
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,
Abschnitt 7-23
Spezielle mathematische Befehle
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
MAX(––)
DM 0000
200
Adresse
00000
00001
Befehl
Operanden
LD
MAX(––)
00000
DM
DM 0500
DM
DM 0000
4010
IR 200
3F2A
IR 201
51C3
Offset des Wortes, das Maximalwert enthält:
2 Worte
IR 202
E02A
Maximalwert
IR 203
7C9F
IR 204
2A20
IR 205
A827
IR 206
2A20
IR 207
E02A
IR 208
C755
IR 209
94DC
DM 0500
E02A
DM 0501
0002
10 Worte
0000
200
0500
Maximalwert
Enthalten zwei Worte den Maximalwert, wird die erste Adresse in
DM 0501 abgelegt.
7-23-3 FIND MINIMUM (Minimum suchen) – MIN(––)
Kontaktplan–Symbol
Datenbereiche
C: Steuerdaten
MIN(––)
@MIN(––)
C
C
R1
R1
D
D
IR, SR, AR, DM, HR, TC, LR, #
R1: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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 ausgefü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
Abschnitt 7-23
Spezielle mathematische Befehle
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 ausgegeben. 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 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 vorzeichenbehaftete 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.
Ohne Vorzeichen –
auf Null gesetzt.
! Vorsicht
Merker
Ausgabe der Adresse an D+1?
1 (EIN): Ja.
0 (AUS): Nein.
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.
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:
Beispiel
452
Auf EIN gesetzt, wenn der Minimalwert #0000 ist.
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-
Abschnitt 7-23
Spezielle mathematische Befehle
ste, vorzeichenlose Wert wird in DM 0500 gespeichert. Die Adresse des Wortes,
das den Mindestwert (0014) enthält, wird in DM 0501 gespeichert.
00000
MIN(––)
DM 0300
DM 0010
Adresse
00000
00001
Befehl
Operanden
LD
MIN(––)
00000
DM
DM
DM
DM 0500
DM 0300
10 Worte
0300
0010
0500
4010
DM0010
3F2A
DM0011
51C3
DM0012
E02A
DM0013
7C9F
DM0014
2A20
DM0015
A827
DM0016
33BF
DM0017
E02A
DM0018
2A20
DM0019
94DC
DM 0500
2A20
DM 0501
0014
Adresse des Wortes, das Maximalwert enthält:
0014
Mindestwert
Mindestwert
Enthalten zwei Worte den Minimalwert, wird die erste Adresse in
DM 0501 abgelegt.
7-23-4 AVERAGE VALUE (Mittelwerte berechnen) – AVG(––)
Kontaktplan–Symbol
AVG(––)
Datenbereiche
S: Quellwort
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 werden.
Erläuterungen
AVG(–) berechnet den Mittelwert von S über N-Zyklen.
Ist die Ausführungsbedingung FALSCH, wird der Befehl AVG(–) nicht ausgefü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 Befehlsausführung wird der Inhalt von S in D+N+1 gespeichert. AVG(–) berechnet
453
Abschnitt 7-23
Spezielle mathematische Befehle
dann den Mittelwert der in D+2...D+N+1 gespeicherten Werte und schreibt diesen Wert in D.
In der nachfolgenden Abbildung ist die Mittelwertberechnung dargestellt.
D
D+1
D+2
D+3
Mittelwert (nach N oder mehr Befehlsausführungen)
Vom System benutzt.
Inhalt von S der 1. Befehlsausführung von AVG(––)
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 gerundet).
Stellen Sie den Inhalt von D+1 auf #0000 ein, um AVG(––) direkt mit dem 1. Zyklus 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
454
In dem folgenden Beispiel wird der Inhalt von IR200 auf #0000 gesetzt und anschließ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-
Abschnitt 7-23
Spezielle mathematische Befehle
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
00000
00001
LD
@MOV(21)
#0000
200
00001
#
AVG(––)
200
00002
AVG(––)
#0003
#
DM
DM 1000
00003
00004
CLC(41)
0000
200
200
0003
1000
CLC (41)
ADB (50)
ADB(50)
#
200
200
0001
200
#0001
200
IR 200
DM 1000
DM 1001
DM 1002
DM 1003
DM 1004
1. Zyklus
0000
2. Zyklus
0001
3. Zyklus
0002
4.
0003
1. Zyklus
0000
2. Zyklus
0001
3. Zyklus
0001
4.
0002
0000
–––
–––
0000
0001
–––
0000
0001
0002
0003
0001
0002
Durchschnitt
Vom System benutzt.
Vorheriger
Wert von
IR 200
7-23-5 SUM (Addition) – SUM(––)
Kontaktplan–Symbol
SUM(––)
@SUM(––)
C
C
R1
R1
D
D
Datenbereiche
C: Steuerdaten
IR, SR, AR, DM, HR, LR, #
R1: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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 ausgefü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ärdaten können vorzeichenlos oder vorzeichenbehaftet sein.
455
Abschnitt 7-23
Spezielle mathematische Befehle
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
Datentyp
1 (EIN): Binärdaten
0 (zurückgesetzt): BCD–Daten
Additionseinheiten
1 (gesetzt):
Bytes
0 (zurückgesetzt): Worte
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, werden 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.
R1
R1+1
R1+2
R1+3
MSB
1
3
5
7
LSB
2
4
6
8
Ist Bit 12 auf AUS gesetzt, werden die Bytes in der folgenden Reihenfolge addiert: 1+2+3+4...
Ist Bit 12 auf EIN gesetzt, werden die Bytes in der folgenden Reihenfolge addiert: 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:
456
Auf EIN gesetzt, wenn das Ergebnis Null ist.
Abschnitt 7-24
Logikbefehle
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
@SUM(––)
Adresse
Befehl
00000
00001
LD
@SUM(––)
#0008
DM 0000
Operanden
00001
#
DM
DM
DM 0010
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
DM 0006
DM 0007
0001
0002
0003
0004
0005
0006
0007
0008
DM 0010
DM 0011
0008
0000
0010
0036
0000
7-24 Logikbefehle
7-24-1 COMPLEMENT (Komplement) – COM(29)
Kontaktplan–Symbol
Datenbereiche
COM (29)
@COM(29)
Wd
Wd
Wd: Komplementwort
IR, SR, AR, DM, HR, LR
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 ausgefü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 berechnen.
15
Beispiel
Original
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
Komplement 0
Merker
1
00
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
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
Abschnitt 7-24
Logikbefehle
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)
I1
I1
I2
I2
R
R
I2: Eingang 2
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgeführt. Ist diese jedoch WAHR, führt ANDW(34) eine logische UND–Verknüpfung (Bit–für–Bit) der Inhalte von I1 und I2 durch und legt das Ergebnis in R ab.
15
Beispiel
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Merker
0
1
1
00
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
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, #
Beschränkungen
458
ORW (35)
@ORW(35)
I1
I1
I2
I2
R
R
I2: Eingang 2
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
IR, SR, AR, DM, HR, LR
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Logikbefehle
Abschnitt 7-24
Erläuterungen
Ist die Ausführungsbedingung FALSCH, wird der Befehl ORW(35) nicht ausgefü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.
15
Beispiel
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Merker
1
1
1
00
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
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
I1: Eingang 1
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
XORW(36)
@XORW(36)
I1
I1
I2
I2
R
R
I2: Eingang 2
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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 Ergebnis in R ab.
15
Beispiel
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Merker
1
1
1
00
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
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
Abschnitt 7-25
Inkrementier/Dekrementier–Befehle
7-24-5 EXCLUSIVE NOR (Wortweise
EXKLUSIV–ODER–NICHT–Verknüpfung) – XNRW(37)
Datenbereiche
I1: Eingang 1
Kontaktplan–Symbol
IR, SR, AR, DM, HR, TC, LR, #
XNRW(37)
@XNRW(37)
I1
I1
I2
I2
R
R
I2: Eingang 2
IR, SR, AR, DM, HR, TC, LR, #
R: Ergebniswort
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 ausgefü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
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Merker
0
1
1
00
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
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
INC(38)
@INC(38)
Wd
Wd
Datenbereiche
Wd: Inkrementierungswort (BCD)
IR, SR, AR, DM, HR, LR
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 ausgefü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
Abschnitt 7-25
Inkrementier/Dekrementier–Befehle
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
DEC(39)
@DEC(39)
Wd
Wd
Datenbereiche
Wd: Dekrementierungswort (BCD)
IR, SR, AR, DM, HR, LR
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 ausgefü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 dekrementiert 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
Abschnitt 7-26
Unterprogramm–Befehle
7-26 Unterprogramm–Befehle
Unterprogramme unterteilen große Programmbereiche in kleinere Abschnitte.
Ruft das Hauptprogramm ein Unterprogramm auf, wird die Steuerung dem Unterprogramm ü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 Hauptprogramm wieder die Steuerung und zwar an der Stelle, an der der Unterprogrammaufruf 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 zunä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 Unterprogramm kann an verschiedenen Stellen im Hauptprogramm aufgerufen werden.
462
Abschnitt 7-26
Unterprogramm–Befehle
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 erreicht), 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 veranschaulicht eine ausgelagerte Zwischenroutine auf zwei Ebenen.
SBS(91) 010
SBN(92) 010
SBN(92) 011
SBS(91) 011
SBS(91) 012
RET(93)
RET(93)
SBN(92) 012
RET(93)
Die folgende Abbildung veranschaulicht die Prograummausführung bei unterschiedlichen Ausführungsbedingungen für zwei SBS(91).
A
SBS(91)
000
A
B
Haupt–
programm
SBS(91)
AUS Ausführungsbedingungen für
die Unterprogramme 000 und 001
B
C
001
EIN Ausführungsbedingung nur
für das Unterprogramm 000
A
C
SBN(92)
000
D
B
C
EIN Ausführungsbedingung nur
für das Unterprogramm 001
A
B
E
C
D
Unter–
programme
RET(93)
SBN(92)
001
EIN Ausführungsbedingungen für
die Unterprogramme 000 und 001
A
D
B
E
C
E
RET(93)
END(01)
Merker
ER:
Es ist kein Unterprogramm mit der angegebenen Unterprogrammnummer 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 Unterprogramm nicht aufgerufen.
463
Abschnitt 7-26
Unterprogramm–Befehle
7-26-2 SUBROUTINE DEFINE und RETURN (Unterprogramm–Anfang und
Unterprogramm–Ende) – SBN(92)/RET(93)
Kontaktplan–Symbol
SBN(92) N
Datenbereiche
N: Unterprogramm–Nummer
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 Unterprogrammnummer N als Operand des SBN(92)–Befehls definiert. Die gleiche Unterprogrammnummer 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)
N
N
I1
I1
O1
O1
I1: Erstes Eingangs–Wort
IR, SR, AR, DM, HR, TC, LR
O1: Erstes Ausgangs–Wort
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
Abschnitt 7-26
Unterprogramm–Befehle
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ührung 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 Unterprogrammnummer 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
Abschnitt 7-27
Impulsausgabe–Befehle
7-27 Impulsausgabe–Befehle
7-27-1 SET PULSES (Impulsausgabe) – PULS(65)
Kontaktplan–Symbol
Datenbereiche
P: Schnittstellenspezifikation
PULS(65)
@PULS(65)
P
P
C
C
N
N
000 oder 010
C: Steuerdaten
000 oder 001
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 ausgegeben werden. Im allgemeinen sollte PULS(65) jedes Mal nur einmal ausgeführt werden, wenn die Anzahl der Impulse spezifiziert werden muss; verwenden Sie flankengesteuerte Variation (@PULS(65)) oder eine Eingangsbedingung, die nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere Informationen.
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 –abbremsung (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 verwendet 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 Ausgangsimpulse kann –16,777,215 bis 16.777.215 betragen. Bit 15 von N+1 kennzeichnet das Vorzeichen; der Wert ist negativ, wenn Bit 15 aktiviert ist, und positiv,
wenn es deaktiviert ist.
466
Abschnitt 7-27
Impulsausgabe–Befehle
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
Bewegungspulsen
Die Anzahl der Bewegungsimpulse hängt von der Anzahl der Ausgabeimpulse
(N+1 und N) und der Impulsart (C) ab.
Koordinatensystem
Bewegungsimpulse
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 Bewegungsimpulse nicht geändert, auch wenn INI(61) ausgeführt wird, um den Impulsausgabe–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 werden.
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 Beschleunigung 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 verwendet.)
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 Datenwortbereichsgrenze 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ährend 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 Anzahl der Bewegungspulsen nicht zwischen 1 und 16.777.215.
7-27-2 SPEED OUTPUT (Geschwindigkeitsausgabe) – SPED(64)
Datenbereiche
Kontaktplan–Symbol
P: Schnittstellenspezifikation
SPED(64)
@SPED(64)
P
P
M
M
F
F
000 oder 010
M: Ausgabebetriebsart
000 oder 001
F: Zielfrequenz
IR, SR, AR, DM, HR, LR, #
467
Abschnitt 7-27
Impulsausgabe–Befehle
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 Ausfü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 Variation (@SPED(64)) oder eine Eingangsbedingung, die nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere Informationen.
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 nachfolgend 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 spezifizierten Ausgang wird beendet, wenn 0000 für F eingestellt wird .
SPS
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)
Die über SPED(64) gestartete Impulsausgabe arbeitet weiter, bis einer der
nachfolgend aufgeführten Punkte eintritt:
Allgemeiner Betrieb
1, 2, 3...
468
Mögliche Werte für F
CPM1A
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) ausfü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 Impulsanzahl vor der Ausführung des PULS–Befehls festgelegt werden. Die Anzahl
Abschnitt 7-27
Impulsausgabe–Befehle
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 werden. Ein Fehler tritt auf und SR 25503 wird aktiviert, wenn SPED(64) unter diesen Umständen ausgeführt wird.
Betrieb in der
Unabhängig–Betriebsart
In der Unabhängig–Betriebsart wird nur die Anzahl der mit PULS(65) spezifizierten 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 Anzahl der Bewegungsimpulse –500, wird der Wert von 500 verwendet.)
Impulsfrequenz
Zeit
Betrieb in der
Ununterbrochen–
Betriebsart
In der Ununterbrochen–Betriebsart werden Impulse unbegrenzt ausgegeben,
bis diese über INI(61) mit C=003 oder eine erneute Ausführung von SPED(64)
mit F=0000 gestoppt werden oder die SPS in die PROGRAM–Betriebsart umgeschaltet 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 Datenwortbereichsgrenze 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ä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.
469
Abschnitt 7-27
Impulsausgabe–Befehle
7-27-3 ACCELERATION CONTROL (Beschleunigungssteuerung) –
ACC(––)
Kontaktplan–Symbol
Datenbereiche
P: Schnittstellenspezifikation
ACC(––)
@ACC(––)
P
P
M
M
C
C
000
M: Betriebsart–Angabe
000, 002, oder 010 bis 013
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–/Abbremsgeschwindigkeit zu spezifizieren und die Impulsausgabe mit einer trapezförmiger Beschleunigung 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 Informationen.
Schnittstellenbezeichner (P)
Stellen Sie den Schnittstellenbezeichner immer auf 000 ein. Die 000 Einstellung
spezifiziert den einphasigen Impulsausgang 0 mit trapezförmiger Beschleunigung und Abbremsung.
Betriebsartenspezifizierer (M)
Der Wert von M legt die Ausgabebetriebsart fest.
M
Betriebsart
Hinweis
000
Unabhängig–Betriebsart und Aufwärts–/Abwärts–ImpulsAusgabebetriebsart
–––
002
Unabhängig–Betriebsart und Impuls + Richtungs–Ausgabebetriebsart
–––
010
Rechtslauf (Ununterbrochen–Betriebsart und
Aufwärts/Abwärtz–Impuls–Ausgabebetriebsart)
Rechtslauf: Im
Uhrzeigersinn
g
011
Linkslauf (Ununterbrochen–Betriebsart und
Aufwärts/Abwärtz–Impuls–Ausgabebetriebsart)
012
Rechtslauf (Ununterbrochen–Betriebsart und Impuls +
Richtungs–Ausgabebetriebsart)
Linkslauf:
g g dem
Entgegen
Uhrzeigersinn
Uh i
i
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
Abschnitt 7-27
Impulsausgabe–Befehle
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).
Zwei Impulsausgänge werden von ACC(––) gesteuert.
Allgemeiner Betrieb
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 Ausgangsfrequenz 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 Frequenz.
Die Impulsausgabe mit trapezförmiger Beschleunigung/Abbremsung kann
durch eine der folgenden Methoden gestoppt werden.
1, 2, 3...
Betrieb in der
Unabhängig–Betriebsart
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) ausgeführt.
a) Werden Impulse in der Unabhängig–Betriebsart ausgegeben, verlangsamt 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, verlangsamt sich die Ausgabe mit der spezifizierten Abbremsgeschwindigkeit zu einem Halt.
4. Umschaltung der SPS in die PROGRAM–Betriebsart. (Unmittelbarer Halt.)
In der Unabhängig–Betriebsart wird nur die Anzahl der mit PULS(65) spezifizierten 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
Abschnitt 7-27
Impulsausgabe–Befehle
ausgabe wird abgebrochen, nachdem die zuvor eingestellte Anzahl der Ausgabeimpulse 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 erreichen) die zuvor eingestellte Anzahl der Impulse, wird die Beschleunigung und
Abbremsung abgekürzt und die Impulsausgabe ist eher dreieckig statt trapezfö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 Abbremsung statt. (Die Impulsausgabe erfolgt mit einer konstanten Geschwindigkeit.)
Ist (Zielfrequenz ÷ Beschleunigungs–/Abbremsgeschwindigkeit) kein Integer–
Wert, wird die spezifizierte Beschleunigungs–/Abbremsgeschwindigkeit vergröß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
Betrieb in der
Ununterbrochen–
Betriebsart
10 ms
In der Ununterbrochen–Betriebsart werden Impulse unbegrenzt ausgegeben,
bis die Ausgabe gestoppt wird, indem INI(61) mit C=003 oder ACC(––) wieder
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 beschleunigt oder verlangsamt wird.
• Wird ACC(––) ausgeführt, während Impulse in der Ununterbrochen–Betriebsart ausgegeben werden, kann die Frequenz auf eine neue Zielfrequenz
472
Abschnitt 7-27
Impulsausgabe–Befehle
(0001 bis 1000: 10 Hz bis 10 kHz) mit eingestellter Beschleunigungs–/Abbremsgeschwindigkeit geändert werden.
• Werden Impulse in der Unabhängig–Betriebsart ausgegeben, kann die Impulsausgabe zu einem Halt verlangsamt werden während, indem ACC(––) mit
einer Zielfrequenzeinstellung von 0000 (in C+1) ausgeführt wird. Die Beschleunigungs–/Abbremsgeschwindigkeit und die Anzahl der Ausgabeimpulsen 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 unverä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 Datenwortbereichsgrenze wurde überschritten).
P beträgt nicht 000.
M beträgt nicht 000, 002 oder 010 bis 013. (Der Betriebsartenspezifizierer 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(––)
P
P
F
F
D
D
000 oder 010
F: Frequenz
IR, SR, AR, DM, HR, LR, #
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 fortgesetzt, 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
Abschnitt 7-27
Impulsausgabe–Befehle
Im allgemeinen sollte PWM(––) nur einmal ausgeführt werden, um die Impulsausgabe 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 ausgefü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 Umständen ausgeführt wird.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere Informationen.
Schnittstellenbezeichner (P)
Der Schnittstellenbezeichner spezifiziert das Ausgangsbit, über das die Impulse 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) spezifiziert werden.
Tastverhältnis (D)
Der 4–stellige BCD–Wert von D spezifiziert das Tastverhältnis der Impulsausgabe, d.h. der Prozentsatz der Zeit, in dem der Ausgang aktiviert ist. Das Tastverhä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
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 Datenwortbereichsgrenze 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ä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.
474
Abschnitt 7-27
Impulsausgabe–Befehle
7-27-5 SYNCHRONIZED PULSE CONTROL (Synchronisierte
Impulsausgabe) – SYNC(––)
Kontaktplan–Symbol
Datenbereiche
P1: Eingangsschnittstellen–Spezifizierer
SYNC(––)
@SYNC(––)
P1
P1
P2
P2
C
C
000
P2: Ausgabeschnittstellenbezeichner
000 oder 010
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 Frequenz 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 Eingangsbedingung, die nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere Informationen.
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 Eingangsfrequenz multipliziert wird. Der Skalierfaktor kann zwischen 0001 und
1000 (1 bis 1.000%) eingestellt werden.
SPS–Konfigurations–
einstellungen und
allgemeiner Betrieb
Die Zählereingangs–Betriebsart für Eingänge 00000 und 00001 wird in Bits 00
bis 03 von DM 6642 eingestellt.
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
Abschnitt 7-27
Impulsausgabe–Befehle
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 Impulsausgabebefehl 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 Eingangsfrequenz unter den Minimalwert, wird die Eingangsfrequenz 0 Hz verwendet.
Ausgabefrequenzbereich
Der Ausgabefrequenzbereich beträgt 10 Hz bis 10 kHz. Überschreitet die errechnete 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 Impulsausgabe aktiv ist, indem der SYNC(––)–Befehl erneut mit einem anderen Skalierfaktor 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 Datenwortbereichsgrenze 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ä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.
476
Abschnitt 7-28
Spezielle Befehle
7-28 Spezielle Befehle
7-28-1 MESSAGE DISPLAY (Meldungsanzeige) – MSG(46)
Kontaktplan–Symbol
MSG(46)
@MSG(46)
FM
FM
Datenbereiche
FM: Erstes Meldungswort
IR, SR, AR, DM, HR, LR
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 Programmierkonsolenanzeige 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 Informationen 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
Anzeigepriorität
Bis zu drei Meldungen können im Speicher gepuffert werden. Sie werden dann
in der Reihenfolge ihres Eingangs wieder ausgegeben. Da es vorkommen kann,
dass in einem Zyklus mehr als drei MSG(46)–Befehle ausgeführt werden, existiert ein Reihenfolge–Schema. Abhängig von dem Speicherbereich, in dem die
Meldung gespeichert ist, wird eine Auswahl über welche dieser Meldungen gepuffert 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) besitzen 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 Meldungen 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
Abschnitt 7-28
Spezielle Befehle
Im folgenden Bespiel wird die Meldung bei über 00000 = EIN angezeigt. Sie wird
gelöscht, sobald 00001 gesetzt wird.
Beispiel
00000
Adresse
Befehl
Operanden
MSG(46)
DM 0010
00001
00000
00001
LD
MSG(46)
00002
00003
LD
FAL(06)
DM
FAL(06) 00
DM–Inhalt
00000
0010
00001
00
ASCII
Äquivalent
DM 0010
4
1
4
2
A
B
DM 0011
4
3
4
4
C
D
DM 0012
4
5
4
6
E
F
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
MSG
ABCDEFGHIJKLMNOP
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 spezifiziert werden. Ist die Ausführungsbedingung für IORF(97) WAHR, werden alle
Worte zwischen (St) und (E) aufgefrischt. Dies geschieht zusätzlich zur normalen 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 werden, E/A–Worte sofort während der Programmausführung zu auffrischen.
! Vorsicht
Merker
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 zwischen den Ausführungen von IORF(97) sollte mindestens 1,3 ms + gesamte
Ausführungszeit des Interrupt–Unterprogramms betragen.
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
Abschnitt 7-28
Spezielle Befehle
7-28-3 BIT COUNTER (Bits zählen) – BCNT(67)
Datenbereiche
Kontaktplan–Symbol
N: Anzahl der Worte (BCD)
BCNT(67)
@BCNT(67)
N
N
SB
SB
R
R
IR, SR, AR, DM, HR, TC, LR, #
SB: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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) befinden 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
FCS(––)
@FCS(––)
C
C
R1
R1
D
D
Datenbereiche
C: Steuerdaten
IR, SR, AR, DM, HR, LR, #
R1: Erstes Wort des Bereiches
IR, SR, AR, DM, HR, TC, LR
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 Kommunikationsschnittstellen.
479
Abschnitt 7-28
Spezielle Befehle
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) ausgegeben.
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
Nicht verwendet (auf 0 gesetzt).
Berechnungseinheiten
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.
R1
R1+1
R1+2
R1+3
MSB
1
3
5
7
LSB
2
4
6
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–stelliger Hexadezimalwert, der anschließend in den entsprechenden 4–stelligen
ASCII–Wert konvertiert wird. Bei der wortweisen Rahmenprüfsummen–Berechnung wird ein 4–stelliger Hexadezimalwert ausgegeben, der, wie nachstehend dargestellt, in den entsprechenden 8–stelligen ASCII–Wert konvertiert
wird.
Byte–Rahmenprüfsummen–
Wert
4A
D
Merker
480
ER:
3 4 4 1
Wort–Rahmenprüfsummen–
Wert
F10B
D
4 6 3 1
D+1
3 0 4 2
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
Abschnitt 7-29
Interrupt–Verarbeitungsbefehle
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
@FCS(––)
#0008
DM 0000
Adresse
Befehl
00000
00001
LD
@FCS(––)
0001
0002
0003
0004
0005
0006
0007
0008
00000
#
DM
DM
DM 0010
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
DM 0006
DM 0007
Operanden
0008
0000
0010
Rahmenprüfsummen–Berechnung
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0
0
DM 0011 3 0 3 0
0
8
DM 0010 3 0 3 8
Konvertierung
in den
ASCII–
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)
C1
C1
000
000
C2
C2
000: Keine Funktion
000
C2: Steuerdaten
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
Abschnitt 7-29
Interrupt–Verarbeitungsbefehle
wendet und führt eine der sieben, im folgenden gezeigten Funktionen aus, abhä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 demaskieren
004*
Aufwärtszähler neu starten, eingangsgesteuerte Interrupts demaskieren
100
Maskieren aller Interrupts
200
Löschen der Maskierung aller Interrupts
Hinweis *Diese Einstellung kann nur in den CPM2A/CPM2C–SPS–Systemen verwendet werden.
Eingangsgesteuerte
Interrupts
maskieren/demaskieren
(C1=000)
Diese Funktion wird dazu verwendet, die Interrupt–Eingänge 00003 bis 00006
zu maskieren und zu demaskieren. Zustände maskierter Eingänge werden gespeichert, aber nicht ausgeführt. Ist ein Eingang maskiert, wird dessen Interrupt–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 eingangsgesteuerten 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 werden.
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 Interrupts demaskiert werden.
Eingangsgesteuerte
Interrupts (C1=001) löschen
Diese Funktion wird dazu verwendet, die Interrupts der Interrupt–Eingänge
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 werden.
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
Maskierungsstatus
(C1=002) lesen
Diese Funktion liest den gegenwärtigen Maskierungszustand der Interrupt–Eingänge 00003 bis 00006 und schreibt diese Informationen in Wort C2. Das entsprechende Bit wird gesetzt, wenn der Eingang maskiert ist. Bits 00 bis 03 entsprechen 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
Abschnitt 7-29
Interrupt–Verarbeitungsbefehle
Zähler–Neustart und
Demaskieren eines
eingangsgesteuerten
Interrupts
(C1=003 oder C1=004)
Diese Funktionen werden dazu verwendet, eingangsgesteuerte Interrupts
(Zählmodus) neuzustarten, indem man den Zähler–Sollwert (in SR 240 bis SR
243) auffrischt und den Interrupt–Eingang (00003 bis 00006) demaskiert.
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 Eingangs 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ähler (Abwärts/Aufwärts) gestartet und der entsprechende Interrupt in dem Zählmodus 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–Betriebs auf 0000 zurückgesetzt, somit muss der Sollwert des Zählers vom Kontaktplanprogramm in das Sollwert–Wort geschrieben werden.)
Wurde bereits ein Interrupt aktiviert (demaskiert), kann der Sollwert nicht auffrischt werden, indem man nur einen neuen Wert ins Sollwert–Wort schreibt. Frischen 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 entsprechende Bit in C2 auf 0 gesetzt wird.
Maskierung oder
Demaskieren aller
Interrupts
(C1=100 oder C1=200)
Alle Interrupts (eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte
Interrupts und zählergesteuerte Interrupts) können als Gruppe maskiert oder
demaskiert werden, indem Sie INT(89) mit C1=100 oder C1=200 ausführen.
Maskierte, eingangsgesteuerte Interrupts werden gespeichert, aber nicht ausgeführt.
Die globale Maske wird zusätzlich zu beliebigen Masken auf die individuellen
Interrupt–Arten angewendet. Überdies löscht das Zurücksetzen der Masken aller 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 demaskieren.
INT(89) kann nicht dazu verwendet werden, alle Interrupts innerhalb von Interrupt–Routinen zu maskieren und diese zu demaskieren.
483
Abschnitt 7-29
Interrupt–Verarbeitungsbefehle
Maskieren von Interrupts (C1=100)
Verwenden Sie den INT(89)–Befehl mit C1=100, um alle Interrupts zu maskieren.
(@)INT(89)
100
000
000
Wird ein Interrupt generiert, während Interrupts maskiert werden, wird die Interrupt–Verarbeitung nicht ausgeführt, aber der Interrupt wird für den Eingang, den
Intervall–Zeitgeber und den Schnellen Zähler gespeichert. Die Interrupts werden 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 demaskieren:
(@)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 Interrupt–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)
C1
C1
C2
C2
C3
C3
000, 003, 006, 010
C2: Steuerdaten #2
IR, SR, AR, DM, HR, TC, LR, #
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
484
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.
Abschnitt 7-29
Interrupt–Verarbeitungsbefehle
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 auszuführen. Sehen Sie Kapitel 2 Besonderheiten für eine detailliertere Beschreibung
der Intervall–Zeitgeber–Interrupts. STIM(69) wird nach der Tabelle in Einzelheiten 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
Interrupt–Zeitgebers
(C1= 000 oder 003)
Setzen Sie C1 auf 000, um den Wischer–Interrupt–Zeitgeber (einmalig) zu aktivieren. Setzen Sie C1 auf 003, um den zeitgesteuerten Interrupt–Zeitgeber (periodisch) zu starten.
C2, das den Sollwert des Zeitgebers spezifiziert, kann als Konstante eingegeben werden oder als Adresse des ersten von zwei Worten, die den entsprechenden Sollwert enthalten. Die Einstellungen unterscheiden sich je nach angewandter 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
Zeitgebers–Istwertes
(C1=006)
Setzen Sie C1 auf 006, um den Zeitgeber–Istwert zu lesen.
C2 spezifiziert das erste von zwei Zielworten, die die Adressaten der Istwerte
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
(C=010)
Setzen Sie C1 auf 010, um den Zeitgeber anzuhalten. C2 und C3 haben in diesem 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 Datenwortbereichsgrenze wurde überschritten).
Eine Datenbereichsgrenze wurde überschritten.
485
Abschnitt 7-30
Kommunikationsbefehle
7-30 Kommunikationsbefehle
7-30-1 RECEIVE (Empfangen) – RXD(47)
Datenbereiche
Kontaktplan–Symbol
D: Erstes Zielwort
RXD(47)
@RXD(47)
D
D
C
C
N
N
IR, SR, AR, DM, HR, TC, LR
C: Steuerwort
#
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 Daten in den Worten D bis D+(N÷2)–1. Es können maximal 256 Datenbytes auf einmal 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
Steuerwort
Werden die empfangenen Daten nicht über den RXD(––)–Befehl gelesen, kann
die SPS nach Übertragung von 256 Bytes keine weiteren Daten mehr empfangen. Nach dem Setzen des EMPFANG–ABGESCHLOSSEN–Merkers (AR
0806 für die RS–232C–Schnittstelle und AR 0814 für die Peripherieschnittstelle) sollten die betreffenden Daten daher möglichst bald gelesen werden.
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
Abschnitt 7-30
Kommunikationsbefehle
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
MSB
D
1
D+1
3
D+2
5
D+3
7
Merker
ER:
LSB
2
4
6
8
Stelle 0 = 1
MSB
D
2
D+1
4
D+2
6
D+3
8
LSB
1
3
5
7
Die Einstellungen in C sind nicht richtig.
N ist größer als 256.
Die SPS–Konfiguration ist nicht auf den Ohne–Protokoll–Modus eingestellt.
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 empfangen 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 empfangen 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)
Datenbereiche
Kontaktplan–Symbol
S: Erstes Quellwort
TXD(48)
@TXD(48)
S
S
C
C
N
N
IR, SR, AR, DM, HR, TC, LR
C: Steuerwort
#
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
Abschnitt 7-30
Kommunikationsbefehle
bis zu S+(N÷2)–1, konvertiert diese in ASCII und gibt die Daten über die spezifizierte 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 Informationen ü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 Schnittstelle, ü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 spezifizierte Schnittstelle übertragen. Die Bytes der nachfolgend dargestellten
Quelldaten werden in der Reihenfolge: 12345678... übertragen.
MSB
1
3
5
7
S
S+1
S+2
S+3
LSB
2
4
6
8
Die folgende Abbildung zeigt das Format des von der CPM2A/CPM2C gesendeten Host–Link–Befehls (TXD). Präfixe und Suffixe, wie z.B. Teilnehmernummern, Header und Rahmenprüfsumme, werden von der CPM2A/CPM2C automatisch generiert.
@
E
X
Stations– Header
Nummer Code
∗
.........
Daten (max. 122 ASCII–Zeichen)
CR
Rahmen Abschluß–
prüfsumme zeichen
RS-232C–Betriebsart
N muss ein BCD–Wert zwischen #0000 und #0256 sein. Der Wert des Steuerwortes bestimmt die Schnittstelle, über die Daten ausgegeben, sowie die Reihenfolge, in der die Daten übertragen werden.
Steuerwort
Der Wert des Steuerwortes spezifiziert die Schnittstelle, über die die Daten gesendet 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
Abschnitt 7-30
Kommunikationsbefehle
Die spezifizierte Anzahl der Bytes wird aus S bis S+(N/2)–1 gelesen und über
die definierte Schnittstelle übertragen.
S
S+1
S+2
S+3
MSB
1
3
5
7
LSB
2
4
6
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 Kommunikationsmodus eingestellt.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbereichsgrenze 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(––)
Datenbereiche
Kontaktplan–Symbol
N: RS-232C–Spezifikation
STUP(––)
@STUP(––)
N
N
S
S
000
S: Erstes Quellwort
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 Vorgabewerte 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 Konfigurationseinstellungen 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
Abschnitt 7-30
Kommunikationsbefehle
schrieben, bis die SPS in die PROGRAM–Betriebsart umgeschaltet (von der
RUN– oder MONITOR–Betriebsart) oder die SPS aus– und anschließend wieder 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 integrierte RS–232C–Schnittstelle auf die Vorgabewerte zurückgesetzt.
S
Anwendungsbeispiel
Funktion
Wortadresse
Der Inhalt von S bis S+4 wird nach DM 6645 bis DM 6649 kopiert.
Konstante
(#0000)
Die Einstellungen in DM 6645 bis DM 6649 werden auf ihre
Standardwerte zurückgesetzt.
Hinweis 1.
Der RS–232C–Konfiguration ändern–Merker (SR 25312) ist aktiviert, 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 ausgeführt, wenn der Kommunikationsschalter auf der Vorderseite der CPU–Baugruppe eingeschaltet ist. Ist dieser Schalter eingeschaltet, wird die
RS–232C–Kommunikation durch die Vorgabeeinstellungen bestimmt.
Das nachfolgende Beispiel zeigt ein Netzwerk, dass den Inhalt des Datenbereichs DM 100 bis DM 0104 in den SPS–Konfigurationsbereich für die
RS–232C–Schnittstelle überträgt.
00000
Adresse
Befehl
00000
00001
LD
@STUP(––)
Operanden
@STUP(––)
000
DM 0100
000
00000
DM
000
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 Konfigurationsdaten.
Quellwort
Merker
Zielwort
Inhalt
Funktion
DM 0100
DM 6645
1001
Aktiviert die Kommunikationseinstellungen in
DM 0101 und stellt den Kommunikationsmodus auf Ohne–Protokoll ein.
DM 0101
DM 6646
0803
DM 0102
DM 6647
0000
Stellt die folgenden Kommunikationsparameter ein:
9.600 Baud, 1 Startbit, 8 Datenbits, 1 Stopbit, keine Parität
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.)
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 Vorderseite der CPU–Baugruppe eingeschaltet.
490
Abschnitt 7-30
Kommunikationsbefehle
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
8-2
8-3
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-1
Der CPM1/CPM1A–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-2
CPM1/CPM1A–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-3
E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-4
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-5
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-6
Befehlsausführungszeiten der CPM1/CPM1A . . . . . . . . . . . . . . . . . . .
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-1
CPM2A/CPM2C–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-2
E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-3
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-4
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-5
Befehlsausführungszeiten der CPM2A/CPM2C . . . . . . . . . . . . . . . . . .
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-1
Der SRM1(–V2)–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-2
SRM1(–V2)–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-3
E/A–Reaktionszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-4
1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-5
Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-6
SRM1(-V2)–Befehlsausführungszeiten . . . . . . . . . . . . . . . . . . . . . . . .
494
494
495
496
497
498
500
505
505
506
507
508
510
519
519
520
522
523
524
525
493
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
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 Ablaufdiagramm dargestellt.
Anlegen der Vers.spannung
Initialisierungsprozesse
Initialisierung
Hardware und Programmspeicher überprüfen
Nein
Überprüfung OK?
Betriebs–
vorgänge
Ja
Zykluszeit–Überwachungszeit
einstellen
Fehlermerker setzen und
Anzeigen aktivieren
FEHLER oder ALARM?
ERROR–LED
(leuchtet)
ALARM
(blinkt)
Anwenderprogramm ausführen
Programmende?
Nein
Programmausführung
Ja
Zykluszeiteinstellung überprüfen
Minimale
Zykluszeit eingestellt?
Zykluszeit
Nein
Ja
Zykluszeit–
abarbeitung
Warten, bis Mindestzykluszeit
vergangen ist.
Zykluszeit berechnen
Eingangsmerker und Ausgängen auffrischen
Service der Peripherieschnittstellen
E/A–Auffrischung
Service der
Peripherieschnittstelle
Hinweis Initialisierungsprozesse beinhalten das Löschen von IR–, SR– und AR–Bereichen, das Voreinstellen der Systemzeitgeber und das Überprüfen der E/A–Baugruppen.
494
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
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–
Bus–Überprüfung, Überprüfung des Programmspeicherbereichs, Uhrauffrischung, Auffrischung der den neuen Funktionen zugewiesenen Bits usw.
0,6 ms
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,
wenn die Mindest–Zykluszeit in der Konfiguration in DM
6619 spezifiziert wird.
Die Berechnung erfolgt fast unmittelbar
(gilt nicht für den Bereitschaftsbetrieb).
Berechnung der Zykluszeit.
E/A–Auffrischung
Die Eingangsdaten der Eingangsbaugruppen werden in den
Eingangsbits gespeichert.Die Ausgangsdaten (Ergebnisse
der Programmausführung) werden in den Ausgangsbits der
Ausgangsbaugruppen gespeichert.
CPU mit 10 Anschlüsse:0,06 ms
CPU mit 20 Anschlüsse:0,06 ms
CPU mit 30 Anschlüsse:0,3 ms
Erweiterungs–E/A–Baugruppen
0,3 ms
Service der Peripherieschnittstelle
Bearbeitung der mit der Peripherieschnittstelle verbundenen Geräte.
min. 0,26 ms, 5% der Zykluszeit oder einstellbar bis zu 66 ms (sehen Sie den Hinweis)
Hinweis Die Prozentwerte können in der Konfiguration (DM 6617) geändert werden.
Zykluszeit und Betrieb
Zykluszeit
Der Einfluss der Zykluszeit auf den CPM1/CPM1A–Betrieb ist in der folgenden
Tabelle dargestellt. Beeinflußt eine lange Zykluszeit den Betrieb, kann entweder die Zykluszeit verringert oder die Ansprechzeit mit Interrupt–Programmen
verbessert werden.
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ä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öglicherweise 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ändert werden.
Berechnung der Zykluszeit
In diesem Beispiel wird die Zykluszeit für eine CPM1/CPM1A mit 20 Ein–/Ausgängen (12 Eingänge und 8 Ausgänge) berechnet. Folgende E/A–Konfiguration 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
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
8-1
In diesem Beispiel wird vorausgesetzt, dass die durchschnittliche Verarbeitungszeit für einen einzelnen Befehl in dem Anwenderprogramm 2,86 µs beträgt. Die Zykluszeiten sind in der nachfolgendenTabelle dargestellt.
Prozess
Berechnung
Zeit mit
Programmiergerät
Zeit ohne
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 Peripherieschnittstelle
Mindestzeit
0,26 ms
0 ms
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–speichert.
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 Eingangssignals (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–Ansprechzeit ist vom Zeitverhalten und von den Verarbeitungsbedingungen abhängig.
Die minimalen und maximalen E/A–Ansprechzeiten werden nachfolgend dargestellt. Hierzu wird das folgende Beispielprogramm verwendet.
Eingang
AUSGANG
Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgenden 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
Ein–
gangs–
anschluss
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.
Eingang–EIN–Verzögerung (8 ms)
Ein–
gangsbit
E/A–Auffrischung
Programmausführung und andere
Vorgänge (15 ms)
E/A–Auffrischung
Ausgang–EIN–Verzögerung (10 ms)
Aus–
gangs–
anschluss
496
Minimale–E/A–Ansprechzeit = 8+15+10 = 33 ms
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
Maximale E/A–Ansprechzeit
Ein–
gangs–
an–
schluss
Ein–
gangsbit
8-1
Die maximale Ansprechzeit ist gegeben, wenn die CPM1/CPM1A unmittelbar
nach der Eingangsauffrischung, innerhalb des Zyklus, ein Eingangssignal empfängt (sehen Sie die folgende Abbildung). In diesem Fall tritt eine Verzögerung
von ungefähr einem Zyklus auf.
Eingang–EIN–Verzögerung (8 ms)
Programmausführung
und andere
Vorgänge (15 ms)
E/A–Auffrischung
E/A–Auffrischung
Programmausführung
und andere
Vorgänge (15 ms)
E/A–Auffrischung
Ausgang–EIN–Verzögerung (10 ms)
Ausgangsanschluss
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 verwendet, 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
Eingang
Slave
Ausgang
(LR)
Eingang (LR)
AUSGANG
Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgenden 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 Bedingungen gegeben:
1, 2, 3...
1. Die CPM1/CPM1A empfängt ein Eingangssignal unmittelbar vor der Eingangsauffrischung innerhalb des Zyklus.
2. Die Master/Slave–Übertragung beginnt sofort.
497
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
8-1
3. Der Kommunikations–Service des Slave tritt unmittelbar nach Abschluss
der Übertragung ein.
Eingangs–
anschluss
Master
E/A–Auffrischung
Betriebssystem, Kommunikation usw.
Eingang–EIN–Verzögerung (8 ms)
Ein–
gangsbit
Programmausführung
CPU–
Verarbeitung
Master–Zykluszeit (10 ms)
Master ⇒ Slave
Übertragungszeit (12 ms)
Programmausführung
CPU–
Verarbeitung
Slave
Slave–Zykluszeit (15 ms)
Ausgang–EIN–Verzögerung
(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 Bedingungen gegeben:
1, 2, 3...
1. Die CPM1/CPM1A 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 x 2 + Übertragungszeit x
3 + Ausgang–EIN–Ansprechzeit
Eingangs–
anschluss
E/A–Auffrischung
Eingang–EIN–Ansprechzeit
Service der Peripherieschnittstelle
Master
Ein–
gangsbit
CPU–
Verarbeitung
Progr.–
ausführ.
Progr.–
ausführ.
Progr.
ausführ.
Master–Zyklus 1
Progr.–
ausführ.
(Datenübertragung entsprechend Eingang)
ÜbertraÜbertraMaster ⇒ Slave gungs- Slave ⇒ Master gungs- Master ⇒ Slave
zeit
zeit
CPU–
Verarbeitung
Progr.–
ausführ.
Slave–Zyklus 1
Slave
Progr.–
ausführ.
Progr.–
ausführ.
Übertragungszeit
Progr.–
ausführ.
Slave–Zyklus 2 Slave–Zykl. 3
Ausgang–AUS–
Ansprechzeit
Ausgangsanschluss
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 Interrupts bis zum Aufruf des Interrupt–Unterprogrammes sowie die Zeit vom Abschluss eines Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangszustand erläutert. Diese Beschreibung gilt für Eingangs–Interrupts, Intervall–
Zeitgeber–Interrupts und Schneller–Zähler–Interrupts.
498
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
1, 2, 3...
Spezifikation
8-1
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–Signals bis zum Aufruf des Interrupt–Unterprogrammes sowie vom Abschluss des
Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangszustand aufgeführt.
Beschreibung
Zeit
Interrupt–EIN–Verzögerung
Verzögerungszeit vom Setzen des Interrupt–Eingangsbits bis zur Ausführung des
Interrupts. Diese ist von weiteren Interrupts unabhängig.
100 µs
Bereitschaft bis zum
Abschluss der Interrupt–Maskierungsverarbeitung
Zeit, in der Interrupts auf den Abschluss einer laufenden Verarbeitung warten. Dieses
ist bei der Ausführung einer Maskierungs–
verarbeitung der Fall. Sehen Sie die nachfolgende, ausführlichere Beschreibung.
Sehen Sie
die nachfolgende Beschreibung.
Wechsel zur Interrupt–
Verarbeitung
Dies ist die für den Wechsel zu der Interrupt–Verarbeitung erforderliche Zeit.
30 µs
Rückkehr
Zeit von der Ausführung der RET(93)–Anweisung bis zur Rückkehr in den unterbrochenen Programmabschnitt.
30 µs
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–Verarbeitungsroutine) bei der Verwendung von Interrupts unter den folgenden Bedingungen erläutert.
Minimale Ansprechzeit
Interrupt–Eingang–EIN–Verzögerung:
100 µs
Interrupt–Maskierungs–Bereitschaftszeit:
0 µs
30 µs
+
Wechsel zur Interrupt–Verarbeitung:
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
30 µs
+
Wechsel zur Interrupt–Verarbeitung:
Maximale Ansprechzeit:
300 µs
Zusätzlich zu der im Beispiel berechneten Ansprechzeit muss die für die Ausführung des Interrupt–Unterprogramms erforderliche Zeit sowie eine Zeit von
30 µs für die Rückkehr in den unterbrochenen Programmabschnitt berücksichtigt werden.
499
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
8-1
8-1-6 Befehlsausführungszeiten der CPM1/CPM1A
Die folgende Tabelle enthält die Ausführungszeiten der CPM1/CPM1A–Befehle.
Basisbefehle
Code
AWL–Code
Code
EIN–Ausfühus ü
rungszeit
it (µs)
( )
-----
LD
LD NOT
1,72
---------
AND
AND NOT
OR
OR NOT
1,32
-----
AND LD
OR LD
0,72
-----
OUT
OUT NOT
4,0
–––
SET
5,8
–––
RSET
5,9
–––
TIM
10,0
0,0
–––
CNT
C
12,5
,5
Bedingungen
ed gu ge (oben:
(obe min,, unten:
u e max.)
a )
AUS–Ausführungszeit (µs)
RSET
IL
JMP
Beliebig
–––
Konstante für Sollwert
16,2
16,0
6,4
:DM für Sollwert
31,4
31
6,4
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
00
NOP
0,36
01
END
10,8
02
IL
4,6
2,6
03
ILC
3,6
3,6
04
JMP
4,3
05
JME
4,7
06
FAL
38,5
07
FALS
5,0
08
STEP
14,9
09
SNXT
14,2
2,4
4,7
5,5
5,4
11,1
7,6
10
SFT
11
KEEP
12
CNTR
EIN–Ausführungszeit (µs)
Bedingungen (oben: min, unten: max.)
Beliebig
e eb g
Rücksetzung
IL
JMP
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
6,2
Beliebig
Rücksetzung
IL
JMP
6,1
3,1
3,1
Rücksetzung
IL
JMP
16,8
12,2
12,2
Ver–
schiebung
IL
JMP
10,1
12,2
12,2
SHIFT
IL
JMP
10,0
9,9
2,3
25,8
Konstante für Sollwert
41,2
:DM für Sollwert
13
DIFU
11,8
Beliebig
14
DIFD
11,0
,0
Beliebig
500
AUS–Ausführungszeit (µs)
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
Code
AWL–Code
15
TIMH
16
6
17
20
0
21
22
23
3
24
25
5
26
6
27
28
8
29
9
30
31
3
32
3
33
34
3
35
36
WSFT
S
ASFT
S
CMP
C
MOV
O
MVN
BIN
BCD
C
ASL
S
ASR
S
ROL
O
ROR
O
COM
CO
ADD
SUB
SU
MUL
U
DIV
ANDW
ORW
O
XORW
O
EIN–Ausführungszeit (µs)
Bedingungen (oben: min, unten: max.)
19,0
Reguläre Ausführung, Konstante für Sollwert
20,2
Interrupt–Ausführung, Konstante für Sollwert
19,0
Normale Ausführung, :DM für Sollwert
20,2
Interrupt–Ausführung, :DM für Sollwert
29,2
Mit 1 Wort–Schieberegister
40,7
Mit 10 Worte–Schieberegister
1,42 ms
Mit 1024 Worte–Schieberegister bei Verwendung von
:DM
29,6
Verschieben eines Wortes
50,2
Verschieben von 10 Worten
1,76 ms
Verschieben von 1023 Worten mit :DM
15,8
Vergleichen einer Konstanten mit einem Wort
17,2
Vergleichen von zwei Worten
46,3
Vergleichen von zwei :DM
16,3
Übertragen einer Konstanten auf ein Wort
17,7
Übertragen eines Wortes auf ein anderes Wort
45,5
Übertragen von :DM auf :DM
16,4
Übertragen einer Konstanten auf ein Wort
17,5
Übertragen eines Wortes auf ein anderes Wort
45,7
Übertragen von :DM auf :DM
31,6
Konvertieren eines Wortes in ein Wort
45,7
Konvertieren von :DM auf :DM
29,5
Konvertieren eines Wortes in ein Wort
57,3
Konvertieren von :DM auf :DM
17,3
Verschieben eines Wortes
31,3
Verschieben von :DM
16,9
Verschieben eines Wortes
31,1
Verschieben von :DM
14,5
Rotieren eines Wortes
28,5
Rotieren von :DM
14,5
Rotieren eines Wortes
28,5
Rotieren von :DM
18,1
Invertieren eines Wortes
32,1
Invertieren von :DM
29,5
Konstante + Wort → Wort
30,9
Wort + Wort → Wort
72,7
:DM + :DM → :DM
29,3
Konstante + Wort → Wort
30,5
Wort – Wort → Wort
72,5
:DM – :DM → :DM
49,1
Konstante Wort → Wort
50,5
Wort Wort → Wort
95,1
:DM :DM → :DM
47,7
Wort ÷ Konstante → Wort
50,9
Wort ÷ Wort → Wort
94,3
:DM ÷ :DM → :DM
27,1
Konstante “ Wort → Wort
28,7
Wort “ Wort → Wort
70,7
:DM “ :DM → :DM
27,1
Konstante V Wort → Wort
28,7
Word V word → word
70,7
:DM V :DM → :DM
27,1
Konstante V Wort → Wort
28,7
Wort V Wort → Wort
70,5
:DM V :DM → :DM
8-1
AUS–Ausführungszeit (µs)
Rücksetzung
IL
JMP
25,7
5,
28,4
8,
15,8
5,8
41,2
,
43,6
3,6
15,8
5,8
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,5
5,5
5,5
5,5
5,5
5,6
5,6
5,6
5,6
5,6
5,6
5,6
501
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
Code
AWL–Code
37
3
XNRW
38
39
INC
C
DEC
C
EIN–Ausführungszeit (µs)
Bedingungen (oben: min, unten: max.)
27,0
Konstante V Wort → Wort
28,6
Wort V Wort → Wort
70,5
:DM V :DM → :DM
17,9
Inkrementieren eines Wortes
31,9
Inkrementieren von :DM
18,3
Dekrementieren eines Wortes
32,3
Dekrementieren von :DM
Beliebig
g
40
STC
6,3
41
CLC
6,3
46
6
MSG
SG
21,5
Meldung in Worten
35,7
Meldung in :DM
30,5
Konstante + Wort → Wort
32,1
Wort + Wort → Wort
73,9
:DM + :DM → :DM
30,9
Konstante – Wort → Wort
32,7
Wort – Wort → Wort
74,5
:DM – :DM → :DM
34,7
Konstante Wort → Wort
36,3
Wort Wort → Wort
80,7
:DM :DM → :DM
35,1
Wort ÷ Konstante → Wort
36,7
Wort ÷ Wort → Wort
81,1
:DM ÷ :DM → :DM
48,9
Wort + Wort → Wort
94,7
:DM + :DM → :DM
48,9
Wort – Wort → Wort
94,7
:DM – :DM → :DM
138,7
Wort Wort → Wort
184,3
:DM :DM → :DM
136,7
Wort ÷ Wort → Wort
181,3
:DM ÷ :DM → :DM
30,4
Vergleichen von Worten
60,8
Vergleichen von :DM
112,0
Ausführen des wortweisen Vergleichs
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,2
Ausgangszuweisung über ein Wort
78,0
Ausgangszuweisung über :DM
50
51
5
52
5
53
54
5
55
56
57
5
60
61
6
62
6
502
ADB
SBB
S
MLB
DVB
ADDL
SUBL
SU
MULL
U
DIVL
CMPL
C
INI
PRV
8-1
AUS–Ausführungszeit (µs)
5,6
5,5
5,5
5,5
5,5
5,5
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
Code
AWL–Code
63
CTBL
C
64
6
65
67
6
68
69
70
0
71
73
3
74
75
5
76
6
77
78
8
SPED
S
PULS
U S
BCNT
C
BCMP
STIM
S
XFER
BSET
S
XCHG
C G
SLD
S
SRD
S
MLPX
DMPX
SDEC
S
C
EIN–Ausführungszeit (µs)
Bedingungen (oben: min, unten: max.)
8-1
AUS–Ausführungszeit (µs)
5,6
106,3
Zieltabelle mit einem Ziel in Wort und Start
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
73,6
Spezifizieren einer Konstante
75,0
Spezifizieren eines Wortes
88,8
Spezifizieren :DM
5,6
62,0
Spezifizieren eines Wortes
5,6
78,0
Spezifizieren :DM
52,6
Zählen eines Wortes
4,08 ms
Zählen von 6656 Worten über :DM
79,6
Vergleichen einer Konstanten, Ergebnisse an ein
Wort
80,8
Vergleichen eines Wortes, Ergebnisse an ein Wort
123,2
Vergleichen von :DM, Ergebnisse an :DM
47,5
Start des wortweise spezifizierten Intervall–Interrupts
58,7
:DM-weise
47,9
Start des wortweise spezifizierten periodischen Interrupts
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
45,5
Übertragen einer Konstanten auf ein Wort
47,1
Übertragen eines Wortes auf ein Wort
1,78 ms
Übertragen von 1024 Worten mit Hilfe von :DM
28,1
Kopieren einer Konstanten in ein Wort
38,3
Kopieren einer Wortkonstante in 10 Worte
1,12 ms
Kopieren von :DM in 1024 Worte
30,5
Wort → Wort
59,1
:DM → :DM
25,9
Verschieben eines Wortes
51,7
Verschieben von 10 Worten
3,02 ms
Verschieben von 1024 Worten mit Hilfe von :DM
25,9
Verschieben eines Wortes
51,7
Verschieben von 10 Worten
3,02 ms
Verschieben von 1024 Worten mit Hilfe von :DM
47,7
Decodierung eines Wortes in ein Wort
92,7
Decodieren von :DM auf :DM
59,5
Kodieren eines Wortes in ein Wort
95,5
Kodieren von :DM auf :DM
51,1
Dekodieren eines Wortes in ein Wort
96,3
Dekodieren von :DM auf :DM
5,6
5,6
5,6
5,6
spezifizierten Monoflop–Intervall–Interrupt starten
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
503
Abschnitt
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit
Code
AWL–Code
80
DIST
S
81
8
82
8
83
84
8
85
86
89
COLL
CO
MOVB
O
MOVD
O
SFTR
S
TCMP
ASC
SC
INT
EIN–Ausführungszeit (µs)
Bedingungen (oben: min, unten: max.)
39,1
Kopieren einer Konstanten in ein Wort + ein Wort
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
42,6
Kopieren einer Konstanten + ein Wort in ein Wort
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
32,5
Übertragen einer Konstanten auf ein Wort
37,5
Übertragen eines Wortes auf ein anderes Wort
79,1
Übertragen von :DM auf :DM
28,3
Übertragen einer Konstanten auf ein Wort
33,3
Übertragen eines Wortes auf ein anderes Wort
75,5
Übertragen von :DM auf :DM
39,3
Verschieben eines Wortes
52,9
Verschieben von 10 Worten
1,42 ms
Verschieben von 1024 Worten mit Hilfe von :DM
57,7
Vergleichen einer Konstanten mit Worten der spezifizierten Tabelle
58,9
Vergleichen eines Wortes mit Worten der spezifizierten Tabelle
101,9
Vergleichen von :DM auf :DM der spezifiziertenTabelle
56,7
Wort → Wort
103,9
:DM → :DM
32,3
Wortweise Maskierung
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
Beliebig
g
91
SBS
36,6
92
SBN
1,7
93
RET
15,0
97
9
IORF
O
40,0
Auffrischen von IR 000
142,6
Auffrischen eines Eingangswortes
135,4
Auffrischen eines Ausgangswortes
74,0
Mit wortweise spezifizierten E/A–Operanden
116,4
Mit:DM–weise spezifizierten E/A–Operanden
99
504
MCRO
C O
8-1
AUS–Ausführungszeit (µs)
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,6
5,5
1,7
2,5
6,0
5,6
Abschnitt
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit
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–
vorgänge
Einstellung des Zykluszeit–Watchdog–Zeitgebers, E/A–
Bus–Überprüfung, Überprüfung des Programmspeicherbereichs, Uhrzeit–Auffrischung, Auffrischung der den neuen
Funktionen zugewiesenen Bits usw.
0,3 ms
Programm–
ausführung
Ausführung des Anwenderprogramms
Gesamtzeit für die Befehlsausführung (diese ändert
sich in Abhängigkeit von dem Inhalt des Anwenderprogramms.)
Berechnung
der Zykluszeit
Automatische Verzögerung bis zur Mindest–Zykluszeit,
wenn eine

Documentos relacionados