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 2 + 10 + Befehlsausführungszeit Frequenzfehler 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 2 + 10 Verzögerung beim Anhalten der Impulsausgabe 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
© Copyright 2025 ExpyDoc