Omron SYSMAC Series CS, SYSMAC Series CJ Programming Manual [de]

Advanced Industrial Automation
SYSMAC CS-Serie CS1G/H-CPU■-EV1
CS1G/H-CPU■H CS1D-CPU■H CS1D-CPU■S
SYSMAC CJ-Serie CJ1G-CPU
PROGRAMMIERHANDBUCH
Kurzübersicht
1 Betrieb der CPU-Baugruppe
2 Programmierung
3 Befehlsfunktionen
4Tasks
Cat. No. W394-DE2-07
Speicherprogrammierbare Steuerungen
SYSMAC CS-Serie
CS1G/H-CPU@@-EV1 CS1G/H-CPU@@H CS1D-CPU@@H CS1D-CPU@@S
SYSMAC CJ-Serie
CJ1G-CPU@@ CJ1G/H-CPU@@H
CJ1G-CPU@@P CJ1M-CPU@@
Speicherprogrammierbare Steuerungen
Programmierhandbuch
Bearbeitungsstand Juli 2004
iv
Hinweis:
r
r
OMRON-Produkte sind zum Gebrauch durch einen qualifizierten Bediener gemäß angemessenen Verfahren und nur zu den in diesem Handbuch beschriebenen Zwecken gefertigt.
In diesem Handbuch werden Sicherheitshinweise nach folgenden Konventio­nen gekennzeichnet und eingeteilt. Beachten Sie stets die in diesen Hinwei­sen enthaltenen Informationen. Eine Nichtbeachtung der Sicherheitshinweise kann zu Verletzungen oder Sachschäden führen.
! GEFAHR Kennzeichnet eine bevorstehende gefährliche Situation, die zum Tod oder zu ernsthaften
Verletzungen führt, wenn sie nicht vermieden wird.
! VORSICHT Kennzeichnet eine potenziell gefährliche Situation, die zum Tod oder zu schweren Verlet-
zungen führen kann, wenn sie nicht vermieden wird.
! Achtung Kennzeichnet eine potenziell gefährliche Situation, die zu kleineren oder mittelschweren
Verletzungen oder Sachschäden führen kann, wenn sie nicht vermieden wird.
OMRON-Produktreferenzen
Die in manchen Anzeigen und auf manchen OMRON-Produkten verwendete Abkürzung „Ch“ bedeutet häufig „Wort“. Die übliche Abkürzung für „Wort“ (im Sinne von 16 Bits) in Anzeigen und auf OMRON-Produkten ist „Wd“.
Die Abkürzung „SPS“ steht für speicherprogrammierbare Steuerung. In man­chen Anzeigen von Programmierkonsolen wird jedoch noch die Abkürzung „PC“ für „Programmable Controller“ (Programmierbare Steuerung) verwendet. Dies ist nicht mit der üblichen Bedeutung von PC (Personal Computer) zu ver­wechseln.
Visuelle Hilfen
Hinweis Kennzeichnet Informationen von besonderem Interesse für effizienten und
1,2,3... 1. Kennzeichnet Auflistungen aller Art, z. B. Verfahren oder Checklisten.
OMRON, 2003
Alle Rechte vorbehalten. Diese Publikation darf ohne vorherige schriftliche Genehmigung von OMRON weder als Ganzes noch in Auszügen in irgendeiner Form oder auf irgendeine Weise, sei es auf mechanischem oder elektronischem Wege ode durch Fotokopieren oder Aufzeichnen, reproduziert, auf einem Datensystem gespeichert oder übertragen werden.
In Bezug auf die hierin enthaltenen Informationen wird keine Patenthaftung übernommen. Da OMRON weiterhin an eine ständigen Verbesserung seiner Qualitätsprodukte arbeitet, sind Änderungen an den in diesem Handbuch enthaltenen Informa­tionen ohne Ankündigung vorbehalten. Bei der Herstellung dieses Handbuchs wurden alle Vorsorgemaßnahmen ergriffen. Dennoch übernimmt OMRON keine Verantwortung für etwaige Fehler und Auslassungen. Es wird keine Haftung für Schä­den übernommen, die aus der Nutzung von in diesem Dokument enthaltenen Informationen zurückzuführen sind.
Die folgenden Überschriften tauchen in der linken Spalte des Handbuchs auf und helfen Ihnen, verschiedene Arten von Informationen zu finden.
zweckmäßigen Betrieb des Produkts.
v
Baugruppenversionen von CPU-Baugruppen der CS/CJ-Serie
Baugruppen versionen
Kennzeichnung der Baugruppenversionen auf den Produkten
CS/CJ-Serie CPU-Baugruppe
Eine „Baugruppenversion“ wurde eingeführt, um CPU-Baugruppen der CS/CJ-Serie entsprechend der Funktionalitätsunterschiede, sich durch Wei­terentwicklungen der Baugruppen ergeben, zu kennzeichnen. Dies gilt für die CPU-Baugruppen CS1-H, CJ1-H, CJ1M und CS1D.
Die Baugruppen-Version ist, wie unten gezeigt, rechts von der Lot-Nummer auf dem Typenschild der Produkte angegeben.
Produkt-Typenschild
CS1H-CPU67H
CPU UNIT
Chargennr.
Lot No. 040715 0000
OMRON Corporation MADE IN JAPAN
• CS1-H, CJ1-H und CJ1M CPU-Baugruppen (außer Low-End-Modelle), die am oder vor dem 4. November 2003 hergestellt wurden, besitzen keine Angabe der Baugruppenversion (d. h. die Stelle für die oben gezeigte Baugruppenversion ist unbeschriftet).
• Die Baugruppen-Versionsnummern der CS1-H, CJ1-H und CJ1M CPU­Baugruppen sowie der CS1D CPU-Baugruppe für Einzel-CPU-Systeme beginnen mit der Version 2.0.
• Die Baugruppen-Versionsnummern der CS1D CPU-Baugruppe für Duplex-CPU-Systeme beginnt mit Version 1.1.
• CPU-Baugruppen, für die keine Baugruppenversion angegeben wird, werden als Vor Version @.@ CPU-Baugruppen bezeichnet, wie z. B. CPU- Baugruppen vor Version 2.0 und CPU-Baugruppen vor Version 1.1.
Ver.
3.0
Baugruppenversion Beispiel für Baugruppenversion 3.0
Überprüfung der Baugruppenversionen mit Hilfe von Programmiersoftware
Hinweis CX-Programmer Version 3.3 oder frühere Versionen können nicht zur Über-
vi
CX-Programmer Version 4.0 kann zur Prüfung der Baugruppen-Version ver­wendet werden. Dazu gibt es zwei Möglichkeiten.
• Verwendung der SPS-Informationen
• Bei Verwendung der Baugruppen-Herstellungsinformationen (diese Methode kann auch für Spezial-E/A-Baugruppen und CPU-Bus-Baugrup­pen verwendet werden)
prüfung von Baugruppenversionen verwendet werden.
SPS-Information
• Wenn der Geräte- und CPU-Typ bekannt sind, wählen Sie ihn im Dialog­feld Ändern der SPS aus, gehen Sie online, und wählen Sie in den Menüs SPS - Bearbeiten - Information.
• Wenn Geräte- und CPU-Typ nicht bekannt sind, diese aber direkt über ein serielles Kabel mit der CPU-Baugruppe verbunden sind, wählen Sie SPS
- Auto Online, um online zu gehen, und wählen Sie dann in den Menüs SPS - Bearbeiten - Information.
In beiden Fällen wird das nachfolgend abgebildete Dialogfeld PLC Information (SPS Information) I angezeigt.
Baugruppenversion
Verwenden Sie oben dargestellte Anzeige zur Prüfung der CPU-Baugruppen­version.
Baugruppen-Herstellungsinformationen
Klicken Sie im Fenster IO Table (E/A-Tabelle) mit der rechten Maustaste, und wählen Sie die Optionen Unit Manufacturing information - CPU Unit (Bau- gruppen-Herstellungsinformationen – CPU-Baugruppe).
Das nachfolgend abgebildete Dialogfeld Unit Manufacturing information (Bau- gruppen-Herstellungsinformationen) wird angezeigt.
vii
Baugruppenversion
Verwenden Sie oben dargestellte Anzeige zur Prüfung der Baugruppen­Version der online verbundenen CPU-Baugruppe.
Verwendung der Baugruppen­Versionsetiketten
Die folgenden Baugruppen-Versionsetiketten werden mit der CPU-Baugruppe mitgeliefert.
Diese Etiketten können an der Vorderseite von CPU-Baugruppen angebracht werden, um sie von anderen CPU-Baugruppen abweichender Baugruppen­versionen unterscheiden zu können.
viii
Angabe der Baugruppenversion
In diesem Handbuch wird die Baugruppenversion einer CPU-Baugruppe wie in der folgenden Tabelle dargestellt angegeben.
Produkt-Typenschild
Bedeutung
Bezeichnung einzelner CPU-Baugruppen (z. B. CS1H-CPU67H)
Bezeichnung von Grup­pen von CPU-Baugrup­pen (z. B. CS1-H CPU­Baugruppen)
Bezeichnung einer ganzen Serie von CPU­Baugruppen (z. B. CPU­Baugruppen der CS-Serie)
CPU-Baugruppen ohne Angabe einer
Baugruppenversion
Lot No. XXXXXX XXXX
OMRON Corporation MADE IN JAPAN
CS1-H CPU-Baugruppen vor Version 2.0 CS1H-CPU67H CPU-Baugruppe Version @.@
CS1-H CPU-Baugruppen vor Version 2.0 CS1-H CPU-Baugruppen Version @.@
CS-Serie CPU-Baugruppen vor Version 2.0 CS-Serie CPU-Baugruppen Version @.@
Baugruppen mit Angabe einer Version
Lot No. XXXXXX XXXX
OMRON Corporation MADE IN JAPAN
(Ver. @.@)
Ver. @ .@
ix
Baugruppenversionen und Chargennummern
Serie Modell Herstellungsdatum
Früher Sep. 2003 Okt. 2003 Nov. 2003 Dez. 2003 Jun. 2004 Später
CS­Serie
CS1 CPU­Baugruppen
CS1@- CPU@@
Keine Baugruppen­version
CJ­Serie
CS1-V1 CPU­Baugruppen
CS1-H CPU­Baugruppen
CS1D CPU­Bau­gruppen
CJ1 CPU­Baugruppen
CJ1-H CPU­Baugruppen
CPU­Baugrup­pen für Duplex­CPU­Systeme
CPU­Baugrup­pen für Einzel­CPU­Systeme
CS1@- CPU@@-V1
CS1@- CPU@@H
CS1D­CPU@@H
CS1D­CPU@@S
CJ1G­CPU@@
CJ1@- CPU@@H
Keine Baugruppen­version
CPU-Baugruppen vor Ver. 2.0
CPU-Baugruppen vor Ver. 1.1
CPU-Baugruppen vor Ver. 2 .0
CPU-Baugruppen vor Ver. 2.0
CPU-Baugruppen Ver. 2.0 (Lot-Nr. ab 031105)
CPU-Baugruppen Ver.1.1 ( Lot-Nr. ab 031120)
CPU-Baugruppen Ver. 2.0 ( Lot-Nr. ab 031215)
CPU-Baugruppen Ver. 2.0 ( Lot-Nr. ab 031105)
CPU­Baugruppen Ver. 3.0 ( Lot­Nr. ab 040622)
CPU-Bau­gruppen Ver. 3.0 (Lot-Nr. ab 040623)
Pro­gram­mier­soft­ware
x
CJ1M CPU­Baugruppen(außer Low-End-Modelle)
CJ1M CPU­Baugruppen (Low-End-Modelle)
CX-Programmer WS02-
CJ1M­CPU@@
CJ1M­CPU11/21
CXPC1­EV@
CPU-
CPU-Baugruppen vor Ver. 2.0
CPU-Baugruppen Ver. 2.0 ( Lot-Nr. ab 031002)
Ver. 3.2 Ver. 3.3 Ver. 4.0 Ver. 5.0
CPU-Baugruppen Ver. 2.0 ( Lot-Nr. ab 031105)
Baugruppen Ver. 3.0 (Lot-Nr. ab 040624)
CPU­Baugruppen Ver. 3.0 (Lot-Nr. ab 040629)
Unterstützung von Funktionen nach Baugruppenversion
CS1-H CPU-Baugruppen (CS1@-CPU@@H)
Funktion Baugruppenversion
CPU-Baugruppen vor
Version 2.0
Herunterladen und Heraufladen von einzelnen Tasks --- OK Verbesserter Leseschutz durch Verwendung von Passwörtern --- OK Schreibschutz gegen FINS-Befehle, die über Netzwerke an die
CPU-Baugruppen gesendet werden Online-Netzwerkverbindungen ohne E/A-Tabellen --- OK Kommunikation über bis zu 8 Netzwerkebenen --- OK Online-Verbindung zu SPS-Systemen über NS-Terminals OK ab Lot-Nummer
Einstellung der Worte für den ersten Steckplatz OK bei bis zu
Automatische Übertragung bei Einschalten der Versorgungs­spannung ohne Parameterdatei
Automatische Erkennung der E/A-Zuweisungsmethode für auto­matische Übertragung bei Einschalten der Versorgungsspannung
Start-/Endzeiten des Betriebs --- OK Neue Anwen-
dungsbefehle
MILH, MILR, MILC --- OK =DT, <>DT, <DT, <=DT, >DT, >=DT --- OK BCMP2 --- OK GRY OK ab Lot-Nummer
TPO --- OK D S W, T K Y, H K Y, M T R , 7 S E G - - - OK EXPLT, EGATR, ESATR, ECHRD, ECHWR --- OK Lesen aus/Schreiben in CPU-Bus-Baugruppen
mit IORD/IOWR PRV2 --- ---
--- OK
030201
8 Gruppen
--- OK
--- ---
030201
OK ab Lot-Nummer 030418
CPU-Baugruppen
Version 2.0
OK
OK bei bis zu 64 Gruppen
OK
OK
xi
CS1D CPU-Baugruppen
Funktion CS1D CPU-Baugruppen für Duplex-CPU-
Für CS1D CPU-Bau­gruppen spezifische Funktionen
Herunterladen und Heraufladen von einzelnen Ta sk s
Verbesserter Leseschutz durch Verwendung von Passwörtern
Schreibschutz gegen FINS-Befehle, die über Netzwerke an die CPU-Baugruppen gesendet werden
Online-Netzwerkverbindungen ohne E/A-Tabellen
Kommunikation über bis zu 8 Netzwerk­ebenen
Online-Verbindung zu SPS-Systemen über NS-Terminals
Einstellung der Worte für den ersten Steckplatz
Automatische Übertragung bei Einschalten der Versorgungsspannung ohne Parameter­datei
Automatische Erkennung der E/A-Zuwei­sungsmethode für automatische Übertragung bei Einschalten der Versorgungsspannung
Start-/Endzeiten des Betriebs --- OK OK Neue Anwen-
dungsbefehle
Duplex-CPU-Baugruppen OK OK --­Online-Baugruppenaustausch OK OK OK Duplex-Spannungs-
versorgungs-Baugruppen Duplex-Controller-Link-
Baugruppen Duplex-Ethernet-Baugruppen --- OK OK
MILH, MILR, MILC --- --- OK =DT, <>DT, <DT, <=DT, >DT,
>=DT BCMP2 --- --- OK GRY --- --- OK TPO --- --- OK DSW, TKY, HKY, MTR, 7SEG --- --- OK EXPLT, EGATR, ESATR,
ECHRD, ECHWR Lesen aus/Schreiben in
CPU-Bus-Baugruppen mit IORD/IOWR
PRV2 --- --- ---
OK OK OK
OK OK OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK bei bis zu
--- --- OK
--- --- ---
--- --- OK
--- --- OK
--- --- OK
Systeme (CS1D-CPU@@H)
CPU-Baugruppen
vor Version 1.1
CPU-Baugruppen
Version 1.1
CS1D CPU-Bau-
gruppen für Einzel-
CPU-Systeme
(CS1D-CPU@@S)
CPU-Baugruppen
Version 2.0
64 Gruppen
xii
CJ1-H/CJ1M CPU-Baugruppen
Funktion CJ1-H CPU-Baugruppen
Herunterladen und Heraufladen von einzelnen Tasks
Verbesserter Leseschutz durch Verwendung von Passwörtern
Schreibschutz gegen FINS­Befehle, die über Netzwerke an die CPU-Baugruppen gesendet werden
Online-Netzwerkverbindungen ohne E/A-Tabellen
Kommunikation über bis zu 8 Netzwerkebenen
Online-Verbindung zu SPS­Systemen über NS-Terminals
Einstellung der Worte für den ersten Steckplatz
Automatische Übertragung bei Einschalten der Versorgungs­spannung ohne Parameterdatei
Automatische Erkennung der E/A-Zuweisungsmethode für automatische Übertragung bei Einschalten der Versorgungs­spannung
Start-/Endzeiten des Betriebs --- OK --- OK OK Neue
Anwen­dungsbe­fehle
MILH, MILR, MILC --- OK --- OK OK =DT, <>DT, <DT,
<=DT, >DT, >=DT BCMP2 --- OK OK OK OK GRY OK ab Lot-Num-
TPO --- OK --- OK OK DSW, TKY, HKY,
MTR, 7SEG EXPLT, EGATR,
ESATR, ECHRD, ECHWR
Lesen aus/Schrei­ben in CPU-Bus­Baugruppen mit IORD/IOWR
PRV2 --- --- --- OK, jedoch nur
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
OK, aber nur, wenn E/A­Tabellenzuord­nung bei Ein­schalten der Spannungsver­sorgung einge­stellt ist
OK bei bis zu 8 Gruppen
OK ab Lot-Num­mer 030201
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
mer 030201
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
(CJ1@-CPU@@H)
CPU-Bau-
gruppen vor
Version 2.0
CPU-Bau-
gruppen
Version 2.0
OK OK, aber nur,
OK bei bis zu 64 Gruppen
OK OK ab Lot-Num-
OK OK ab Lot-Num-
CJ1M CPU-Baugruppen,
außer Low-End-Modelle
(CJ1M-CPU@@)
CPU-Bau-
gruppen vor
Version 2.0
wenn E/A­Tabellenzuord­nung bei Ein­schalten der Spannungsver­sorgung einge­stellt ist
OK bei bis zu 8 Gruppen
mer 030201
mer 030201
Version 2.0
OK OK
OK bei bis zu 64 Gruppen
OK OK
OK OK
bei Modellen mit integrierten E/A
CPU-Bau-
gruppen
CJ1M CPU-
Baugruppen,
Low-End-
Modelle
(CJ1M-
CPU11/21) CPU-Bau-
gruppen
Version 2.0
OK bei bis zu 64 Gruppen
OK, jedoch nur bei Modellen mit integrierten E/A
xiii
Von Baugruppen der Version 3.0 und neuer unterstützte Funktionen
CS1-H CPU-Baugruppen (CS1@-CPU@@H)
Funktion Baugruppenversion
bis einschließlich
Ver. 2.0
Funktionsblöcke (CX-Programmer Ver. 5.0 oder neuer erforderlich) --- OK Serial Gateway (Konvertierung von FINS-Befehlen in CompoWay/
F-Befehle an der integrierten seriellen Schnittstelle) Kommentarspeicher (im internen Flash-Speicher) --- OK Erweiterte Easy-Backup-Datensicherung --- OK Neue Anwen-
dungsbefehle
Weitere Befehle TXD(236), RXD(235) (ermöglichen die
TXDU(256), RXDU(255) (ermöglichen die protokollfreie Kommunikation mittels serieller Kommunikationsbaugruppen ab Ver. 1.2)
Modell-Konvertierungsbefehle: XFERC(565), DISTC(566), COLLC(567), MOVBC(568), BCNTC(621)
Spezielle Funktionsblockbefehle: GETID(286) --- OK
protokollfreie Kommunikation mittels serieller Kommunikationssteckmodule ab Ver. 1.2)
CS1D CPU-Baugruppen Baugruppenversion 3.0 wird nicht unterstützt. CJ1-H/CJ1M CPU-Baugruppen (CJ1@-CPU@@H, CJ1G-CPU@@P, C J 1 M -C PU @@)
Funktion Baugruppenversion
Funktionsblöcke (CX-Programmer Ver. 5.0 oder neuer erforderlich) --- OK Serial Gateway (Konvertierung von FINS-Befehlen in CompoWay/
F-Befehle an der integrierten seriellen Schnittstelle) Kommentarspeicher (im internen Flash-Speicher) --- OK Erweiterte Easy-Backup-Datensicherung --- OK Neue Anwen-
dungsbefehle
Weitere Befehle PRV(881) und PRV2(883): Neu hinzugekommene
TXDU(256), RXDU(255) (ermöglichen die protokollfreie Kommunikation mittels serieller Kommunikationsbaugruppen ab Ver. 1.2)
Modell-Konvertierungsbefehle XFERC(565), DISTC(566), COLLC(567), MOVBC(568), BCNTC(621)
Spezielle Funktionsblockbefehle: GETID(286) --- OK
Berechnungsmethoden für die schnelle Berechnung von Impulsfrequenzen (nur CJ1M CPU-Baugruppen)
--- OK
--- OK
--- OK
--- OK
bis einschließlich
Ver. 2.0
--- OK
--- OK
--- OK
--- OK
Ver. 3.0
Ver. 3.0
xiv
Baugruppenversionen und Programmiergeräte
Um die bei den CPU-Baugruppen ab Ver. 2.0 neu hinzugekommenen Funktionen nutzen zu können, ist CX-Programmer Version 4.0 oder neuer erforderlich.
Um die bei den CPU-Baugruppen ab Ver. 3.0 neu hinzugekommenen Funktionsblöcke nutzen zu können, ist CX-Programmer Version 5.0 oder neuer erforderlich.
Die folgenden Tabellen zeigen die Beziehung zwischen Baugruppenversionen und Versionen von CX-Programmer.
Baugruppenversionen und Programmiergeräte
CPU-Baugruppe Funktionen CX-Programmer Program-
CJ1M CPU-Bau­gruppen (Low­End-Modelle), Baugruppenver­sion 2.0
CS1-H, CJ1-H und CJ1M CPU-Bau­gruppen (außer Low-End-Modelle), Baugruppenver­sion 2.0
CS1D CPU-Bau­gruppen für Einzel­CPU-Systeme, Baugruppenver­sion 2.0
CS1D CPU-Bau­gruppen für Duplex-CPU­Systeme, Bau­gruppenversion 1.
CS/CJ-Serie CPU­Baugruppen Ver. 3.0
Neue Funktionen bei Baugruppen­version 2.0
Neue Funktionen bei Baugruppen­version 2.0
Neue Funktionen bei Baugruppen­version 2.0
Neue Funktionen bei Baugruppen­version 1.1
Neue Funktions­block-Funktionen bei Baugruppen­version 3.0
Bei Verwendung neuer Funktionen
Ohne Verwendung neuer Funktionen
Bei Verwendung neuer Funktionen
Ohne Verwendung neuer Funktionen
Bei Verwendung neuer Funktionen
Ohne Verwendung neuer Funktionen
Bei Verwendung neuer Funktionen
Ohne Verwendung neuer Funktionen
Bei Verwendung von Funktionsblöcken
Ohne Verwendung von Funktionsblöcken
bis ein-
schließ-
lich
Ver. 3.2
--- --- OK OK Keine Ein-
--- OK OK OK
--- --- OK OK
OK OK OK OK
--- --- OK OK
--- --- OK OK
OK OK OK OK
--- --- --- OK
OK OK OK OK
Ver. 3.3 Ver. 4.0 ab
Ver. 5.0
OK
mierkon-
sole
schränkun­gen
Hinweis Wie oben gezeigt, besteht keine Notwendigkeit zur Aktualisierung auf CX-
Programmer Version 4.0, solange die in Baugruppenversion 2.0 bzw. 1.1 hin­zugekommenen Funktionen nicht verwendet werden.
Gerätetyp-Einstellung Die Baugruppenversion hat keinen Einfluss auf die mit CX-Programmierer
vorgenommene Einstellung für den Gerätetyp. Wählen Sie den Gerätetyp ent­sprechend den Angaben in der folgenden Tabelle unabhängig von der Bau­gruppenversion der CPU-Baugruppe.
Serie CPU-Baugruppengruppe Produkt-
CS-Serie CS1-H CPU-Baugruppen
CS1D CPU-Baugruppen für Duplex-CPU-Systeme
CS1D CPU-Baugruppen für Einzel-CPU-Systeme
CJ-Serie CJ1-H CPU-Baugruppen
CJ1M CPU-Baugruppen CJ1M-CPU@@ CJ1M
bezeichnung der
CPU-Baugruppe
CS1G-CPU@@H CS1G-H
CS1H-CPU@@H CS1H-H
CS1D-CPU@@H CS1D-H (oder CS1H-H)
CS1D-CPU@@S CS1D-S
CJ1G-CPU@@H CJ1G-H
CJ1H-CPU@@H CJ1H-H
Gerätetyp-Einstellung bei
CX-Programmer Version 4.0 oder
höher
xv
Behebung von Problemen mit Baugruppenversionen in CX-Programmer
Problem Ursache Lösung
Prüfen Sie das Programm oder wechseln Sie die CPU-Bau­gruppe, auf die das Programm heruntergeladen wird, zu einer CPU-Baugruppe der Version
2.0 oder neuer.
Prüfen Sie die Einstellungen im SPS-Setup oder wechseln Sie die CPU-Baugruppe, auf die das Setup heruntergeladen wird, zu einer CPU-Baugruppe der Version 2.0 oder neuer.
Die neuen Befehle können nicht unter Verwendung von CX-Programmer Version 3.3 oder früher heraufgeladen werden. Verwenden Sie CX­Programmer Version 4.0 oder höher.
Nach Anzeige der oben abgebildeten Meldung wird im Meldungsfenster auf der Registerkarte Kompilieren ein Kompilierungsfehler angezeigt.
„????“ wird in einem Programm angezeigt, das von der SPS zu CX-Programmer übertragen wurde.
Es wurde der Versuch unternom­men, mit Hilfe von CX-Program­mer Version 4.0 oder höher ein Programm mit Befehlen, die nur von CPU-Baugruppen-Version
2.0 oder neuer unterstützt wer­den, auf ein CPU-Baugruppe vor Version 2.0 herunterzuladen.
Es wurde der Versuch unternom­men, mit Hilfe von CX-Programmer Version 4.0 oder höher ein SPS­Setup mit Einstellungen (z. B. andere als Standardwerte), die nur von CPU-Baugruppen-Version 2.0 oder neuer unterstützt werden, auf eine CPU-Baugruppe vor Version
2.0 herunterzuladen. CX-Programmer Version 3.3 oder
früher wurde zum Heraufladen eines Programms von einer CPU­Baugruppe der Version 2.0 oder neuer verwendet, das Befehle enthält, die nur von CPU-Bau­gruppen-Version 2.0 oder neuer unterstützt werden.
xvi

INHALTSVERZEICHNIS

SICHERHEITSHINWEISE . . . . . . . . . . . . . . . . . . . . . . . . . xix
1 Zielgruppe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
2 Allgemeine Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
3 Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
4 Sicherheitshinweise für die Betriebsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
5 Sicherheitshinweise zum Einsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
6 Konformität mit EU-Richtlinien. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
ABSCHNITT 1
Betrieb der CPU-Baugruppe . . . . . . . . . . . . . . . . . . . . . . . . . 1
1-1 Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen). . . . . . . . . . . . . . . . . . . . . . . . 2
1-2 Verwenden der internen Uhr (nur CS1 CPU-Baugruppen). . . . . . . . . . . . . . . . . . . . . . . . . . 5
1-3 Interne Struktur der CPU-Baugruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-4 Betriebsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1-5 Programme und Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
1-6 Beschreibung von Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
ABSCHNITT 2
Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2-1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-2 Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-3 Überprüfen von Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ABSCHNITT 3
Befehlsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3-1 Eingabebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3-2 Ausgabebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3-3 Sequenzsteuerbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3-4 Zeitgeber- und Zählerbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3-5 Vergleichsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3-6 Kopierbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3-7 Datenverschiebebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
3-8 Inkrementier- und Dekrementierbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3-9 Arithmetische Befehle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3-10 Konvertierungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3-11 Boolesche Befehle (Logikbefehle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3-12 Spezielle arithmetische Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3-13 Gleitkomma-Arithmetikbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3-14 Gleitkomma-Arithmetikbefehle mit doppelter Präzision . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3-15 Tabellendaten-Verarbeitungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3-16 Datensteuerungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3-17 Unterprogrammbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
3-18 Interrupt-Steuerungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
3-19 Befehle für schnelle Zähler und Impulsausgaben (nur CJ1M-CPU21/22/23) . . . . . . . . . . . 130
3-20 Step-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3-21 Befehle für E/A-Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3-22 Befehle für serielle Kommunikation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3-23 Netzwerkbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3-24 Dateispeicherbefehle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3-25 Anzeigebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3-26 Datum- und Uhrzeitbefehle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
xvii
INHALTSVERZEICHNIS
3-27 Debugging-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3-28 Fehlerdiagnosebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3-29 Sonstige Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3-30 Blockprogrammierungsbefehle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3-31 Textzeichenketten-Verarbeitungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3-32 Task-Steuerbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-33 Modell-Konvertierungsbefehle (ab CPU-Baugruppen Ver. 3.0) . . . . . . . . . . . . . . . . . . . . . . 154
3-34 Spezielle Funktionsblockbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
ABSCHNITT 4
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4-1 Merkmale von Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4-2 Verwenden von Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4-3 Interrupt-Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4-4 Task-Programmierung mit Programmiergeräten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
ABSCHNITT 5
Dateispeicherfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5-1 Dateispeicher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
5-2 Arbeiten mit Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
5-3 Verwenden des Dateispeichers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
ABSCHNITT 6
Erweiterte Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6-1 Zykluszeit/Hochgeschwindigkeitsverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6-2 Indexregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
6-3 Serielle Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
6-4 Ändern des Modus der Zeitgeber/Zähler-Istwert-Aktualisierung. . . . . . . . . . . . . . . . . . . . . 305
6-5 Verwenden eines zeitgesteuerten Interrupts als Präzisionszeitgeber (nur CJ1M). . . . . . . . . 313
6-6 Einstellungen für Start und Wartung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
6-7 Diagnosefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
6-8 CPU-Verarbeitungsbetriebsarten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-9 Peripheriebedienungs-Prioritätsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
6-10 Betrieb ohne Batterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
6-11 Weitere Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
ABSCHNITT 7
Programmübertragung, Testbetrieb und Debugging . . . . . 347
7-1 Progammübertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
7-2 Testbetrieb und Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Anhang
A SPS-Vergleichstabellen: SPS der CJ-Serie, CS-Serie, C200HG/HE/HX,
CQM1H, CVM1 und der CV-Serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
B Änderungen gegenüber älteren Host-Link-Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Revisionshistorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
xviii

Zu diesem Handbuch:

In diesem Handbuch wird die Programmierung von CPU-Baugruppen von speicherprogrammierbare Steuerungen (SPS) der CS/CJ-Serie beschrieben. Es besteht aus den auf der nächsten Seite aufge­führten Abschnitten. Die Serien CS und CJ werden wie in der folgenden Tabelle gezeigt unterteilt.
Baugruppe CS-Serie CJ-Serie
CPU­Baugruppen
E/A-Bau­gruppen
Spezial-E/A­Baugruppen
CPU-Bus­Baugruppen
Spannungs­versor­gungs­Baugruppen
CS1-H CPU-Baugruppen: CS1H-CPU@@H
CS1 CPU-Baugruppen: CS1H-CPU@@-EV1
CS1D CPU-Baugruppen: CS1D CPU-Baugruppen für Duplex­CPU-Systeme: CS1D-CPU@@H CS1D CPU-Baugruppen für Einzel­CPU-Systeme: CS1D-CPU@@S CS1D Prozess-CPU-Baugruppen: CS1D-CPU@@P
CS-Serie E/A-Baugruppen CJ-Serie E/A-Baugruppen
CS-Serie Spezial-E/A-Baugruppen CJ-Serie Spezial-E/A-Baugruppen
CS-Serie CPU-Bus-Baugruppen CJ-Serie CPU-Bus-Baugruppen
CS-Serie Spannungsversorgungs-Baugruppen CJ-Serie Spannungsversorgungs-Baugruppen
CS1G-CPU@@H
CS1G-CPU@@-EV1
CJ1-H CPU-Baugruppen: CJ1H-CPU@@H
CJ1G-CPU@@H
CJ1 CPU-Baugruppen: CJ1G-CPU@@-EV1 CJ1M CPU-Baugruppen: CJ1M-CPU@@
Lesen Sie bitte dieses Handbuch und alle in der Tabelle auf der folgenden Seite aufgelisteten, dazuge­hörigen Handbücher und stellen Sie sicher, dass Sie alle Informationen verstanden haben, bevor Sie CPU-Baugruppen der CS/CJ-Serie in einem SPS-System installieren oder verwenden.
Dieses Handbuch besteht aus den folgenden Abschnitten.
Abschnitt 1 enthält eine Beschreibung der Grundstruktur und des Betrieb der CPU-Baugruppe. Abschnitt 2 enthält grundlegende Informationen für das Schreiben, Überprüfen und Eingeben von
Programmen. Abschnitt 3 enthält eine Übersicht über die Befehle, die beim Schreiben von Anwenderprogrammen
verwendet werden können.
Abschnitt 4 enthält eine Beschreibung der Funktionen von Tasks. Abschnitt 5 enthält eine Beschreibung der Funktionen des Dateispeichers. Abschnitt 6 bietet Details zu erweiterten Funktionen: Zykluszeit/Hochgeschwindigkeitsverarbeitung,
Index-Register, serielle Kommunikation, Inbetriebnahme und Wartung, Diagnose und Debugging, Pro­grammiergeräte sowie Einstellungen für die Antwortzeiten von E/A-Baugruppen der CJ-Serie.
Abschnitt 7 enthält eine Beschreibung der Vorgehensweisen für die Programmübertragung an die CPU-Baugruppe und der Funktionen zum Testen und zum Debugging des Programms.
In den Anhängen finden Sie einen Vergleich der CS/CJ-Serie, Informationen zu Einschränkungen bei der Verwendung von C200H Spezial-E/A-Baugruppen sowie zu an den Host-Link-Systemen vorge­nommenen Änderungen.
xvii
Zu diesem Handbuch, Fortsetzung
Bezeichnung Kat.-Nr. Inhalt
SYSMAC CS/CJ-Serie CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H SPS-Programmierhandbuch
SYSMAC CS-Serie CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H Speicherprogrammierbare Steuerungen Technisches Handbuch
SYSMAC CJ-Serie CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H SPS-Bedienerhandbuch
SYSMAC CJ-Serie CJ1M-CPU21/22/23 Handbuch der CPU-integrierten E/A
SYSMAC CS-Serie CS1D-CPU@@H CPU-Baugruppen CS1D-CPU@@S CPU-Baugruppen CS1D-DPL01 Duplex-Baugruppe CS1D-PA207R Spannungsversorgungs-Baugruppe Duplex-Systeme Bedienerhandbuch
SYSMAC CS/CJ-Serie CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H Speicherprogrammierbare Steuerungen Befehle Referenzhandbuch
SYSMAC CS/CJ-Serie CQM1H-PRO01-E, C200H-PRO27-E, CQM1-PRO01-E Programmierkonsolen Bedienerhandbuch
SYSMAC CS/CJ-Serie CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1G/H-CPU@@H, CJ1G-CPU@@P, C J 1 M - C P U @@, CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, CJ1W-SCU21-V1/41-V1 Kommunikationsbefehle Referenzhandbuch
SYSMAC WS02-CXP@@-E CX-Programmer Handbuch Version 3.@
SYSMAC WS02-CXP@@-E CX-Programmer Handbuch Version 4.@
SYSMAC WS02-CXP@@-E CX-Programmer Handbuch Version 5.@
W394 Programmierung und Nutzung der Funktionen der
CS/CJ-Serie CPU-Baugruppen. (Dieses Handbuch)
W339 Detaillierte Beschreibung des Konzepts, der
Installation, der Wartung und anderer grundlegender Aspekte der CS-Serie CPU­Baugruppen.
W393 Bietet einen Überblick und eine Beschreibung von
Konstruktion, Installation, Wartung und grundlegender Funktionen von SPS-Systemen der CJ-Serie.
W395 Bietet eine Beschreibung der Funktionen der
integrierten E/A bei CJ1M-CPU-Baugruppen.
W405 Bietet einen Überblick und eine Beschreibung von
Konstruktion, Installation, Wartung und grundlegender Funktionen eines auf CS1D CPU-Baugruppen basierenden Duplex-Systems.
W340 Enthält Beschreibungen der von SPS-Systemen
der CS/CJ-Serie unterstützten Befehle für die SPS-Programmierung.
W341 Enthält Informationen darüber, wie SPS-Systeme
der CS/CJ-Serie über eine Programmierkonsole programmiert und gesteuert werden.
W342 Enthält Beschreibungen der C-Serie- (Host-Link)
und FINS-Kommunikationsbefehle, die mit SPS-Systemen der CS/CJ-Serie verwendet werden.
W414 Enthält Informationen zur Verwendung von
CX-Programmer, einer Programmiersoftware, die
W425
W437
SPS-Systeme der CS/CJ-Serie unterstützt, sowie der in CX-Programmer enthaltenen Software CX-Net.
xviii
Bezeichnung Kat.-Nr. Inhalt
SYSMAC WS02-CXP@@-E Bedienerhandbuch CX-Programmer (Funktionsblöcke)
SYSMAC CS/CJ-Serie CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, CJ1W-SCU21-V1/41-V1 Serielle Kommunikations-Module/-Baugruppen Handbuch
SYSMAC WS02-PSTC1-E Bedienungsanleitung CX-Protocol
W438 Funktionsblock-spezifische Spezifikationen und
Verfahren. Diese Informationen sind nur für die Verwendung von Funktionsblöcken mit CX­Programmer Ver. 5.0 in Kombination mit einer CS1-H/CJ1-H/CJ1M CPU-Baugruppe Ver. 3.0 von Relevanz. Detaillierte Informationen zur sonstigen Verwendung von CX-Programmer Ver. 5.0 finden Sie im CX-Programmer Handbuch Version 5.@ (W437).
W336 Beschreibung der Nutzung von seriellen
Kommunikations-Modulen und -Baugruppen zur Kommunikation mit externen Geräten, insbesondere auch der Verwendung von Standardsystemprotokollen für OMRON­Produkte.
W344 Beschreibung der Nutzung von CX-Protocol zum
Erstellen von Protokollmakros für die Kommunikation mit externen Geräten.
! VORSICHT Falls Sie die in diesem Handbuch enthaltenen Informationen nicht durchlesen oder nicht ver-
stehen, kann dies zur Verletzung oder zum Tod von Personen, zu einem Schaden am Produkt bzw. zu Fehlfunktionen führen. Lesen Sie jeden Abschnitt vollständig durch, und führen Sie die vorgestellten Maßnahmen und Bedienverfahren erst durch, wenn Sie sicher sind, dass Sie die im jeweiligen Abschnitt und den zugehörigen Abschnitten bereitgestellten Informationen ver­standen haben.
xix
xx

SICHERHEITSHINWEISE

In diesem Abschnitt finden Sie allgemeine Sicherheitshinweise für die Nutzung der speicherprogrammierbaren Steuerungen (SPS) der CS/CJ-Serie sowie zugehöriger Geräte.
Die in diesem Abschnitt enthaltenen Informationen sind wichtig für die sichere und zuverlässige Anwendung von speicherprogrammierbaren Steuerungen. Bevor Sie versuchen, ein SPS-System einzurichten oder zu betreiben, müssen Sie diesen Abschnitt lesen und die hierin enthaltenen Informationen verstehen.
1 Zielgruppe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
2 Allgemeine Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
3 Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
4 Sicherheitshinweise für die Betriebsumgebung . . . . . . . . . . . . . . . . . . . . . . . xxii
5 Sicherheitshinweise zum Einsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
6 Konformität mit EU-Richtlinien. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6-1 Anwendbare Richtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6-2 Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6-3 Konformität mit EU-Richtlinien. . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
6-4 Methoden zur Entstörung von Relaisausgängen. . . . . . . . . . . . . . . . xxvii
xix
Zielgruppe 1

1 Zielgruppe

Das vorliegende Handbuch ist für den folgenden Personenkreis konzipiert, wobei Kenntnisse elektrischer Systeme vorausgesetzt werden (Elektro­techniker usw.).
• Personen, die mit der Installation von Fabrikautomations-Systemen befasst sind.
• Personen, die mit der Konstruktion von FA-Systemen befasst sind.
• Personen, die FA-Systeme und -Einrichtungen verwalten.

2 Allgemeine Sicherheitshinweise

Das Produkt muss vom Benutzer gemäß den in den Bedienerhandbüchern beschriebenen Leistungsspezifikationen betrieben werden.
Wenden Sie sich vor der Verwendung dieses Produktes an Ihre OMRON-Ver­tretung, falls Sie das Produkt unter Bedingungen verwenden, die nicht im Bedienerhandbuch aufgeführt sind bzw. wenn Sie das Produkt im Bereich der Nukleartechnik, im Eisenbahnverkehr, in der Luftfahrt, in Fahrzeugen, in Ver­brennungssystemen, in medizinischen Geräten, in Spielautomaten, in Sicher­heitsausrüstungen oder anderen Systemen, Geräten oder Ausrüstungen verwenden möchten, bei denen fehlerhafte Verwendung zu schwerwiegenden Gefahren für Leben und Sachgut führen kann.
Achten Sie darauf, dass die Nenn- und Leistungsdaten des Produkts für die Systeme, Maschinen und Geräte geeignet sind, und statten Sie die Systeme, Maschinen und Geräte mit doppelten Sicherheitsmechanismen aus.
Dieses Handbuch enthält Informationen zu Programmierung und Betrieb des Produkts. Lesen Sie dieses Handbuch vor Verwendung des Produkts durch, und halten Sie dieses Handbuch während des Betriebs zu Referenzzwecken immer griffbereit.
! VORSICHT Es ist außerordentlich wichtig, dass SPS und alle SPS-Baugruppen nur für
den vorgegebenen Einsatzzweck und unter den angegebenen Bedingungen verwendet werden. Dies gilt besonders für Anwendungen, bei denen direkt oder indirekt die Gefahr von Personenschäden besteht. Wenden Sie sich an den OMRON-Vertrieb, bevor Sie ein SPS-System für die oben aufgeführten Anwendungen einsetzen.

3 Sicherheitshinweise

! VORSICHT Die CPU-Baugruppe führt E/A-Aktualisierungen auch dann durch, wenn das
Programm angehalten ist (d. h. insbesondere auch im PROGRAM-Modus). Überprüfen Sie die Sicherheit sorgfältig im Voraus, bevor Sie den Status von Bits oder Worten des E/A-Speichers ändern, die E/A-Baugruppen, Spezial-E/ A-Baugruppen oder CPU-Bus-Baugruppen zugeordnet sind. Änderungen an den einer Baugruppe zugeordneten Daten können ein unvorhergesehenen Verhalten der an die Baugruppen angeschlossenen Lasten (Maschinen) zur Folge haben. Die folgenden Bedienvorgänge können zu Änderungen von Bits und Worten des E/A-Speichers führen.
• Übertragen von E/A-Speicherdaten von einem Programmiergerät in die CPU-Baugruppe.
• Ändern der aktuellen Werte im Speicher von einem Programmiergerät aus.
• Zwangsweises Setzen oder Rücksetzen von Bits über ein Programmier­gerät.
• Übertragen von E/A-Speicherdateien von einer Speicherkarte oder dem EM-Dateispeicher in die CPU-Baugruppe.
• Übertragen von E/A-Speicherdaten von einem Host-Computer oder von einer anderen SPS im Netzwerk.
xx
! VORSICHT Entnehmen Sie keine Baugruppe bei eingeschalteter Spannungsversorgung
aus dem Rack. Es besteht die Gefahr eines elektrischen Schlags.
Sicherheitshinweise 3
! VORSICHT Berühren Sie Klemmen oder Klemmenblöcke nicht bei eingeschalteter Ver-
sorgungsspannung. Es besteht die Gefahr eines elektrischen Schlags.
! VORSICHT Versuchen Sie nicht, Baugruppen zu zerlegen, instand zu setzen oder zu
modifizieren. Bei jedem Versuch besteht das Risiko von Fehlfunktionen sowie die Gefahr eines elektrischen Schlags bzw. Brandgefahr.
! VORSICHT Statten Sie externe Schaltkreise (d. h., nicht die in der SPS) mit Sicherheits-
maßnahmen aus, damit die Sicherheit im System gewährleistet bleibt, wenn aufgrund einer Fehlfunktion der SPS oder eines anderen externen Faktors mit Auswirkungen auf den SPS-Betrieb eine Abweichung auftritt. Dabei kann es sich z.B. um die im Folgenden genannten Maßnahmen handeln. Andernfalls besteht die Gefahr von schweren Unfällen.
• Externe Steuerschaltungen müssen mit Not-Aus-Schaltungen, Sperr­schaltungen, Wegbegrenzungsschaltungen und ähnlichen Sicherheits­einrichtungen ausgestattet werden.
• Die SPS schaltet alle Ausgänge auf AUS, wenn durch die Selbstdiagno­sefunktion ein Fehler (schwerwiegender Systemfehler) erkannt wird oder wenn ein FALS-Befehl (schwerwiegender anwenderdefinierter Fehler) ausgeführt wird. Zur Gewährleistung der Sicherheit im System müssen als Gegenmaßnahme für solche Fehler externe Sicherheitsmaßnahmen bereitgestellt werden.
• Die SPS-Ausgänge können aufgrund von Ablagerungen oder Verbrennun­gen an den Ausgangsrelaiskontakten bzw. Zerstörung von Ausgangstransi­storen irrtümlicherweise EIN oder AUS geschaltet bleiben. Zur Gewährleistung der Sicherheit im System müssen als Gegenmaßnahme für solche Probleme externe Sicherheitsmaßnahmen bereitgestellt werden.
• Wenn der 24-V-DC-Ausgang (Hilfsspannungsversorgung der SPS) überla­stet oder kurzgeschlossen wird, fällt möglicherweise die Spannung ab, was dazu führt, dass die Ausgänge auf AUS geschaltet werden. Zur Gewährlei­stung der Sicherheit im System müssen als Gegenmaßnahme für solche Probleme externe Sicherheitsmaßnahmen bereitgestellt werden.
! Achtung Überprüfen Sie die Sicherheit, bevor Sie unter Verwendung einer Program-
miersoftware im Dateispeicher (Speicherkarte oder EM-Dateispeicher) gespeicherte Datendateien an den E/A-Bereich (CIO) der CPU-Baugruppe übertragen. Andernfalls können unabhängig von der Betriebsart der CPU­Baugruppe Fehlfunktionen an den mit der Ausgangsbaugruppe verbundenen Geräten auftreten.
! Achtung Der Kunde muss durch entsprechende Vorkehrungen die Systemsicherheit
für den Fall sicherstellen, dass bedingt durch unterbrochene Signalleitungen, vorübergehende Spannungsausfälle oder beliebige andere Ursachen falsche, fehlende oder ungewöhnliche Signale auftreten. Nicht ordnungsgemäßer Betrieb kann zu schweren Unfällen führen.
! Achtung Das Anwenderprogramm und die Parameterdaten werden von den CS1-H,
CJ1-H, CJ1M und CS1D CPU-Baugruppen beim Schreiben in die CPU-Bau­gruppe automatisch im Flash-Speicher gesichert. Der E/A-Speicher (ein­schließlich der DM-, EM- und HR-Bereiche) wird jedoch nicht in den Flash­Speicher geschrieben. Die Inhalte der DM-, EM- und HR-Bereiche können während eines Ausfalls der Versorgungsspannung durch eine Batterie erhal­ten werden. Wenn die Batterie nicht ordnungsgemäß funktioniert, sind die Inhalte dieser Bereiche nach einem Ausfall der Versorgungsspannung evtl. nicht mehr korrekt. Wenn der Inhalt der DM-, EM- und HR-Bereiche zur Steuerung externer Ausgänge verwendet wird, müssen geeignete Maßnah­men zur Vermeidung von falschen Ausgaben ergriffen werden, wenn der Bat­terie-Fehlermerker (A40204) auf EIN gesetzt ist.
! Achtung Führen Sie die Online-Bearbeitung der Programme oder Parameter nur
durch, nachdem Sie überprüft haben, dass eine Verlängerung der Zykluszeit keine negativen Auswirkungen mit sich bringt. Andernfalls sind die Eingangs­signale möglicherweise nicht lesbar.
xxi
Sicherheitshinweise für die Betriebsumgebung 4
! Achtung Stellen Sie die Sicherheit am Zielknotenpunkt sicher, bevor Sie ein Programm
an einen anderen Knotenpunkt übertragen oder den Inhalt des E/A-Speicher­bereichs verändern. Wenn Sie eine dieser Aktionen durchführen, ohne die Sicherheit zu überprüfen, kann dies zu Verletzungen führen.
! Achtung Ziehen Sie die Schrauben am Klemmenblock speziell die der Spannungsver-
sorgungsbaugruppe mit dem im Bedienerhandbuch angegebenen Drehmo­ment fest. Lose Schrauben können zu Schmorbränden oder Fehlfunktionen führen.
! Achtung Berühren Sie die Spannungsversorgungsbaugruppe nicht bei eingeschalteter
Versorgungsspannung bzw. direkt nach Ausschalten der Versorgungsspan­nung. Die Spannungsversorgungs-Baugruppe kann in diesen Fällen heiß sein, und Sie können sich Verbrennungen zuziehen.
! Achtung Lassen Sie beim Anschließen eines PCs oder anderer Peripheriegeräte an
eine SPS besondere Vorsicht walten, wenn an diese eine nicht isolierte, an eine externe Spannungsversorgung angeschlossene Baugruppe (CS1W­CLK12/52(-V1) oder CS1W-ETN01) angeschlossen ist. Wenn die 24-V-Seite der externen Spannungsversorgung und die 0-V-Seite des Peripheriegerätes zur gleichen Zeit geerdet sind, tritt ein Kurzschluss auf. Erden Sie beim Anschluss eines Peripheriegerätes an diese Art von SPS entweder die 0-V­Seite der externen Spannungsversorgung, oder erden Sie die externe Span­nungsversorgung überhaupt nicht.

4 Sicherheitshinweise für die Betriebsumgebung

! Achtung Betreiben Sie die SPS nicht an folgenden Orten:
• Orte, die direkter Sonneneinstrahlung ausgesetzt sind.
• Orte, an denen Temperaturen oder Luftfeuchtigkeit außerhalb der in den technischen Daten angegebenen Bereiche herrschen.
• Orte, die starken Temperaturschwankungen und damit Kondensatbildung ausgesetzt sind.
• Orte, an denen korrosive oder entzündliche Gase vorhanden sind.
• Orte, die dem Einfluss von Stäuben (besonders Eisenstaub) oder Salzen ausgesetzt sind.
• Orte, die dem Einfluss von Feuchtigkeit, Öl oder Chemikalien ausgesetzt sind.
• Orte, die Stößen oder Schwingungen ausgesetzt sind.
! Achtung Ergreifen Sie beim Installieren von Systemen an folgenden Orten angemes-
sene und geeignete Gegenmaßnahmen:
• Orte mit statischer Aufladung und anderen Störungen.
• Orte mit starken elektromagnetischen Feldern.
• Orte, die möglicherweise Radioaktivität ausgesetzt sind.
• Orte in der Nähe von Spannungsversorgungseinrichtungen.
! Achtung Die Betriebsumgebung des SPS-Systems kann große Auswirkungen auf die
Lebensdauer und Zuverlässigkeit des Systems haben. Ungeeignete Betriebs­umgebungen können Fehlfunktionen, Ausfälle und andere unvorhergesehene Probleme in Bezug auf das SPS-System zur Folge haben. Achten Sie darauf, dass die Betriebsumgebung zum Zeitpunkt der Installation die angegebenen Bedingungen erfüllt und dass diese Bedingungen während der Lebensdauer des Systems erfüllt bleiben.

5 Sicherheitshinweise zum Einsatz

Beachten Sie bei der Verwendung des SPS-Systems die folgenden Sicher­heitshinweise.
• Sie müssen CX-Programmer (Programmier-Software, die unter Windows läuft) verwenden, wenn Sie mehr als eine Task programmieren möchten.
xxii
Sicherheitshinweise zum Einsatz 5
Eine Programmierkonsole kann verwendet werden, um nur eine zyklische Task plus Interrupt-Tasks zu programmieren. Eine Programmierkonsole kann jedoch auch zum Bearbeiten von Multitask-Programmen verwendet werden, die ursprünglich mit CX-Programmer erstellt wurden.
! VORSICHT Beachten Sie stets diese Sicherheitshinweise. Das Nichtbeachten der folgen-
den Sicherheitshinweise kann schwere und möglicherweise tödliche Verlet­zungen zur Folge haben.
• Achten Sie bei der Installation der SPS auf eine ordnungsgemäße Erdung, die den geltenden Vorschriften entspricht. Bei fehlender oder nicht vor­schriftsmäßiger Erdung besteht die Gefahr eines elektrischen Schlags.
• Eine den Vorschriften entsprechende Erdung ist auch dann erforderlich, wenn die Schutzerdungsklemme (GR) und die Signalerdungsklemme (LG) der Spannungsversorgungs-Baugruppe miteinander verbunden werden.
• Schalten Sie die Spannungsversorgung zur SPS immer AUS, bevor Sie versuchen, eine der folgenden Arbeiten durchzuführen. Bei Nichtabschal­ten der Versorgungsspannung besteht das Risiko von Fehlfunktionen und die Gefahr eines elektrischen Schlags.
• Anbringen oder Abbauen von Spannungsversorgungsbaugruppen, E/A­Baugruppen, CPU-Baugruppen, internen Modulen oder sonstigen Bau­gruppen.
• Zusammensetzen der Baugruppen.
• Einstellen der DIP-Schalter oder Drehschalter.
• Anschließen von Kabeln oder Verdrahten des Systems.
• Anschließen oder Lösen von Steckverbindungen.
! Achtung Das Nichtbeachten der folgenden Sicherheitshinweise kann einen fehlerhaf-
ten Betrieb der SPS oder des Systems zur Folge haben, oder es könnten die SPS oder die SPS-Baugruppen beschädigt werden. Beachten Sie stets diese Sicherheitshinweise.
• Die Anwenderprogramm- und Parameterbereichsdaten in CS1-H, CS1D, CJ1-H und CJ1M CPU-Baugruppen werden im integrierten Flash-Spei­cher gesichert. Die BKUP-Anzeige auf der Vorderseite der CPU-Bau­gruppe leuchtet, während die Datensicherung ausgeführt wird. Schalten Sie die Versorgungsspannung der CPU-Baugruppe nicht aus, solange die BKUP-Anzeige leuchtet. Die Daten werden nicht gesichert, wenn die Ver­sorgungsspannung ausgeschaltet wird.
• Wenn Sie eine CPU-Baugruppe der CS-Serie erstmalig verwenden, set­zen Sie die mit Baugruppe mitgelieferte Batterie CS1W-BAT1 ein, und löschen Sie vor dem Programmieren sämtliche Speicherbereiche mittels eines Programmiergeräts. Wenn Sie die interne Uhr verwenden, schalten Sie nach dem Einsetzen der Batterie die Versorgungsspannung ein, und stellen Sie die Uhr mit Hilfe eines Programmiergeräts oder des Befehls DATE(735) ein. Die Uhr läuft erst, wenn die Zeit eingestellt wurde.
• Bei Auslieferung der CPU-Baugruppe ist das SPS-Setup so eingestellt, dass die CPU-Baugruppe in der Betriebsart startet, der mit dem Betriebs­artenschalter der Programmierkonsole eingestellt ist. Wenn keine Pro­grammierkonsole angeschlossen ist, startet eine CS1-CPU-Baugruppe der CS-Serie in der PROGRAM-Betriebsart, die CS1-H, CS1D, CJ1, CJ1­H oder CJ1M CPU-Baugruppen starten in der RUN-Betriebsart, so dass der Betrieb sofort aufgenommen wird. Starten Sie niemals absichtlich oder unabsichtlich den Betrieb, ohne sich zu vergewissern, dass dies sicher ist.
• Setzen Sie beim Erstellen einer AUTOEXEC.IOM-Datei über ein Pro­grammiergerät (eine Programmierkonsole oder CX-Programmer) zum automatischen Übertragen von Daten beim Start die erste Schreib­adresse auf D20000, und achten Sie darauf, dass die Größe der geschriebenen Daten nicht die Größe des DM-Bereichs übersteigt. Wenn die Datendatei beim Start von der Speicherkarte gelesen wird, werden beginnend bei D20000 Daten in die CPU-Baugruppe geschrieben, selbst wenn beim Erstellen der Datei AUTOEXEC.IOM eine andere Adresse ein­gestellt war. Wird ferner der DM-Bereich überschritten (dies ist beim Ver­wenden von CX-Programmer möglich), werden die übrigen Daten in den EM-Bereich geschrieben.
xxiii
Sicherheitshinweise zum Einsatz 5
• Schalten Sie die Versorgungsspannung der SPS stets vor der der gesteuer­ten Anlage ein. Wird die Versorgungsspannung der SPS erst nach der der gesteuerten Anlage eingeschaltet, können zeitweilig Fehler in Steuerungs­systemsignalen auftreten, da die Ausgangsklemmen an DC-Ausgangs-Bau­gruppen und anderen Baugruppen vorübergehend auf EIN geschaltet werden, wenn die Versorgungsspannung der SPS eingeschaltet wird.
• Der Kunde muss durch entsprechende Vorkehrungen die Systemsicher­heit für den Fall sicherstellen, dass bedingt durch Schäden an internen Schaltkreisen (Relais, Transistoren oder andere Komponenten) von Aus­gangs-Baugruppen intern auf AUS gesetzte Ausgänge weiterhin auf EIN geschaltet bleiben.
• Der Kunde muss durch entsprechende Vorkehrungen die Systemsicher­heit für den Fall sicherstellen, dass bedingt durch unterbrochene Signal­leitungen, vorübergehende Spannungsausfälle oder beliebige andere Ursachen falsche, fehlende oder ungewöhnliche Signale auftreten.
• Der Kunde muss Sperrschaltungen, Wegbegrenzungsschaltungen und ähnliche Sicherheitsmaßnahmen in externen Schaltungen (d. h. nicht die in der speicherprogrammierbaren Steuerung) vorsehen.
• Schalten Sie die Spannungsversorgung zur SPS nicht AUS, während Daten übertragen werden. Schalten Sie die Versorgungsspannung vor allem dann nicht aus, wenn eine Speicherkarte gelesen oder beschrieben wird. Entnehmen Sie die Speicherkarte auch nicht, wenn die Anzeige BUSY leuchtet. Drücken Sie zum Entnehmen einer Speicherkarte zunächst die Speicherkartentaste, und warten Sie dann, bis die BUSY­Anzeige erlischt, bevor Sie die Speicherkarte entnehmen.
• Wenn der E/A-Speicher-Haftmerker auf EIN gesetzt ist, werden die Aus­gänge der SPS nicht auf AUS geschaltet und behalten ihren vorherigen Status bei, wenn die SPS von der RUN- oder MONITOR- in die PRO­GRAM-Betriebsart umgeschaltet wird. Stellen Sie sicher, dass in diesem Fall keine Gefahren von den angeschlossenen Geräten ausgehen. (Wenn der Betrieb wegen eines schwerwiegenden Fehlers (einschließlich FALS(007)) unterbrochen wird, werden alle Ausgänge aller Ausgangs­Baugruppen auf AUS geschaltet, und nur der interne Ausgabestatus wird aufrecht erhalten.)
• Der Speicherinhalt der DM-, EM- und HR-Bereiche in der CPU-Bau­gruppe wird durch eine Batterie gesichert. Wenn die Spannung der Batte­rie abfällt, können diese Daten verloren gehen. Ergreifen Sie mit Hilfe des Batterie-Fehlermerkers (A40204) Vorkehrungen für die Reinitialisierung von Daten oder andere Maßnahmen für den Fall, dass die Spannung der Batterie abfällt.
• Wenn eine SPS der CS-Serie mit 200 bis 240 V Wechselspannung versorgt wird, müssen Sie stets die Drahtbrücken von den Spannungsauswahlklem­men der Spannungsversorgungs-Baugruppe entfernen (mit Ausnahme von Spannungsversorgungs-Baugruppen mit weitem Eingangsspannungsbe­reich). Das Produkt wird zerstört, wenn bei angebrachten Drahtbrücken 200 bis 240 V AC angelegt werden.
• Verwenden Sie stets die in den Bedienerhandbüchern angegebenen Ver­sorgungsspannungen. Eine falsche Spannung kann zu Fehlfunktionen oder Bränden führen.
• Ergreifen Sie geeignete Maßnahmen, um sicherzustellen, dass das Gerät mit der angegebenen Nennspannung und -frequenz versorgt wird. Las­sen Sie an Installationsorten, an denen die Spannungsversorgung nicht stabil ist, besondere Vorsicht walten. Eine falsche Spannungsversorgung kann zu Fehlfunktionen führen.
• Installieren Sie externe Trennschalter, und ergreifen Sie weitere Sicherheits­maßnahmen gegen Kurzschlüsse in externer Verdrahtung. Bei unzureichen­den Sicherheitsmaßnahmen gegen Kurzschlüsse besteht Brandgefahr.
• Legen Sie keine Spannungen an die Eingangsbaugruppen an, die die Nenneingangsspannung übersteigen. Bei zu hohen Spannungen besteht Brandgefahr.
xxiv
Sicherheitshinweise zum Einsatz 5
• Legen Sie keine Spannungen an die Ausgangsbaugruppen an und schlie­ßen Sie keine Lasten an die Ausgangsbaugruppen an, die die maximale Schaltleistung übersteigen. Bei übermäßigen Spannungen oder Lasten besteht Brandgefahr.
• Trennen Sie vor der Durchführung von Isolationswiderstandsmessungen oder Spannungsbeständigkeitstests die Signalmasse (LG) von der Gehäuseerde (GR). Andernfalls kann es zu Verbrennungen kommen.
• Installieren Sie die Baugruppen ordnungsgemäß, wie in den Bediener­handbüchern angegeben. Bei unsachgemäßer Installation der Baugrup­pen besteht die Gefahr von Fehlfunktionen.
• Bei SPS-Systemen der CS-Serie muss sichergestellt werden, dass sämtli­che Befestigungsschrauben der Baugruppen und des Baugruppenträgers mit dem in den entsprechenden Handbüchern angegebenen Drehmoment festgezogen werden. Ein falsches Anzugsdrehmoment kann zu Fehlfunk­tionen führen.
• Stellen Sie sicher, dass alle Klemmenschrauben und Schrauben von Steckverbindern mit dem in den entsprechenden Handbüchern angege­benen Drehmoment festgezogen werden. Ein falsches Anzugsdrehmo­ment kann zu Fehlfunktionen führen.
• Belassen Sie beim Verdrahten die Schutzfolie an der Baugruppe. Beim Entfernen der Schutzfolie besteht die Gefahr einer Fehlfunktion, wenn Fremdkörper in die Baugruppe eindringen.
• Entfernen Sie die Schutzfolie nach Abschluss der Verdrahtungsarbeiten, um eine ordnungsgemäße Wärmeableitung zu gewährleisten. Bei nicht entfernter Schutzfolie besteht die Gefahr von Fehlfunktionen.
• Verwenden Sie für die Verdrahtung Crimp-Kabelschuhe. Schließen Sie keine abisolierten Litzendrähte direkt an Klemmen an. Beim Anschließen von abisolierten Litzendrähten besteht die Gefahr von Schmorbränden.
• Verdrahten Sie alle Anschlüsse ordnungsgemäß.
• Überprüfen Sie die gesamte Verdrahtung und alle Schaltereinstellungen sorgfältig, bevor Sie die Spannungsversorgung einschalten. Bei unsach­gemäßer Verdrahtung besteht Brandgefahr.
• Installieren Sie Baugruppen erst, nachdem Sie die Klemmenblöcke und Steckverbinder eingehend überprüft haben.
• Stellen Sie sicher, dass die Klemmenblöcke, Speicherbaugruppen, Verlän­gerungskabel und andere Teile mit Arretierungen ordnungsgemäß eingera­stet sind. Bei fehlender Arretierung besteht die Gefahr von Fehlfunktionen.
• Überprüfen Sie vor Beginn des Betriebs die Schaltereinstellungen, den Inhalt des DM-Bereichs sowie andere Voreinstellungen. Bei Aufnahme des Betriebs ohne sachgemäße Einstellungen bzw. Daten besteht die Gefahr von unerwartetem Verhalten.
• Überprüfen Sie das Anwenderprogramm auf ordnungsgemäße Ausfüh­rung, bevor Sie es tatsächlich für die SPS einsetzen. Wird das Programm nicht überprüft, besteht die Gefahr von unerwartetem Verhalten.
• Vergewissern Sie sich, dass keine negativen Auswirkungen im System auftreten können, bevor Sie eine der folgenden Aktionen durchführen. Andernfalls besteht die Gefahr von unerwartetem Verhalten.
• Ändern der Betriebsart der SPS.
• Zwangsweises Setzen/Rücksetzen eines Bits im Speicher.
• Ändern des aktuellen Wertes eines Wortes oder eines voreingestell­ten Wertes im Speicher.
• Ziehen Sie nicht an den Kabeln, und biegen Sie die Kabel nicht über das natürliche Maß hinaus. Andernfalls können die Kabel dabei brechen.
• Stellen Sie keine Gegenstände auf die Kabel oder andere Leitungen. Die Kabel können dabei brechen.
• Verwenden Sie keine handelsüblichen RS-232C-Computerkabel, sondern ausschließlich die hier aufgeführten Spezialkabel. Müssen Kabel angefer­tigt werden, so beachten Sie unbedingt die Angaben in diesem Hand­buch. Bei Verwendung von handelsüblichen Kabeln besteht die Gefahr, dass externe Geräte oder die CPU-Baugruppe beschädigt werden.
xxv
Konformität mit EU-Richtlinien 6
• Verbinden Sie niemals Stift 6 (5-V-Spannungsversorgung) des RS-232C­Anschlusses der CPU-Baugruppe mit einem anderen Gerät als den Adaptern NT-AL001 oder CJ1W-CIF11. Das externe Gerät oder die CPU­Baugruppe können andernfalls beschädigt werden.
• Achten Sie beim Austauschen von Komponenten darauf, dass die neue Komponente die richtigen Nenndaten besitzt. Andernfalls besteht die Gefahr von Fehlfunktionen oder Brandgefahr.
• Achten Sie vor Berühren der SPS darauf, dass Sie zunächst einen geer­deten Metallgegenstand berühren, um statische Aufladung abzuleiten. Andernfalls besteht die Gefahr von Fehlfunktionen oder Beschädigungen.
• Bewahren Sie Leiterplatten bei Transport oder Lagerung in antistatischem Material auf, um sie vor statischer Elektrizität zu schützen. Achten Sie auf die Einhaltung der zulässigen Lagerungstemperatur.
• Berühren Sie Leiterplatten oder die darauf befindlichen Komponenten nicht mit bloßen Händen. Auf den Leiterplatten befinden sich scharfe Anschlussdrähte und andere Teile, die bei unsachgemäßer Handhabung zu Verletzungen führen können.
• Schließen Sie die Batterieanschlüsse niemals kurz. Die Batterie darf nicht aufgeladen, zerlegt, erhitzt oder verbrannt werden. Setzen Sie die Batte­rie keinen starken Erschütterungen aus. Andernfalls besteht die Gefahr, dass die Batterie undicht wird, bricht, Hitze erzeugt oder sich entzündet. Entsorgen Sie Batterien, die heruntergefallen sind oder auf sonstige Weise heftigen Erschütterungen ausgesetzt waren. Batterien, die Erschütterungen ausgesetzt waren, können beim Gebrauch möglicher­weise undicht sein.
• Nach UL-Standards dürfen Batterien nur von erfahrenen Technikern aus­gewechselt werden. Lassen Sie die Batterien nicht von Personen austau­schen, die nicht dafür qualifiziert sind.
• Bei einer SPS der CJ-Serie müssen die Schieber an den Ober- und Unterseiten der Spannungsversorgungs-Baugruppen, CPU-Baugruppen, E/A-Baugruppen, Spezial-E/A-Baugruppen und CPU-Bus-Baugruppen vollständig verriegelt werden (sie müssen hörbar einrasten). Die SPS funktioniert möglicherweise nicht ordnungsgemäß, wenn die Schieber nicht eingerastet sind.
• Bringen Sie bei einer SPS der CJ-Serie stets die Endabdeckung an der letzten Baugruppe rechts an. Die SPS funktioniert ohne die Endabdek­kung nicht ordnungsgemäß.
• Fehlerhaft eingerichtete Data-Link-Tabellen oder -Parameter können zu unerwartetem Systemverhalten führen. Stellen Sie auch bei korrekt ein­gerichteten Data-Link-Tabellen und -Parametern vor dem Starten und Stoppen von Data-Links sicher, dass dies keine unerwünschten Auswir­kungen auf das System hat.
• CPU-Bus-Baugruppen werden neu gestartet, wenn Routing-Tabellen von einem Programmiergerät auf die CPU-Baugruppe übertragen werden. Das Neustarten der Baugruppen ist zum Lesen und Aktivieren der neuen Routing-Tabellen erforderlich. Stellen Sie vor dem Neustart der CPU-Bus­Baugruppen sicher, dass dies keine unerwünschten Auswirkungen auf das System hat.

6 Konformität mit EU-Richtlinien

6-1 Anwendbare Richtlinien
• EMV-Richtlinien
• Niederspannungsrichtlinie
6-2 Konzepte
EMV-Richtlinien
OMRON-Geräte, die den EU-Richtlinien entsprechen, entsprechen ebenfalls den damit zusammenhängenden EMV-Normen, so dass sie auf einfachere Weise in andere Geräte oder die Gesamtanlage integriert werden können. Die tatsächlichen Produkte wurden auf Konformität mit EMV-Normen geprüft (siehe folgender Hinweis). Ob die Produkte jedoch in dem vom Kunden ver­wendeten System den Normen entsprechen, muss der Kunde selbst prüfen.
xxvi
Konformität mit EU-Richtlinien 6
Die Abstrahlungseigenschaften von OMRON-Produkten, die den EU-Richtli­nien entsprechen, variieren je nach Konfiguration, Verdrahtung und anderen Bedingungen der Installation oder der Schaltschränke, in denen die OMRON­Geräte installiert sind. Der Kunde muss daher eine abschließende Prüfung durchführen, um die Bestätigung zu erhalten, dass die Geräte und die Gesamtanlage den EMV-Normen entsprechen.
Hinweis Die folgenden EMV-Normen (elektromagnetische Verträglichkeit) sind
anwendbar: EMS (Elektromagnetische Störfestigkeit):
CS-Serie: EN61131-2 und EN61000-6-2 CJ-Serie: EN61000-6-2
EMB (Elektromagnetische Beeinflussung):
EN61000-6-4 (Abstrahlungseigenschaften: 10-m-Bestimmungen)
Niederspannungsrichtlinie
Stellen Sie immer sicher, dass Geräte, die mit Spannungen von 50 bis
1.000 V AC bzw. 75 bis 1.500 V DC arbeiten, die erforderlichen Sicherheits­normen für die SPS erfüllen (EN61131-2).
6-3 Konformität mit EU-Richtlinien
Die SPS der CS/CJ-Serie entsprechen den EU-Richtlinien. Um zu gewährlei­sten, dass die Anlage oder das Gerät, in dem die SPS der CS/CJ-Serie ver­wendet wird, den EU-Richtlinien entspricht, muss die SPS wie folgt installiert sein:
1,2,3... 1. Die SPS der CS/CJ-Serie muss in einem Schaltschrank installiert sein.
2. Sie müssen eine Schutzisolierung oder eine doppelte Isolierung für die DC-Spannungsversorgungen verwenden, die an DC-Spannungsversor­gungs- oder E/A-Baugruppen angeschlossen werden.
3. SPS der CS/CJ-Serie, die den EU-Richtlinien entsprechen, entsprechen ebenfalls der allgemeinen Emissionsnorm (EN50081-6-4). Die Abstrah­lungseigenschaften (10-m-Bestimmungen) variieren je nach Konfiguration des verwendeten Schaltschranks, anderen an den Schaltschrank ange­schlossenen Geräten, Verdrahtung und weiteren Bedingungen. Daher müs­sen Sie überprüfen, ob die Gesamtanlage oder -ausrüstung den EU­Richtlinien entspricht.
6-4 Methoden zur Entstörung von Relaisausgängen
Die SPS der CS/CJ-Serie entsprechen den allgemeinen Emissionsnormen (EN50081-6-4) der EMV-Richtlinien. Eine durch Schalten des Relaisaus­gangs erzeugte Störung erfüllt diese Norm jedoch möglicherweise nicht. In diesem Fall muss ein Entstörfilter an der Lastseite angeschlossen werden, oder für die SPS müssen andere geeignete externe Gegenmaßnahmen ein­gerichtet werden.
Die zur Erfüllung der Normen vorzunehmenden Gegenmaßnahmen variieren je nach Gerät auf der Lastseite, Verdrahtung, Konfiguration der Anlagen usw. Nachfolgend finden Sie Beispiele für Gegenmaßnahmen zur Reduzierung der erzeugten Störungen.
Gegenmaßnahmen
(Nähere Einzelheiten finden Sie in EN61000-6-4.) Es sind keine Gegenmaßnahmen erforderlich, wenn die Frequenz der Last-
schaltung im Gesamtsystem, in das die SPS eingebunden ist, unter fünf Schaltungen pro Minute liegt.
Es sind Gegenmaßnahmen erforderlich, wenn die Frequenz der Lastschal­tung im Gesamtsystem, in das die SPS eingebunden ist, über fünf Schaltun­gen pro Minute liegt.
xxvii
Konformität mit EU-Richtlinien 6
Beispiele für Gegenmaßnahmen
Wird eine induktive Last geschaltet, schließen Sie einen Überspannungsschutz, Dioden usw. parallel zu der Last oder dem Kontakt an, wie unten gezeigt.
Schaltung Strom Eigenschaften Erforderliche Komponenten
AC DC
RC-Glied
Spannungs­versorgung
Freilaufdiode
Spannungs­versorgung
Varistor
Spannungs­versorgung
Ja Ja Wenn es sich bei der Last um ein
Relais oder eine Magnetspule handelt, gibt es eine Verzögerung zwischen
C
R
Induktive
Last
dem Öffnen des Schaltkreises und dem Rücksetzen der Last.
Wenn die Versorgungsspannung 24 oder 48 V beträgt, setzen Sie den Überspannungsschutz parallel zur Last ein. Wenn die Versorgungsspannung 100 bis 200 V beträgt, setzen Sie den Überspannungsschutz zwischen den Kontakten ein.
Nein Ja Die antiparallel zur Last geschaltete
Diode (Freilaufdiode) leitet den beim Abbau des Magnetfelds entstehenden Strom wieder in die Last, wo er auf­grund des Ohmschen Widerstands der
Induktive
Last
Last in Wärme umgewandelt wird. Diese durch diese Methode verur-
sachte zeitliche Verzögerung zwischen dem Öffnen des Schaltkreises und dem Rücksetzen der Last ist länger als die durch die Kondensator/Widerstand­Methode verursachte.
Ja Ja Der Varistor wird bei Überschreitung
einer bestimmten Spannung, die grö­ßer als die Lastspannung gewählt wer­den muss, niederohmig. Auf diese Weise wird der beim Abbau des Magnetfelds der induktiven Last entste-
Induktive
Last
hende Strom kurzgeschlossen und die Entstehung eines Schaltfunkens an den Kontakten verhindert. Es tritt eine zeitliche Verzögerung zwischen dem Öffnen des Schaltkreises und dem Rücksetzen der Last auf.
Beträgt die Versorgungsspannung 24 oder 48 V, so schalten Sie den Varistor parallel zur Last. Beträgt die Versor­gungsspannung 100 oder 200 V, so schalten Sie den Varistor parallel zu den Schaltkontakten.
Kondensator: 0,5 bis 1 µF / A Laststrom; Widerstand: 0,5 bis 1 / V Lastspan­nung. Diese Werte variieren jedoch je nach Last und den Eigenschaften des Relais. Ermitteln Sie experimentell die optimalen Werte. Berücksichtigen Sie dabei, dass der Kondensator die Fun­kenentladung beim Öffnen der Kontakte unterdrücken und der Widerstand den beim Schließen der Kontakte fließenden Ladestrom des Kondensators begren­zen soll.
Die Durchschlagfestigkeit des Konden­sators muss zwischen 200 und 300 V liegen. Wird eine AC-Last geschaltet, muss ein ungepolter Kondensator ein­gesetzt werden.
Der Wert für die Durchschlagfestigkeit der Diode in Sperrrichtung muss minde­stens zehnmal so hoch sein wie der Spannungswert in der Schaltung. Der Durchlassstrom der Diode muss gleich oder größer als der Laststrom sein.
Bei Niederspannungsschaltkreisen genügt es, wenn die Spitzensperrspan­nung der Freilaufdiode dem Zwei- bis Dreifachen der Lastspannung ent­spricht.
---
xxviii
Beim Schalten einer Last mit einem hohen Einschaltstrom, etwa einer Glüh­lampe, reduzieren Sie den Einschaltstrom wie unten gezeigt.
Abhilfemaßnahme 1 Abhilfemaßnahme 2
Ausgang
R
COM
Durch einen Vorschaltwiderstand fließt bereits ca. ein Drittel des Nennstroms der Glühlampe.
Ausgang
COM
Verwendung eines Begrenzungswiderstands
R
ABSCHNITT 1
Betrieb der CPU-Baugruppe
In diesem Kapitel werden die Grundstruktur und der grundlegende Betrieb der CPU-Baugruppe beschrieben.
1-1 Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen). . . . . . . . . . . . . 2
1-2 Verwenden der internen Uhr (nur CS1 CPU-Baugruppen). . . . . . . . . . . . . . . 5
1-3 Interne Struktur der CPU-Baugruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-3-1 Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-3-2 Blockdiagramm des Speichers einer CPU-Baugruppe . . . . . . . . . . . 7
1-4 Betriebsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1-4-1 Beschreibung der Betriebsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1-4-2 Initialisierung des E/A-Speichers . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1-4-3 Betriebsart beim Einschalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1-5 Programme und Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1-6 Beschreibung von Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1
Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen) Abschnitt 1-1

1-1 Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen)

Einsetzen der Batterie Vor Inbetriebnahme der CS1 CPU-Baugruppe müssen Sie den Batteriesatz in
die CPU-Baugruppe einsetzen. Gehen Sie dazu wie folgt vor.
1,2,3... 1. Führen Sie einen Schlitzschraubendreher in den schmalen Schlitz an der
Unterkante des Batteriefachs ein, und drücken Sie den Deckel zum Öffnen nach oben.
2
Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen) Abschnitt 1-1
2. Setzen Sie den Batteriesatz mit dem Kabel nach außen in das Batteriefach ein.
Batteriefach
3. Schließen Sie die Buchse des Batteriesatzes an den entsprechenden ein­gelöteten Batteriestecker im Batteriefach an. Der rote Draht muss an den oberen Stift und der weiße Draht an den unteren Stift angeschlossen wer­den. Im Gerät befinden sich zwei Batteriestecker. Schließen Sie die Batte­rie an einen der beiden Batteriestecker an. Es ist gleichgültig, ob Sie die Batterie an den oberen oder an den unteren Batteriestecker anschließen.
Rot
Batterieanschluss (An einen der Anschlüsse anschließen)
Weiß
3
Inbetriebnahme - erste Schritte (nur CS1 CPU-Baugruppen) Abschnitt 1-1
4. Verstauen Sie das Kabel im Fach, und schließen Sie den Deckel.
Löschen des Speichers Löschen Sie nach dem Einsetzen der Batterie den Speicher mit Hilfe der Pro-
grammierkonsole. Dadurch wird der RAM-Speicher in der CPU-Baugruppe initialisiert.
Programmierkonsole
Geben Sie an der Programmierkonsole folgende Tastenfolge ein.
Ausgangsanzeige
NOT
SET RESET
MON
MON
0
(oder
0
)
1
Hinweis Beim Löschen von Speicherinhalten über die Programmierkonsole können
Sie immer nur jeweils eine zyklische Task angeben. Sie können eine zyklische Task und eine Interrupt-Task oder eine zyklische Task und keine Interrupt­Task angeben. Weitere Informationen zum Löschen des Speichers finden Sie im Bedienerhandbuch. Weitere Informationen zu Tasks finden Sie in ABSCHNITT 1 Betrieb der CPU-Baugruppe und in ABSCHNITT 4 Tasks.
CX-Programmer
Der Speicher kann auch mit Hilfe von CX-Programmer gelöscht werden. Eine Beschreibung der Vorgehensweise hierzu finden Sie im CX-Programmer Bedienerhandbuch.
Löschen von Fehlern Nach dem Löschen des Speichers müssen alle in der CPU-Baugruppe
gespeicherten Fehler, einschließlich des Fehlers wegen zu niedriger Batterie­spannung, gelöscht werden.
Programmierkonsole
Geben Sie an der Programmierkonsole folgende Tastenfolge ein.
Ausgangsanzeige
MONFUN MON
(Angezeigte Fehlermeldung wird gelöscht)
MON
(Kehrt zur Ausgangsanzeige zurück)
CX-Programmer
Fehler können auch mit Hilfe von CX-Programmer gelöscht werden. Eine Beschreibung der Vorgehensweise hierzu finden Sie im CX-Programmer Bedienerhandbuch.
Hinweis Falls ein internes Steckmodul installiert ist, bleibt möglicherweise weiterhin
ein Routing-Tabellen-Fehler bestehen, obwohl Sie den Fehler mit Hilfe von CX-Programmer gelöscht haben. (Bei einem seriellen Kommunikationsmodul ist A42407 auf EIN gesetzt.) Falls dies der Fall ist, schalten Sie entweder das Gerät aus und wieder ein, oder führen Sie einen Neustart des internen Moduls durch. Löschen Sie den Fehler anschließend erneut.
4
Verwenden der internen Uhr (nur CS1 CPU-Baugruppen) Abschnitt 1-2

1-2 Verwenden der internen Uhr (nur CS1 CPU-Baugruppen)

Beim Einlegen der Batterie in die CPU-Baugruppe der CS-Serie ist die interne Uhr der CPU-Baugruppe auf „00 (Jahr), 01 (Monat), 01 (Tag), (00-01-01), 00 (Stunden), (00) Minuten, (00) Sekunden, (00:00:00), und Sonntag (So)“ ein­gestellt.
Wenn Sie die interne Uhr verwenden möchten, schalten Sie die Spannungs­versorgung ein, nachdem Sie die Batterie eingelegt haben. Stellen Sie entwe­der mit Hilfe eines Programmiergeräts (Programmierkonsole oder CX­Programmer) die Zeit ein, oder führen Sie den Befehl zur Uhreinstellung CLOCK ADJUSTMENT (DATE) aus. Sie können die interne Uhr auch mit einem FINS-Befehl zeitgenau und mit dem richtigen Datum starten.
So stellen Sie die interne Uhr mit Hilfe der Programmierkonsole ein:
Tastenfolge
Ausgangsanzeige
FUN
SHIFT
MON
0
Festlegen: Jahr Monat Tag Stunde Minuten Sekunden
CHG
Daten
WRITE
5
Interne Struktur der CPU-Baugruppe Abschnitt 1-3

1-3 Interne Struktur der CPU-Baugruppe

1-3-1 Übersicht
In der folgenden Abbildung wird die interne Struktur der CPU-Baugruppe dar­gestellt.
CPU-Baugruppe
Anwenderprogramm
Automa­tische Siche­rung
Flash­Speicher
(nur CS1-H, CS1D, CJ1-H, oder CJ1M CPU-Baugruppen)
Automa­tische Siche­rung
E/A-Speicher
EM-Dateispeicher
SPS­Einstellungen und andere Parameter
Zugriff
Task 1
Task 2
Task n
Speicherkarte
DIP-Schalter
Das Programm ist in Tasks unterteilt, und die Tasks werden in der Reihenfolge der Task-Nummern ausgeführt.
E/A-Speicher, SPS-Einstellungen, Programme und EM-Bereich können als Dateien gespeichert werden.
Das Anwenderprogramm Das Anwenderprogramm wird aus bis zu 288 Programm-Tasks, einschließlich
Interrupt-Tasks, zusammengestellt. Die Tasks werden von der Programmiersoft­ware CX-Programmer in die CPU-Baugruppe übertragen.
Es gibt zwei Arten von Tasks: Die erste ist eine zyklische Task, die einmal pro Zyklus (maximal 32) ausgeführt wird, und die andere ist eine Interrupt-Task, die nur ausgeführt wird, wenn Interrupt-Bedingungen auftreten (maximal 256). Zykli­sche Tasks werden in numerischer Reihenfolge ausgeführt.
Hinweis 1. Mit den CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen können Interrupt-
Tasks – genauso wie zyklische Tasks – auch zyklisch ausgeführt werden. Die­se werden als „zyklische Zusatztasks“ bezeichnet. Die Gesamtzahl der Tasks, die zyklisch ausgeführt werden können, beträgt maximal 288.
2. Wenn Sie mit CX-Programmer arbeiten, müssen Sie für die CS1-H und CJ1­H CPU-Baugruppen Version 2.1 oder höher verwenden. Für die CJ1M CPU­Baugruppen (außer Low-End-Modelle) beziehungsweise CS1D bei Syste­men mit Duplex-CPU muss Version 3.0 oder höher verwendet werden. Wenn Sie eine Low-End-CJ1M CPU-Baugruppe (CJ1M-CPU11/CPU21) einsetzen, müssen Sie die CX-Programmer-Version 3.3 oder höher verwenden. Wenn Sie eine CS1-H, CJ1-H, CJ1M bzw. CS1D CPU-Baugruppe Version 2.0 oder höher einsetzen, müssen Sie die CX-Programmer-Version 4.0 oder höher ver­wenden.
Programmbefehle, mit denen über Lese- und Schreibzugriff auf den E/A-Spei­cher zugegriffen wird, werden der Reihefolge im Programm von oben beginnend ausgeführt. Nachdem alle zyklische Tasks ausgeführt wurden, werden die E/A­Daten für alle Baugruppen aktualisiert, und der Zyklus wird, beginnend mit der zyklischen Task mit der niedrigsten Nummer, erneut gestartet.
Informationen zur E/A-Aktualisierung finden Sie auch im Abschnitt über den Betrieb der CPU-Baugruppe im CS/CJ-Serie Bedienerhandbuch.
6
Interne Struktur der CPU-Baugruppe Abschnitt 1-3
E/A-Speicher Der E/A-Speicher ist der Bereich des RAM, der für das Lesen und Schreiben
aus dem Anwenderprogramm heraus verwendet wird. Er besteht aus einem Bereich, der beim Ein- beziehungsweise Ausschalten des Geräts gelöscht wird, und aus einem weiteren Bereich, dessen Daten in diesem Fall erhalten bleiben.
Der E/A-Speicher ist zudem in einen Bereich, dessen Daten mit sämtlichen Baugruppen ausgetauscht werden, und in einen Bereich, der ausschließlich der internen Nutzung dient, unterteilt. Ein Datenaustausch mit allen Baugrup­pen erfolgt einmal pro Programmausführungszyklus oder wenn spezielle Befehle ausgeführt werden.
SPS-Setup Das SPS-Setup dient dem Eingeben verschiedener Konfigurationseinstellun-
gen oder anderer Einstellungen mit Hilfe von Software.
DIP-Schalter DIP-Schalter dienen zur Festlegung von Konfigurationseinstellungen oder
anderen Einstellungen.
Speicherkarten Speicherkarten werden bei Bedarf dazu verwendet, um Daten, wie zum Bei-
spiel Programme, E/A-Speicherdaten, das SPS-Setup und E/A-Kommentare, die mit Programmiergeräten erstellt wurden, zu speichern. Wenn die SPS ein­geschaltet wird, können Programme und verschiedene Systemeinstellungen automatisch von der Speicherkarte übertragen werden (automatische Über­tragung beim Einschalten).
Flash-Speicher (nur CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen)
Bei den CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen werden das Anwen­derprogramm und die Daten der Parameterbereiche, wie zum Beispiel SPS­Setup, automatisch im integrierten Flash-Speicher gesichert, wenn der Anwen­der Daten an die CPU-Baugruppe überträgt. Damit ist ein Betrieb ohne Batterie und ohne Speicherkarte möglich. Der Inhalt des E/A-Speichers einschließlich des größten Teils des DM-Bereiches werden ohne Batterie nicht gesichert.
1-3-2 Blockdiagramm des Speichers einer CPU-Baugruppe
Bei der CS/CJ-Serie besteht der Speicher der CPU-Baugruppe (RAM) aus den folgenden Blöcken:
• Parameterbereich (SPS-Setup, registrierte E/A-Tabelle, Routing-Tabelle und CPU-Bus-Baugruppeneinstellungen)
• E/A-Speicherbereiche
• Anwenderprogramm
Daten aus dem Parameterbereich und dem E/A-Speicherbereich werden durch eine Batterie gesichert (CS-Serie: CS1W-BAT01, CJ1-H: CPM2A-BAT01) und gehen verloren, wenn die Batteriespannung zu gering ist.
Die CPU-Baugruppen CS1-H, CJ1-H, CJ1M und CS1D besitzen einen inte­grierten Flash-Speicher, in dem die Daten gesichert werden. Jedes Mal, wenn der Anwender über ein Programmiergerät (z. B. CX-Programmer oder Pro­grammierkonsole) Daten in die CPU-Baugruppe schreibt, werden das Anwen­derprogramm und Parameterbereichsdaten automatisch im eingebauten Flash-Speicher gesichert. Dies gilt auch bei folgenden Vorgängen: Daten­übertragungen, Online-Bearbeitung, Übertragungen von Speicherkarten usw. Dies bedeutet, dass das Anwenderprogramm und die Daten des Parameter­bereichs auch dann nicht verloren gehen, wenn die Batteriespannung abfällt.
7
Interne Struktur der CPU-Baugruppe Abschnitt 1-3
CPU-Baugruppe
Integrierter RAM-Speicher
E/A-Speicherbereich
Flash-Speicher (nur CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen)
Auto-
Anwenderprogramm
Parameterbereich
Kommentarspeicher­bereich
FB-Programm­speicherbereich
matisches Schreiben
Auto­matisches Schreiben
Hinweis 1. Durch Umstellen von Schalter 1 des DIP-Schalterblocks an der Vordersei-
Laufwerk 1: EM-Dateispeicher (siehe Hinweis 2)
Anwenderprogramm
Parameterbereich (siehe Hinweis 1)
Aufrechterhaltung
Batterie
Eine frisch installierte Batterie hat bei einer Umgebungstemperatur von 25 ˚C eine Nutzungsdauer von bis zu fünf Jahren.
Laufwerk 0: Speicherkarte (Flash-Speicher)
Dateispeicher
Automatische Sicherung im Flash-Speicher, wenn über ein Programmiergerät ein Schreibvorgang für den Anwenderspeicher­bereich (Anwenderprogramm- oder Parameterbereich) ausgeführt wird.
Für die Speicherung von Symboltabellen, Kommentar- und Programmindexdateien. Bei der Übertragung von Projekten von CX-Programmer Ver. 5.0 können bei den CPU-Baugruppen ab Ver. 3.0 Speicherkarten, EM-Dateispeicher oder Kommentarspeicher als Ziel ausgewählt werden.
Beim Übertragen von Projekten mit Funktionsblöcken von CX­Programmer in eine CPU-Baugruppe ab Baugruppenversion 3.0 werden die Funktionsblock-Programminformationen automatisch im FB-Programmspeicherbereich abgelegt.
te der CPU-Baugruppe in die Stellung ON können der Parameterbereich und das Anwenderprogramm (d. h. der Anwenderspeicher) schreibge­schützt werden.
2. Der EM-Dateispeicher ist Teil des EM-Bereiches, der im SPS-Setup in Da­teispeicher umgewandelt wurde. Alle EM-Banken ab der spezifizierten Bank bis zum Ende des EM-Bereichs können nur als Dateispeicher für die Speicherung von Daten- und Programmdateien verwendet werden.
3. Vergessen Sie nicht, die mitgelieferte Batterie (CS1W-BAT01) einzulegen, bevor Sie eine CS1 CPU-Baugruppe zum ersten Mal in Betrieb nehmen. Löschen Sie nach dem Einlegen der Batterie den RAM-Speicher der SPS (Parameterbereich, E/A-Speicherbereich und Anwenderprogramm) mit Hilfe eines Programmiergeräts.
4. In den CPU-Baugruppen CS1-H, CJ1, CJ1-H, CJ1M und CS1D ist ab Werk eine Batterie eingesetzt. Es ist nicht nötig, den Speicher zu löschen und die Uhrzeit einzustellen.
5. Die BKUP-Anzeige an der Vorderseite der CPU-Baugruppe leuchtet, wäh­rend Daten in den Flash-Speicher geschrieben werden. Schalten Sie die Spannungsversorgung der CPU-Baugruppe erst aus, wenn die Datensi­cherung abgeschlossen ist (d. h. die BKUP-Anzeige erloschen ist). Weite­re Informationen finden Sie im Abschnitt 6-6-11 Flash-Speicher.
8
Betriebsarten Abschnitt 1-4

1-4 Betriebsarten

1-4-1 Beschreibung der Betriebsarten
Die CPU-Baugruppe besitzt die folgenden Betriebsarten. Diese Betriebsarten gelten sowohl für das gesamte Anwenderprogramm als auch für alle Tasks.
PROGRAM-Betriebsart In der PROGRAM-Betriebsart wird die Programmausführung angehalten. Die
RUN-Anzeige leuchtet nicht. Diese Betriebsart wird verwendet, wenn das Pro­gramm bearbeitet wird oder andere Vorbereitungen ausgeführt werden, wie zum Beispiel:
• Registrieren der E/A-Tabelle.
• Ändern des SPS-Setups und anderer Einstellungen.
• Übertragen und Prüfen von Programmen.
• Zwangsweises Setzen beziehungsweise Rücksetzen von Bits, um die Verdrahtung und die Zuordnung von Bits zu prüfen.
In dieser Betriebsart werden keine zyklischen und Interrupt-Tasks ausgeführt, d. h. sie werden angehalten. Weitere Informationen zu Tasks finden Sie im Abschnitt 1-6 Beschreibung von Tasks. Die E/A-Aktualisierung wird in der PROGRAM-Betriebsart ausgeführt. Wei­tere Informationen zur E/A-Aktualisierung finden Sie im Bedienerhandbuch.
! VORSICHT Die CPU-Baugruppe führt E/A-Aktualisierungen auch dann durch, wenn das
Programm angehalten ist (d. h. in der PROGRAM-Betriebsart). Überprüfen Sie die Sicherheit sorgfältig im Voraus, bevor Sie den Status von Bits oder Worten des E/A-Speichers ändern, die E/A-Baugruppen, Spezial-E/A-Bau­gruppen oder CPU-Bus-Baugruppen zugeordnet sind. Änderungen an den einer Baugruppe zugeordneten Daten können ein unvorhergesehenen Ver­halten der an die Baugruppen angeschlossenen Lasten (Maschinen) zur Folge haben. Die folgenden Bedienvorgänge können zu Änderungen von Bits und Worten des E/A-Speichers führen.
• Übertragen von E/A-Speicherdaten von einem Programmiergerät in die CPU-Baugruppe.
• Ändern der aktuellen Werte im Speicher von einem Programmiergerät aus.
• Zwangsweises Setzen oder Rücksetzen von Bits über ein Programmier­gerät.
• Übertragen von E/A-Speicherdateien von einer Speicherkarte oder dem EM-Dateispeicher in die CPU-Baugruppe.
• Übertragen von E/A-Speicherdaten von einem Host-Computer oder von einer anderen SPS im Netzwerk.
MONITOR-Betriebsart Die folgenden Vorgänge können mit Hilfe eines Programmiergerätes ausgeführt
werden, während das Programm in der MONITOR-Betriebsart ausgeführt wird. Die RUN-Anzeige leuchtet. Diese Betriebsart wird dazu verwendet, Probeläufe des Programms auszuführen oder andere Anpassungen vorzunehmen.
• Online-Bearbeitung.
• Zwangsweises Setzen/Rücksetzen von Bits.
• Ändern von Werten im E/A-Speicher.
In dieser Betriebsart werden die für die Ausführung beim Systemstart ausge­wählten Tasks (siehe Hinweis) und die mit dem Befehl TKON(820) ausführbar gemachten Tasks ausgeführt, sobald die Programmausführung bei den jewei­ligen Tasknummern angelangt ist. Interrupt-Tasks werden ausgeführt, falls die für sie festgelegten Interrupt-Bedingungen vorliegen.
Hinweis Die beim Systemstart auszuführenden Tasks werden in den Programmeigen-
schaften mit Hilfe von CX-Programmer spezifiziert.
9
Betriebsarten Abschnitt 1-4
RUN-Betriebsart Diese Betriebsart wird für die normale Programmausführung verwendet. Die
RUN-Anzeige leuchtet. In dieser Betriebsart sind einige Funktionen der Pro­grammiergeräte, wie zum Beispiel Online-Bearbeitung, zwangsweises Set­zen/Rücksetzen und Ändern von Werten im E/A-Speicher, deaktiviert, andere Funktionen der Programmiergeräte jedoch, wie zum Beispiel die Überwa­chung des Status der Programmausführung (Programmüberwachung und Überwachung des E/A-Speichers), stehen zur Verfügung.
Verwenden Sie diese Betriebsart für den normalen Systembetrieb. Die Aus­führung der Tasks ist mit der in der MONITOR-Betriebsart identisch.
Weitere Informationen über die Funktionen, die in den einzelnen Betriebsar­ten zur Verfügung stehen, finden Sie im Abschnitt 10-2, Betriebsarten der CPU-Baugruppe, im Bedienerhandbuch.
1-4-2 Initialisierung des E/A-Speichers
In folgender Tabelle wird angezeigt, welche Datenbereiche gelöscht werden, wenn ein Wechsel der Betriebsart von der PROGRAM-Betriebsart zur RUN-/ MONITOR-Betriebsart oder umgekehrt erfolgt.
Betriebsartenwechsel Nicht erhaltene
Bereiche
(siehe Hinweis 1)
RUN/MONITOR PROGRAM Gelöscht (Hinweis 3) Bleibt erhalten PROGRAM RUN/MONITOR Gelöscht (Hinweis 3) Bleibt erhalten RUN MONITOR Bleibt erhalten Bleibt erhalten
Erhaltene
Bereiche
(siehe Hinweis 2)
Hinweis 1. Nicht erhaltene Bereiche: CIO-Bereich, Arbeitsbereich, Zeitgeber-Istwerte,
Zeitgeberablaufmerker, Indexregister, Datenregister, Task-Merker und Be­dingungsmerker. (Der Status einiger Adressen im Zusatz-Systembereich bleibt erhalten, wäh­rend andere gelöscht werden.)
2. Erhaltene Bereiche: Haftmerker-Bereich, DM-Bereich, EM-Bereich, Zähler­Istwerte und Zählerablaufmerker.
3. Daten im E/A-Speicher bleiben erhalten, wenn der E/A-Speicher-Haftmer­ker (A50012) auf EIN gesetzt ist. Wenn der E/A-Speicher-Haftmerker (A50012) auf EIN gesetzt ist und der Betrieb aufgrund eines schwerwiegen­den Fehlers (einschließlich FALS(007)) gestoppt wird, bleibt der Inhalt des E/A-Speichers erhalten, jedoch werden alle Ausgänge aller Ausgangsbau­gruppen ausgeschaltet.
10
Betriebsarten Abschnitt 1-4
1-4-3 Betriebsart beim Einschalten
Weitere Informationen zu den Einstellungen für die Betriebsart beim Einschal­ten der CPU-Baugruppe finden Sie im Bedienerhandbuch.
Hinweis Die CJ1, CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen werden in der
RUN-Betriebsart gestartet, sofern keine Programmierkonsole angeschlossen ist. Dies unterscheidet sie von einer CS1 CPU-Baugruppe, die in der werks­seitigen Einstellung in der PROGRAM-Betriebsart gestartet wird, sofern keine Programmierkonsole angeschlossen ist.
Bedingungen CS1 CPU-
In den SPS-Einstellungen ist die Start­Betriebsart auf „Programmierkonsole verwenden“ festgelegt, es ist jedoch keine Programmierkonsole angeschlos­sen.
Versorgungsspan­nung eingeschaltet.
Sind die
SPS-Einstellungen
auf die Betriebsart der
Programmierkonsole
eingestellt?
Ja
Programmier­konsole ange-
schlossen?
Nein
Nein
Ja
Baugruppe
PROGRAM­Betriebsart
Die CPU-Baugruppe startet in der in SPS-Einstellungen eingestellten Betriebsart.
Die CPU-Baugruppe startet in der Betriebsart, auf die die Programmier­konsole eingestellt ist.
CJ1, CS1-H, CJ1-H,
CJ1M und CS1D
CPU-Baugruppen
RUN-Betriebsart
CJ1, CS1-H, CJ1-H und CJ1M CPU-Baugruppen: CPU-Baugruppe startet in der RUN-Betriebsart. CS1 CPU-Baugruppe: CPU-Baugruppe startet in der PROGRAM-Betriebsart.
11
Programme und Tasks Abschnitt 1-5

1-5 Programme und Tasks

Tasks bestimmen die Abfolge und die Interrupt-Bedingungen, unter denen die einzelnen Programme ausgeführt werden. Sie können allgemein in die folgen­den Typen unterteilt werden:
1,2,3... 1. Nacheinander ausgeführte Tasks, die als zyklische Tasks bezeichnet werden.
2. Beim Eintreten von Interrupt-Bedingungen ausgeführte Tasks, die als Inter­rupt-Tasks bezeichnet werden.
Hinweis Bei den CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen können Interrupt-
Tasks – genauso wie zyklische Tasks – auch zyklisch ausgeführt werden. Diese werden als „zyklische Zusatztasks“ bezeichnet.
Die zyklischen Tasks zugeordneten Programme werden der Reihe nach ent­sprechend ihrer Tasknummer ausgeführt und die E/A-Daten werden einmal pro Zyklus aktualisiert, nachdem sämtliche Tasks (genauer gesagt, alle Tasks im ausführbaren Status) ausgeführt wurden. Falls während der Verarbeitung der zyklischen Tasks eine Interrupt-Bedingung eintritt, wird die Ausführung der zyklischen Task unterbrochen, und das der Interrupt-Task zugeordnete Pro­gramm wird ausgeführt.
Weitere Informationen zur E/A-Aktualisierung finden Sie auch im Abschnitt über den Betrieb der CPU-Baugruppe im CS/CJ-Serie Bedienerhandbuch.
Programm A
Zyklische Task 0
Zyklische Task 1
Zyklische Task n
E/A-Aktualisierung
Interrupt-Bedingung tritt ein
Zuweisung
Zuweisung
Zuweisung
Interrupt­Task 100
Programm B
Zuweisung
Programm C
Programm D
Bei dem oben aufgeführten Beispiel würde das Programm in der folgenden Reihenfolge ausgeführt: Start von A, B, Rest von A, C und dann D. Hierbei wird davon ausgegangen, dass während der Ausführung von Programm A die Interrupt-Bedingung die Interrupt-Task 100 erfüllt wird. Wenn die Ausführung von Programm B abgeschlossen ist, wird der Rest von Programm A ab dem Punkt ausgeführt, an dem die Ausführung unterbrochen wurde.
Bei älteren SPS von OMRON wird aus mehreren fortlaufenden Teilen ein kon­tinuierliches Programm gebildet. Die den einzelnen Tasks zugeordneten Pro­gramme sind Einzelprogramme, die mit einem END-Befehl enden, genau wie die Einzelprogramme früherer SPS.
12
Programme und Tasks Abschnitt 1-5
Ein Merkmal der zyklischen Tasks ist, dass sie durch die Task-Steuerbefehle aktiviert (in den ausführbaren Status versetzt) und deaktiviert (in den Standby-Status versetzt) werden können. Dies bedeutet, dass mehrere Pro­grammkomponenten zu einer Task zusammengestellt werden können und dass dann nur bestimmte Programme (Tasks), die für das jeweilig aktuelle Produktmodell oder den zu dem jeweiligen Zeitpunkt auszuführenden Pro­zess benötigt werden, ausgeführt werden können (Programm-Schritt-Schal­tung). Da also nur die jeweils tatsächlich benötigten Programme ausgeführt werden, wird die Leistung (Zykluszeit) wesentlich gesteigert.
Herkömmliches System
Ein fortlaufendes Unterprogramm
E/A-Aktualisierung
CS/CJ-Serie
Task 1
Zuweisung
Task 2
Task 3
E/A-Aktualisierung
Tasks können in den Nichtausführungs-Status (Standby) versetzt werden.
Eine Task, die ausgeführt wurde, wird in aufeinander folgenden Zyklen ausge­führt und eine Task im Standby-Status bleibt auch in den folgenden Zyklen im Standby-Status, sofern sie nicht von einer anderen Task ausgeführt wird.
Hinweis Im Gegensatz zu früheren Programmen, die mit dem Lesen einer Rolle vergli-
chen werden können, kann das Ausführen von Tasks jetzt mit dem Lesen eines Satzes einzelner Karten verglichen werden.
• Alle Karten werden in einer vorher festgelegten Reihenfolge beginnend mit der niedrigsten Nummer gelesen.
• Alle Karten sind entweder als aktiv oder als inaktiv gekennzeichnet. Als inaktiv gekennzeichnete Karten werden übersprungen. (Die Aktivierung beziehungsweise Deaktivierung der Karten erfolgt durch Task-Steuerbe­fehle.)
13
Beschreibung von Tasks Abschnitt 1-6
• Eine aktivierte Karte bleibt aktiviert und wird immer wieder gelesen. Eine deaktivierte Karte bleibt deaktiviert und wird übersprungen, bis sie durch eine andere Karte wieder aktiviert wird.
Herkömmliches Programm: Wie eine Schriftrolle
Programm der CS/CJ-Serie: Wie eine Reihe von Karten, die durch andere Karten aktiviert oder deaktiviert werden können.
Aktiviert Deaktiviert

1-6 Beschreibung von Tasks

Tasks sind im Allgemeinen in die folgenden Typen unterteilt:
1,2,3... 1. Zyklische Tasks (max. 32)
Tasks, die einmal pro Zyklus ausgeführt werden, falls sie ausführbar sind. Bei Bedarf kann auch die Ausführung von zyklischen Tasks deaktiviert werden.
2. Interrupt-Tasks Tasks, die ausgeführt werden, wenn Interrupt-Bedingungen eintreten, unab-
hängig davon, ob gerade eine zyklische Task ausgeführt wird oder nicht. In­terrupt-Tasks (siehe Hinweise 1 und 2) können in die folgenden vier Typen unterteilt werden (fünf Typen einschließlich der zyklischen Zusatz-Tasks bei den CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen):
a) Interrupt-Task für Spannungsfehler (nicht unterstützt von den CS1D
CPU-Baugruppen für Duplex-CPU-Systeme): wird ausgeführt, wenn die Spannungsversorgung unterbrochen wird. (max. 1)
b) Zeitgesteuerte Interrupt-Task für Intervallzeitgeber (nicht unterstützt
von den CS1D CPU-Baugruppen für Duplex-CPU-Systeme): wird in spezifizierten Zeitabständen ausgeführt. (max. 2)
c) E/A-Interrupt-Task (nicht unterstützt von den CJ1 CPU-Baugruppen
und CS1D CPU-Baugruppen für Duplex-CPU-Systeme): wird ausgeführt, wenn ein Eingang einer Interrupt-Eingangsbau­gruppe auf EIN wechselt (max. 32).
d) Externe Interrupt-Task (nicht unterstützt von den CJ1 CPU-Baugrup-
pen und CS1D CPU-Baugruppen für Duplex-CPU-Systeme): wird ausgeführt (max. 256), wenn er von einer Spezial-E/A-Bau­gruppe, einer CPU-Bus-Baugruppe oder einem internen Modul (nur CS-Serie) angefordert wird.
e) Zyklische Zusatz-Task (nur unterstützt von den CS1-H, CJ1-H, CJ1M
und CS1D CPU-Baugruppen):
Interrupt-Tasks, die als zyklische Tasks behandelt werden. Zykli­sche Zusatztasks werden, solange sie sich im ausführbaren Status befinden, einmal pro Zyklus ausgeführt.
Mit CX-Programmer können insgesamt 288 Tasks mit 288 Programmen erstellt und gesteuert werden. Dazu gehören bis zu 32 zyklische Tasks und 256 Interrupt-Tasks.
14
Beschreibung von Tasks Abschnitt 1-6
Hinweis 1. Gegenwärtig werden von CJ1 CPU-Baugruppen keine E/A-Interrupt-Ta-
sks und keine externen Interrupt-Tasks unterstützt. Demzufolge beträgt die Höchstzahl der Tasks für eine CJ1 CPU-Baugruppe 35, d. h. 32 zyklische Tasks und 3 Interrupt-Tasks. Die Gesamtzahl der Programme, die erstellt und gesteuert werden können, beträgt ebenfalls 35.
2. Die CS1D CPU-Baugruppen unterstützen keine Interrupt-Tasks. Aller­dings können bei CS1D CPU-Baugruppen Interrupt-Tasks als zyklische Zusatztasks verwendet werden.
Jedes Programm ist durch eine individuelle Programmeigenschaft, die mit Hilfe von CX-Programmer eingestellt wird, 1:1 einer Task zugeordnet.
Zyklische Task 0
Interrupt-Task 5
Ausführung beginnend bei der niedrigsten Nummer.
Zyklische Task 1
Interrupt tritt auf
Zyklische Task 2
Hinweis Bedingungsmerker (ER, >, =, usw.) und Befehlsbedingungen
E/A-Aktualisierung
Peripherieverarbeitung
(Verriegelung EIN usw.) werden zu Beginn jeder Task gelöscht.
Programmstruktur Für die Erstellung von Programmen können je nach Bedarf Standardunterpro-
gramme erstellt und zu Tasks zugeordnet werden. Dies bedeutet, dass Pro­gramme in Modulen (Standardkomponenten) erstellt werden können und das Debugging bei jeder Task einzeln durchgeführt werden kann.
15
Beschreibung von Tasks Abschnitt 1-6
Standard-Unterprogramme
Anwenderprogramm ABC Anwenderprogramm ABD
Task 1 (A)
Task 1 (A)
Ausführbarer und Standby-Status
Programm
Task 2 (B)
Task 3 (C)
Task 2 (B)
Task 3 (D)
Beim Erstellen von modularen Programmen kann die Standardisierung durch die Angabe von Adressen mit Hilfe von Symbolen erleichtert werden.
Um eine andere Task in den ausführbaren oder den Standby-Status zu ver­setzen, können in einer Task die Befehle TASK ON oder TASK OFF (TKON(820) bzw. TKOF(821)) ausgeführt werden.
Befehle in Tasks, die im Standby-Status sind, werden nicht ausgeführt, aber ihr E/A-Status bleibt erhalten. Wenn eine Task wieder in den ausführbaren Status versetzt wird, werden die Befehle mit dem erhalten gebliebenen E/A­Status ausgeführt.
Beispiel: Programmierung mit einer Steuer-Task
In diesem Beispiel ist Task 0 eine Steuer-Task, die bei Beginn des Betriebs zuerst ausgeführt wird. Mit CX-Programmer (allerdings nicht mit einer Pro­grammierkonsole) kann für weitere Tasks festgelegt werden, ob sie bei Beginn des Betriebs ausgeführt werden sollen oder nicht.
Wenn die Ausführung des Programms begonnen hat, können die Tasks durch die Befehle TKON(820) und TKOF(821) gesteuert werden.
Task 0
16
Task 0 (Steuer-Task)
Task 1
Task 2
Task 3
Beispiel:
Task 0 ist auf die Ausführung bei Betriebsstart eingestellt (in den Programmeigenschaften mit CX-Programmer festgelegt). Task 1 ist ausführbar, wenn "a" auf EIN gesetzt ist. Task 1 wird in den Standby-Modus versetzt, wenn "b" auf EIN gesetzt ist. Tasks 2 und 3 sind ausführbar, wenn "c" auf EIN gesetzt ist. Tasks 2 und 3 werden in den Standby-Modus versetzt, wenn "d" auf EIN gesetzt ist.
Beschreibung von Tasks Abschnitt 1-6
Programm
Task 0
Task 1
Task 0
Task 1
Task 2
Task 3
Task 0
Task 1
Task 2
Task 3
Task 1 starten, wenn "a" auf EIN gesetzt ist.
Tasks 2 und 3 starten, wenn "c" auf EIN gesetzt ist.
Task 0
Task 1
Task 2
Task 3
Task 0
Task 1
Task 2
Task 3
Task 1 in den Standby-Modus versetzen, wenn "b" auf EIN gesetzt ist.
Tasks 2 und 3 in den Standby­Modus versetzen, wenn "d" auf EIN gesetzt ist.
Task 0
Task 1
Task 2
Task 3
Task 0
Task 1
Task 2
Task 3
Beispiel: Jede Task wird von einer anderen Task gesteuert
In diesem Beispiel wird jede Task von einer anderen Task gesteuert.
Programm für Task 0
Hinweis
Task 2
Beispiel:
Task 1 starten, wenn "a" auf EIN
Task 0
Task 1
Task 2
TKOF(821) kann in einer Task verwendet werden, um diese in den Standby-Modus zu versetzen.
gesetzt ist.
Task 0
Task 1
Task 2
Programm für Task 1
Task 0 ist auf die bedingungslose Ausführung bei Betriebsstart eingestellt. Task 1 ist ausführbar, wenn "a" auf EIN gesetzt ist. Task 1 wird in den Standby-Modus versetzt, wenn "b" auf EIN gesetzt ist. Task 2 ist ausführbar, wenn "c" auf EIN gesetzt ist und Task 1 ausgeführt wird.
Task 1 in den Standby­Modus versetzen, wenn "b" auf EIN gesetzt ist.
Wenn Task 1 ausgeführt ist
Task 2 starten, wenn "c" auf EIN gesetzt ist.
Task 0
Task 1
Task 2
Task 0
Task 1
Task 2
17
Beschreibung von Tasks Abschnitt 1-6
Task-Ausführungszeit Während eine Task im Standby-Status ist, werden die in dieser Task enthalte-
nen Befehle nicht ausgeführt, deren Ausschaltbefehl-Ausführungszeit wird also nicht zur Zykluszeit addiert.
Hinweis Aus dieser Sicht entsprechen Befehle in einer Task, die im Standby-Status ist,
den Befehlen in einem übersprungenen Programmabschnitt (JMP-JME).
Da die Zykluszeit durch Befehle in einer nicht ausführbaren Task nicht verlän­gert wird, kann die Gesamtsystemleistung wesentlich erhöht werden, wenn das System in eine übergeordnete Steuer-Task und einzelne Tasks unterteilt wird, von denen die letzteren nur dann ausgeführt werden, wenn dies erfor­derlich ist.
Herkömmliches System
SPS-Serien CS/CJ
Die meisten Befehle werden ausgeführt. (Unterprogramm­befehle und Sprünge werden nur bei Bedarf ausgeführt.)
Task 0
Task 1
Task 2
Task 3
Befehle werden nur bei Bedarf ausgeführt.
18
ABSCHNITT 2
Programmierung
In diesem Abschnitt finden Sie grundlegende Informationen zum Schreiben, Überprüfen sowie zur Eingabe von Programmen.
2-1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-1-1 Programme und Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-1-2 Grundlegende Informationen zu Befehlen . . . . . . . . . . . . . . . . . . . . 21
2-1-3 Befehlsposition und Ausführungsbedingungen . . . . . . . . . . . . . . . . 23
2-1-4 Adressierung im E/A-Speicherbereich . . . . . . . . . . . . . . . . . . . . . . . 24
2-1-5 Spezifizieren von Operanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2-1-6 Datenformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2-1-7 Befehlsvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2-1-8 Ausführungsbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2-1-9 Zeitliches Verhalten von E/A-Befehlen . . . . . . . . . . . . . . . . . . . . . . 37
2-1-10 Aktualisierungszeitpunkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-1-11 Programmkapazität. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2-1-12 Grundbegriffe der SPS-Programmierung . . . . . . . . . . . . . . . . . . . . . 42
2-1-13 Eingabe in AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2-1-14 Programmierbeispiele. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2-2 Sicherheitshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-2-1 Bedingungsmerker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-2-2 Spezielle Programmabschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2-3 Überprüfen von Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2-3-1 Fehler während der Eingabe in das Programmiergerät. . . . . . . . . . . 64
2-3-2 Programmprüfungen mit CX-Programmer. . . . . . . . . . . . . . . . . . . . 64
2-3-3 Prüfung der Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2-3-4 Überprüfen schwerwiegender Fehler . . . . . . . . . . . . . . . . . . . . . . . . 68
19
Grundbegriffe Abschnitt 2-1

2-1 Grundbegriffe

2-1-1 Programme und Tasks
SPS der CS/CJ-Serie führen SPS-Programme aus, die in Tasks enthalten sind. Das SPS-Programm in den einzelnen Tasks endet mit dem Befehl END(001), wie bei allen anderen SPS auch.
Tasks werden verwendet, um die Ausführungsreihenfolge der SPS-Pro­gramme und die Bedingungen für die Ausführung von Interrupts festzulegen.
Programm A
Zugeordnet
Zyklische Task 1
Interrupt-Bedingung erfüllt.
Interrupt­Task
Zugeordnet
Programm B
Jedes Programm endet mit dem Befehl END(001).
Zyklische Task n
E/A-Aktualisierung
Zugeordnet
Programm C
In diesem Abschnitt werden die Grundlagen beschrieben, die zum Schreiben von Programmen für die CS/CJ-Serie erforderlich sind. Weitere Informationen zu Tasks in Verbindung mit SPS-Programmen finden Sie unter ABSCHNITT 4 Tasks.
Hinweis Tasks und Programmiergeräte
Tasks werden auf Programmiergeräten wie im Folgenden beschrieben gehandhabt. Weitere Informationen dazu finden Sie unter 4-4 Task-Program-
mierung mit Programmiergeräten und im CS/CJ-Serie Programmierkonsolen Bedienerhandbuch (W341) sowie im CX-Programmer Bedienerhandbuch.
CX-Programmer
CX-Programmer wird zum Bestimmen von Tasktypen und Tasknummern als Attribute einzelner Programme verwendet.
Programmierkonsole
Über Programmierkonsolen kann auf Programme zum Bearbeiten zugegriffen werden, indem CT00 bis CT 31 für zyklische Tasks und IT00 bis IT255 für Interrupt-Tasks spezifiziert werden. Wenn der Speicher über eine Program­mierkonsole gelöscht wird, kann in einem neuen Programm nur die zyklische Task 0 (CT00) geschrieben werden. Verwenden Sie CX-Programmer zum Erstellen der zyklischen Tasks 1 bis 31 (CT01 bis CT31).
20
Grundbegriffe Abschnitt 2-1
2-1-2 Grundlegende Informationen zu Befehlen
Programme setzen sich aus Befehlen zusammen. In der folgenden Abbildung wird die Struktur der Eingaben und Ausgaben eines Befehls dargestellt.
Stromfluss (Ausführungsbedingung)
Befehlsbedingung
Merker
Befehl
Operanden (Quellen)
Speicher
Operanden (Ziele)
Stromfluss (Ausführungsbedingung)*
Befehlsbedingung*
Merker
*1: Nur Eingangsbefehle *2: Wird nicht durch alle Befehle
ausgegeben.
2
1
Ausführungsbedingung
Die Ausführungsbedingung wird bei der normalen Ausführung von Program­men zur Steuerung der Ausführung der Befehle verwendet. In einem SPS-Pro­gramm ist der Status der Ausführungsbedingung entscheidend für die Ausführung des nachstehenden Befehls.
Eingabebefehle • Der Befehl Laden kennzeichnet einen logischen Start und erzeugt die
Ausführungsbedingung.
Die Ausführungsbedingung.
• Die Zwischenbefehle werden abhängig vom Status der Eingangs-Ausfüh­rungsbedingung verarbeitet und geben das Verarbeitungsergebnis an einen Zwischen- oder Ausgabebefehl weiter.
Ausgabe des
Verarbeitungs-
ergebnisses.
=
D00000
#1215
Ausgabebefehle Ausgabebefehle führen alle Funktionen je nach Status der Ausführungsbedin-
gung aus.
LD
Eingangsblock
Ausgangsblock
Ausführungs­bedingung für Ausgabebefehl
Sequenzsteuerbefehle
Folgende Sequenzsteuerbefehle steuern die Ausführung oder Nicht-Ausfüh­rung einer Sequenz von Befehlen in Prigrammabschnitten. Sequenzsteuerbe­fehle haben bei der Entscheidung zur Ausführung eines Befehls eine höhere Priorität als normale Befehls-Ausführungsbedingingen. Ein Befehl wird je nach Ausführung eines Sequenzsteuerbefehls möglicherweise nicht oder anders ausgeführt. Befehlsausführungsbedingungen aufgrund von Sequenzsteuerbe­fehlen werden zu Beginn jeder Task zurückgesetzt (aufgehoben), d. h., dass sie beim Wechsel der Task zurückgesetzt werden.
21
Grundbegriffe Abschnitt 2-1
Die folgenden Befehle werden paarweise verwendet, um bestimmte Befehls­ausführungsbedingungen zu setzen oder aufzuheben. Diese Befehlspaare müssen in derselben Task enthalten sein.
Sequenz-
steuerbefehle
Ausführung gesperrt
Ausführung von BREAK(514)
Blockprogramm­ausführung
Eine Sperre schaltet Teile des Programms aus. Spezielle Bedingungen, wie das Deaktivieren von Ausgabebits, das Zurücksetzen von Zeitge­bern und das Halten von Zählerwerten, sind aktiviert.
Beendet die Schleife FOR(512) - NEXT(513) während der Ausführung. (Verhindert die Ausführung aller Befehle bis zum nächsten NEXT(513)­Befehl.)
Führt einen Sprungbefehl JMP0(515) zu JME0(516) aus. JMP0(515) JME0(516) Führt einen Programmblock von BPRG(096) bis BEND(801) aus. BPRG(096) BEND(801)
Beschreibung Befehl am
Anfang
IL(002) ILC(003)
BREAK(514) NEXT(513)
Befehl am
Ende
Merker
In diesem Zusammenhang ist ein Merker ein Bit, das als Schnittstelle zwischen Befehlen dient.
Eingabemerker Ausgabemerker
• Flankenauswertungsmerker Flankenauswertungs-Ergebnismerker. Die Zustände der Merker dienen als automatische Eingaben für alle Befehle, die an der steigenden oder fallenden Signalflanke ausgeführt werden, sowie die Befehle DIFU(013)/DIFD(014).
• Übertragsmerker (CY) Der Übertragsmerker wird als unbestimmter Ope­rand bei Datenverschiebungsbefehlen sowie Additi­ons-/Subtraktionsbefehlen verwendet.
• Merker für Spezialbefehle Dazu gehören u. a. Teach-In-Merker für FPD(269)­Befehle und Merker für die Aktivierung der Netz­werkkommunikation.
• Flankenauswertungsmerker Flankenauswertungs-Ergebnismerker. Die Zustände der Merker dienen als automatische flankengesteuerte Ausgaben von allen Befehlen, die an der steigenden oder fallenden Signalflanke ausge­führt werden, sowie der Befehle UP(521)/DOWN(522).
• Bedingungsmerker Zu den Bedingungsmerker gehören die Immer-EIN/AUS-Merker sowie Merker, die durch die Ergebnisse einer Befehlsausführung aktualisiert werden. Bei Anwenderprogrammen können diese Mer­ker anstelle von Adressen durch symbolische Bezeichnungen spe­zifiziert werden, wie z. B. P_ER, P_CY, P_GT, P_EQ, P_LT.
• Merker für Spezialbefehle Zu diesen Merker gehören u. a. Speicherkarten-Befehlsmerker und Merker für abgeschlossene MSG(046)-Befehlsausführung.
Operanden
Operanden legen vorgegebene Befehlsparameter fest (Felder in Kontaktplänen), die zur Spezifikation der Inhalte von E/A-Speicherbereichen oder Konstanten verwendet werden. Ein Befehl kann durch die Eingabe einer Adresse oder Kon­stante als Operand ausgeführt werden. Operanden werden als Quell-, Ziel- oder Nummer-Operanden klassifiziert.
Beispiel
Operandentypen Operanden-
Quelle (Source)
Ziel (Ergeb­nisse)
Nummer Spezifiziert eine bestimmte Nummer,
Spezifiziert die Adresse der zu lesenden Daten oder eine Konstante.
Spezifiziert die Adresse, in die die Daten geschrieben werden.
die vom Befehl verwendet wird, bei­spielsweise eine Jump-Nummer oder die Nummer eines Unterprogramms.
S (Quelle)
D (Ziel)
Beschreibung
symbol
S Quelloperand Quelloperand außer Steuerdaten (C) C Steuerdaten Kombinierte Daten in einem Quell-
operanden, die je nach Bitstatus eine andere Bedeutung besitzen.
D (R) ---
N---
N (Nummer)
22
Grundbegriffe Abschnitt 2-1
Hinweis Operanden werden auch, im Befehl von oben nach unten, als erster Operand,
zweiter Operand usw. bezeichnet.
Erster Operand
Zweiter Operand
2-1-3 Befehlsposition und Ausführungsbedingungen
In der folgenden Tabelle werden die möglichen Positionen für Befehle im Kontakt­planprogramm aufgeführt. Befehle sind in Gruppen aufgeteilt, je nachdem, ob für sie Ausführungsbedingungen erforderlich sind oder nicht. Weitere Informationen zu einzelnen Befehlen finden Sie in ABSCHNITT 3 Befehlsfunktionen.
Befehlstyp Mögliche
Position
Eingangsbefehle Logischer Start
(Lade-Befehl)
Zwischenbefehle Zwischen dem
Ausgabebefehle Direkt mit der
Direkt mit der lin­ken Stromschiene verbunden oder am Anfang eines Befehlsblocks.
logischen Start und einem Ausgabebefehl.
rechten Stromschiene verbunden.
Hinweis 1. Es existiert eine weitere Gruppe von Befehlen, die eine ganze Folge von
AWL-Befehlen auf Basis einer einzelnen Eingabe ausführen. Diese wer­den Blockprogrammierungsbefehle genannt. Weitere Informationen dazu finden Sie im CS/CJ-Serie CPU-Baugruppen Befehlsreferenzhandbuch.
2. Wenn ein Befehl, der eine Ausführungsbedingung benötigt, ohne logi­schen Startbefehl direkt mit der linken Stromschiene verbunden ist, tritt bei der Überprüfung des Programms auf einem Programmiergerät (CX-Pro­grammer oder Programmierkonsole) ein Fehler auf.
Ausführungs-
bedingung
Nicht erforderlich LD, LD TST(350),
Erforderlich AND, OR, AND
Erforderlich Die meisten
Nicht erforderlich END(001),
Kontaktplan Beispiele
LD > (und andere Symbolvergleichs­befehle)
TEST(350), AND > (und andere AND-Symbolver­gleichsbefehle), UP(521), DOWN(522), NOT(520) usw.
Befehle, ein­schließlich OUT und MOV(021).
JME(005), FOR(512), ILC(003) usw.
23
Grundbegriffe Abschnitt 2-1
2-1-4 Adressierung im E/A-Speicherbereich
Bit-Adressen
@@@@ @@
Bitnummer (00 bis 15)
Bezeichnet die Wort-Adresse.
Beispiel: Die Adresse von Bit 03 in Wort 0001 im CIO-Bereich ergibt sich wie unten gezeigt. Diese Adresse wird in diesem Handbuch als „CIO 000103“ angegeben.
0001 03
Bitnummer (03)
Wort-Adresse: 0001
Wort-Adressen
Wort
0000 0001 0002
Bit: CIO 000103
15 14 13 12 11 10 08 07 06 05 04 0309 02 01
@@@@
Bezeichnet die Wort-Adresse.
Beispiel: Die Adresse der Bits 00 bis 15 in Wort 0010 im CIO-Bereich ergibt sich wie unten gezeigt. Diese Adresse wird in diesem Handbuch als „CIO 0010“ angegeben.
0010
00
24
Wort-Adresse
Adressen in den DM- und EM-Bereichen wird ein „D“ bzw. „E“ vorangestellt, wie im Folgenden für die Adresse D00200 dargestellt.
D00200
Wort-Adresse
Grundbegriffe Abschnitt 2-1
Beispiel: Die Adresse für Wort 200 in der Bank 0 des erweiterten Datenspei-
chers (EM) lautet folgendermaßen:
E00200
Wort-Adresse
Die Adresse für Wort 200 in Bank 1 des erweiterten Datenspeichers lautet fol­gendermaßen:
E1_00200
Wort-Adresse
Banknummer
2-1-5 Spezifizieren von Operanden
Operand Beschreibung Schreibweise Anwendungs-
beispiele
Spezifizieren von Bit­Adressen
Spezifizieren von Wort­Adressen
Die Wort- und Bitnummern werden zur Spezifikation eines Bits direkt spezifiziert.
@@@@ @@
Bitnummer (00 bis 15)
Bezeichnet die Wort-Adresse.
Für den Zugriff auf Zeitgeber/Zähler-
Hinweis
Ablaufmerker und -Istwerte werden dieselben Adressen verwendet. Für einen Task-Merker gibt es auch nur eine Adresse.
Die Wortadresse wird zur Spezifikation des 16-Bit-Worts direkt spezifiziert.
@@@@
Bezeichnet die Wort-Adresse.
0001 02
0003
D00200
0001 02
Bitadresse (02)
Wortadresse: 0001
MOV 0003 D00200
Wortadresse: 0003
Wortadresse: 00200
25
Grundbegriffe Abschnitt 2-1
Operand Beschreibung Schreibweise Anwendungs-
beispiele
Indirektes Spezifizieren DM/EM­Adressen im Binärmodus
Der Offset vom Bereichsanfang wird spezifiziert. Der Adressinhalt wird als Binärdaten (00000 bis
32767) behandelt, um die Wort-Adresse im Datenspeicher (DM) oder dem erweiterten Datenspeicher (EM) zu spezifizieren. Stellen Sie das @-Symbol voran, um eine indirekte Adresse im Binärmodus zu spezifizieren.
@D@@@@@
Inhalt
D
00000 bis 32767 (0000 Hex bis 7FFF Hex in BIN)
1) D00000 bis D32767 werden spezifiziert,
wenn @D(@@@@@) den Wert 0000 Hex bis 7FFF Hex (00000 bis 32767) enthält.
2) E0 _00000 bis E0 _32767 von Bank 0 im erweiterten Datenspeicher werden spezifi­ziert, wenn @D(@@@@@) den Wert 8000 Hex bis FFFF Hex (32768 bis 65535) enthält.
@D00300
0 1 0 0
Binär: 256
Spezifiziert D00256
Symbol @ hinzufügen
@D00300
8 0 0 1
Binär: 32769
Spezifiziert E0 00001
MOV #0001 @D00300
Inhalt
Inhalt
3) E@_00000 bis E@_32767 in der spezifi­zierten Bank werden spezifiziert, wenn @E@_@@@@@ den Wert 0000 Hex bis 7FFF Hex (00000 bis 32767) enthält.
4) E(@+1)_00000 bis E(@+1)_32767 in der Bank, die auf die spezifizierte Bank @ folgt, werden spezifiziert, wenn @E@_@@@@@ den Wert 8000 Hex bis FFFF Hex (32768 bis 65535) enthält.
@E1_00200
0 1 0 1
Binär: 257
Spezifiziert E1_00257
@E1_00200
8 0 0 2
Binär: 32770
Spezifiziert E2_00002
Inhalt
Inhalt
MOV #0001 @E1_00200
Hinweis Beim Spezifizieren einer indirekten Adresse im Binärmodus sollte der Datenspeicher (DM)
und der erweiterte Datenspeicher (EM, Bänke 0 bis C) als eine Folge von Adressen behan­delt werden. Wenn der Inhalt einer Adresse mit dem @-Symbol den Wert 32767 übersteigt, wird davon ausgegangen, dass sich diese Adresse im nächsten erweiterten Datenspeicher befindet (fortlaufend von 00000 in Bank Nr. 0).
Beispiel: Wenn das Datenspeicherwort den Wert 32768 enthält, wird E0_00000 in Bank 0 im erweiter-
ten Datenspeicher (EM) spezifiziert.
Hinweis Wenn die Banknummer des erweiterten Datenspeichers (EM) als „n“ spezifiziert wird und der
Inhalt des Worts den Wert 32767 übersteigt, wird davon ausgegangen, dass sich die Adresse im erweiterten Datenspeicher (EM) befindet (fortlaufend von 00000 in Bank n+1).
Beispiel: Wenn Bank 2 im erweiterten Datenspeicher den Wert 32768 enthält, wird E3_00000 in Bank
Nr. 3 im erweiterten Datenspeicher spezifiziert.
26
Grundbegriffe Abschnitt 2-1
Operand Beschreibung Schreibweise Anwendungs-
beispiele
Spezifizieren indirekter DM/EM­Adressen im BCD-Modus
Der Offset vom Bereichsanfang wird spezifiziert. Der Adressinhalt wird als BCD-Daten (0000 bis
9999) behandelt, um die Wort-Adresse im
Datenspeicher (DM) oder dem erweiterten Datenspeicher (EM) zu spezifizieren. Fügen Sie vorne ein Sternchen(*) hinzu, um eine indirekte Adresse im BCD-Modus zu spezifizieren.
*D@@@@@
Inhalt
D
0000 bis 9999 (BCD)
*D00200
0 1 0 0
Spezifiziert D0100
Sternchen (*) hinzufügen.
Operand Beschreibung Schreib-
Inhalt
Anwendungsbeispiele
MOV #0001 *D00200
weise
Direktes Spezifizie­ren eines Registers
Ein Indexregister (IR) oder ein Datenregister (DR) wird direkt durch die Angabe von IR@ (@: 0 bis 15) bzw. DR@ (@: 0 bis 15) spezifiziert.
IR0
IR1
MOVR 000102 IR0 Speichert die SPS-Speicheradresse für CIO 000102 in IR0.
MOVR 0010 IR1 Speichert die SPS-Speicheradresse für CIO 0010 in IR1.
Spezifizie­ren einer indirekten Adresse mittels eines Registers
Indirekte Adresse (Kein Offset)
Konstan­ter Offset
Das Bit oder Wort mit der SPS-Spei­cheradresse, die in IR@ enthalten ist, wird spezifiziert.
Verwenden Sie ,IR@, um Bits und Worte für Befehlsoperanden zu spezifizieren.
Das Bit oder Wort mit der SPS-Spei­cheradresse in IR@ + oder – der ange­gebenen Konstante wird spezifiziert.
Verwenden Sie +/– Konstante ,IR@. Für konstante Offsets gilt der Bereich von – 2048 bis +2047 (dezimal). Der Offset
,IR0
,IR1
+5,IR0
+31,IR1
LD ,IR0 Lädt das Bit mit der SPS-Speicher­adresse in IR0.
MOV #0001 ,IR1 Speichert #0001 im Wort mit der SPS-Speicheradresse in IR1.
LD +5 ,IR0 Lädt das Bit mit der SPS-Speicher­adresse in IR0 + 5.
MOV #0001 +31 ,IR1 Speichert #0001 im Wort mit der
SPS-Speicheradresse in IR1 + 31 wird in Binärdaten umgewandelt, wenn der Befehl ausgeführt wird.
Datenregi­ster-Offset
Das Bit oder Wort mit der SPS-Spei­cheradresse in IR@ + der Inhalt von DR@ wird spezifiziert.
Verwenden Sie DR@ ,IR@. DR-Inhalte (Datenregister) werden als Binärdaten mit Vorzeichen behandelt. Der Inhalt von
DR0 ,IR0
DR0 ,IR1
LD DR0 ,IR0
Lädt das Bit mit der SPS-Speicher-
adresse in IR0 + den Wert in DR0.
MOV #0001 DR0, IR1
Speichert #0001 im Wort mit SPS-Spei-
cheradresse in IR1 + den Wert in DR0. IR@ ergibt einen negativen Offset, wenn der Binärwert mit Vorzeichen negativ ist.
Auto­Inkrement
Der Inhalt von IR@ wird um +1 oder +2 erhöht, nachdem der Wert als eine SPS-Speicheradresse referenziert wurde.
+1: Verwenden Sie ,IR@+ +2: Verwenden Sie ,IR@++
,IR0 ++
,IR1 +
LD ,IR0 ++
Inkrementiert den Inhalt von IR0 um 2,
nachdem das Bit mit der SPS-Speicher-
adresse in IR0 geladen wurde.
MOV #0001 ,IR1 +
Inkrementiert den Inhalt von IR1 um 1,
nachdem #0001 im Wort mit der
SPS-Speicheradresse in IR1 gespei-
chert wurde.
Auto­Dekrement
Der Inhalt von IR@ wird um –1 oder –2 dekrementiert, nachdem der Wert als eine SPS-Speicheradresse referenziert wurde.
–1: Verwenden Sie ,–IR@ –2: Verwenden Sie ,– –IR@
,– –IR0
,–IR1
LD ,– –IR0
Nachdem der Inhalt von IR0 um 2
dekrementiert wurde, wird das Bit mit
der SPS-Speicheradresse in IR0
geladen.
MOV #0001 ,–IR1
Nachdem der Inhalt von IR1 um 1
dekrementiert wurde, wird #0001 im
Wort mit der SPS-Speicheradresse in
IR1 gespeichert.
27
Grundbegriffe Abschnitt 2-1
Daten Operand Art der Daten Symbol Bereich Anwendungsbeispiel
16-Bit­Konstante
32-Bit­Konstante
Textzeichen­kette
Alle Binärdaten oder ein begrenzter Binär­datenbereich
Binär ohne Vorz eiche n
Dezimal mit Vorz eiche n
Dezimal ohne Vorz eiche n
Alle BCD-Daten
BCD # #0000 bis #9999 --­oder ein begrenzter BCD­Datenbereich
Alle Binärdaten oder ein begrenzter Binär­datenbereich
Binär ohne
Vorz eiche n
Dezimal mit
Vorz eiche n
Dezimal ohne
Vorz eiche n Alle BCD-Daten
BCD # #00000000 bis oder ein begrenzter BCD­Datenbereich
Beschreibung Symbol Beispiele ---
Textzeichenkettendaten werden im ASCII-Format (1 Byte außer bei Sonderzeichen) in der Reihenfolge der Bytes von links nach rechts und der Worte von rechts (niedrigstes) nach links gespeichert.
Bei einer ungeraden Zeichenanzahl wird im äußersten rechten Byte des letzten Worts 00 Hex (NUL-Code) gespeichert.
0000 Hex (2 NUL-Codes) wird bei einer geraden Zeichenanzahl in den äußersten linken und rechten freien Bytes vom letzten Wort + 1 gespei­chert.
# #0000 bis #FFFF ---
± –32768 bis
---
+32767
& (siehe
&0 bis &65535 ---
Hinweis)
# #00000000 bis
---
#FFFFFFFF
+ –2147483648 bis
---
+2147483647
& (siehe Hinweis)
&0 bis &429467295
---
---
#99999999
---
'ABCDE'
'A' 'B'
'D'
'C' 'E'
NUL
41 42 43
44 00
45
'ABCD'
'B'
'A' 'C'
'D'
NUL
NUL
MOV$ D00100 D00200
D00100 D00101 D00102
D00200 D00201 D00202
41 43 45
41 42 43 45
42 44 00
44 00
28
41 42 43
44
00
00
Zu den ASCII-Zeichen, die in einer Textzeichenfolge verwendet werden können, gehören alphanumerische Zeichen, Katakana und Symbole (außer Sonderzeichen). Die Zeichen entnehmen Sie der folgenden Tabelle.
Hinweis Die Schreibweise für Dezimal ohne Vorzeichen wird nur bei CX-Programmer
verwendet.
Grundbegriffe Abschnitt 2-1
ASCII-Zeichen
Bits 0 bis 3 Bits 4 bis 7
Binär 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Hex0123456789ABCDEF
0000 0
0001 1 ! 1AQaq !1AQ 0010 2 ” 2BRbr ”2BR 0011 3 # 3CScs #3CS 0100 4 $ 4DTdt $4DT 0101 5 % 5EUeu %5EU 0110 6 & 6FVfv &6FV 0111 7 ’ 7GWgw ’7GW 1000 8 ( 8HXhx (8HX 1001 9 ) 9IYiy )9IY 1010 A * :JZjz *:JZ 1011 B + ;K[k{ +;K[ 1100 C , <L\l| ,<L\ 1101 D - =M]m} -=M] 1110 E .>N^n~ .>N^ 1111 F /?O_o /?O_
Leer-
0@P`p 0@P
zei­chen
29
Grundbegriffe Abschnitt 2-1
2-1-6 Datenformate
In der folgenden Tabelle sind die von der CS/CJ-Serie unterstützten Datenfor­mate aufgeführt.
Datentyp Datenformat Dezimal 4-stellig
hexadezimal
Binär ohne Vorz eiche n
Binär mit Vorz eiche n
Binär
Dezimal
Hex
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1521421321221121029282726252423222120
2
32768 16384 8192 4092 2048 1024 512 256 128 64 12 16 8 4 2
0
2322212
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2322212
0
2322212
0
2322212
1
0
0 bis 65535
–32768 bis
0000 bis FFFF
8000 bis 7FFF
+32767
1521421321221121029282726252423222120
Binär
Dezimal
Hex
BCD (Binary
2
32768 16384 8192 4092 2048 1024 512 256 128 64 12 16 8 4 2
0
2322212
Vorzeichen-Bit: 0: Positiv, 1: Negativ
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2322212
0
2322212
0
2322212
1
0
0 bis
0000 bis 9999
9999 Coded Decimal)
Binärformat
Dezimal
0
2322212
0 bis 9 0 bis 9 0 bis 9 0 bis 9
2322212
0
2322212
3222120
0
2
30
Grundbegriffe Abschnitt 2-1
Datentyp Datenformat Dezimal 4-stellig
hexadezimal
Gleit­kommade-
31 30 29 23 22 21 20 19 18 17 3 2 1 0
--- ---
zimalwerte mit einfa­cher Präzision
Gleit­kommade-
Vorzeichen der Mantisse
Hinweis Dieses Format entspricht den IEEE754-Standards für einfach genaue Fließkommadaten und
63 62 61 52 51 50 49 48 47 46 3 2 1 0
Exponent
Wert = (–1) Vorzeichen (Bit 31)
Mantisse
Exponent
wird nur bei Befehlen verwendet, mit denen Fließkommadaten konvertiert oder berechnet werden. Es kann zur Einstellung oder Überwachung im SPS-Speicher- und Datenansichts­Fenster im CX-Programmer verwendet werden (wird von den Programmierkonsolen nicht unterstützt). In dieser Eigenschaft müssen Anwender dieses Format nicht kennen, doch sie müssen wissen, dass die Formatierung zwei Worte belegt.
Vorzeichen
Binärformat
x 1.[Mantisse] x 2
1: negativ oder 0: positiv
Die 23 Bits von Bit 00 bis Bit 22 enthalten die Mantisse, d. h.,
den Anteil hinter dem Dezimalkomma in 1,@@@..... im
Binärformat.
Die 8 Bits von Bit 23 bis Bit 30 enthalten den Exponenten. Der Exponent wird im Binärformat als 127 plus n in 2
Exponent
Mantisse
n
ausgedrückt.
--- ---
zimalwerte mit doppelter Präzision
Vorzeichen der Mantisse
Exponent Mantisse
Binärformat
Wert = (–1)
Vorzeichen (Bit 63) Mantisse
Exponent
Hinweis
Dieses Format entspricht den IEEE754-Standards für doppelt genaue Fließkommadaten und wird nur bei Befehlen verwendet, mit denen Fließkommadaten konvertiert oder berechnet werden. E s kann zur Einstellung oder Überwachung im SPS-Speicher- und Datenansichts-Fenster im CX­Programmer verwendet werden (wird von den Programmierkonsolen nicht unterstützt). In dieser Eigenschaft müssen Anwender dieses Format nicht kennen, doch sie müssen wissen, dass die Formatierung vier Worte belegt.
Vorzeichen
x 1.[Mantisse] x 2
1: negativ oder 0: positiv Die 52 Bits von Bit 00 bis Bit 51 enthalten die Mantisse,
d.h., den Anteil hinter dem Dezimalkomma in 1,@@@..... im
Binärformat.
Die 11 Bits von Bit 52 bis 62 enthalten den Exponenten. Der Exponent wird im Binärformat als 1023 plus n in 2 ausgedrückt.
Exponent
Binärdaten mit Vorzeichen
Bei Binärdaten mit Vorzeichen gibt das äußerste linke Bit das Vorzeichen von 16-Bit-Binärdaten an. Der Wert wird als 4-stelliger Hexadezimalwert ausge­drückt.
Positive Zahlen: Ein Wert ist positiv oder beträgt 0, wenn das äußerste linke Bit 0 (AUS) ist. Dies wird in 4-stelligen Hexadezimalwerten als 0000 bis 7FFF Hex ausgedrückt.
Negative Zahlen: Ein Wert ist negativ, wenn das äußerste linke Bit 1 (EIN) ist. Dies wird in 4-stelligen Hexadezimalwerten als 8000 bis FFFF Hex ausge­drückt. Der Betrag des negativen Wertes (dezimal) wird als Zweierkomple­ment ausgedrückt.
Beispiel: Wenn –19 in Dezimal als Binär mit Vorzeichen behandelt werden soll, wird 0013 Hex (der Betrag 19) von FFFF Hex subtrahiert und anschlie­ßend wird 0001 Hex addiert, so dass sich FFED Hex ergibt.
n
31
Grundbegriffe Abschnitt 2-1
FF FF
1111 1111 1111
1111
Absolutwert
–)
+)
Zweierkomplement
00 1
0000 0000 0001 0011
FF EC
1111 1111 1110
00 0
0000 0000 0000 0001
FF ED
1111 1111 1110 1101
3
1100
1
Komplemente
Im Allgemeinen bezieht sich das Komplement zur Basis x auf eine Zahl, die durch Subtrahieren aller Stellen einer gegebenen Zahl von x – 1 und anschlie­ßendem Addieren von 1 zur äußersten rechten Stelle berechnet wird. (Bei­spiel: Das Zehnerkomplement von 7556 ist 9999 – 7556 + 1 = 2444.) Ein Komplement wird verwendet, um eine Subtraktion und andere Funktionen als Addition auszudrücken.
Beispiel: Mit 8954 – 7556 = 1398, 8954 + (das Zehnerkomplement von 7556) = 8954 + 2444 = 11398. Wenn das äußerste linke Bit ignoriert wird, wird bei Subtraktion ein Ergebnis von 1398 erzielt.
Zweierkomplemente
Ein Zweierkomplement ist ein Komplement mit Basis 2. Dabei werden alle Stellen von 1 (2 – 1 = 1) subtrahiert und 1 addiert.
Beispiel: Das Zweierkomplement der Binärzahl 1101 ist 1111 (F Hex) – 1101 (D Hex) + 1 (1 Hex) = 0011 (3 Hex). Im Folgenden wird dieser Wert als 4-stel­liger Hexadezimalwert ausgedrückt.
Das Zweierkomplement b Hex von a Hex ist FFFF Hex – a Hex + 0001 Hex = b Hex. Um das Zweierkomplement b Hex von „a Hex“ zu bestimmen, wird b Hex = 10000 Hex – a Hex verwendet.
Beispiel: Um das Zweierkomplement von 3039 Hex zu bestimmen, wird 10000 Hex – 3039 Hex = CFC7 Hex verwendet.
Gleichermaßen wird a Hex = 10000 Hex – b Hex zur Bestimmung des Wertes a Hex vom Zweierkomplement b Hex verwendet.
Beispiel: Um den tatsächlichen Wert des Zweierkomplement CFC7 Hex zu bestimmen, wird 10000 Hex – CFC7 Hex = 3039 Hex verwendet.
Die CS/CJ-Serie verfügt über die folgenden zwei Befehle: NEG(160)(2’S COMPLEMENT) und NEGL(161) (DOUBLE 2’S COMPLEMENT), die ver­wendet werden können, um das Zweierkomplement aus der tatsächlichen Zahl oder die tatsächliche Zahl aus dem Zweierkomplement zu bestimmen.
BCD-Daten mit Vorzeichen
Bei BCD-Daten mit Vorzeichen handelt es sich um ein spezielles Datenfor­mat, das verwendet wird, um negative Zahlen in BCD auszudrücken. Auch wenn dieses Format in einigen Anwendungen zu finden ist, ist es dennoch nicht genau definiert und von der spezifischen Anwendungen abhängig.
32
Grundbegriffe Abschnitt 2-1
Die CS/CJ-Serie unterstützt die folgenden Befehle zur Konvertierung von Datenformaten: SIGNED BCD-TO-BINARY BINS(470), DOUBLE SIGNED BCD-TO-BINARY: BISL(472), SIGNED BINARY-TO-BCD: BCDS(471) und DOUBLE SIGNED BINARY-TO-BCD: BDSL(473). Weitere Informationen fin­den Sie im CS/CJ-Serie Speicherprogrammierbare Steuerungen Befehlsrefe- renzhandbuch (W340).
Dezimal Hexadezimal Binär BCD
0 0 0000 0000 1 1 0001 0001 2 2 0010 0010 3 3 0011 0011 4 4 0100 0100 5 5 0101 0101 6 6 0110 0110 7 7 0111 0111 8 8 1000 1000 9 9 1001 1001 10 A 1010 0001 0000 11 B 1011 0001 0001 12 C 1100 0001 0010 13 D 1101 0001 0011 14 E 1110 0001 0100 15 F 1111 0001 0101 16 10 10000 0001 0110
Dezimal Binär ohne Vorzeichen
+65.535 FFFF Kann nicht ausgedrückt +65534 FFFE .
. .
+32.769 8001 +32.768 8000 +32.767 7FFF 7FFF +32.766 7FFE 7FFE .
. .
+2 0002 0002 +1 0001 0001 0 0000 0000 –1 Kann nicht ausgedrückt –2 FFFE .
. .
–32.767 8001 –32.768 8000
(4-stellig hexadezimal)
. . .
. . .
werden
Binär mit Vorzeichen
(4-stellig hexadezimal)
werden
FFFF
33
Grundbegriffe Abschnitt 2-1
2-1-7 Befehlsvarianten
Die folgenden Befehlsvarianten stehen für Ausführungsbedingungen mit Flan­kenauswertung und zur Aktualisierung der Daten beim Ausführen des Befehls zur Verfügung (unmittelbare Aktualisierung).
Variante Symbol Beschreibung
Flanken­überwachung
Direkte Aktualisierung ! Aktualisiert Daten im E/A-Bereich, die durch
EIN @ Befehl, der ausgeführt wird, wenn die
Ausführungsbedingung auf EIN wechselt.
AUS % Befehl, der ausgeführt wird, wenn die
@
Ausführungsbedingung auf AUS wechselt.
Operanden spezifiziert werden, oder Worte einer Spezial-E/A-Baugruppe beim Aus­führen des Befehls.
(Direkte Aktualisierung wird von CS1D CPU­Baugruppen unterstützt.)
Befehl (AWL)
Flankenvariante
Variante mit direkter Aktualisierung
für Duplex-CPU-Systeme nicht
2-1-8 Ausführungsbedingungen
Die CS/CJ-Serie unterstützt die folgenden Arten von Grund- und Spezial­befehlen.
• Befehle ohne Flankenüberwachung, die in jedem Zyklus ausgeführt werden
• Befehle mit Flankenüberwachung, die nur einmalig ausgeführt werden
Befehle ohne Flankenüberwachung
Ausgabebefehle, die Ausführungsbedingungen benötigen, werden einmal in jedem Zyklus ausgeführt, solange die Ausführungsbedingung gültig ist (EIN oder AUS).
Ausgabebefehl ohne Flanken­überwachung
Eingangsbefehle, die logische Starts bewirken, sowie Zwischenbefehle lesen den Bitstatus, führen Vergleiche durch, testen Bits oder führen andere Verar­beitungen in jedem Zyklus aus. Wenn die Ergebnisse EIN lauten, wird die Ausführungsbedingung auf EIN gesetzt.
Eingangsbefehl ohne Flankenüberwachung
Beispiel
Beispiel
34
Grundbegriffe Abschnitt 2-1
Befehle mit Eingangs-Flankenüberwachung
Befehle, die an der steigenden Flanke ausgeführt werden (Befehl mit vorangestelltem @)
Ausgabebefehle: Der Befehl wird nur in dem Zyklus ausgeführt, in dem
die Ausführungsbedingung auf EIN gewechselt ist (AUS EIN). In den darauffolgenden Zyklen wird der Befehl nicht ausgeführt.
Beispiel
(@) Befehl für Aus­führung an der steigenden Flanke
Führt den MOV-Befehl einmalig aus, wenn CIO 000102 von AUS zu EIN wechselt.
Eingangsbefehle (logische Starts und Zwischenbefehle): Der Befehl
liest den Bitstatus, führt Vergleiche durch, testet Bits oder führt andere Ver­arbeitungen in jedem Zyklus durch. Auf dieser Basis gibt er eine EIN-Aus­führungsbedingung aus, wenn die Ergebnisse von AUS zu EIN wechseln. Die Ausführungsbedingung wird im nächsten Zyklus auf AUS gesetzt.
@MOV
Eingangsbefehl für Ausführung an der steigenden Flanke
Beispiel
Die EIN-Ausführungsbedingung wird nur für einen Zyklus erzeugt, wenn CIO 000103 von AUS zu EIN wechselt.
Eingangsbefehle (logische Starts und Zwischenbefehle): Der Befehl
liest den Bitstatus, führt Vergleiche durch, testet Bits oder führt andere Verarbeitungen in jedem Zyklus durch. Auf dieser Basis gibt er eine AUS­Ausführungsbedingung aus, wenn die Ergebnisse von AUS zu EIN wech­seln. Die Ausführungsbedingung wird im nächsten Zyklus auf EIN gesetzt.
Eingangsbefehl für Ausführung an der steigenden Flanke
Beispiel
0001 03
AUS-Ausführungsbedingung wird nur für einen Zyklus erzeugt, wenn CIO 00103 von AUS zu EIN wechselt.
Befehle, die an der fallenden Flanke ausgeführt werden (Befehl mit vorangestelltem %)
Ausgabebefehle: Der Befehl wird nur in dem Zyklus ausgeführt, in dem
die Ausführungsbedingung auf AUS gewechselt ist (EIN AUS). In den darauffolgenden Zyklen wird der Befehl nicht ausgeführt.
(%) Befehl für Ausführung an der fallenden Flanke
Beispiel
%SET
Führt den SET-Befehl einmalig aus, wenn CIO 000102 von EIN zu AUS wechselt.
35
Grundbegriffe Abschnitt 2-1
Eingangsbefehle (logische Starts und Zwischenbefehle): Der Befehl
liest den Bitstatus, führt Vergleiche durch, testet Bits oder führt andere Verarbeitungen in jedem Zyklus durch. Auf dieser Basis gibt er die Aus­führungsbedingung aus, wenn die Ergebnisse von EIN zu AUS wechseln. Die Ausführungsbedingung wird beim nächsten Zyklus auf AUS gesetzt.
Befehl für Ausführung an der fallenden Flanke
Beispiel
HinweisIm Gegensatz zu den Befehlen, die an der steigenden Flanke
ausgeführt werden, steht die Variante für die Ausführung an der fallenden Flanke (%) nur bei den Befehlen LD, AND, OR, SET und RSET zur Verfügung. Um eine Ausführung an der fallenden Flan­ke bei anderen Befehlen zu realisieren, müssen die Befehle mit den Befehlen DIFD oder DOWN kombiniert werden. Der NOT-Be­fehl kann nur zu Befehlen hinzugefügt werden, wenn eine CS1-H, CJ1-H, CJ1M oder CS1D CPU-Baugruppe verwendet wird.
Eingangsbefehle (logische Starts und Zwischenbefehle): Der Befehl
liest den Bitstatus, führt Vergleiche durch, testet Bits oder führt andere Verarbeitungen in jedem Zyklus durch. Auf dieser Basis gibt er eine AUS­Ausführungsbedingung (logischer Stromfluss wird unterbrochen) aus, wenn die Ergebnisse von EIN zu AUS wechseln. Die Ausführungsbedin­gung wird im nächsten Zyklus auf EIN gesetzt.
Eingangsbefehl für Ausführung an der fallenden Flanke
Wird auf EIN gesetzt, wenn CIO 000103 von EIN zu AUS wechselt, und wird nach einem Zyklus wieder auf AUS gesetzt.
Beispiel
0001 03
AUS-Ausführungsbedingung wird nur für einen Zyklus erzeugt, wenn CIO 00103 von EIN zu AUS wechselt.
36
Grundbegriffe Abschnitt 2-1
2-1-9 Zeitliches Verhalten von E/A-Befehlen
Im Folgenden finden Sie eine Darstellung der unterschiedlichen Zeitverhalten einzelner Befehle eines Programms, das nur die Befehle LD und OUT enthält.
Eingang
A
B1
Eingang gelesen
gelesen
Eingang gelesen
Eingang gelesen
Eingang gelesen
Eingang gelesen
Eingang gelesen
E/A-Aktualisierung
Eingang gelesen
Eingang gelesen
Eingang gelesen
Eingang gelesen
Eingang gelesen
A
A
A
!
A
!
A
A
A
A
A
!
A
!
A
B2
B3
B4
B5
B6
B7
!
B8
!
B9
!
B10
!
B11
!
B12
!
CPU-Ver­arbeitung
Befehl ausgeführt.
Befehle mit Flankendifferenzierung
• Ein Befehl mit Flankendifferenzierung verfügt über einen internen Merker, der angibt, ob der vorherige Wert EIN oder AUS ist. Zu Beginn des Betriebs werden die Merker für vorherigen Werte bei Befehlen zur Aus­führung an der steigenden Flanke (DIFU- und @-Befehle) auf EIN gesetzt, und die Merker für vorherigen Werte bei Befehlen zur Ausführung an der fallenden Flanke (DIFD- und %-Befehle) werden auf AUS gesetzt. Dadurch wird verhindert, dass die Flankenüberwachungsergebnisse ver­sehentlich zu Beginn des Betriebs ausgegeben werden.
• Ein Befehl zur Ausführung an der steigenden Flanke (DIFU- oder @­Befehl) gibt nur EIN aus, wenn die Ausführungsbedingung auf EIN und der Merker für den vorherigen Wert auf AUS gesetzt ist.
37
Grundbegriffe Abschnitt 2-1
Verwendung in Sperren (IL - ILC-Befehle)
Im folgenden Beispiel behält der Merker für den vorherigen Wert des Befehls mit Flankendifferenzierung den zuvor gesperrten Wert bei und gibt an Punkt A keinen Differenzierungsimpuls aus, da der Wert bei akti­vierter Sperre nicht aktualisiert wird.
0000
00
0000
01
(002)
IL
(013)
DIFU 001000
(003)
ILC
IL wird ausgeführt
IL wird ausgeführt
Verwendung in Sprungbefehlen (JMP - JME-Befehle): Genau wie bei
Sperren (Interlocks) wird der Merker für den vorherigen Wert eines Flan­kenüberwachungsbefehls nicht geändert, wenn dieser Befehl übersprun­gen, d.h. nicht ausgeführt wird, d. h., der vorherige Wert wird beibehalten. Befehle für zur Ausführung an der steigenden und fallenden Flanke geben die Ausführungsbedingung nur aus, wenn sich der Eingangsstatus vom vorherigen unterscheidet.
Hinweis a) Verwenden Sie nicht den Immer-EIN-Merker oder A20011 (Er-
ster-Zyklus-Merker) als Eingangsbit für einen Befehl zur Ausfüh­rung an der steigenden Flanke. Dieser Befehl würde niemals ausgeführt.
b) Verwenden Sie nicht den Immer-AUS-Merker als Eingabebit für
einen Befehl zur Ausführung an der fallenden Flanke. Dieser Be­fehl würde niemals ausgeführt.
38
Grundbegriffe Abschnitt 2-1
2-1-10 Aktualisierungszeitpunkt
Für die Aktualisierung externer E/A werden die folgenden Methoden verwendet.
• Zyklische Aktualisierung
• Direkte Aktualisierung (!-spezifizierte Befehle, IORF-Befehl)
Informationen zur E/A-Aktualisierung finden Sie auch im Abschnitt über den Betrieb der CPU-Baugruppe im CS/CJ-Serie Bedienerhandbuch.
Zyklische Aktualisierung
Jedes Programm, das einer ausführungsbereiten zyklischen Task oder einer Task mit erfüllter Interrupt-Bedingung zugeordnet ist, wird beginnend mit der Programmstartadresse bis zum END(001)-Befehl ausgeführt. Nachdem alle ausführungsbereiten zyklischen Tasks oder Tasks mit erfüllter Interrupt-Bedin­gung ausgeführt wurden, werden alle Ein-/Ausgänge von der zyklischen Aktualisierung gleichzeitig aktualisiert.
Hinweis Programme können in mehreren Tasks ausgeführt werden. Die E/A werden
nach dem abschließenden END(001)-Befehl im Programm aktualisiert, dem die höchste Nummer zugewiesen ist (unter allen ausführungsbereiten zykli­schen Tasks). Die E/A werden nicht nach dem END(001)-Befehl in Program­men aktualisiert, die anderen zyklischen Tasks zugeordnet sind.
Direkte Aktualisierung
Oben
15 0
! LD 000101
! OUT 000209
END
Oben
! MOV 0003
END
E/A-Aktualisierung
Zyklische Aktualisierung (Stapelverarbeitung)
CIO 0001
CIO 0002
CIO 0003
CIO 0004
15 0
15 0
15 0
Alle tatsächlichen Daten
16-Bit­Einheiten
16-Bit­Einheiten
Führen Sie einen IORF-Befehl für alle erforderlichen Worte vor dem END(001)-Befehl aus, wenn die zwischenzeitliche E/A-Aktualisierung in ande­ren Tasks benötigt wird.
Befehle mit Aktualisie­rungsvarianten (!)
Die E/A werden wie im Folgenden gezeigt aktualisiert, wenn ein Befehl aus­geführt wird und ein tatsächliches E/A-Bit als Operand spezifiziert ist.
Baugruppen Aktualisierte Daten
C200H E/A-Baugruppen (nur CS-Serie) E/A werden für die 16 Bits aktualisiert, CJ E/A-Baugruppen
die das Bit enthalten.
39
Grundbegriffe Abschnitt 2-1
• Wenn ein Wortoperand für einen Befehl spezifiziert ist, werden die E/A für die spezifizierten 16 Bits aktualisiert.
• Die Eingaben werden für die Eingangs- oder Quelloperanden aktualisiert, unmittelbar bevor ein Befehl ausgeführt wird.
• Die Ausgaben werden für die Ausgangs- oder Zieloperanden (D) aktuali­siert, unmittelbar nachdem ein Befehl ausgeführt wurde.
Fügen Sie eine Ausrufezeichen (!) (Direkte Aktualisierung) vor dem Befehl ein.
Hinweis Direkte Aktualisierung wird von den CS1D CPU-Baugruppen für Duplex-CPU-
Systeme nicht unterstützt. Diese Systeme unterstützen jedoch die Aktualisie­rung durch die Befehle IORF(097) und DLNK(226).
Durch den Befehl I/O REFRESH aktualisierte Baugruppen
Position CPU- oder E/A-Erweiterungs-Racks (jedoch keine SYSMAC
BUS-Slave-Racks)
Baugruppen E/A-Baugruppen CS/CJ-Serie
E/A-Baugruppen C200H E/A-Baugruppe
(siehe Hinweis) C200H Multipoint-E/A-
Baugruppen der Gruppe 2 (siehe Hinweis)
Spezial-E/A-Baugruppen Nicht aktualisiert
Aktualisiert
Aktualisiert
Nicht aktualisiert
Hinweis C200H E/A-Baugruppen können nicht in SPS der CJ-Serie installiert werden.
Oberteil
. . .
!LD 000101
. . .
!OUT 000209
. . .
END
Oberteil
. . .
!MOV
. . .
END
E/A­Aktualisierung
0003 0004
Direkte Aktualisierung
Eingang
Ausgang
S
D
CIO 0001
CIO 0002
CIO 0003
CIO 0004
15 0
15 0
15 0
15 0
16-Bit­Einheiten
16-Bit­Einheiten
40
E/A-Aktualisierung
Zyklische Aktualisierung (Stapelverarbeitung)
Alle tatsächlichen E/A
Grundbegriffe Abschnitt 2-1
Durch IORF(097) oder DLNK(226) aktualisierte Baugruppen
Ein E/A-Auffrischungs-Befehl (IORF(097)), der die tatsächlichen E/A-Daten in einem spezifizierten Wortbereich aktualisiert, steht als Spezialbefehl zur Ver­fügung. Mit diesem Befehl können die gesamten oder nur ein spezifizierter Bereich der tatsächlichen E/A-Daten in einem Zyklus aktualisiert werden. Der IORF-Befehl kann auch dazu verwendet werden, Worte zu aktualisieren, die Spezial-E/A-Baugruppen zugewiesen sind.
Ein weiterer Befehl, CPU-Spezial-E/A-direkte-Auffrischung (DLNK(226)), steht zur Aktualisierung der Worte zur Verfügung, die den CPU-Bus-Baugrup­pen in den CIO- und DM-Bereichen zugeordnet sind. Mit diesem Befehl kön­nen außerdem spezielle Aktualisierungen bei den Baugruppen durchgeführt werden, wie z. B. für Data-Links. Der Befehl DLNK(226) wird nur von den CS1-H, CJ1-H, CJ1M und CS1D CPU-Baugruppen unterstützt.
Durch IORF(097) aktualisierte Baugruppen
Position CPU- oder E/A-Erweiterungs-Racks (jedoch keine SYSMAC
BUS-Slave-Racks)
Bau­gruppen
E/A-Baugrup­pen
CS/CJ-Serie E/A-Baugruppen Aktualisiert C200H E/A-Baugruppen Aktualisiert C200H Multipoint-E/A-
Aktualisiert
Baugruppen der Gruppe 2 Spezial-E/A-Baugruppen Aktualisiert CPU-Bus-Baugruppen Nicht aktualisiert
A
A
C
B
R1
E
D
R2
C E
ACE
Durch DLNK(226) aktualisierte Baugruppen
Position CPU- oder E/A-Erweiterungs-Racks (jedoch keine SYSMAC BUS-Slave-
Racks)
Bau­gruppen
E/A-Baugruppen Nicht aktualisiert Spezial-E/A-Baugruppen Nicht aktualisiert CPU-Bus-Baugruppen
Aktualisiert
Worte, die der Baugruppe im CIO-Bereich zugeordnet sind
Worte, die der Baugruppe im DM-Bereich zugeordnet sind
Spezielle Aktualisierung bei der Baugruppe (Data-Links bei Controller-Link-Baugruppen und SYSMAC-Link-Baugruppen oder dezentrale E/A bei DeviceNet-Baugruppen)
Worte, die im CIO- und
DM-Bereich zugeordnet
sind, und spezielle
Aktualisierung
DLNK
#F
CPU-Bus­Baugruppe mit Baugruppen­nummer F
41
Grundbegriffe Abschnitt 2-1
2-1-11 Programmkapazität
In der folgenden Tabelle sind die maximalen Programmkapazitäten von CPU­Baugruppen der CS/CJ-Serie für alle Anwenderprogramme (d. h., die Gesamt­kapazität aller Tasks) aufgeführt. Alle Kapazitäten sind als maximale Anzahl von Steps (Programmschritten) angegeben. Die Kapazitäten dürfen nicht über­schritten werden, und das Übertragen eines Programms in die SPS wird deakti­viert, wenn ein Versuch unternommen wird, die Kapazität zu überschreiten.
Ein einzelner Befehl ist 1 bis 7 Steps lang. Weitere Informationen zur jeweiligen Anzahl von Steps in den Befehlen finden Sie unter 10-5, Ausführungszeit und Step-Anzahl der Befehle im Bedienerhandbuch. (Die Länge der einzelnen Befehle wird um 1 Step erhöht, wenn ein Operand mit doppelter Länge verwen­det wird.)
Serie CPU-Baugruppe Max. Programmkapazität Ein-/
Ausgänge
CS-Serie CS1H-CPU67H/CPU67-E 250 kSteps 5.120
CS1D-CPU67H 250 kSteps CS1D-CPU67S 250 kSteps CS1H-CPU66H/CPU66-E 120 kSteps CS1H-CPU65H/CPU65-E 60 kSteps CS1D-CPU65H 60 kSteps CS1D-CPU65S 60 kSteps CS1H-CPU64H/CPU64-E 30 kSteps CS1H-CPU63H/CPU63-E 20 kSteps CS1G-CPU45H/CPU45-E 60 kSteps CS1G-CPU44H/CPU44-E 30 kSteps 1.280 CS1D-CPU44S 30 kSteps CS1G-CPU43H/CPU43-E 20 kSteps 960 CS1G-CPU42H/CPU42-E 10 kSteps CS1D-CPU42S 10 kSteps
CJ Serie CJ1H-CPU67H 250KSteps 2.560
CJ1H-CPU66H 120KSteps CJ1H-CPU65H 60KSteps CJ1G-CPU45H/CPU45 60KSteps 1280 CJ1G-CPU44H/CPU44 30KSteps CJ1G-CPU43H 20KSteps 960 CJ1G-CPU42H 10KSteps CJ1M-CPU23/CPU13 20KSteps 640 CJ1M-CPU22/CPU12 10KSteps 320
Hinweis Anders als bei früheren OMRON SPS-Systemen (wie C200HX/HG/HE und CV-
Serie SPS), bei denen die Programmkapazität in Worten angegeben wurde, erfolgt die Angabe der Programmkapazität bei CS/CJ-Serie SPS-Systemen in Steps. Weitere Informationen zu den Richtlinien für die Umrechnung von Pro­grammkapazitäten früherer OMRON SPS finden Sie am Ende von Abschnitt 10-5, Ausführungszeit und Step-Anzahl der Befehle im Bedienerhandbuch Ihrer SPS.
2-1-12 Grundbegriffe der SPS-Programmierung
Befehle werden in der Reihenfolge ausgeführt, in der sie im Speicher aufgeli­stet sind (AWL-Reihenfolge). Die Grundkonzepte der Programmierung und die Ausführungsreihenfolge müssen richtig sein.
42
Grundbegriffe Abschnitt 2-1
Allgemeine Struktur des Kontaktplanprogramms
Linke Stromschiene
Eingangsbit
Verbindungslinie
Ein Kontaktplan besteht aus den linken und rechten Stromschienen, Verbin­dungslinien, Eingangsbits, Ausgangsbits und Spezial-Befehlen. Ein Programm besteht aus mindestens einem Programm-Netzwerk. Ein Programm- Netzwerk ist eine Einheit, die durch horizontale Aufteilung des Kontaktplans erhalten wird. In Form von AWL-Code besteht ein Netzwerk aus allen Befehlen zwischen einem LD/LD NOT-Befehl bis zu dem Ausgabebefehl unmittelbar vor dem näch­sten LD/LD NOT-Befehl. Ein Programm- Netzwerk besteht aus Befehlsblöcken, die mit einem LD/LD NOT-Befehl beginnen, der den logischen Start bildet.
Spezialbefehl
Ausgangsbit
Rechte Stromschiene
Netzwerke
Befehlsblöcke
AWL Ein AWL-Programm (Anweisungsliste) besteht aus einer Folge von SPS-
Befehlen, die in AWL-Form angegeben werden. Es besteht aus Programm­adressen, und eine Programmadresse entspricht einem Befehl. Programm­adressen bestehen aus sechs Stellen beginnend bei 000000.
Beispiel
Programmadresse Befehl (AWL) Operand
000000 LD 000000 000001 AND 000001 000002 LDNOT 000002 000003 AND NOT 000003 000004 LD NOT 000100 000005 AND 000101 000006 OR LD 000007 AND LD 000008 OUT 000200 000009 END
43
Grundbegriffe Abschnitt 2-1
Grundbegriffe des Kontaktplanprogramms
1,2,3... 1. Wenn Kontaktplanprogramme von SPS ausgeführt werden, verläuft der
Signalfluss immer von links nach rechts. Programme, die einen Signalfluss von rechts nach links benötigen, können nicht ausgeführt werden. Insofern unterscheidet sich dieser Fluss von dem Stromfluss in realen Schaltungen aus fest verdrahteten Steuerrelais. Wenn beispielsweise die Schaltung „a“ in ein SPS-Programm eingebunden wird, verläuft der Stromfluss, als ob die Dioden in Klammern eingesetzt wären, und die Spule R2 kann nicht über Kontakt D angesteuert werden. Die tatsächliche Ausführungsreihen­folge ist auf der rechten Seite in AWL angegeben. Um die Funktion ohne diese imaginären Dioden zu erzielen, muss die Schaltung neu geschrie­ben werden. Auch der Stromfluss in Schaltung „b“ kann nicht direkt pro­grammiert werden und muss neu geschrieben werden.
Schaltung „a“
(1)
A
Signalfluss
(2) ((3)) (4)
C
((8))
(6)
B
((5))
D
(9)
E
(7)
R1
(10)
R2
Reihenfolge der Ausführung (AWL) (1) LD A
(2) LD C (3) OUT TR0 (4) AND D (5) OR LD
(6) AND B (7) OUT R1 (8) LD TR0 (9) AND E (10) OUT R2
Schaltung „b“
A
C D
B
R1
E
R2
In Schaltung „a“ kann Spule R2 nicht über Kontakt D angesteuert werden. Bei Schaltung „b“ kann Kontakt E nicht in einen Kontaktplan geschrieben
werden. Das Programm muss geändert werden.
2. Es bestehen keine Beschränkungen der Anzahl von verwendbaren E/A­Bits, Arbeitsbits, Zeitgebern und anderen Eingangbits. Netzwerke sollten jedoch so einfach und übersichtlich wie möglich sein, auch wenn dazu mehr Eingangsbits verwendet werden müssen.
3. Es bestehen keine Einschränkungen bei der Anzahl von Eingangsbits, die in einer Reihe, parallelen Reihe oder in parallelen Strompfaden verbunden werden können.
4. Es können zwei oder mehrere Ausgabebits parallel verbunden werden.
44
0000
00
0000
05
TIM 0000 #0100
0002
00
Grundbegriffe Abschnitt 2-1
5. Ebenso lassen sich Ausgangsbits als Eingangsverknüpfungen verwenden.
0002
00
0002
00
Beschränkungen
1,2,3... 1. Ein Kontaktplanprogramm-Netzwerk muss geschlossen werden, so dass
die Signale (Stromfluss) von der linken Stromschiene zur rechten Strom­schiene geleitet werden. Wenn das Programm-Netzwerk nicht geschlos­sen wird, tritt ein Kompilierungs-Fehler auf.
2. Ausgangsbits, Zeitgeber, Zähler und andere Ausgabebefehle können nicht direkt mit der linken Stromschiene verbunden werden. Ist ein solcher Ausga­bebefehl direkt mit der linken Stromschiene verbunden, wird bei der Pro­grammierüberprüfung durch ein Programmiergerät ein Programmnetzwerk­Fehler angezeigt.
Eingangsbedingung muss angegeben sein.
MOV
Fügen Sie als Öffner den Immer-Aus-Merker oder als Schließer den Immer­EIN-Merker ein, wenn die Eingangs-Ausführungsbedingung ständig auf EIN gehalten werden muss.
Ungenutztes Arbeitsbit
EIN (Immer-EIN-Merker)
MOV
45
Grundbegriffe Abschnitt 2-1
3. Ein Eingangsbit muss immer vor und nicht hinter einem Ausgabebefehl eingefügt werden wie ein Ausgangsbit. Wenn es nach einem Ausgabebe­fehl eingefügt wird, tritt während der Programmüberprüfung durch ein Pro­grammiergerät ein Programmüberprüfungsfehler auf.
0000
00
0000
01
0002
01
0000
03
0002
01
0000
04
4. Das gleiche Ausgangsbit kann nur einmal in einem Ausgabebefehl pro­grammiert werden. Befehle in einem Kontaktplanprogramm werden, mit dem obersten Strompfad beginnend, der Reihe nach in einem einzelnen Zyklus ausgeführt, daher beinhaltet das Ausgabebit letztendlich das Er­gebnis des Ausgabebefehls des unteren Strompfades, und die Ergebnisse von vorherigen Befehlen, durch die das gleiche Bit gesteuert wird, werden überschrieben und nicht ausgegeben.
(Ausgangsbit)
0000
00
(Ausgangsbit)
0000
00
5. Ein Eingangsbit kann nicht in einem OUTPUT-Befehl (OUT) verwendet werden.
(Eingangsbit)
0000
00
46
6. In jeder Task muss am Ende des Programms ein END(001)-Befehl einge­fügt werden.
• Wenn ein Programm ohne einen END(001)-Befehl ausgeführt wird, tritt ein Programmfehler wegen eines fehlendes END-Befehls auf, die ERR/ ALM-LED auf der Vorderseite der CPU-Baugruppe leuchtet und das Pro­gramm wird nicht ausgeführt.
• Wenn in einem Programm mehr als ein END(001)-Befehl enthalten ist, wird es nur bis zum ersten END(001)-Befehl ausgeführt.
Grundbegriffe Abschnitt 2-1
Task (Programm)
000000 000001
END
Task (Programm)
000000 000001
END
Task (Programm)
000000 000001
END
2-1-13 Eingabe in AWL
Ein logischer Start wird durch einen LD/LD NOT-Befehls gebildet. Der Bereich vom logischen Start bis zu dem Befehl unmittelbar vor dem nächsten LD/LD NOT-Befehl wird als einzelner Befehlsblock angesehen.
Erstellen Sie ein einzelnes Netzwerk, das aus zwei Befehlsblöcken besteht. Entweder mit einem AND LD-Befehl, um eine UND-Verknüpfung der beiden Blöcke zu erstellen, oder mit einem OR LD-Befehl, um eine ODER-Verknüp­fung zwischen den beiden Blöcke zu erstellen. Das folgende Beispiel zeigt ein komplexes Netzwerk. An diesem wird die Vorgehensweise für die Eingabe in AWL beschrieben (Zusammenfassung und Reihenfolge).
Task (Programm)
000000 000001
END
END
Task (Programm)
000000 000001
END
END
Task (Programm)
000000 000001
END
Wird nicht ausgeführt.
Wird nicht ausgeführt.
47
Grundbegriffe Abschnitt 2-1
1,2,3... 1. Teilen Sie das Netzwerk zunächst in kleine Blöcke (a) bis (f) auf.
0000000000
01
0010
0010
00
01
0005
00
0000000000
(a)
0010000010
(b)
(c)
(1)
(2)
0005
00
0000
0000
03
02
01
01
(d)
0000
02
0000040000
0000
06
0000
03
05
0000040000
(e)
0005
00
05
(5)
0000
(f)
06
(4)
(3)
48
Grundbegriffe Abschnitt 2-1
• Programmieren Sie die Blöcke von oben nach unten und dann von links nach rechts.
0000
(a)
LD 000000 AND 000001
0000
01
00
OR LD
0010
(b)
00
LD 001000 AND 001001
0010
01
(1)
(2)
0005
(c)
00
OR 000500
0000
(a)
AND 000002 AND NOT 000003
Adresse
000200 LD 000000
(a)
000201 AND 000001 000202 LD 001000
(b)
000203 AND 001001
0000
02
03
Befehl Operand
000204 OR LD ---
(c)
000205 OR 000500 000206 AND 000002
(d)
000207 AND NOTT 000003 000208 LD 000004
(e)
000209 AND 000005
(f)
000210 OR 000006 000211 AND LD ---
000212 OUT 000500
AND LD
0005
00
OUT 000500
(3)
(1)
(c)
0000040000
LD 000004 AND 000005
(f)
OR 000006
(2)
0000
06
05
(5)
(4)
(3)
(5)
(4)
49
Grundbegriffe Abschnitt 2-1
2-1-14 Programmierbeispiele
1,2,3... 1. Strompfade parallel/in Reihe
0000000000010000
0002
00
ab
Block A Block B
0000
03
02
0002
00
Befehl Operanden
LD AND OR AND AND NOT OUT
000000 000001 000200 000002 000003 000200
Programmieren Sie die parallele Befehlsausführung in Block A und dann in Block B.
2. Strompfade in Reihe/parallel
0000
0000
01
00
a b
Block A
• Trennen Sie den Strompfad in die Blöcke A und B auf, und programmieren Sie sie einzeln.
• Verknüpfen Sie die Blöcke A und B durch einen AND LD-Befehl.
0000
0002
01
0000
04
02
Block B
0000
03
0002
01
Befehl Operanden
LD AND NOT
LD AND OR OR AND LD --­OUT
000000 000001 000002 000003 000201 000004
000201
a
b
a
b
• Programmieren Sie Block A.
b
1
Block B1
0000
0000
03
02
0002
04
02
b
2
0002
02
0000000000010000
Block B2
a b
Block A
Block B
• Programmieren Sie Block B1 und danach Block B2.
• Verknüpfen Sie die Blöcke B
1 und B2 durch einen OR LD-Befehl und dann die
Blöcke A und B durch einen AND LD-Befehl.
Befehl Operanden
LD NOT AND LD
AND NOT LD NOT AND
OR LD --­AND LD --­OUT
000000 000001
000002 000003 000004 000202
000202
a
b
1
b
2
b1 + b a · b
2
50
Grundbegriffe Abschnitt 2-1
3. Beispiel einer Reihenverbindung in einem Strompfad in Reihe
a
Block A1
0000
00
0000
02
a
1
0000
01
0002
03
2
b
Block B1
0000
04
0002
06
b
1
2
0000
05
0002
07
0002
03
Block A2 Block B2
a b
Block A Block B
Programmieren Sie Block A
durch einen OR LD-Befehl.
Block A
2
Programmieren Sie B
und Block A2, und verknüpfen Sie dann Block A1 mit
1
und B2 in derselben Weise.
1
Verknüpfen Sie Block A und Block B durch einen AND LD-Befehl.
Wiederholen Sie den Vorgang für alle vorhandenen Blöcke A bis n.
Befehl Operanden
LD AND NOT
LD NOT
AND
000000 000001
000002
000003 OR LD --­LD AND LD AND
000004
000005
000006
000007 OR LD --­AND LD --­OUT
000203
a
1
a
2
a1 + a
b
1
b
2
b1 + b a · b
2
2
0005
00
a b
c n
Block A Block B Block C Block n
51
Grundbegriffe Abschnitt 2-1
4. Komplexe Netzwerke
0000
00
0000
04
0000
06
0000
01
0000
02
0000
05
0000
07
0000
03
0002
04
Befehl Operand
LD LD
LD AND OR LD --­AND LD --­LD AND OR LD --­LD AND OR LD --­OUT
000000 000001 000002 000003
000004 000005
000006 000007
000204
0000
00
Z
Die Darstellung oben basiert auf der Darstellung unten.
0000
00
Wenn das Programm wie unten gezeigt umgeschrieben wird, kann es vereinfacht werden.
0000
02
0000
01
0000
03
0000
0000
Z
01
0000
03
02
Z
0000
00
b
0000
00
a d
Block Block
0000
01
0000
03
Block
Block
c
0000
02
0000
04
0000
05
0000060000
07
e
Block
Der oben gezeigtes Netzwerk kann wie folgt umgeschrieben werden:
0000
00
0000
00
0000
00
0000
01
0000
03
0000
03
0000
02
0000
04
0000
04
0000
05
0000
06
0000
07
0002
05
0002 04
Befehl Operand
LD LD NOT AND LD AND NOT LD LD AND NOT
000000 000001 000002 000003 000004 000005 000006 000007
OR LD --­AND LD --­OR LD --­AND LD --­OUT
000205
a
b
c
d
e
d + e (d + e)
(d + e) ((d + e)
· c
· c + b
· c + b) · a
52
Grundbegriffe Abschnitt 2-1
Rücksetz-Eingang
0000
0000
00
01
0000
03
Fehler­Eingang
0000
02 T0001
H00000
Befehl Operand
000000 000001 000002
H00000 000003 H00000 0001
TIM 0001 #0100
H00000
0002
06
10 s
LD OR OR OR
AND NOT
OUT TIM
0100
Fehleranzeige
AND OUT
T0001 000206
Wenn ein Haftmerker-Bit verwendet wird, bleibt der EIN/AUS-Status auch dann im Speicher erhalten, wenn die Spannungsversorgung ausgeschaltet wird, und das Fehlersignal ist noch aktiviert, wenn die Spannungsversorgung wieder eingeschaltet wird.
5. Netzwerke, die besondere Beachtung benötigen oder neu geschrieben werden müssen.
OR- und OR LD-Befehle
Bei einem OR oder OR NOT-Befehl wird der OR-Befehl auf das Ergebnis der Kontaktlogik vom LD- oder LD NOT-Befehl zum OR oder OR NOT-Befehl angewendet. Also können die Netzwerke so umgeschrieben werden, dass der OR LD-Befehl nicht mehr benötigt wird.
0000
00
0002
07
0000
01
0002
07
0002
07
0000
01
0002
07
0000
00
Beispiel: Ein OR LD-Befehl wird benötigt, wenn die Netzwerke wie gezeigt ohne Änderungen programmiert werden. Einige Schritte können ausgelassen werden, indem die Netzwerke wie folgt neu geschrieben werden.
Ausgabebefehlverzweigungen
Sie benötigen ein TR-Bit, wenn vor einem AND- oder AND NOT-Befehl eine Verzweigung ist. Das TR-Bit wird nicht benötigt, wenn sich die Verzweigung an einem Punkt befindet, der direkt mit dem Ausgabebefehl und dem AND­bzw. AND NOT-Befehl verbunden ist, oder wenn der Ausgabebefehl so weiter­geführt werden kann wie vorher.
Ausgang 1
0000
TR0
00
0000
01
0002
0002
08
09
Ausgang 2
0000
00
0000
01
0002
09
0002
08
Beispiel: Ein Ausgabebefehl und ein Ladebefehl (LD) für das temporäre Speicherbit TR0 werden an einem Verzweigungspunkt benötigt, wenn die Netzwerke ohne Änderung programmiert werden. Einige Schritte können aus­gelassen werden, indem die Netzwerke umgeschrieben werden.
53
Grundbegriffe Abschnitt 2-1
AWL-Ausführungsreihenfolge
Eine SPS führt SPS-Programme in der Reihenfolge aus, in der die AWL ein­gegeben ist, daher werden Befehle, abhängig davon, wie die Netzwerke geschrieben wurden, möglicherweise nicht wie erwartet ausgeführt. Beden­ken Sie beim Schreiben von SPS-Programmen immer die Ausführungsreihen­folge der Befehle.
0000
00
0010
0000
0010
00
0002
00
10
00
0000
00
0010
00
0002
10
0010
00
Beispiel: Im oben aufgeführten Beispiel kann CIO 000210 nicht eingeschaltet werden. Durch das Neuschreiben des Netzwerks, wie oben angezeigt, kann CIO 000210 für einen Zyklus auf EIN gesetzt werden.
Netzwerke, die umgeschrieben werden müssen
SPS führen Befehle in der Reihenfolge aus, so dass der Signalfluss (Strom­fluss) im Kontaktplan von links nach rechts verläuft. Ein Stromfluss von rechts nach links kann nicht programmiert werden.
0000
00
0000
01
TR0
0000
02
0000
04
0000030002
11
0002
12
0000
0000
0000
0000
01
02
00
0000
04
01
0000
0002
0002
11
12
03
Beispiel: Das Programm kann auf die in der linken Abbildung dargestellte Weise geschrieben werden, bei der TR0 die Verzweigung erhält. Derselbe Wert wird jedoch auch von den Netzwerken auf der rechten Seite erhalten, die leichter nachvollzíehbar sind. Aus diesem Grund empfiehlt es sich, das links dargestellte Netzwerk in die auf der rechten Seite gezeigten Netzwerke umzuschreiben.
Das Programm-Netzwerk unten links kann so nicht ausgeführt werden und muss umgeschrieben werden.
Die gestrichelten Pfeile zeigen den Signalfluss (Stromfluss), wenn der Schalt­kreis aus Steuerrelais bestünde.
A
A
C
B
R1
E
D
R2
C
ACE
E
B
R1
D
R2
54
Sicherheitshinweise Abschnitt 2-2

2-2 Sicherheitshinweise

2-2-1 Bedingungsmerker
Verwenden von Bedingungsmerkern
Bedingungsmerker werden gemeinsam von allen Befehlen verwendet und ändern ihren Status im Verlauf eines Zyklus entsprechend den Ausführungs­ergebnissen der einzelnen Befehle. Stellen Sie daher sicher, Bedingungsmer­ker mit der gleichen Ausführungsbedingung auf einem verzweigten Ausgang im unmittelbaren Anschluss an einen Befehl zu verwenden, um die Ergeb­nisse der Befehlsausführung zu erhalten. Verbinden Sie einen Bedingungs­merker niemals direkt mit der Stromschiene, da der Status des Merkers in diesem Fall die Ausführungsergebnisse anderer Befehle widerspiegelt.
Beispiel: Verwenden der Ausführungsergebnisse von Befehl A
Ordnungsgemäße Verwendung
AWL
Bedingungsmerker Beispiel: =
Befehl A
Gibt Ausführungs­ergebnisse von Befehl A wieder.
Befehl B
Befehl Operand
LD a Befehl
AND = Befehl
A
B
Für die Befehle A und B wird die gleiche Ausführungsbedingung (a) verwen­det, um Befehl B entsprechend den Ausführungsergebnissen von Befehl A auszuführen. Befehl B wird also nur entsprechend dem Bedingungsmerker ausgeführt, wenn Befehl A ausgeführt wurde.
Nicht ordnungsgemäße Verwendung
Vorhergehendes Netzwerk
Befehl A
Gibt die Ausführungsergebnisse des vorhergehenden Netzwerks wieder,
Bedingungsmerker Beispiel: =
wenn Befehl A nicht ausgeführt wird.
Befehl B
Wenn der Bedingungsmerker direkt mit der linken Stromschiene verbunden ist, wird Befehl B entsprechend den Ausführungsergebnissen eines früheren Strompfads ausgeführt, wenn Befehl A nicht ausgeführt wird.
Hinweis Bedingungsmerker werden von allen Befehlen innerhalb eines Einzelpro-
gramms (Task) verwendet und gelöscht, wenn die Task wechselt. Daher gel­ten Ausführungsergebnisse der vorhergehenden Tasks nicht in späteren Tasks. Da Bedingungsmerker von allen Befehlen gemeinsam verwendet wer­den, muss sichergestellt werden, dass diese sich nicht innerhalb eines einzel­nen SPS-Programms überschneiden. Im Folgenden finden Sie ein Beispiel.
55
Sicherheitshinweise Abschnitt 2-2
Verwenden von Ausführungsergebnissen in Öffner- und Schließer­Eingangsbedingungen
Die Bedingungsmerker übernehmen die Ausführungsergebnisse von Befehl B (siehe folgendes Beispiel), selbst wenn die Öffner- und Schließer-Eingangs­bedingungen von der gleichen Verzweigung ausgeführt werden.
Befehl A
Nicht ord­nungsge­mäße Verwen­dung
Bedingungsmerker Beispiel: =
Bedingungsmerker Beispiel: =
Stellen Sie sicher, dass jedes der Ergebnisse einmal von einem Ausgangs­Befehl übernommen wird, damit die Ausführungsergebnisse für Befehl B nicht übernommen werden.
Gibt Ausführungsergebnisse von Befehl A wieder.
Befehl B
Gibt Ausführungsergebnisse von Befehl B wieder.
Ord­nungsge­mäße Verwen­dung
Gibt Ausführungs­ergebnisse von Befehl A wieder.
Bedingungsmerker Beispiel: =
Bedingungsmerker Beispiel: =
Befehl A
Gibt Ausführungs­ergebnisse von Befehl A wieder.
Befehl B
56
Sicherheitshinweise Abschnitt 2-2
Beispiel: Im folgenden Beispiel wird #0200 nach D00200 verschoben, wenn
D00100 den Wert #0010 enthält, und #0300 wird nach D00300 verschoben, wenn D00100 nicht den Wert #0010 enthält.
Nicht ordnungs­gemäße Verwen­dung
Gibt die Ausführungsergebnisse on CMP wieder.
(1)
Gibt die Ausführungsergebnisse von MOV wieder.
(2)
Der Gleich-Merker wird auf EIN gesetzt, wenn D00100 im vorherigen Strom­pfad #0010 enthält. #0200 wird für Befehl (1) nach D00200 verschoben, anschließend wird jedoch der Gleich-Merker auf AUS gesetzt, da die Quellda­ten #0200 ungleich 0000 Hex sind. Der Befehl MOV bei (2) wird anschließend ausgeführt und #0300 wird nach D0300 verschoben. Daher muss, wie im Fol­genden gezeigt, dieses Netwerk erweitert werden, um zu verhindern, dass die Ausführungsergebnisse des ersten MOVE-Befehls übernommen werden.
Ord­nungs­gemäße Verwen­dung
Gibt die Ausführungsergebnisse von CMP wieder.
57
Sicherheitshinweise Abschnitt 2-2
Verwenden der Ausführungsergebnisse von Befehlen mit Flankenauswertung
Bei Befehlen mit Flankenauswertung werden die Ausführungsergebnisse nur in Bedingungsmerkern widergegeben, wenn die Ausführungsbedingung erfüllt ist. Die Ergebnisse eines vorhergehenden Netzwerks (und nicht die Ausführungs­ergebnisse des Befehls mit Flankenauswertung) werden in Bedingungsmer­kern des nächsten Zyklus verwendet. Daher muss auf die Bedingungsmerker des folgenden Zyklus geachtet werden, wenn die Ausführungsergebnisse von Befehlen mit Flankenauswertung verwendet werden sollen.
Im folgenden Beispiel werden die Befehle A und B nur ausgeführt, wenn die Ausführungsbedingung C erfüllt ist. Es treten jedoch folgende Probleme auf, wenn Befehl B Ausführungsergebnisse von Befehl A übernimmt. Wenn die Ausführungsbedingung C im an die Ausführung von Befehl anschließenden Zyklus weiter auf EIN gesetzt bleibt, wird Befehl B unerwartet ausgeführt (durch die Ausführungsbedingung), wenn der Bedingungsmerker aufgrund von Ergebnissen eines vorhergehenden Netzwerks von AUS auf EIN wechselt.
Vorheriges Netzwerk
Nicht ord­nungs­gemä­ße Ver­wen­dung
Bedingungsmerker Beispiel: =
Befehl A
Gibt Ausführungsergebnisse von Befehl A wieder, wenn die Ausführungsbedingungen erfüllt sind. Gibt die Ausführungsergebnisse von einem vorhergehenden Netzwerk im nächsten Zyklus wieder.
Befehl B
In diesem Fall handelt es sich bei den Befehlen A und B nicht um Befehle mit Flankenauswertung. Stattdessen wird der Befehl DIFU (von DIFD) wie im Fol­genden gezeigt verwendet, und die Befehle A und B werden beide nur an der steigenden (oder fallenden) Flanke und somit nur in einem Zyklus ausgeführt.
Vorheriges Netzwerk
Ord­nungs­gemäße Verwen­dung
Befehl A
Gibt Ausführungsergebnisse von Befehl A wieder.
Bedingungsmerker Beispiel: =
Befehl B
Hinweis Die CS1-H, CJ1-H, CJ1M oder CS1D CPU-Baugruppen unterstützen Befehle
zum Speichern (CCS(282)) und Laden (CCL(283)) der Bedingungsmerkerzu­stände. Mit diesen Befehlen können die Bedingungsmerkerzustände gespeichert und an anderer Stelle in der Task oder in einer anderen Task verwendet werden.
Hauptbedingungen, unter denen Bedingungsmerker auf EIN gesetzt werden
Fehlermerker
Der Fehlermerker (P_ER) wird unter bestimmten Bedingungen auf EIN gesetzt, z. B. wenn die Operandendaten eines Befehls ungültig sind. Der Befehl wird nicht ausgeführt, wenn der Fehlermerker P_ER auf EIN gesetzt wird.
58
Sicherheitshinweise Abschnitt 2-2
Wenn der Fehlermerker P_ER auf EIN gesetzt ist, ändert sich der Zustand anderer Bedingungsmerker (z. B. der P_LT, P_GT, P_OF- und P_UF-Merker) nicht und der Zustand der Gleich- und Negativ-Merker hängt vom jeweiligen Befehl ab.
Weitere Informationen zu den einzelnen Befehlen und den Bedingungen, unter denen der Fehlermerker auf EIN gesetzt wird, finden Sie im CS/CJ-
Serie Speicherprogrammierbare Steuerungen Befehlsreferenzhandbuch (W340). Beachten Sie hierbei, dass einige Befehle den Fehlermerker unab-
hängig von den Bedingungen auf AUS setzen.
Hinweis Die Einstellungen für das Auftreten eines Befehlsfehlers im SPS-Setup legen
fest, ob der Betrieb angehalten wird, wenn der Fehlermerker auf EIN gesetzt wird. In der Standardeinstellung wird der Betrieb fortgeführt, wenn der Fehler­merker auf EIN gesetzt wird. Wenn eine Betriebsunterbrechung für den Fall, dass der Fehlermerker auf EIN gesetzt wird, festgelegt wurde, und der Betrieb angehalten wird (aufgrund eines Programmfehlers), wird die Pro­grammadresse, an der der Betrieb abgebrochen wurde, in A298 und A299 gespeichert. Gleichzeitig wird A29508 auf EIN gesetzt.
Gleich-Merker
Beim Gleich-Merker handelt es sich um einen temporären Merker für alle Befehle, es sei denn die Vergleichsergebnisse sind gleich (=). Er wird automa­tisch vom System gesetzt und ändert seinen Status. Der Gleich-Merker kann von einem Befehl auf AUS (EIN) gesetzt werden, nachdem er von einem ande­ren Befehl auf EIN (AUS) gesetzt wurde. Der Gleich-Merker wird beispiels­weise auf EIN gesetzt, wenn MOV oder ein anderer Kopierbefehl 0000 Hex als Quelldaten speichert und bleibt in allen anderen Fällen auf AUS gesetzt. Selbst wenn ein Befehl den Gleich-Merker auf EIN setzt, wird der Kopierbefehl unver­züglich ausgeführt und der Gleich-Merker wird, je nachdem, ob die Quelldaten gleich 0000 Hex sind oder nicht, auf EIN oder AUS gesetzt.
Übertragsmerker
Der Übertragsmerker wird für Verschiebebefehle, Additions- und Subtrakti­onsbefehle mit Übertrag, Additions- und Subtraktionsbefehlsüberträge mit negativen Überträgen, Spezial-E/A-Baugruppen-Befehle, PID-Befehle und FPD-Befehle verwendet. Beachten Sie die folgenden Sicherheitshinweise.
Hinweis 1. Der Übertragsmerker kann aufgrund der Ausführungsergebnisse eines
bestimmten Befehls EIN (AUS) verbleiben und anschließend für einen an­deren Befehl verwendet werden (einen Additions- und Subtraktionsbefehl mit Übertrag oder einen Verschiebebefehl). Stellen Sie sicher, den Über­tragsmerker falls erforderlich zu löschen.
2. Der Übertragsmerker kann von den Ausführungsergebnissen eines be­stimmten Befehls auf EIN (AUS) gesetzt und von einem anderen Befehl auf AUS (EIN) gesetzt werden. Stellen Sie sicher, die richtigen Ergebnisse zu erhalten, falls der Übertragsmerker berücksichtigt wird.
Kleiner-als- und Größer-als-Merker
Die Merker P_LT und P_GT werden für Vergleichsbefehle sowie u. a. die Befehle LMT, BAND, ZONE und PID verwendet. Der P_LT oder P_GT Merker kann von einem anderen Befehl auf AUS (EIN) gesetzt werden, selbst wenn er von den Ausführungsergebnissen eines bestimmten Befehls auf EIN (AUS) gesetzt wurde.
Negativ-Merker
Der Negativ-Merker (P_N) wird auf EIN gesetzt, wenn das äußerste linke Bit des Worts mit den Befehlsausführungs-Ergebnissen bestimmter Befehle „1“ ist. Er ist weiterhin für alle anderen Befehle auf AUS gesetzt.
Spezifizieren von Operanden für mehrere Worte
Bei SPS der CS/CJ-Serie wird ein Befehl wie geschrieben ausgeführt, selbst wenn ein Operand spezifiziert wurde, der mehrere Worte erfordert, so dass nicht alle Worte des Operanden im selben Bereich liegen. In diesem Fall wer­den Worte in der Reihenfolge der SPS-Speicheradressen verwendet. Der Fehlermerker wird nicht auf EIN gesetzt.
59
Sicherheitshinweise Abschnitt 2-2
So kann beispielsweise eine Blockübertragung mit dem Befehl XFER(070) ausgeführt werden, bei der 20 Worte, beginnend mit W500, für die Übertra­gung spezifiziert wurden. In diesem Fall wird der bei W511 endende Arbeits­bereich erweitert und der Befehl ausgeführt, ohne den Fehlermerker auf EIN zu setzen. In den SPS-Speicheradressen werden die Zeitgeber-Istwerte im auf den Arbeitsbereich folgenden Speicher gespeichert. Daher werden durch den folgenden Befehl W500 bis W511 nach D00000 bis D00011 und die Ist­werte für T0000 bis T0007 nach D00012 bis D00019 übertragen.
Hinweis Weitere Informationen zu den SPS-Speicheradressen finden Sie im Anhang
Aufteilung des SPS-Speicheradressbereichs.
&20
Anzahl der Worte
Erstes Quellwort
Erstes Zielwort
W500
bis
W511
T0000
bis
bis
bis
Über­tragen
bis
bis
bis
bis
2-2-2 Spezielle Programmabschnitte
Programme für die CS/CJ-Serie verfügen über spezielle Programmab­schnitte, die die Befehlsbedingungen steuern. Die folgenden speziellen Pro­grammabschnitte sind verfügbar.
Programmabschnitt Befehle Befehlsbedingung Status
Unterprogramm Befehle SBS, SBN und
Abschnitt IL - ILC Befehle IL und ILC Abschnitt ist gesperrt Die Ausgangsbits werden auf AUS Schritt-Programm-
abschnitt
FOR-NEXT-Schleife Befehle FOR und
Abschnitt JMP0 - JME0 Befehle JMP0 und
Blockprogrammabschnitt Befehle BPRG und
RET
Befehle STEP und SNXT
NEXT
JME0
BEND
Das Unterprogramm wird ausgeführt.
Unterbrechung des sequen­ziellen Programm-Ablaufs:
Blockprogramm wird ausgeführt.
Der Unterprogrammabschnitt zwi­schen den Befehlen SBN und RET wird ausgeführt.
gesetzt und die Zeitgeber zurückge­setzt. Andere Befehle werden nicht ausgeführt und der vorherige Status wird beibehalten.
Programmschleifen-Ausführung
Sprung
Das in der AWL zwischen den Befeh­len BPRG und BEND aufgelistete Blockprogramm wird ausgeführt.
Befehlskombinationen
Der folgenden Tabelle können Sie entnehmen, welche Spezialbefehle inner­halb anderer Programmabschnitte verwendet werden können.
Unter-
programm
Unterprogramm Nicht möglich Nicht möglich Nicht möglich Nicht möglich Nicht möglich Nicht möglich IL - ILC OK Nicht möglich Nicht möglich OK OK Nicht möglich Schritt-Pro-
grammabschnitt FOR-NEXT-
Schleife JMP0 - JME0 OK OK Nicht möglich Nicht möglich Nicht möglich Nicht möglich Blockprogramm-
abschnitt
Nicht möglich OK Nicht möglich Nicht möglich OK Nicht möglich
OK OK Nicht möglich OK OK Nicht möglich
OK OK OK Nicht möglich OK Nicht möglich
Abschnitt IL -
ILC
Schritt-
Programm-
abschnitt
FOR-NEXT-
Schleife
Abschnitt
JMP0 - JME0
Block-
programm-
abschnitt
60
Sicherheitshinweise Abschnitt 2-2
Hinweis Befehle, die Programmbereiche spezifizieren, können nicht für Programme in
anderen Tasks verwendet werden. Ausführliche Informationen hierzu finden Sie im Abschnitt 4-2-2 Einschränkungen bei Task-Befehlen.
Unterprogramme Platzieren Sie alle Unterprogramme in sämtlichen Programmen unmittelbar
vor dem Befehl END(001), jedoch hinter anderen Programmabschnitten, die keine Unterprogramme darstellen. (Daher kann ein Unterprogramm nicht in einem Schritt-Programmabschnitt, Blockprogramm sowie einem FOR - NEXT­oder JMP0 - JME0-Abschnitt platziert werden.) Wenn ein Programmabschnitt, der kein Unterprogramm ist, hinter einem Unterprogramm (SBN bis RET) platziert wird, wird dieser Programmabschnitt nicht ausgeführt.
Programm
Unterprogramm
Programm
In Unterprogrammen nicht verfügbare Befehle
Hinweis Blockprogrammabschnitte
Unterprogramm
Folgende Befehle dürfen nicht in Unterprogrammen platziert werden.
Funktion Befehl Befehlsausführung
Prozess-Step-Steuerung STEP(008) Definieren des Schritt-
Programmabschnitts
SNXT(009) Schritte durch Schritt-
Programmabschnitte ausführen
Ein Unterprogramm kann einen Blockprogrammabschnitt enthalten. Wenn sich das Blockprogramm jedoch im Status WAIT(Warten) befindet, während die Ausführung vom Unterprogramm zum Hauptprogramm zurückkehrt, ver­bleibt der Blockprogrammabschnitt beim nächsten Aufruf im Status WAIT(Warten).
61
Sicherheitshinweise Abschnitt 2-2
In Schritt­Programmabschnitten nicht verfügbare Befehle
Funktion AWL Befehl
Sequenz­steuerung
Unter­programme
Block­programme
FOR(512), NEXT(513) und BREAK(514)
END(001) Programmende IL(002) und ILC(003) INTERLOCK und INTERLOCK
JMP(004) und JME(005) JUMP und JUMP END (Sprung,
CJP(510) und CJPN(511) CONDITIONAL JUMP und CONDI-
JMP0(515) und JME0(516) MULTIPLE JUMP und MULTIPLE
SBN(092) und RET(093) SUBROUTINE ENTRY und SUB-
IF(802) (NOT), ELSE(803) und IEND(804)
BPRG(096) und BEND(801) BLOCK PROGRAM BEGIN/END
EXIT(806) (NOT) CONDITIONAL BLOCK EXIT
LOOP(809) und LEND(810) (NOT)
WAIT(805) (NOT) ONE CYCLE WAIT (NOT)
TIMW(813) TIMER WAIT (Zeitgeber warten) TMHW(815) HIGH-SPEED TIMER WAIT
CNTW(814) COUNTER WAIT (Zähler warten) BPPS(811) und BPRS(812) BLOCK PROGRAM PAUSE und
FOR, NEXT und BREAK Programmschleifen
CLEAR (Verriegelung, Verriegelung löschen)
Sprungende)
TIONAL JUMP NOT (Bedingter Sprung, Bedingter negierter Sprung)
JUMP END (Mehrfachsprung, Mehrfachsprung-Ende)
ROUTINE RETURN (Unterpro­gramm-Anfang, Unterprogramm­Ende)
Verzweigungsbefehle
(Blockprogramm-Anfang, Blockprogramm-Ende)
(NOT) (Bedingtes Blockende (NICHT))
Schleifensteuerung (Schleife, Schleife beenden)
(Ein Zyklus und warten (NICHT))
(Schneller Zeitgeber warten)
RESTART (Blockprogramm Pause, Blockprogramm Restart)
62
Hinweis 1. Ein Step-Programmabschnitt kann in einem Sperrabschnitt verwendet
werden (zwischen IL und ILC). Der Step-Programmabschnitt wird vollstän­dig zurückgesetzt, wenn die Sperre auf EIN gesetzt ist.
2. Ein Step-Programmabschnitt kann zwischen Mehrfachsprung (JMP0) und Mehrfachsprung-Ende (JME0) verwendet werden.
Sicherheitshinweise Abschnitt 2-2
In Blockprogramm­abschnitten nicht verfügbare Befehle
Folgende Befehle dürfen nicht in Blockprogrammabschnitten platziert werden.
Klassifizierung nach
Funktion
Sequenzsteuerung FOR(512), NEXT(513)
Sequenzeingang UP(521) CONDITION ON (Bedingung
Ausgabebefehle DIFU DIFFERENTIATE UP (Ausführung
Zeitgeber/Zähler TIM TIMER
Unterprogramme SBN(092) und RET(093) SUBROUTINE ENTRY und
Datenverschiebung SFT SHIFT (Schieberegister) Schrittprogramm-
Steuerung Datensteuerung PID PID CONTROL (PID-Regelung) Blockprogramm BPRG(096) BLOCK PROGRAM BEGIN
Fehlerdiagnose FPD(269) FAILURE POINT DETECTION
und BREAK(514) END(001) Programmende IL(002) und ILC(003) INTERLOCK und INTERLOCK
JMP0(515) und JME0(516)
DOWN(522) CONDITION OFF (Bedingung
DIFD DIFFERENTIATE DOWN
KEEP KEEP (Halten) OUT OUTPUT (Ausgang) OUT NOT OUTPUT NOT (Ausgang NICHT)
TIMH HIGH-SPEED TIMER TMHH(540) ONE-MS TIMER (1-ms-Zeitgeber) TTIM(087) ACCUMULATIVE TIMER
TIML(542) LONG TIMER (Langer Zeitgeber) MTIM(543) MULTI-OUTPUT TIMER
CNT COUNTER (Zähler) CNTR REVERSIBLE COUNTER
STEP(008) und SNXT(009)
AWL Befehl
FOR, NEXT und BREAK Programmschleifen
CLEAR (Verriegelung, Verriegelung löschen)
MULTIPLE JUMP und MULTIPLE JUMP END (Mehrfachsprung, Mehrfachsprung-Ende)
steigende Flanke)
fallende Flanke)
bei steigender Flanke)
(Ausführung bei fallender Flanke)
(Akkumulierender Zeitgeber)
(Multi-Ausgabe-Zeitgeber)
(Umkehrbarer Zähler)
SUBROUTINE RETURN (Unterprogramm-Anfang, Unterprogramm-Ende)
STEP DEFINE und STEP START (Schritt, nächster Schritt)
(Blockprogramm-Anfang)
(Fehlerpunkt-Erfassung)
Hinweis 1. Blockprogramme können in einem Step-Programmabschnitt verwendet
werden.
2. Ein Blockprogramm kann in einem Sperrabschnitt verwendet werden (zwi­schen IL und ILC). Der Blockprogrammabschnitt wird nicht ausgeführt, wenn gesperrt zwischen IL und ILC.
3. Ein Blockprogrammabschnitt kann zwischen Mehrfachsprung (JMP0) und Mehrfachsprung-Ende (JME0) verwendet werden.
4. Der Sprung-Befehl (JMP) und der bedingte Sprung-Befehl (CJP/CJPN) können in einem Blockprogrammabschnitt verwendet werden. Die Befehle Sprung (JMP) und Sprung-Ende (JME), wie auch die Befehle bedingter Sprung (CJP/CJPN) und Sprung-Ende (JME), können in einem Blockpro­grammabschnitt nicht verwendet werden, wenn sie nicht paarweise ver­wendet werden. Ein Programm kann nicht ordnungsgemäß ausgeführt werden, wenn die Befehle nicht als Paare verwendet werden.
63
Überprüfen von Programmen Abschnitt 2-3

2-3 Überprüfen von Programmen

Programme für die CS/CJ-Serie können in den folgenden Stadien überprüft werden.
• Überprüfung während der Eingabe mit der Programmierkonsole
• Programmüberprüfung durch CX-Programmer
• Befehlsüberprüfung während der Ausführung
• Überprüfung auf schwerwiegende Fehler (Programmfehler) während der Ausführung
2-3-1 Fehler während der Eingabe in das Programmiergerät
Programmierkonsole
Fehler in den folgenden Punkten werden von der Programmierkonsole wäh­rend der Eingabe angezeigt.
Fehleranzeige Ursache
CHK MEM Schalter 1 des DIP-Schalterblocks der CPU-Baugruppe ist auf ON
IO No. ERR Eine unzulässige E/A-Eingabe ist aufgetreten.
CX-Programmer
Das Programm wird zu den folgenden Zeitpunkten automatisch von CX-Pro­grammer überprüft.
Zeitpunkt Überprüfter Inhalt
Bei Eingabe von SPS-Programm
Beim Laden von Dateien
Beim Herunter­laden von Dateien
Während der Online-Bearbeitung
gestellt (Schreibschutz).
Befehlseingaben, Operandeneingaben, Programmierungs­schema
Alle Operanden aller Befehle und alle Programmierungs­schemata
Von der CS/CJ-Serie unterstützte Modelle und alle Operanden aller Befehle
Kapazität usw.
Die Ergebnisse der Überprüfung werden auf der Textregisterkarte des Ausga­befensters angezeigt. Die linke Stromschiene von unzulässigen Programmab­schnitten wird in der Kontaktplanansicht rot dargestellt.
2-3-2 Programmprüfungen mit CX-Programmer
In der folgenden Tabelle sind die möglichen Fehler aufgeführt, die von der Pro­grammüberprüfungs-Funktion in CX-Programmer gefunden werden können.
CX-Programmer führt keine Prüfung auf Bereichsfehler bei indirekt adressier­ten Operanden in Befehlen aus. Fehler bei der indirekten Adressierung wer­den während der Programmausführungsüberprüfung gefunden und der P_ER-Merker wird auf EIN gesetzt, wie im folgenden Abschnitt beschrieben. Ausführliche Informationen hierzu finden Sie im CS/CJ-Serie Speicherpro- grammierbare Steuerungen Befehlsreferenzhandbuch (W340).
Für die Programmüberprüfung durch CX-Programmer kann der Anwender die Überprüfungsstufen A, B oder C wählen (in Reihenfolge der Schwere des Fehlers) sowie eine anwenderdefinierte Überprüfungsstufe.
Bereich Überprüfung
Unzulässige Daten: Kontaktplan­programmierung
Befehlsunter­stützung durch SPS
Befehlspositionen E/A-Linien Verbindungen Vollständigkeit von Befehl und Ausführung Befehls- und Operandenunterstützung durch SPS Befehlsvarianten (NOT, !, @ und %) Integrität des Objektcodes
64
Überprüfen von Programmen Abschnitt 2-3
Bereich Überprüfung
Bereiche der Operanden
Programmkapa­zität der SPS
Syntax Aufrufsüberprüfung bei Befehlspaaren
Kontaktplan­Struktur
Doppelte Ausgänge
Tasks Prüfung auf Tasks, die auf Starten zu Beginn des Betriebs
Speicherbereiche der Operanden Datentypen der Operanden Zugriffsprüfung auf schreibgeschützte Worte Bereichsüberprüfung der Operanden, einschließlich des
Folgenden.
• Konstanten (#, &, +, –)
• Steuercodes
• Überprüfen der Bereichsgrenzen bei Multi-Wort-Operanden
• Überprüfen der Größenverhältnisse bei Multi-Wort-Operanden
• Überschneidungen der Operandenbereiche
• Multi-Wort-Zuordnungen
• Operanden doppelter Länge
• Überprüfen der Bereichsgrenzen bei Offsets Anzahl der Steps Gesamtkapazität Anzahl der Tasks
•IL–ILC
• JMP–JME, CJP/CJPN-JME
• SBS–SBN–RET, MCRO–SBN–RET
• STEP–SNXT
• BPRG–BEND
•IF–IEND
• LOOP–LEND Eingeschränkte Programmpositionen für BPRG–BEND Eingeschränkte Programmpositionen für SBN–RET Eingeschränkte Programmpositionen für STEP–SNXT Eingeschränkte Programmpositionen für FOR–NEXT Eingeschränkte Programmpositionen für Interrupt-Tasks Erforderliche Programmpositionen für BPRG–BEND Erforderliche Programmpositionen für FOR–NEXT Unzulässige Schachtelungen END(001)-Befehl Anzahlübereinstimmung Stapelüberläufe
Überprüfung auf doppelte Ausgänge
•Nach Bit
•Nach Wort
• Zeitgeber- und Zähler-Befehle
• Mehrere Worte (2 Worte und 4 Worte)
• Mehrere zugeordnete Worte
• Start/End-Bereiche
•FAL-Nummern
• Befehle mit mehreren Ausgabeoperanden
eingestellt sind Task-Programmzuordnung
Hinweis Zwischen den Tasks werden die doppelten Ausgänge nicht überprüft, lediglich
innerhalb einzelner Tasks.
65
Überprüfen von Programmen Abschnitt 2-3
Multi-Wort-Operanden Während der Programmüberprüfung werden Speicherbereichsgrenzen auf
Multi-Wort-Operanden überprüft, wie in der folgenden Tabelle angegeben.
CX-Programmer Programmierkonsolen
CX-Programmer bietet die folgenden Funktionen für Multi­Wort-Operanden, die eine Speicherbereichsgrenze über­schreiten.
• Das Programm kann nicht auf CPU-Baugruppe übertra­gen werden.
• Ebenso kann das Programm nicht von der CPU-Bau­gruppe gelesen werden.
• Kompilierungsfehler wurden für die Programmüberprü­fung erzeugt.
• Während der Offline-Programmierung werden Warnun­gen auf dem Bildschirm angezeigt.
• Während der Online-Bearbeitung in der PROGRAM­oder MONITOR-Betriebsart werden Warnungen auf dem Bildschirm angezeigt.
Überprüfung während der Programmeingabe, d. h. Operanden, die eine Speicherbereichs­grenze überschreiten, können nicht geschrie­ben werden.
2-3-3 Prüfung der Programmausführung
Die Überprüfung von Operanden- und Befehlspositionen bei den Befehlen wird während der Eingabe durch ein Programmiergerät (einschließlich Pro­grammierkonsole) und ebenso während der Programmüberprüfung durch Programmiergeräte (ausgenommen Programmierkonsole) durchgeführt. Dies sind jedoch nicht die abschließenden Überprüfungen.
Die folgenden Überprüfungen werden während der Befehlsausführung durch­geführt.
Fehlertyp Merker, der im Fehlerfall auf EIN
1. Befehlsverarbeitungs-Fehler P_ER-Merker Der Befehlsverarbeitungs-Fehlermer-
ker (A29508) wird ebenfalls auf EIN gesetzt, wenn „Betrieb anhalten“ beim Auftreten eines Fehlers festgelegt wurde.
2. Zugriffsfehler P_AER-Merker Der Zugriffsfehlermerker (A29510) wird
auf EIN gesetzt, wenn die Betriebsun­terbrechung beim Auftreten eines Fehlers festgelegt wurde.
3. Unzulässiger-Befehl-Fehler Unzulässiger-Befehl-Fehlermerker
4. UM-Überlauffehler
(Anwenderprogrammspeicher)
(A29514) Anwenderprogrammspeicher-Überlauf-
fehlermerker (A29515)
gesetzt wird
Befehlsverarbeitungsfehler
Ein Befehlsverarbeitungsfehler tritt auf, wenn während der Befehlsausführung ungültige Daten zur Verfügung gestellt werden oder der Versuch unternommen wurde, einen Befehl außerhalb einer Task auszuführen. In diesem Fall werden die zu Beginn der Befehlsverarbeitung notwendigen Daten überprüft, als Ergeb­nis wurde der Befehl nicht ausgeführt und der P_ER-Merker auf EIN gesetzt. Abhängig vom Befehl werden die P_EQ- und P_N-Merker beibehalten oder auf AUS gesetzt.
Betrieb anhalten/fortsetzen
Eine Einstellung im SPS-Setup wird verwen­det, um festzulegen, ob der Betrieb bei Befehlsverarbeitungsfehlern fortgesetzt oder angehalten wird. In der Standardeinstellung wird der Betrieb fortgesetzt.
Ein Programmfehler tritt auf, und der Betrieb wird nur dann unterbrochen, wenn eine Betriebsunterbrechung festgelegt wurde.
Eine Einstellung im SPS-Setup wird verwen­det, um festzulegen, ob der Betrieb bei Befehlsverarbeitungsfehlern fortgesetzt oder angehalten wird. In der Standardeinstellung wird der Betrieb fortgesetzt.
Ein Programmfehler tritt auf, und der Betrieb wird nur dann unterbrochen, wenn eine Betriebsunterbrechung festgelegt wurde.
Schwerwiegender Programmfehler
Schwerwiegender Programmfehler
66
Überprüfen von Programmen Abschnitt 2-3
Der P_ER-Merker (Fehlermerker) wird auf AUS gesetzt, wenn der Befehl (ausge­nommen Eingangsbefehle) normal ausgeführt wurde. Die Bedingungen zur Steuerung des P_ER-Merkers unterscheiden sich bei den einzelnen Befehlen. Ausführliche Informationen zu den einzelnen Befehlen finden Sie im CS/CJ-Serie Speicherprogrammierbare Steuerungen Befehlsreferenzhandbuch (W340).
Falls es im SPS-Setup entsprechend spezifiziert ist, wird der Betrieb beim Auf­treten eines Befehlsverarbeitungsfehlers angehalten (schwerwiegender Fehler) und der Befehlsverarbeitungs-Fehlermerker (A29508) sowie der P_ER-Merker auf EIN gesetzt.
Fehler wegen unzulässigem Zugriff
Fehler wegen unzulässigem Zugriff zeigen an, dass der Zugriff auf falsche Bereiche auf eine der folgenden Arten erfolgte, während auf die den Befehls­operanden spezifizierende Adresse zugegriffen wurde.
a) Es wurde ein Schreib- oder Lesevorgang für einen Parameterbereich
ausgeführt.
b) Es wurde ein Schreibvorgang in einen Speicherbereich ausgeführt,
der nicht vorhanden ist (siehe Hinweis).
c) Es wurde ein Schreibvorgang in einen EM-Bereich ausgeführt, der als
EM-Dateispeicher definiert ist.
d) Es wurde ein Schreibvorgang in einen schreibgeschützten Bereich
ausgeführt.
e) Der in einer indirekten DM/EM-Adresse im BCD-Modus spezifizierte
Wert war nicht in BCD (z. B. *D000001 enthält #A000).
Wenn ein Zugriffsfehler auftritt, wird die Befehlsverarbeitung fortgesetzt und der P_ER-Merker (Fehlermerker) nicht auf EIN gesetzt, der Zugriffsfehlermer­ker (P_AER-Merker) wird jedoch auf EIN gesetzt.
Hinweis Ein Zugriffsfehler tritt in den folgenden Fällen auf:
• Wenn eine spezifizierte EM-Adresse 32767 der aktuellen Bank über­schreitet (beispielsweise E32768).
• Die letzte Bank (beispielsweise C) wurde für eine indirekte EM-Adres­se im Binär-Modus spezifiziert, und das spezifizierte Wort enthält 8000 bis FFFF Hex (beispielsweise @EC_00001 enthält #8000).
• Die aktuelle Bank (beispielsweise C) wurde für eine indirekte EM-Adres­se im Binär-Modus spezifiziert, und die spezifizierten Worte enthalten 8000 bis FFFF Hex (beispielsweise @EC_00001 enthält #8000).
• Ein IR-Register, das die interne Speicheradresse eines Bits enthält, wird als Wortadresse verwendet, oder ein IR-Register, das die interne Speicheradresse eines eine Worts enthält, wird als Bit-Adresse ver­wendet.
Wenn die Befehlsfehler im SPS-Setup entsprechend definiert sind, wird der Betrieb beim Auftreten eines Zugriffsfehlers angehalten (schwerwiegender Fehler) und der Fehlermerker für unzulässigen Zugriff (A29510) sowie der P_AER-Merker auf EIN gesetzt.
Sonstige Fehler
Hinweis Der Zugriffsfehlermerker (P_AER-Merker) wird nach der Taskausführung
nicht zurückgesetzt. Wenn die Befehlsfehler auf ein Fortführen des Betriebs eingestellt sind, kann dieser Merker bis kurz vor den Befehl END(001) über­wacht werden, um festzustellen, ob ein Fehler wegen unzulässigem Zugriff im Taskprogramm aufgetreten ist. (Der Status des letzten P_AER-Merkers nach der vollständigen Ausführung des Anwenderprogramms wird überwacht, wenn der P_AER-Merker auf einer Programmierkonsole angezeigt wird.)
Unzulässiger-Befehl-Fehler
Unzulässiger-Befehl-Fehler weisen auf Versuche hin, nicht auf dem System definierte Befehlsdaten auszuführen. Der Fehler wird gewöhnlich nicht auftre­ten, wenn das Programm mit einer Programmier-Software für die CS/CJ-Serie erstellt wurde (oder Programmierkonsole).
67
Überprüfen von Programmen Abschnitt 2-3
Sollte dieser Fehler dennoch auftreten wird er als Programmfehler behandelt, der Betrieb wird angehalten (schwerwiegender Fehler) und der Unzulässiger­Befehl-Fehlermerker (A29514) auf EIN gesetzt.
UM-Überlauf-Fehler (Anwenderprogrammspeicher)
UM-Überlauffehler deuten auf den Versuch hin, Befehlsdaten auszuführen, die jenseits der höchsten Adresse im definierten Anwenderprogrammspei­cher (UM) liegen. Der Fehler wird gewöhnlich nicht auftreten, wenn das Pro­gramm mit einer Programmier-Software für die CS/CJ-Serie erstellt wurde (oder Programmierkonsole).
Tritt der Fehler dennoch auf, wird er als Programmfehler behandelt, der Betrieb wird unterbrochen (schwerwiegender Fehler) und der Anwenderpro­grammspeicher-Überlauffehlermerker (A29515) wird auf EIN gesetzt.
2-3-4 Überprüfen schwerwiegender Fehler
Im Folgenden werden schwerwiegende Fehler aufgeführt, nach deren Auftreten die CPU-Baugruppe angehalten wird. Wenn der Betrieb aufgrund eines Pro­grammfehlers angehalten wird, wird die Nummer der Task, in der der Fehler aufgetreten ist, in A294 und die Programmadresse in A298/A299 gespeichert Die Ursache des Programmfehlers kann anhand dieser Informationen ermittelt werden.
Adresse Beschreibung Gespeicherte Daten
A294 Der Typ und die Nummer der Task, bei der der
Betrieb unterbrochen wurde, werden hier gespeichert, wenn der Betrieb aufgrund eines Programm-fehlers angehalten wird.
Sind keine aktiven zyklischen Tasks in einem Zyklus vorhanden, d. h., wenn keine auszufüh­renden zyklischen Tasks vorhanden sind, wird FFFF Hex gespeichert.
A298/A299 in dieser Adresse wird die Programmadresse,
bei der der Betrieb angehalten wurde, in Binär gespeichert, wenn ein Programmfehler die Ursache für das Anhalten des Betriebs war.
Wenn kein END(001)-Befehl vorhanden ist (A29511 ist auf EIN gesetzt), wird die Adresse gespeichert, an der der END(001)-Befehl erwartet wurde.
Tritt ein Taskausführungsfehler auf (A29512 ist auf EIN gesetzt), wird FFFFFFFF Hex in A298 und A299 gespeichert.
Zyklische Task: 0000 bis 001F Hex (zyklische Tasks 0 bis 31) Interrupt-Task: 8000 bis 80FF Hex (Interrupt-Tasks 0 bis 255)
A298: Der rechte Teil der Programmadresse A299: Der linke Teil der Programmadresse
Hinweis Wird der Fehler- oder Zugriffsfehler-Merker auf EIN gesetzt, wird dies als Pro-
grammfehler behandelt und kann zum Anhalten der CPU verwendet werden. Bestimmen Sie den Betrieb (Fortsetzen/Abbruch) beim Auftreten von Pro­grammfehlern im SPS-Setup.
68
Überprüfen von Programmen Abschnitt 2-3
Programmfehler Beschreibung Entsprechende Merker
Kein END-Befehl Im Programm ist kein END-Befehl
Fehler während der Taskausführung Im Zyklus ist keine ausführungsbereite
Befehlsverarbeitungs-Fehler (P_ER-Merker auf EIN gesetzt) und im SPS-Setup definierte Betriebsunterbre­chung bei Befehlsfehlern
Unzulässiger-Zugriff-Fehler (P_AER-Merker auf EIN gesetzt) und im SPS-Setup festgelegte Betriebsun­terbrechung bei Befehlsfehlern
BCD-Fehler-bei-indirekter-DM/EM­Adressierung und im SPS-Setup fest­gelegte Betriebsunterbrechung bei Befehlsfehlern
Flankenauswertungs-Adressenüber­lauf-Fehler
UM-Überlauf-Fehler (Anwenderprogrammspeicher)
Unzulässiger-Befehl-Fehler Es wurde versucht, einen nicht aus-
vorhanden.
Task vorhanden. Einer Task wurde kein Programm
zugeordnet. Die entsprechende Interrupt-Tasknum-
mer ist nicht vorhanden, obwohl die Ausführungsbedingungen für die Inter­rupt-Task erfüllt sind.
Im Operanden wurden bei einer Ver­such der Befehlsausführung falsche Datenwerte bereitgestellt.
Es wurde ein Schreib- oder Lesevorgang für einen Parameterbereich ausgeführt.
Es wurde ein Schreibvorgang in einen Speicherbereich ausgeführt, der nicht vorhanden ist (siehe Hinweis).
Es wurde ein Schreibvorgang in einen EM-Bereich ausgeführt, der als EM-Dateispeicher definiert ist.
Es wurde ein Schreibvorgang in einen schreibgeschützten Bereich ausgeführt.
Der in einer indirekten DM/EM-Adresse im BCD-Modus spezifizierte Wert war nicht in BCD.
Der in einer indirekten DM/EM-Adresse im BCD-Modus spezifizierte Wert ist nicht in BCD.
Bei der Online-Bearbeitung wurden mehr als 131.071 Befehle mit Flanken­auswertung eingefügt oder gelöscht.
Es wurde versucht, Befehlsdaten aus­zuführen, die jenseits der höchsten Adresse im Anwenderspeicher liegen, die als Programmspeicherbereich defi­niert ist.
führbaren Befehl auszuführen.
Der END-Befehl-fehlt-Merker (A29511) wird auf EIN gesetzt.
Der Task-Fehlermerker (29512) wird auf EIN gesetzt.
Wenn für Befehlsfehler im SPS-Setup eine Betriebsunterbrechung festgelegt wurde, werden der P_ER -Merker und der Befehlsverarbeitungs-Fehlermerker (A29508) auf EIN gesetzt.
Wenn für Befehlsfehler im SPS-Setup eine Betriebsunterbrechung festgelegt wurde, werden der P_AER-Merker und der Unzulässiger-Zugriff-Fehlermerker (A29510) auf EIN gesetzt.
Wenn für Befehlsfehler im SPS-Setup eine Betriebsunterbrechung festgelegt wurde, werden der P_AER-Merker und der BCD-Fehler-bei-indirekter-DM/EM­Adressierung-Merker (A29509) auf EIN gesetzt.
Der Flankenauswertungs-Überlauf­Fehlermerker (A29513) wird auf EIN gesetzt.
Der Anwenderprogrammspeicher­Überlauffehlermerker (A29515) wird auf EIN gesetzt.
Der Unzulässiger-Befehl-Merker (A29514) wird auf EIN gesetzt.
69
Loading...