Beruflich Dokumente
Kultur Dokumente
Bitverknüpfungsfunktionen 1
SIMATIC Tabellenfunktionen 2
Schiebefunktionen 3
Systemsoftware für S7-300/400 Übertragungsfunktion und
Standardfunktionen Teil 2 Übertragungsfunktionsbaustein 4
Zeitfunktion und
Zeitfunktionsbausteine 5
Referenzhandbuch
Umwandlungsfunktionen und
Umwandlungsfunktionsbaustein 6
Gleitpunktfunktion 7
Vergleichsfunktionsbausteine 8
Glossar, Stichwortverzeichnis
03/2000
Ausgabe 03
Sicherheitstech- Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Ver-
nische Hinweise meidung von Sachschäden beachten müssen. Die Hinweise sind durch ein Warndreieck her-
vorgehoben und je nach Gefährdungsgrad folgendermaßen dargestellt:
Gefahr
! bedeutet, daß Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten wer-
den, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Warnung
! bedeutet, daß Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten kön-
nen, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Vorsicht
! bedeutet, daß eine leichte Körperverletzung oder ein Sachschaden eintreten können, wenn
die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Hinweis
ist eine wichtige Information über das Produkt, die Handhabung des Produktes oder den
jeweiligen Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.
Qualifiziertes Inbetriebsetzung und Betrieb eines Gerätes dürfen nur von qualifiziertem Personal vorge-
Personal nommen werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise die-
ses Handbuchs sind Personen, die die Berechtigung haben, Geräte, Systeme und Stromkreise
gemäß den Standards der Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kenn-
zeichnen.
Warnung
! Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Ein-
satzfälle und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgerä-
ten und -Komponenten verwendet werden.
Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport. sachgemäße
Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.
Marken SIMATIC und SIMATIC NET und SIMATIC HMI sind ingetragene Marken der
SIEMENS AG.
Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte
für deren Zwecke die Rechte der Inhaber verletzen können.
Zweck des Hand- Dieses Handbuch beschreibt die S7-Funktionen (FCs) und S7-Funktionsbau-
buchs steine (FBs) in der Programmiersprache Kontaktplan (KOP). Mit den FCs
und FBs können Sie Ihr Automatisierungssystem S7-300/S7-400 program-
mieren. Dieses Handbuch liefert Ihnen die erforderlichen Informationen zu
den einzelnen Funktionen und Funktionsbausteinen.
Wo befinden sich Die FCs und FBs, die in diesem Handbuch beschrieben werden, befinden sich
die in der Standardbibliothek von STEP 7. Mit dem STEP 7-Dateimanager kön-
S7-Funktionen? nen Sie die FCs und FBs, die Sie benötigen, in Ihr Ziel-Programmverzeichnis
kopieren. Vergewissern Sie sich zunächst, daß Ihr Programm nicht bereits
FCs oder FBs mit der gleichen Nummer enthält wie die FCs bzw. FBs, die
Sie aus der Bibliothek kopieren möchten. Ist dies der Fall, müssen Sie entwe-
der die FCs und FBs, die bereits in Ihrem Progamm vorhanden sind, oder die
FCs und FBs, die Sie kopieren möchten, umbenennen.
Inhalt des Hand- Dieses Handbuch beschreibt die FCs und FBs kapitelweise nach Ihren Funk-
buchs tionalitäten:
• Bitverknüpfungsfunktionen (Kapitel 1)
• Tabellenfunktionen (Kapitel 2)
• Schiebefunktionen (Kapitel 3)
• Übertragungsfunktion und Übertragungsfunktionsbaustein (Kapitel 4)
• Zeitfunktionen und Zeitfunktionsbausteine (Kapitel 5)
• Umwandlungsfunktionen und Umwandlungsfunktionsbausteine
(Kapitel 6)
• Gleitpunktfunktion (Kapitel 7)
• Vergleichsfunktionsbausteine (Kapitel 8)
• Das Glossar enthält eine alphabetische Auflistung der Begriffe, die für die
Programmierung mit dem Kontaktplan wichtig sind.
Jedes Kapitel beschreibt FCs und FBs, die Sie zusätzlich zu den Standard-
operationen verwenden können. Jede FC und jeder FB wird mit dem vollstän-
digen Namen, der Mnemonik und der FC- bzw. FB-Nummer angegeben. Die
Beschreibungen der FCs und FBs umfassen Informationen zu den folgenden
Themen:
• Beschreibung - grundlegende Beschreibung der Funktionalität.
• Parameter - in einer Tabelle werden die Deklaration, der Datentyp, die
gültigen Speicherbereiche und die Beschreibung der Parameter aufge-
führt.
• Fehlerinformation - Beschreibung der Fehler, die die erfolgreiche Bear-
beitung der FC bzw. des FB verhindern.
• Beispiel - in einem Bild wird die FC bzw. der FB graphisch dargestellt
und Beispiele für Parameter sowie das Ergebnis der Bearbeitung gezeigt.
Einordnung in die Dieses Handbuch ist Teil des STEP 7-Dokumentationspakets, das aus den
Informations- folgenden Handbüchern besteht:
landschaft
Titel Inhalt
Erste Schritte und Dieses Handbuch bietet einen sehr einfachen Einstieg in die Methodik des Aufbaus und
Übungen mit STEP 7 der Programmierung einer S7-300/400. Sie ist insbesondere für den Erstanwender eines
S7-Automatisierungssystems geeignet.
Handbuch Das Handbuch ”Programmieren mit STEP 7” vermittelt das grundlegende Wissen über
Programmieren mit den Aufbau des Betriebssystems und eines Anwenderprogramms einer S7-CPU. Es
STEP 7 sollte vom Erstanwender einer S7-300/400 dazu genutzt werden, sich einen Überblick
über die Programmiermethodik zu verschaffen und darauf das Design seines
Anwenderprogramms aufzubauen.
Referenzhandbuch Die S7-CPUs enthalten in das Betriebssystem integrierte Systemfunktionen und
Systemsoftware für Organisationsbausteine, die Sie bei der Programmierung nutzen können. Das Handbuch
S7-300/400 System- und gibt Ihnen einen Überblick über die bei S7 verfügbaren Systemfunktionen,
Standardfunktionen Organisationsbausteine und ladbare Standardfunktionen sowie - als
Nachschlageinformation - detaillierte Schnittstellenbeschreibungen für deren Nutzung
in Ihrem Anwenderprogramm.
Handbuch Das Handbuch ”STEP 7” erläutert Ihnen die prinzipielle Nutzung und die Funktionen
Hardware konfigurieren der Automatisierungssoftware STEP 7. Als Erstanwender von STEP 7, ebenso wie als
und Verbindungen Kenner von STEP 5, verschafft Ihnen das Handbuch einen Überblick über die
projektieren mit STEP 7 Vorgehensweise bei der Konfigurierung, Programmierung und Inbetriebnahme einer
S7-300/400.
Beim Arbeiten mit der SW können Sie gezielt auf die Online-Hilfe zugreifen, die
Ihnen Unterstützung zu den Detailfragen der SW-Nutzung bietet.
Umsteigerhandbuch Das Umsteigerhandbuch ”Von S5 nach S7” benötigen Sie, wenn Sie vorhandene
Von S5 nach S7 S5-Programme konvertieren wollen, um diese dann in S7-CPUs zum Ablauf zu
bringen.
Das Handbuch gibt Ihnen einen Überblick über die Vorgehensweise und die Nutzung
des Konverters; die detaillierte Bedienung der Konverterfunktionen entnehmen Sie
bitte der Online-Hilfe. Ebenso erhalten Sie über die Online-Hilfe die
Schnittstellenbeschreibung der verfügbaren konvertierten S7-Funktion.
Titel Inhalt
Referenzhandbücher Die Referenzhandbücher zu den Sprachpaketen AWL, KOP und SCL enthalten sowohl
AWL, KOP, SCL1 die Benutzeranleitungen als auch die Sprachbeschreibung. Sie benötigen für die
Programmierung einer S7-300/400 nur eine der Sprachen, können aber auch bei
Bedarf die Sprachen innerhalb eines Projektes mischen.
Für den erstmaligen Einsatz der Sprachen ist es empfehlenswert, sich anhand des
Handbuchs ”Programmieren mit STEP 7” mit der Methodik der Programmerstellung
vertraut zu machen.
Beim Arbeiten mit der jeweiligen Software können Sie die Online-Hilfe nutzen, die
Ihnen alle Detailfragen zur Nutzung der zugehörigen Editoren / Compiler beantwortet.
Handbücher Die Sprachen S7-GRAPH, S7-HiGraph, CFC bieten zusätzlich Möglichkeiten,
S7-GRAPH1 , Ablaufsteuerungen, Zustandssteuerungen oder graphische Verschaltungen von
S7-HiGraph1, CFC1 Bausteinen zu realisieren. Die Handbücher enthalten sowohl die Benutzeranleitung als
auch die Sprachbeschreibung.
Für einen erstmaligen Einsatz der Sprache ist es empfehlenswert, sich mit der
Methodik der Programmerstellung anhand des Handbuchs ”Programmieren mit
STEP 7” vertraut zu machen.
Beim Arbeiten mit der jeweiligen Software können Sie zudem die Online-Hilfe
nutzen (Ausnahme HiGraph), die Ihnen die Detailfragen zu der Nutzung der
Editoren/Compiler beantwortet.
1 Optionspakete zu Systemsoftware für S7-300/S7-400
Weitere Wenn Sie Fragen haben, die in diesem oder den anderen STEP 7-Hand-
Unterstützung büchern nicht beantwortet werden, weitere Informationen zum Bestellen zu-
sätzlicher Handbücher oder Geräte benötigen oder über Trainingsmöglichkei -
ten informiert werden möchten, dann wenden Sie sich bitte an Ihre
Siemens-Vertretung.
Liste der Die folgenden Funktionen und Funktionsbausteine werden in diesem Hand-
Funktionen und buch beschrieben:
Funktionsbau-
steine
Funktion bzw. Funktionsbaustein Nummer Seite
Zeit als speichernde Einschaltverzögerung starten (TONR) FC80 5-2
Datenbereich indirekt übertragen (IBLKMOV) FC81 4-2
Merker- oder Peripheriebereich im Prozeßabbild rücksetzen FC82 1-2
(RSET)
Merker- oder Peripheriebereich im Prozeßabbild setzen (SET) FC83 1-6
Wert in Tabelle eintragen (ATT) FC84 2-2
Ersten Wert der Tabelle ausgeben (FIFO) FC85 2-4
Wert in Tabelle suchen (TBL_FIND) FC86 2-6
Letzen Wert der Tabelle ausgeben (LIFO) FC87 2-9
Tabellenoperation ausführen (TBL) FC88 2-11
Wert aus der Tabelle kopieren (TBL_WRD) FC89 2-13
Datum im Schieberegister speichern (WSR) FC90 3-2
Wert logisch mit Tabellenelement verknüpfen und speichern FC91 2-15
(WRD_TBL)
Bit in Schieberegister schieben (SHRB) FC92 3-4
Bitmuster für 7-Segment-Anzeige erzeugen (SEG) FC93 6-2
ASCII-Zeichenkette in Hexadezimalzahl wandeln (ATH) FC94 6-4
Hexadezimalzahl in ASCII-Zeichenkette wandeln (HTA) FC95 6-6
Vorgegebenes Bit im Wort setzen (ENCO) FC96 6-8
Bitnummer des niederwertigsten gesetzten Bits lesen (DECO) FC97 6-9
Zehnerkomplement erzeugen (BCDCPL) FC98 6-10
Anzahl der gesetzten Bits zählen (BITSUM) FC99 6-11
Ausgangsbereich unmittelbar rücksetzen (RSETI) FC100 1-4
Ausgangsbereich unmittelbar setzen (SETI) FC101 1-8
Standardabweichung (DEV) FC102 7-2
Korrelierte Datentabellen (CDT) FC103 2-17
Tabellenverknüpfung (TBL_TBL) FC104 2-19
Werte skalieren (SCALE) FC105 6-12
Werte deskalieren (UNSCALE) FC106 6-14
Lead/Lag Algorithmus (LEAD_LAG) FB80 6-16
Diskreter Steuerungszeitalarm (DCAT) FB81 5-4
Motorsteuerungszeitalarm (MCAT) FB82 5-7
Index Matrix Vergleich (IMC) FB83 8-2
Matrixscanner (SMC) FB84 8-6
Ereignis maskierbare Drum (DRUM) FB85 5-10
Sammle/Verteile Tabellendaten (PACK) FB86 4-4
1 Bitverknüpfungsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1 Merker- oder Peripheriebereich im Prozeßabbild rücksetzen
(RSET): FC82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.2 Ausgangsbereich unmittelbar rücksetzen (RSETI): FC100 . . . . . . . . . . . . 1-4
1.3 Merker- oder Peripheriebereich im Prozeßabbild setzen (SET): FC83 . . 1-6
1.4 Ausgangsbereich unmittelbar setzen (SETI): FC101 . . . . . . . . . . . . . . . . . 1-8
2 Tabellenfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1 Wert in Tabelle eintragen (ATT): FC84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.2 Ersten Wert der Tabelle ausgeben (FIFO): FC85 . . . . . . . . . . . . . . . . . . . . 2-4
2.3 Wert in Tabelle suchen (TBL_FIND): FC86 . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.4 Letzten Wert der Tabelle ausgeben (LIFO): FC87 . . . . . . . . . . . . . . . . . . . . 2-9
2.5 Tabellenoperation ausführen (TBL): FC88 . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.6 Wert aus Tabelle kopieren (TBL_WRD): FC89 . . . . . . . . . . . . . . . . . . . . . . . 2-13
2.7 Wert logisch mit Tabellenelement verknüpfen und speichern
(WRD_TBL): FC91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
2.8 Korrelierte Datentabellen (CDT): FC103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
2.9 Tabellenverknüpfung (TBL_TBL): FC104 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
3 Schiebefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1 Datum im Schieberegister speichern (WSR): FC90 . . . . . . . . . . . . . . . . . . 3-2
3.2 Bit in Bitschieberegister schieben (SHRB): FC92 . . . . . . . . . . . . . . . . . . . . 3-4
4 Übertragungsfunktion und Übertragungsfunktionsbaustein . . . . . . . . . . . . . . . 4-1
4.1 Datenbereich indirekt übertragen (IBLKMOV): FC81 . . . . . . . . . . . . . . . . . 4-2
4.2 Sammle/Verteile Tabellendaten (PACK): FB86 . . . . . . . . . . . . . . . . . . . . . . . 4-4
5 Zeitfunktion und Zeitfunktionsbausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1 Zeit als speichernde Einschaltverzögerung starten (TONR): FC80 . . . . . 5-2
5.2 Diskreter Steuerungszeitalarm (DCAT): FB81 . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.3 Motorsteuerungszeitalarm (MCAT): FB82 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.4 Ereignis maskierbare Drum (DRUM): FB85 . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
6 Umwandlungsfunktionen und Umwandlungsfunktionsbaustein . . . . . . . . . . . . 6-1
6.1 Bitmuster für 7-Segment-Anzeige erzeugen (SEG): FC93 . . . . . . . . . . . . . 6-2
6.2 ASCII-Zeichenkette in Hexadezimalzahl wandeln (ATH): FC94 . . . . . . . . 6-4
6.3 Hexadezimalzahl in ASCII-Zeichenkette wandeln (HTA): FC95 . . . . . . . . 6-6
6.4 Bitnummer des niederwertigsten gesetzten Bits lesen (ENCO): FC96 . . 6-8
6.5 Vorgegebenes Bit im Wort setzen (DECO): FC97 . . . . . . . . . . . . . . . . . . . . 6-9
6.6 Zehnerkomplement erzeugen (BCDCPL): FC98 . . . . . . . . . . . . . . . . . . . . . 6-10
6.7 Anzahl der gesetzten Bits zählen (BITSUM): FC99 . . . . . . . . . . . . . . . . . . . 6-11
6.8 Werte skalieren (SCALE): FC105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
6.9 Werte deskalieren (UNSCALE): FC106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
6.10 Lead/Lag Algorithmus (LEAD_LAG): FB80 . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
7 Gleitpunktfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.1 Standardabweichung (DEV): FC102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
8 Vergleichsfunktionsbausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1 Index Matrix Vergleich (IMC): FB83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.2 Matrixscanner (SMC): FB84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossar-1
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
Tabelle 1-1 Parameter der Funktion Merker- oder Peripheriebereich im Prozeßabbild rücksetzen (FC82)
Fehlerinformation Wenn der Pointer S_BIT auf den Speicherbereich der externen Peripherie ver-
weist, dann wird der Signalzustand der Bits in dem Bereich nicht verändert,
Weitere und das ENO-Bit wird auf ”0” gesetzt.
Unterstützung Wenn Sie Fragen haben, die in diesem oder den anderen STEP 7-Hand-
büchern nicht beantwortet werden, weitere Informationen zum Bestellen zu-
sätzlicher Handbücher oder Geräte benötigen oder über Trainingsmöglichkei-
ten informiert werden möchten, dann wenden Sie sich bitte an Ihre Siemens-
Vertretung.
Beispiel Bild 1-1 zeigt die Funktionsweise der Operation RSET. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert) und ist das MCR-Bit = 1, dann wird die Funk-
tion RSET ausgeführt. In dem Beispiel zeigt der Parameter S_BIT auf das erste
Bit mit dem Operanden M 0.0. Der Parameter N gibt an, daß 10 Bits zurückge-
setzt werden sollen. Nach der Bearbeitung der Operation ist der Signalzustand
der 10 Bits in dem Bereich von M 0.0 bis M 1.1 auf ”0” zurückgesetzt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
RSET
E 0.0 FC82 A 4.0
EN ENO
Hinweis
Bei dem Wert des Parameters N muß es sich um ein Vielfaches der Zahl 8
handeln (z. B. 8, 16, 24 usw.).
Der Pointer S_BYTE muß auf den Speicherbereich der externen Peripherie (P)
verweisen. Da auf den Speicherbereich P im Byte-, Wort- und Doppelwort-
format zugegriffen wird, muß der Parameter S_BYTE auf einen Operanden
zeigen, der einem Byte-Grenzwert entspricht, d. h. die Bitnummer des Pointers
muß ”0” sein.
Hinweis
Der Signalzustand der entsprechenden Bits im Prozeßabbild der Ausgänge (A)
wird auch auf ”0” zurückgesetzt.
Fehlerinformation Tritt eine der folgenden Bedingungen auf, dann ändert sich der Signalzustand
der Bits in dem Bereich nicht, und der Signalzustand von ENO wird auf ”0”
gesetzt.
• Der Pointer S_BYTE zeigt auf einen anderen Speicherbereich als den der
externen Peripherie (P).
• Der Pointer S_BYTE zeigt auf einen Operanden, der keinem Byte-Grenz-
wert entspricht.
• Der Wert des Parameters N ist kein Vielfaches der Zahl 8.
Beispiel Bild 1-2 zeigt die Funktionsweise der Operation RSETI. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert) und ist das MCR-Bit = 1, dann wird die Funk-
tion RSETI ausgeführt. In dem Beispiel zeigt der Parameter S_BYTE auf das
erste Byte mit dem Operanden P 2.0. Der Parameter N gibt an, daß 16 Bits (2
Bytes) zurückgesetzt werden sollen. Nach der Bearbeitung der Operation ist
der Signalzustand der Bytes in dem Bereich von P 2.0 bis P 3.7 auf ”0” zurück-
gesetzt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
RSETI
E 0.0 FC100 A 4.0
EN ENO
P#P 2.0 S_BYTE
16 N
Tabelle 1-3 Parameter der Funktion Merker- oder Peripheriebereich im Prozeßabbild setzen (FC83)
Fehlerinformation Wenn der Pointer S_BIT auf den Speicherbereich der externen Peripherie (P)
verweist, dann wird der Signalzustand der Bits in dem Bereich nicht verändert,
und das ENO-Bit wird auf ”0” gesetzt.
Beispiel Bild 1-3 zeigt die Funktionsweise der Operation SET. Ist der Signalzustand am
Eingang E 0.0 = 1 (aktiviert) und ist das MCR-Bit = 1, dann wird die Funktion
SET ausgeführt. In dem Beispiel zeigt der Parameter S_BIT auf das erste Bit
mit dem Operanden M 0.0. Der Parameter N gibt an, daß 10 Bits gesetzt wer-
den sollen. Nach der Bearbeitung der Operation ist der Signalzustand der 10
Bits in dem Bereich von M 0.0 bis M 1.1 auf ”1” gesetzt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
SET
E 0.0 FC83 A 4.0
EN ENO
Beschreibung Die Funktion Ausgangsbereich unmittelbar setzen (SETI) setzt den Signalzu-
stand der Bits in einem angegebenen Bereich von Bytes auf ”1”, wenn das
MCR-Bit ”1” ist. Ist das MCR-Bit ”0”, dann wird der Signalzustand der Bytes
in dem Bereich nicht verändert. Der Parameter S_BYTE zeigt auf das erste
Byte in dem Bereich. Der Parameter N gibt die Größe des Bereichs an. Die
Größe wird über die Anzahl der Bits in dem Bereich angegeben. Wenn Sie
beispielsweise einen Bereich von 2 Bytes definieren möchten, geben Sie 16 (16
Bits) als Wert des Parameters N an.
Hinweis
Bei dem Wert des Parameters N muß es sich um ein Vielfaches der Zahl 8
handeln (z. B. 8, 16, 24 usw.).
Der Pointer S_BYTE muß auf den Speicherbereich der externen Peripherie (P)
verweisen. Da auf den Speicherbereich P im Byte-, Wort- und Doppelwort-
format zugegriffen wird, muß der Parameter S_BYTE auf einen Operanden
zeigen, der einem Byte-Grenzwert entspricht, d. h. die Bitnummer des Pointers
muß ”0” sein.
Hinweis
Der Signalzustand der entsprechenden Bits im Prozeßabbild der Ausgänge (A)
wird auch auf ”0” zurückgesetzt.
Fehlerinformation Tritt eine der folgenden Bedingungen auf, dann ändert sich der Signalzustand
der Bits in dem Bereich nicht, und der Signalzustand von ENO wird auf ”0”
gesetzt.
• Der Pointer S_BYTE zeigt auf einen anderen Speicherbereich als den der
externen Peripherie (P).
• Der Pointer S_BYTE zeigt auf einen Operanden, der keinem Byte-Grenz-
wert entspricht.
• Der Wert des Parameters N ist kein Vielfaches der Zahl 8.
Beispiel Bild 1-4 zeigt die Funktionsweise der Operation SETI. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert) und ist das MCR-Bit = 1, dann wird die Funk-
tion SETI ausgeführt. In dem Beispiel zeigt der Parameter S_BYTE auf das
erste Byte mit dem Operanden P 2.0. Der Parameter N gibt an, daß 16 Bits (2
Bytes) gesetzt werden sollen. Nach der Bearbeitung der Operation ist der Si-
gnalzustand der Bytes in dem Bereich von P 2.0 bis P 3.7 auf ”1” gesetzt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
SETI
E 0.0 FC101 A 4.0
EN ENO
Beschreibung Die Funktion Wert in Tabelle eintragen (ATT) ergänzt den Parameter DATA als
nächsten Eintrag in einer Tabelle und erhöht die Anzahl der Einträge um einen
Eintrag. Die Tabelle besteht aus Wörtern. Mit dieser Funktion können Sie
Tabelleneinträge erstellen, die von den Funktionen FIFO und LIFO verwendet
werden.
• Der erste Eintrag einer FIFO- oder LIFO-Tabelle gibt die maximale Anzahl
Einträge in der Tabelle (Tabellenlänge) an.
• Der zweite Eintrag einer Tabelle gibt die Anzahl der vorhandenen Einträge
an.
• Der dritte Eintrag der Tabelle enthält das erste Wort an Daten.
Hinweis
Sie müssen die ersten beiden Einträge initialisieren, wenn Sie eine Tabelle
erstellen.
Fehlerinformation Ist die Anzahl der Einträge gleich oder größer als die Tabellenlänge, dann wer-
den die Daten nicht in die Tabelle eingegeben, und das ENO-Bit wird auf ”0”
gesetzt.
Beispiel Bild 2-1 zeigt die Funktionsweise der Operation ATT. Ist der Signalzustand am
Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion ATT ausgeführt. In dem
Beispiel wird der Parameter DATA als fünfter Eintrag in die Tabelle eingege-
ben, und die Anzahl der Einträge in der Tabelle erhöht sich von 4 auf 5.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
ATT
E 0.0 FC84 A 4.0
EN ENO
W#16#0024 DATA
P#DB1.DBX10.0 TABLE
Beschreibung Die Funktion Ersten Wert der Tabelle ausgeben (FIFO) gibt den ältesten Ein-
trag der FIFO-Tabelle als Funktionswert aus. Die Anzahl der Einträge wird um
einen Eintrag verringert. Sind noch Einträge in der Tabelle vorhanden, dann
werden diese nach unten geschoben. Die FIFO-Tabelle besteht aus Wörten. Sie
können mit der Funktion ATT Werte in die FIFO-Tabelle eintragen.
• Der erste Eintrag einer Tabelle gibt die maximale Anzahl Einträge in der
Tabelle (Tabellenlänge) an.
• Der zweite Eintrag einer Tabelle gibt die Anzahl der vorhandenen Einträge
an.
• Der dritte Eintrag der Tabelle enthält das erste Wort an Daten.
Tabelle 2-2 Parameter der Funktion Ersten Wert der Tabelle ausgeben (FC85)
Fehlerinformation Ist die FIFO-Tabelle leer (Anzahl der Einträge = 0), dann wird der Parameter
RET_VAL nicht verändert, und das ENO-Bit wird auf ”0” gesetzt.
Beispiel Bild 2-2 zeigt die Funktionsweise der Operation FIFO. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion FIFO ausgeführt. In
dem Beispiel wird der älteste Eintrag der Tabelle als Funktionswert (MW 2)
ausgegeben. Die Anzahl der Einträge reduziert sich von 5 auf 4, und die übri-
gen Einträge werden in der Tabelle nach unten geschoben.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
FIFO
E 0.0 FC85 A 4.0
EN ENO
P#DB1.DBX10.0 TABLE
RET_VAL MW 2
Beschreibung Mit der Funktion Wert in Tabelle suchen (TBL_FIND) können Sie nach
Mustern im Speicher suchen, die entweder übereinstimmen sollen oder nicht.
Die Funktion führt einen Vergleich (CMD) zwischen dem Quellmuster
(PATRN) und der Quelltabelle (SRC) aus. Gesucht wird das nächste Element
(ab dem Element, das von dem Parameter INDX angegeben wird) in der
Tabelle, das den Vergleichsbedingungen entspricht. Die Nummer des Elements
wird in dem Parameter INDX abgelegt. Wird keine Entsprechung gefunden,
dann zeigt der Parameter INDX über das Ende der Tabelle hinaus, und der
Ausgang der Funktion wird ausgeschaltet.
• Ist CMD = 1, dann sucht die Funktion nach dem ersten Wert, der dem Wert
PATRN entspricht.
• Ist CMD = 2, dann sucht die Funktion nach dem ersten Wert, der dem Wert
PATRN nicht entspricht.
• Der erste Eintrag in der Tabelle gibt die maximal zulässige Anzahl Einträge
in der Tabelle (Tabellenlänge) an.
• Der zweite Tabelleneintrag enthält den ersten Wert in der Tabelle.
Hinweis
Sie müssen den ersten Eintrag (Tabellenlänge) in der Tabelle initialisieren.
Fehlerinformation Tritt eine der in Tabelle 2-4 dargestellten Bedingungen auf, werden die Werte
in der Tabelle nicht geändert. Der Signalzustand von ENO wird auf ”0” und
der Rücksprungwert entsprechend gesetzt (siehe Tabelle 2-4).
RET_VAL Erläuterung
W#16#0008 Der gesuchte Wert wurde nicht gefunden.
W#16#0009 Der Parameter E_TYPE und/oder der Parameter CMD ist/sind
ungültig.
Beispiel Bild 2-3 zeigt die Funktionsweise der Operation TBL_FIND. Ist der Signalzu-
stand von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion ausgeführt. In
diesem Beispiel werden die Daten in der Tabelle in Wörtern gespeichert, die an
dem Eintrag beginnen, auf die der Parameter SRC zeigt, weil der Parameter
E_TYPE = 4 ist. Diese Wörter werden mit dem Muster 5555 verglichen, das in
der Adresse gespeichert wird, die von dem Parameter PATRN angegeben wird.
Weil der Wert des Parameters CMD = 1 ist, wird der erste Wert in dem Para-
meter SRC gesucht, der mit dem Muster übereinstimmt. Der Parameter INDX
zeigt auf den Eintrag, an dem die Suche beginnen soll. Nach der Bearbeitung
der Operation gibt der Parameter INDX die Adresse in der Tabelle an, an der
eine Entsprechung für das Muster gefunden wurde.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” und RET_VAL gleich W#16#0000 gesetzt.
TBL_FIND
E 0.0 FC86 A 4.0
EN ENO
P#DB1.DBX0.0 SRC RET_VAL MW0 Der erste Eintrag in der Tabelle gibt die
Länge der Suchoperation an. Der Wert
P#DB2.DBX10.0 PATRN 0004 bedeutet, daß die nächsten 4
Einträge in der Tabelle durchsucht werden.
B#16#01 CMD
Der Parameter INDX wird von DW0 (vor
B#16#04 E_TYPE
der Bearbeitung) nach DW6 (nach der
MW2 INDX Bearbeitung) übertragen, weil das Muster
des Eintrags DW6 dem Muster 5555 in
dem Pointereintrag PATRN entspricht.
Beschreibung Die Funktion Letzten Wert der Tabelle ausgeben (LIFO) gibt den neuesten Ein-
trag der LIFO-Tabelle als Funktionswert aus. Die Anzahl der Einträge wird um
einen Eintrag verringert. Die LIFO-Tabelle besteht aus Wörten. Sie können mit
der Funktion ATT Werte in die LIFO-Tabelle eintragen.
• Der erste Eintrag einer Tabelle gibt die maximale Anzahl Einträge in der
Tabelle (Tabellenlänge) an.
• Der zweite Eintrag einer Tabelle gibt die Anzahl der vorhandenen Einträge
an.
• Der dritte Eintrag der Tabelle enthält das erste Wort an Daten.
Tabelle 2-5 Parameter der Funktion Letzten Wert der Tabelle ausgeben (FC87)
Fehlerinformation Ist die LIFO-Tabelle leer (Anzahl der Einträge = 0), dann wird der Parameter
RET_VAL nicht verändert, und das ENO-Bit wird auf ”0” gesetzt.
Beispiel Bild 2-4 zeigt die Funktionsweise der Operation LIFO. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion LIFO ausgeführt. In
dem Beispiel wird der neueste Eintrag der LIFO-Tabelle als Funktionswert
(MW 2) ausgegeben. Die Anzahl der Einträge reduziert sich von 5 auf 4.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
LIFO
E 0.0 FC87 A 4.0
EN ENO
P#DB1.DBX10.0 TABLE
RET_VAL MW 2
Beschreibung Die Funktion Tabellenoperation ausführen (TBL) führt die angegebene Opera-
tion (von CMD gesetzt) mit der Quelltabelle aus und speichert das Ergebnis in
dem gleichen Eintrag in der Tabelle.
• Der erste Eintrag in der Tabelle gibt die maximal zulässige Anzahl Einträge
in der Tabelle (Tabellenlänge) an.
• Der zweite Tabelleneintrag enthält den ersten Wert in der Tabelle.
• Ist der Parameter E_TYPE auf REAL gesetzt, dann ist der Wert von CMD
für das Einerkomplement ungültig.
Hinweis
Beim Erstellen der Tabelle müssen Sie den ersten Eintrag initialisieren.
Fehlerinformation Ist einer der Parameter CMD oder E_TYPE ungültig oder CMD und E_TYPE
stimmen nicht überein, dann werden die Werte in der Tabelle nicht geändert.
Der Signalzustand von ENO wird auf ”0” gesetzt und RET_VAL wird auf den
gleichen Wert gesetzt wie W#16#0008.
Beispiel Bild 2-5 zeigt die Funktionsweise der Operation TBL. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion TBL ausgeführt. In
diesem Beispiel zeigt der Parameter SRC auf die Adresse in dem Datenbau-
stein, die von der Operation bearbeitet werden soll. Da der Parameter E_TYPE
= 4 ist, werden die Daten in der Tabelle in den Wörtern gespeichert, die an der
Adresse beginnen, auf die der Parameter SRC zeigt. Weil der Wert von CMD =
4 ist (Löschen), werden alle Wörter in der Tabelle gelöscht (auf ”0” gesetzt),
wenn die Operation TBL ausgeführt wird. Da in dem ersten Eintrag in der Ta-
belle die Länge 5 angegeben wird, werden die nächsten fünf Adressen in der
Tabelle gelöscht.
TBL
E 0.0 FC88 A 4.0
EN ENO
B#16#04 CMD
B#16#04 E_TYPE
Beschreibung Die Funktion Wert aus Tabelle kopieren (TBL_WRD) kopiert den Eintrag, der
von dem Parameter INDX angegeben wird, aus der Tabelle SRC an die Stelle,
auf die der Parameter DEST zeigt, und erhöht dann den Wert von INDX, so-
fern der Wert kleiner ist als die maximale Länge, die in dem ersten Wort der
Tabelle angegeben wird, SRC[0]. Gibt der Parameter INDX den letzten Tabel-
leneintrag an, wenn diese Operation aufgerufen wird, dann wird das Bit des
Ausgangs A nach der Bearbeitung auf ”0” gesetzt.
• Der erste Eintrag in der Tabelle gibt die maximal zulässige Anzahl Einträge
in der Tabelle (Tabellenlänge) an.
• Der zweite Tabelleneintrag enthält den ersten Wert in der Tabelle.
Hinweis
Beim Erstellen der Tabelle müssen Sie den ersten Eintrag initialisieren.
Tabelle 2-7 Parameter der Funktion Wert aus Tabelle kopieren (FC89)
Fehlerinformation Tritt eine der in Tabelle 2-8 aufgeführten Bedingungen auf, dann wird die
Funktion nicht ausgeführt. Der Signalzustand von ENO wird auf ”0” und der
Rücksprungwert entsprechend gesetzt.
RET_VAL Erläuterung
W#16#0007 Index ist 0.
W#16#0008 E_TYPE ist ungültig.
W#16#0009 Index liegt außerhalb der Tabelle.
Beispiel Bild 2-6 zeigt die Funktionsweise der Operation TBL_WRD. Ist der Signalzu-
stand an Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion TBL_WRD
ausgeführt. Da der Parameter E_TYPE = 4 ist, wird das Datenwort, das in der
Tabelle an der Adresse gespeichert wird, auf die der Parameter SRC zeigt, an
die Adresse kopiert, die von dem Parameter DEST angegeben wird. Der Wert
von INDX zeigt auf die Adresse in der Tabelle, die kopiert werden soll. Nach
der erfolgreichen Ausführung der Funktion wird der Wert von INDX automa-
tisch um eine Adresse erhöht. In diesem Beispiel enthält der Wert von INDX
beim Aufruf der Funktion nicht den letzten Eintrag in dieser Tabelle, deshalb
ist der Ausgang A nach der Bearbeitung ”1”.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W#16#0000 gesetzt.
TBL_WRD
E 0.0 FC89 A 4.0
EN ENO
RET_VAL MW0
P#DB1.DBX0.0 SRC
Q M 2.0
P#DB2.DBX20.0 DEST
B#16#04 E_TYPE
MW1 INDX
Beschreibung Die Funktion Wert logisch mit Tabellenelement verknüpfen und speichern
(WRD_TBL) führt die angegebene Operation (CMD) mit dem Quellelement
(von SRC angegeben) und dem Eintrag der Tabelle an dem Versatz aus, der
von dem Parameter INDX angegeben wird. Dann erhöht die Funktion den Wert
von INDX, sofern der Wert kleiner ist als die Länge der Tabelle.
• Der erste Eintrag in der Tabelle gibt die maximal zulässige Anzahl Einträge
in der Tabelle (Tabellenlänge) an.
• Der zweite Tabelleneintrag enthält den ersten Wert in der Tabelle.
• Handelt es sich bei dem Parameter E_TYPE um den Datentyp REAL, dann
kann der Parameter CMD nur ”Kopieren” sein.
Hinweis
Beim Erstellen der Tabelle müssen Sie den ersten Eintrag initialisieren.
Fehlerinformation Tritt eine der in Tabelle 2-10 aufgeführten Bedingungen auf, dann wird die
Funktion nicht ausgeführt. Der Signalzustand von ENO wird auf ”0” und der
Rücksprungwert entsprechend gesetzt.
RET_VAL Erläuterung
W#16#0007 Index ist 0.
W#16#0008 CMD oder E_TYPE ist ungültig bzw. CMD und E_TYPE
stimmen nicht überein.
W#16#0009 Index liegt außerhalb der Tabelle.
Beispiel Bild 2-7 zeigt die Funktionsweise der Operation WRD_TBL. Ist der Signal-
zustand an Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion WRD_TBL aus-
geführt. Da der Parameter E_TYPE = 6 ist, wird das Doppelwort der Daten in der
Tabelle an der Adresse gespeichert, auf die der Parameter TABLE zeigt. Das erste
Wort der Tabelle zeigt an, daß die Tabelle drei Doppelwörter enthält. Der Wert
von INDX zeigt auf die Adresse in der Tabelle, die bearbeitet werden soll. Da der
Wert von CMD = 8 ist, wird eine ODER-Verknüpfung mit dem Wert ausgeführt,
auf den der Parameter INDX zeigt. Weil der Wert von INDX = 2 ist, wird das
zweite Doppelwort (66665544) mit dem Wert, auf den der Parameter SRC
(11111111) zeigt, durch ODER verknüpft. Nach der Bearbeitung der Operation
wird das Ergebnis der ODER-Verknüpfung (77775555) zurück in die Tabelle ge-
schrieben, und der Wert von INDX wird automatisch um eine Adresse erhöht.
Zeigt der Parameter INDX auf den letzten Eintrag einer Tabelle, dann wird das
Bit des Ausgangs A nach der Bearbeitung der Operation auf ”0” gesetzt. In die-
sem Beispiel enthält der Wert von INDX nicht den letzten Eintrag in dieser Ta-
belle, deshalb ist der Ausgang A nach der Bearbeitung ”1”.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W#16#0000 gesetzt.
WRD_TBL
E 0.0 FC91 A 4.0
EN ENO
P#DB2.DBX20.0 SRC RET_VAL MW0
P#DB1.DBX0.0 TABLE Q M 2.0
B#16#08 CMD
B#16#06 E_TYPE
MW1 INDX
Vor der Bearbeitung:
SRC DBD20 = DW#16#11111111
TABLE (Tabellenlänge) DBW0 = W#16#0003
DBD2 = DW#16#99998877
DBD6 = DW#16#66665544
DBD10 = DW#16#33332222
INDX MW1 = W#16#0002
Nach der Bearbeitung:
TABLE (Tabellenlänge) DBW0 = W#16#0003
DBD2 = DW#16#99998877
DBD6 = DW#16#77775555
DBD10 = DW#16#33332222
INDX MW1 = W#16#0003
Bild 2-7 Wert logisch mit Tabellenelement verknüpfen und speichern (WRD_TBL)
Hinweis
Beim Erstellen der Tabellen müssen Sie jeweils den ersten Eintrag
initialisieren.
Fehlerinformation Tritt eine der in Tabelle 2-12 aufgeführten Fehlerbedingungen auf, wird die
Funktion nicht ausgeführt. Der Signalzustand von ENO wird auf ”0” und der
Rücksprungwert entsprechend gesetzt.
RET_VAL Erläuterung
W#16#0001 Für einen Parameter der Funktion wurde ein ungültiger
Speicherbereich angegeben.
W#16#0002 E_TYPE ist ungültig.
W#16#0003 Die Längen der Eingangs- und Ausgangstabellen stimmen nicht
überein.
W#16#0004 Die Tabelle hat eine Länge von Null.
W#16#0007 In IN_TBL befindet sich kein Wert, der größer als oder gleich
dem Eingabewert ist.
Beispiel Bild 2-8 zeigt die Funktionsweise der Operation CDT. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion CDT ausgeführt. In
diesem Beispiel enthalten sowohl IN_TBL und OUT_TBL jeweils 5 Tabellen-
einträge. Dies wird von dem ersten Wort der jeweiligen Tabelle angegeben. Bei
dem Datentyp der Tabellenwerte handelt es sich um INTEGER. Dies gibt
E_TYPE an. Der Wert von IN ist 22. Der Wert von IN_TBL, der größer als
oder gleich 22 ist, ist 64, der den Index 5 hat. Der entsprechende Wert in
OUT_TBL ist 25. Deshalb wird der Wert 25 in OUT geschrieben.
Wird die Funktion fehlerfrei bearbeitet, dann ist der Signalzustand von
A 4.0 = 1 und RET_VAL wird auf W#16#0000 gesetzt.
CDT
E 0.0 A4.0
FC103
EN ENO
P#DB1.DBX0.0 IN_TBL RET_VAL MW0
P#DB1.DBX100.0 OUT_TBL
P#DB1.DBX200.0 IN
P#DB1.DBX210.0 OUT
B#16#05 E_TYPE
Hinweis
Beim Erstellen der Tabellen müssen Sie jeweils den ersten Eintrag initialisieren.
Error Information Tritt eine der in Tabelle 2-14 aufgeführten Fehlerbedingungen auf, wird die
Funktion nicht ausgeführt. Der Signalzustand von ENO wird auf ”0” und der
Rücksprungwert entsprechend gesetzt.
RET_VAL Erläuterung
W#16#0001 Für einen Parameter der Funktion wurde ein ungültiger
Speicherbereich angegeben.
W#16#0002 E_TYPE ist ungültig.
W#16#0003 Die Längen der Eingangs- und Ausgangstabellen stimmen nicht
überein.
W#16#0004 Die Tabelle hat eine Länge von Null.
W#16#0005 E_TYPE und CMD stimmen nicht überein.
W#16#0006 CMD ist ungültig.
Beispiel Bild 2-9 zeigt die Funktionsweise der Operation TBL_TBL. Ist der Signalzu-
stand von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion TBL_TBL
ausgeführt. In diesem Beispiel enthalten alle Tabellen jeweils 3 Tabellenein-
träge. Dies wird von dem ersten Wort der jeweiligen Tabelle angegeben. Bei
dem Datentyp der Tabellenwerte handelt es sich um WORD. Dies gibt
E_TYPE an. CMD gibt an, daß der für TBL1 und TBL2 auszuführende Befehl
eine UND-Verknüpfung ist.
Wird die Funktion fehlerfrei bearbeitet, ist der Signalzustand von A 4.0 = 1
und RET_VAL wird auf W#16#0000 gesetzt.
Beschreibung Die Funktion Datum im Schieberegister speichern (WSR) schiebt Daten aus
der angegebenen Quelle in ein Schieberegister. Die Werte werden jeweils in
die nächste Adresse geschoben. Der Parameter LENGTH gibt die Anzahl der
Adressen an, die geschoben werden sollen. Die Daten, die in der letzten
Adresse des Schieberegisters enthalten sind, gehen nach der Schiebeoperation
verloren. Neue Daten werden jedesmal dann aus der Quelle (S_DATA) gele-
sen, wenn die Operation ausgeführt wird. Diese Daten werden in die Anfangsa-
dresse (START) des Schieberegisters geschoben, wenn der Eingang RESET
auf ”0” gesetzt wird. Wird der Eingang RESET auf ”1” gesetzt, dann werden
die Adressen des Registers auf ”0” gesetzt. Ausgang A wird eingeschaltet,
wenn das Schieberegister leer ist oder gelöscht wird (d. h. nach dem Rückset-
zen oder wenn das Register mit Nullen belegt wird).
Fehlerinformation Wird ein ungültiger Parameter E_TYPE verwendet, dann wird die Funktion
nicht ausgeführt, und das ENO-Bit wird auf ”0 ” gesetzt.
Beispiel Bild 3-1 zeigt die Funktionsweise der Operation WSR. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion WSR ausgeführt.
Weil der Parameter E_TYPE = 4 ist, werden Wörter in der Tabelle gespeichert,
und zwar mit Beginn an der Adresse, auf die der Parameter SRC zeigt. Der
Parameter LENGTH gibt ”4” an, so daß 4 Wörter geschoben werden, wobei
das erste Wort von dem Pointer START angegeben wird. Nachdem der erste
Wert der Tabelle in die nächste Adresse geschoben wurde, wird die erste
Adresse mit den Daten belegt, auf die der Pointer S_DATA zeigt. Der letzte
Tabelleneintrag geht verloren. Wenn der Eingang RESET auf ”1” gesetzt wird,
dann werden die Adressen in der Tabelle auf ”0” gesetzt und nicht geschoben.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
WSR
E 0.0 FC90 A 4.0
EN ENO
P#DB2.DBX6.0 S_DATA
P#DB1.DBX0.0 START
B#16#04 LENGTH
B#16#04 E_TYPE
Beschreibung Die Funktion Bit in Bitschieberegister schieben (SHRB) schiebt ein Bit aus der
angegebenen Quelle (DATA) in ein Schieberegister. Neue Daten werden jedes-
mal dann aus der Quelle gelesen, wenn die Operation ausgeführt wird. Diese
Daten werden in die Anfangsadresse (S_BIT) des Schieberegisters geschoben,
wenn der Eingang RESET auf ”0” ist. Alle folgenden Bits werden um eins
verschoben. Das Bit in der letzten Adresse (S_BIT + N) geht nach dem Schie-
ben verloren. Wenn der Eingang RESET auf ”1” gesetzt wird, dann werden die
Adressen in der Tabelle auf ”0” gesetzt und nicht geschoben.
Beispiel Bild 3-2 zeigt die Funktionsweise der Operation SHRB. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion SHRB ausgeführt.
Der Parameter N wird in diesem Beispiel auf ”14” gesetzt, so daß 14 Bits ge-
schoben werden, wobei das erste Bit von dem Pointer S_BIT angegeben wird.
Nachdem das erste Bit der Adresse S_BIT in die nächste Adresse geschoben
wurde, wird die erste Adresse mit den Daten belegt, auf die der Pointer S_BIT
zeigt. Der letzte Bitwert geht verloren.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
SHRB
E 0.0 FC92 A 4.0
EN ENO
0 DATA
0 RESET
P#DB1.DBX1.4 S_BIT
B#16#0E N
Beschreibung Mit der Funktion Datenbereich indirekt übertragen (IBLKMOV) können Sie
einen Datenbereich aus Bytes, Wörtern, Ganzzahlen (16 Bit), Doppelwörtern
oder Ganzzahlen (32 Bit) aus einer Quelle an ein Ziel übertragen. Die Anzahl
der Elemente, die übertragen werden soll, wird von dem Parameter LENGTH
angegeben. Die Größe der Elemente wird von dem Parameter E_TYPE ange-
geben. Die Pointer S_DATA und D_DATA geben die Adresse der Pointer an,
die die Anfangsadresse der Quelle und die des Ziels angeben. Weil die Daten,
die übertragen werden sollen, auf diese indirekte Weise angegeben werden,
wird die Funktion als indirekte Übertragungsfunktion bezeichnet.
Fehlerinformation Wird ein ungültiger Parameter E_TYPE angegeben, dann wird die Funktion
nicht ausgeführt, und das ENO-Bit wird auf ”0” gesetzt.
Beispiel Bild 4-1 zeigt die Funktionsweise der Operation IBLKMOV. Ist der Signal-
zustand am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion ausgeführt.
Der Parameter S_DATA zeigt auf DB1.DBX0.0, diese Adresse enthält den
Pointer DB1.DBX50.0 (die Anfangsadresse der Quelle). Der Parameter
D_DATA zeigt auf DB1.DBX20.0, diese Adresse enthält den Pointer
DB2.DBX10.0 (die Anfangsadresse des Ziels). Nach der Ausführung der
Funktion wird ein Datenbereich aus zwei Wörtern übertragen.
Treten keine Fehler auf, dann wird der Signalzustand von ENO und von A 4.0
auf ”1” gesetzt.
IBLKMOV
E 0.0 FC81 A 4.0
EN ENO
P#DB1.DBX0.0 S_DATA
P#DB1.DBX10.0 LENGTH
P#DB1.DBX20.0 D_DATA
B#16#04 E_TYPE
Fehlerinformation Tritt eine der in Tabelle 4-3 aufgeführten Fehlerbedingungen auf, dann wird
der Funktionsbaustein nicht ausgeführt. Der Signalzustand von ENO wird auf
”0” und ERR_CODE entsprechend gesetzt.
ERR_CODE Erläuterung
W#16#0001 Für einen Parameter des Funktionsbausteins wurde ein ungültiger
Speicherbereich angegeben.
W#16#0002 E_TYPE ist ungültig.
Beispiel Bild 4-2 zeigt die Funktionsweise der Operation PACK. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird der Funktionsbaustein PACK aus-
geführt. In diesem Beispiel werden vier Bausteine mit Daten ”an” die Tabelle
übertragen.
Wird der Funktionsbaustein fehlerfrei ausgeführt, dann werden die Signalzu-
stände von ENO und A 4.0 auf ”1” und ERR_CODE auf W#16#0000 gesetzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors initiali-
sieren.
DB86
PACK
E 0.0 A 4.0
FB86
EN ENO
P#DB1.DBX0.0 TABLE ERR_CODE MW0
P#M200.0 BOOL 2 P_DATA1
P#M210.0 BYTE 1 P_DATA2
P#M300.0 BOOL 2 P_DATA3
P#M330.0 WORD 1 P_DATA4
P_DATA5
Instanz-DB86
DIR DBX58.0 = FALSE
Beschreibung Die Funktion Zeit als speichernde Einschaltverzögerung starten (TONR) akku-
muliert den Zeitwert solange, bis der aktuelle Zeitwert der abgelaufenen Zeit
(ET) gleich dem voreingestellten Zeitwert (PV) ist oder diesen überschreitet.
Weil die Funktion TONR die Ausführungszeit des letzten Zyklus des OB (Or-
ganisationsbaustein) verwendet, um den Zeitwert zu akkumulieren, dürfen Sie
diese Funktion nur für die OBs verwenden, die ständig wiederholt werden, wie
beispielsweise OB1 und die zyklischen OBs.
Hinweis
Sie müssen die Zykluszeit des OB aus der lokalen Variablen für den Anlauf in
der Variablendeklarationstabelle des OB in die globale Variable DELTA_T
verschieben.
Tabelle 5-1 Parameter der Funktion Zeit als speichernde Einschaltverzögerung starten (FC80)
Beispiel Bild 5-1 zeigt die Funktionsweise der Operation TONR. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion TONR ausgeführt. Ist
der Signalzustand am Eingang E 0.1 = 1, der Signalzustand von E 0.2 ist ”0”
und ET ist kleiner als PV, dann wird der Wert DELTA_T zu dem Wert ET ad-
diert. Ist der Wert ET kleiner als der Wert PV, bleibt der Signalzustand von A
1.1 = 0.
Sind keine Fehler aufgetreten, dann wird der Signalzustand von ENO und von
A 4.0 auf ”1” gesetzt.
TONR
E 0.0 FC80 A 4.0
EN ENO
E 0.1 A 1.1
TMR_EN Q
E 0.2
RESET
L#1000 PV
#OB1_PREV_CYCLE DELTA_T
MD100 ET
Beispiel Bild 5-2 zeigt die Funktionsweise der Operation DCAT. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird der Funktionsbaustein DCAT aus-
geführt. In diesem Beispiel wechselt der Eingang CMD von ”0” auf ”1”, wie
von CMD_HIS und CMD angegeben. Aufgrund dieser Bedingungen erhalten
der Ausgang A und CMD_HIS jeweils den Signalzustand ”1”, ET wird auf ”0”
gesetzt und beide Alarmausgänge OA und CA erhalten den Signalzustand ”0”.
Wird der Funktionsbaustein fehlerfrei ausgeführt, dann werden die Signalzu-
stände von ENO und A 4.0 auf ”1” gesetzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors
initialisieren.
DB81
DCAT
E 0.0 FB81 A 4.0
EN ENO
M 0.0
CMD Q A 2.0
M 1.0
O_FB OA A 3.0
M 1.1
C_FB CA A 3.1
Instanz-DB81
ET DBD4 = L#12
PT DBD8 = L#22
CMD_HIS DBX16.0 = FALSE
Instanz-DB81
ET DBD4 = L#0
CMD_HIS DBX16.0 = TRUE
Eingänge Ausgänge
ET O_HIS C_HIS O_CMD C_CMD S_CMD O_FB C_FB OO CO OA CA ET O_HIS C_HIS Q Zustand
X 1 1 X X X X X 0 0 1 1 PT 0 0 0 Alarm
X X X X X X 1 1 0 0 1 1 PT 0 0 0 Alarm
X X X X X 1 X X 0 0 0 0 X 0 0 1 Stoppen
X X X 1 1 X X X 0 0 0 0 X 0 0 1 Stoppen
X 0 X 1 0 0 X X 1 0 0 0 0 1 0 1 Öffnen beginnen
X 1 0 X 0 0 1 0 0 0 0 0 PT 1 0 1 Ist geöffnet
X X 0 0 1 0 X X 0 1 0 0 0 0 1 1 Schließen beginnen
X 0 1 0 X 0 0 1 0 0 0 0 PT 0 1 1 Ist geschlossen
X 0 0 0 0 0 X X 0 0 0 0 X 0 0 1 Gestoppt
Legende:
INC = Unterschied der Zeit (ms) seit der letzten Bearbeitung des FB zu ET addieren
PT = PT wird auf den gleichen Wert wie ET gesetzt
X = Nicht anwendbar
<PT = ET < PT
>= PT = ET >= PT
Beispiel Bild 5-3 zeigt die Funktionsweise der Operation MCAT. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird der Funktionsbaustein MCAT
ausgeführt. In diesem Beispiel ist der Funktionsbaustein MCAT aufgrund der
Signalzustände der Eingänge im geöffneten Zustand und die Ausgänge werden
entsprechend gesetzt.
Wird der Funktionsbaustein fehlerfrei ausgeführt, dann werden die Signalzu-
stände von ENO und A 4.0 auf ”1” gesetzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors
initialisieren.
DB82
MCAT
E 0.0 FB82 A 4.0
EN ENO
M 0.0
O_CMD OO M 2.0
M 0.1
C_CMD CO M 2.1
M 0.2
S_CMD OA M 3.0
M 1.0
O_FB CA M 3.1
M 1.1
C_FB Q M 4.0
Instanz-DB82
ET DBD4 = L#2
PT DBD8 = L#22
O_HIS DBX16.0 = TRUE
C_HIS DBX16.1 = FALSE
Instanz-DB82
ET DBD4 = L#4
O_HIS DBX16.0 = TRUE
CMD_HIS DBX16.1 = FALSE
Beschreibung Der Funktionsbaustein Ereignis maskierbare Drum (DRUM) belegt die pro-
grammierten Ausgabebits (OUT1 bis OUT16) und das Ausgabewort
(OUT_WORD) mit den programmierten Werten (OUT_VAL) des entsprechen-
den Schritts, der die Bedingungen der Freigabemaske (S_MASK) des Schritts
erfüllt, während der FB DRUM auf diesem Schritt bleibt. Der FB DRUM geht
zum nächsten Schritt über, wenn entweder das Ereignis für den Schritt wahr
wird und die programmierte Zeit für den aktuellen Schritt abläuft oder der Ein-
gang JOG von ”0” auf ”1” wechselt. Ist der Signalzustand von RESET ”1”,
dann wird der FB DRUM zurückgesetzt, wodurch der aktuelle Schritt gleich
dem voreingestellten Schritt (DSP) gesetzt wird.
Die Verweilzeit auf einem Schritt wird festgelegt durch das Produkt aus der
voreingestellten Zeitbasis (DTBP) des FB DRUM und dem voreingestellten
Zählwert/Schrittwerten (S_PRESET) für jeden Schritt. Zu Beginn eines neuen
Schritts wird dieser berechnete Wert in DCC geladen, der die verbleibende Zeit
für den aktuellen Schritt enthält. Ist DTBP beispielsweise 2 und der voreinge-
stellte Wert für Schritt 1 ist 100 (100 ms), dann ist DCC = 200 (200 ms).
Ein Schritt kann mit einem Zeitwert oder einem Ereignis oder beidem pro-
grammiert werden. Schritte, die über ein Ereignisbit und den Zeitwert ”0” ver-
fügen, gehen zum nächsten Schritt über, sobald der Signalzustand des Ereignis-
bits ”1” ist. Schritte, die nur über einen Zeitwert verfügen, starten die Zeit
sofort. Schritte, die über ein Ereignisbit und einen Zeitwert größer als ”0” ver-
fügen, starten die Zeit, wenn der Signalzustand des Ereignisbits ”1” ist. Die
Ereignisbits werden mit dem Signalzustand ”1” initialisiert.
Befindet sich der Pointer des Schritts auf dem letzten programmierten Schritt
(LST_STEP ) und ist die Zeit für diesen Schritt abgelaufen, dann wird der Si-
gnalzustand des Ausgangs A auf ”1” gesetzt, andernfalls wird er auf ”0” ge-
setzt. Ist der Ausgang A gesetzt, dann verweilt der FB Ereignis maskierbare
Drum bis zum Zurücksetzen auf dem Schritt.
In der konfigurierbaren Maske (S_MASK) können Sie die einzelnen Bits in
dem Ausgabewort (OUT_WORD) auswählen und die Ausgabebits (OUT1 bis
OUT16) über die Ausgabewerte (OUT_VAL) setzen/rücksetzen. Ist ein Bit der
konfigurierbaren Maske im Signalzustand ”1”, dann setzt der Wert OUT_VAL
das entsprechende Bit bzw. er setzt es zurück. Befindet sich ein Bit der konfi-
gurierbaren Maske im Signalzustand ”0”, dann wird das entsprechende Bit
nicht verändert. Alle Bits der konfigurierbaren Maske für alle 16 Schritte wer-
den mit dem Signalzustand ”1” initialisiert.
Das Ausgabebit OUT1 entspricht dem niederwertigsten Bit des Ausgabeworts
OUT_WORD. Das Ausgabebit OUT16 entspricht dem höchstwertigen Bit des
Ausgabeworts OUT_WORD.
Fehlerinformation Tritt eine der in Tabelle 5-6 aufgeführten Fehlerbedingungen auf, verweilt der
FB DRUM auf dem aktuellen Schritt. Der Signalzustand von ENO wird auf
”0” und ERR_CODE entsprechend gesetzt.
ERR_CODE Erläuterung
W#16#000B Der Wert von LST_STEP ist kleiner als 1 oder größer als 16.
W#16#000C Der Wert von DSC ist kleiner als 1 oder größer als LST_STEP.
W#16#000D Der Wert von DSP ist kleiner als 1 oder größer als LST_STEP.
Beispiel Bild 5-4 zeigt die Funktionsweise der Operation DRUM. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird der Funktionsbaustein DRUM
ausgeführt. In diesem Beispiel geht der FB DRUM von Schritt 1 nach Schritt 2
über. Die Ausgabebits (OUT1 usw.) und OUT_WORD werden aufgrund der
konfigurierten Maske für Schritt 2 und der Bits von OUT_VAL für Schritt 2
gesetzt.
Wird der Funktionsbaustein fehlerfrei ausgeführt, dann werden die Signalzu-
stände von ENO und A 4.0 auf ”1” und ERR_CODE auf W#16#0000 gesetzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors
initialisieren.
DB85
E 0.0 DRUM A 4.0
EN FB85 ENO
M 0.0
RESET
M 0.1
JOG OUT1 M 4.0
M 0.2 OUT2 M 4.1
DRUM_EN OUT3 M 4.2
OUT4 M 4.3
MB1 LST_STEP OUT5 M 4.4
M 20.0 EVENT1 OUT6 M 4.5
EVENT2 OUT7 M 4.6
M 20.1 EVENT3 OUT8 M 4.7
EVENT4 OUT9 M 5.0
EVENT5 OUT10 M 5.1
M 20.2
EVENT6 OUT11 M 5.2
M 20.3 EVENT7 OUT12 M 5.3
EVENT8 OUT13 M 5.4
M 20.4 EVENT9 OUT14 M 5.5
EVENT10 OUT15 M 5.6
M 20.5 EVENT11 OUT16 M 5.7
EVENT12 Q M 6.0
M 20.6 EVENT13 OUT_WORD MW8
EVENT14 ERR_CODE MW10
M 20.7 EVENT15
EVENT16
Beschreibung Die Funktion Bitmuster für 7-Segment-Anzeige erzeugen (SEG) wandelt jede
der vier Hexadezimalziffern des angegebenen Quellworts (IN) in vier equiva-
lente Codes für eine 7-Segment-Anzeige um und schreibt diese in das Doppel-
wort des Ausgangs (OUT).
Bild 6-1 zeigt die Beziehung zwischen den Hexadezimalziffern des Eingangs
und den Bitmustern des Ausgangs.
Ziffer – g f e d c b a Anzeige
0000 00111111 0
0001 00000110 1
0010 01011011 2 7-Segment-
Anzeige
0011 01001111 3
a
0100 01100110 4
0101 01101101 5
0110 01111101 6 f b
g
0111 00000111 7
1000 01111111 8
1001 01100111 9 e c
d
1010 01110111 A
1011 01111100 b
1100 00111001 C
1101 01011110 d
1110 01111001 E
1111 01110001 F
Tabelle 6-1 Parameter der Funktion Bitmuster für 7-Segment-Anzeige erzeugen (FC93)
Beispiel Bild 6-2 zeigt die Funktionsweise der Operation SEG. Ist der Signalzustand am
Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion SEG ausgeführt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
SEG
E 0.0 FC93 A 4.0
EN ENO
OUT MD 0 = DW#16#065B4F66
Fehlerinformation Wird ein ungültiges ASCII-Zeichen erkannt, dann wird es als ”0” umgewan-
delt. Der Signalzustand von ENO wird auf ”0” gesetzt und RET_VAL ist
gleich W#16#0007.
Beispiel Bild 6-3 zeigt die Funktionsweise der Operation ATH. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion ATH ausgeführt. Der
Eingangsparameter N = 5 gibt an, daß fünf ASCII-Zeichen umgewandelt wer-
den sollen. Die ASCII-Zeichen werden in dem Datenbaustein 1 gespeichert,
der an der Adresse beginnt, die von dem Pointer IN angegeben wird:
DB1.DBX10.0. Die Zeichenkette wird an der Adresse ausgegeben, die von
dem Pointer OUT angegeben wird: Beginn bei DB2.DBX0.0 (Datenbau-
stein 2). Weil es sich hier um eine ungerade Anzahl an ASCII-Zeichen handelt,
enthält die letzte Hexadezimalziffer nur Nullen in dem rechten Halbbyte, wo-
durch der Hexadezimalwert 0xC0 entsteht (den equivalenten Hexadezimalwert
für jedes ASCII-Zeichen entnehmen Sie dem Bild 6-4).
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W160000 gesetzt.
ATH
E 0.0 FC94 A 4.0
EN ENO
P#DB1.DBX10.0 IN RET_VAL MW0
W#16#05 N OUT P#DB2.DBX0.0
Vor der Bearbeitung:
Darstellung ASCII–Zeichenkette: ‘‘B90AC’’
IN DBB10 = B#16#42
DBB11 = B#16#39
DBB12 = B#16#30
DBB13 = B#16#41
DBB14 = B#16#43
Nach der Bearbeitung:
Darstellung Hexadezimalbyte: B90AC0
OUT DBB0 = B#16#B9
DBB1 = B#16#0A
DBB2 = B#16#C0
Beispiel Bild 6-5 zeigt die Funktionsweise der Operation HTA. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion HTA ausgeführt. Der
Eingangsparameter N = 3 gibt an, daß drei Hexadezimalzeichen umgewandelt
werden sollen. Die Hexadezimalbytes werden in dem Datenbaustein 1 gespei-
chert, der an der Adresse beginnt, die von dem Pointer IN angegeben wird:
DB1.DBX10.0. Die Zeichenkette wird an der Adresse ausgegeben, die von
dem Pointer OUT angegeben wird: Beginn bei DB2.DBX0.0 (Datenbau-
stein 2). Das equivalente ASCII-Zeichen für jeden Hexadezimalwert entneh-
men Sie dem Bild 6-6.
Nach Ausführung der Funktion werden die Signalzustände von ENO und A 4.0
auf ”1” gesetzt.
HTA
E 0.0 FC95 A 4.0
EN ENO
P#DB1.DBX10.0 IN OUT P#DB2.DBX0.0
W#16#03 N
Beschreibung Die Funktion Bitnummer des niederwertigsten gesetzten Bits lesen (ENCO)
wandelt den Inhalt des Parameters IN in eine Binärziffer mit 5 Bits um, die der
Bitposition des Bits ganz rechts in dem Parameter IN entspricht, und gibt das
Ergebnis als Funktionswert aus. Hat der Parameter IN den Wert 0000 0001
oder 0000 0000, dann wird der Wert ”0” ausgegeben.
Tabelle 6-4 Parameter der Funktion Bitnummer des niederwertigsten gesetzten Bits lesen (FC96)
Beispiel Bild 6-7 zeigt die Funktionsweise der Operation ENCO. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion ENCO ausgeführt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
ENCO
E 0.0 A 4.0
FC96
EN ENO
RET_VAL MW 0
DW#16#12345678 IN
RET_VAL MW 0 = 3
Beschreibung Die Funktion Vorgegebenes Bit im Wort setzen (DECO) wandelt eine Binärzif-
fer mit 5 Bits (0 bis 31), die von Eingang IN angegeben wird, um, indem sie
die entsprechende Bitposition in dem Rückgabewert der Funktion setzt. Ist der
Parameter IN größer als 31, wird eine Modulo-32- Operation ausgeführt, damit
eine Binärziffer mit 5 Bits ausgegeben werden kann.
Tabelle 6-5 Parameter der Funktion Vorgegebenes Bit im Wort setzen (FC97)
Beispiel Bild 6-8 zeigt die Funktionsweise der Operation DECO. Ist der Signalzustand
am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion DECO ausgeführt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
DECO
E 0.0 A 4.0
FC97
EN ENO
RET_VAL MD 0
W#16#0003 IN
RET_VAL MD 0 = DW#16#00000008
Beispiel Bild 6-9 zeigt die Funktionsweise der Operation BCDCPL. Ist der Signalzu-
stand am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion BCDCPL aus-
geführt.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
BCDCPL
E 0.0 A 4.0
FC98
EN ENO
RET_VAL MD 0
DW#16#01234567 IN
RET_VAL MD 0 = DW#16#08765433
Beschreibung Die Funktion Anzahl der gesetzten Bits zählen (BITSUM) zählt die Anzahl der
Bits, die am Eingang IN auf ”1” gesetzt werden, und gibt diesen Wert als
Funktionswert aus.
Tabelle 6-7 Parameter der Funktion Anzahl der gesetzten Bits zählen (FC99)
Beispiel Bild 6-10 zeigt die Funktionsweise der Operation BITSUM. Ist der Signalzu-
stand am Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion BITSUM aus-
geführt. In diesem Beispiel ist der in MW0 ausgegebene Wert = 13 (Hexa-
dezimal: D), wobei es sich um die Summe der Bits handelt, die in dem
Doppelwort DW#16#12345678 (Hexadezimalwert) auf ”1” gesetzt wurden.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
BITSUM
E 0.0 A 4.0
FC99
EN ENO
RET_VAL MW 0
DW#16#12345678 IN
RET_VAL MW 0 = W#16#000D
Beschreibung Die Funktion Werte skalieren (SCALE) wandelt einen ganzzahligen Wert (IN)
in einen Realzahlenwert um, der in physikalischen Einheiten zwischen einem
unteren und einem oberen Grenzwert (LO_LIM und HI_LIM) skaliert wird.
Das Ergebnis wird in den Parameter OUT geschrieben. Die Funktion SCALE
arbeitet mit der folgenden Gleichung:
OUT = [ ((FLOAT (IN) –K1)/(K2–K1)) * (HI_LIM – LO_LIM) ] + LO_LIM
Die Konstanten K1 und K2 werden unterschiedlich gesetzt, je nachdem, ob der
Eingabewert BIPOLAR oder UNIPOLAR ist.
• BIPOLAR: Es wird angenommen, daß der ganzzahlige Eingabewert
zwischen -27648 und 27648 liegt, deshalb sind
K1 = -27648,0 und K2 = +27648,0.
• UNIPOLAR: Es wird angenommen, daß der ganzzahlige Eingabewert
zwischen 0 und 27648 liegt, deshalb sind
K1 = 0,0 und K2 = +27648,0.
Ist der ganzzahlige Eingabewert größer als K2, dann wird der Ausgang (OUT)
an HI_LIM gebunden und ein Fehler ausgegeben. Ist der ganzzahlige Eingabe-
wert kleiner als K1, dann wird der Ausgang an LO_LIM gebunden und ein
Fehler ausgegeben.
Zum umgekehrten Skalieren wird LO_LIM > HI_LIM programmiert. Beim
umgekehrten Skalieren verringert sich der Ausgabewert, während der Eingabe-
wert zunimmt.
Fehlerinformation Ist der ganzzahlige Eingabewert größer als K2, dann wird der Ausgang (OUT)
an HI_LIM gebunden und ein Fehler ausgegeben. Ist der ganzzahlige Eingabe-
wert kleiner als K1, dann wird der Ausgang an LO_LIM gebunden und ein
Fehler ausgegeben. Der Signalzustand von ENO wird auf ”0” und RET_VAL
wird auf W#16#0008 gesetzt.
Beispiel Bild 6-11 zeigt die Funktionsweise der Operation SCALE. Ist der Signalzu-
stand von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion SCALE ausge-
führt. In diesem Beispiel wird der ganzzahlige Wert 22 in eine Realzahl umge-
wandelt, die zwischen 0,0 und 100,0 skaliert und in den Ausgang OUT
geschrieben wird. Der Eingabewert ist BIPOLAR. Dies wird von dem Signal-
zustand des Eingangs E 2.0 angegeben.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W#16#0008 gesetzt.
SCALE
E 0.0 FC105 A 4.0
EN ENO
Fehlerinformation Liegt der Eingabewert nicht in dem Bereich zwischen LO_LIM und HI_LIM,
dann wird der Ausgang (OUT) an den nächsten Grenzwert (den oberen oder
den unteren) für den angegebenen Bereich des jeweiligen Typs (BIPOLAR
oder UNIPOLAR) gebunden und ein Fehler ausgegeben. Der Signalzustand
von ENO wird auf ”0” und RET_VAL wird auf W#16#0008 gesetzt.
Beispiel Bild 6-12 zeigt die Funktionsweise der Operation UNSCALE. Ist der Signalzu-
stand von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion UNSCALE
ausgeführt. In diesem Beispiel wird die Realzahl 50.03978588, die zwischen
0,0 und 100,0 skaliert ist, in einen ganzzahligen Wert umgewandelt und in den
Ausgang OUT geschrieben. Der Eingabewert ist BIPOLAR. Dies wird von
dem Signalzustand des Eingangs E 2.0 angegeben.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W#16#0008 gesetzt.
UNSCALE
E 0.0 FC106 A 4.0
EN ENO
OUT MW40 = 0
und OUT =
Fehlerinformation Ist GAIN kleiner als oder gleich ”0”, dann wird der Funktionsbaustein nicht
ausgeführt. Der Signalzustand von ENO wird auf ”0” und ERR_CODE wird
auf W#16#0009 gesetzt.
Beispiel Bild 6-13 zeigt die Funktionsweise der Operation LEAD_LAG. Ist der Signal-
zustand von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion
LEAD_LAG ausgeführt. In diesem Beispiel wird der Eingabewert (IN) 2.0 mit
dem LEAD_LAG Algorithmus bearbeitet. Ergebnis ist Ausgang OUT.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und ERR_CODE wird auf W#16#0000 gesetzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors initiali-
sieren.
DB80
LEAD_LAG
E 0.0 FB80 A 4.0
EN ENO
MD10 IN OUT MD20
Fehlerinformation Tritt eine der in Tabelle 7-2 aufgeführten Bedingungen auf, wird die Funktion
nicht ausgeführt. Der Signalzustand von ENO wird auf ”0” und der Rück-
sprungwert entsprechend gesetzt.
RET_VAL Erläuterung
W#16#0001 Für einen Parameter der Funktion wurde ein ungültiger Speicher-
bereich angegeben.
W#16#0002 E_TYPE ist ungültig.
W#16#0004 Die Tabellenlänge beträgt Null.
Beispiel Bild 7-1 zeigt die Funktionsweise der Operation DEV. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion DEV ausgeführt.
In diesem Beispiel gibt es fünf Tabellenwerte. Dies gibt das erste Wort in der
Tabelle an. Die Tabellenwerte sind vom Datentyp REAL. Dies gibt der Para-
meter E_TYPE an.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und RET_VAL wird auf W#16#0000 gesetzt.
DEV
E 0.0 FC102 A 4.0
EN ENO
P#DB1.DBX130.0 OUT
B#16#08 E_TYPE
Beschreibung Der Funktionsbaustein Index Matrix Vergleich (IMC) vergleicht den Signal-
zustand von bis zu 16 programmierten Eingabebits (IN_BIT0 bis IN_BIT15)
mit dem entsprechenden Bit einer Vergleichsmaske. Sie können maximal 16
Schritte mit Masken programmieren. IN_BIT0 wird mit CMP_VAL[x,1]
verglichen usw. Die Schrittnummer der Maske, die für den Vergleich verwen-
det werden soll, wird von dem Wert des Parameters CMP_STEP angegeben.
Nicht programmierte Eingabebits oder nicht programmierte Bits der Maske
haben den voreingestellten Signalzustand FALSE. Wird im Vergleich eine
Entsprechung gefunden, dann wird der Signalzustand des Ausgangs (OUT)
auf ”1” gesetzt, andernfalls wird der Ausgang auf ”0” gesetzt.
Fehlerinformation Ist CMP_STEP größer als 15, wird der Funktionsbaustein nicht ausgeführt.
Der Signalzustand von ENO wird auf ”0” und ERR_CODE auf W#16#000A
gesetzt.
Beispiel Bild 8-1 zeigt die Funktionsweise der Operation IMC. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion IMC ausgeführt. In
diesem Beispiel werden all 16 Eingabebits mit der Maske für Schritt 2 vergli-
chen (wie von CMP_STEP angegeben). Der Signalzustand von OUT wird auf
TRUE gesetzt, da die Eingabebits mit der Maske für Schritt 2 übereinstim-
men.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt und ERR_CODE wird auf W#16#0000 ge-
setzt.
Hinweis
Statische Parameter können Sie mit Hilfe des Datenbaustein-Editors initiali-
sieren.
DB83
E 0.0 IMC A 4.0
EN FB83 ENO
M 0.0
IN_BIT0 OUT A 2.0
M 0.1
IN_BIT1 ERR_CODE MW0
M 0.2
IN_BIT2
M 0.3
IN_BIT3
M 0.4
IN_BIT4
M 0.5
IN_BIT5
M 0.6 M 0.1
IN_BIT6
M 0.7
IN_BIT7
M 1.0
IN_BIT8
M 1.1
IN_BIT9
M 1.2
IN_BIT10
M 1.3
IN_BIT11
M 1.4
IN_BIT12
M 1.5
IN_BIT13
M 1.6
IN_BIT14
M 1.7
IN_BIT15
B#16#02 CMP_STEP
Fehlerinformation Ist der Wert von LAST größer als 15, wird der Funktionsbaustein nicht aus-
geführt. Der Signalzustand von ENO wird auf ”0” und ERR_CODE auf
W#16#000E gesetzt.
Beispiel Bild 8-2 zeigt die Funktionsweise der Operation SMC. Ist der Signalzustand
von Eingang E 0.0 = 1 (aktiviert), dann wird die Funktion SMC ausgeführt.
In diesem Beispiel werden alle 16 Eingabebits mit der Maske für die Schritte
0 bis 5 verglichen (wie von LAST angegeben) bzw. bis eine Entsprechung
gefunden wird. Nur die Masken für die Schritte 0 bis 2 werden abgefragt,
weil die Maske für Schritt 2 dem Eingabebit entspricht.
Wird die Funktion fehlerfrei ausgeführt, dann werden die Signalzustände von
ENO und A 4.0 auf ”1” gesetzt.
Hinweis
Die statischen Parameter können Sie mit Hilfe des Datenbaustein-Editors
initialisieren.
DB84
E 0.0 SMC A 4.0
EN FB84 ENO
M 0.0
IN_BIT0 OUT A 2.0
M 0.1
IN_BIT1 OUT_STEP MB10
M 0.2
IN_BIT2
M 0.3
IN_BIT3
M 0.4
IN_BIT4
M 0.5
IN_BIT5
M 0.6
IN_BIT6
M 0.7
IN_BIT7
M 1.0
IN_BIT8
M 1.1
IN_BIT9
M 1.2
IN_BIT10
M 1.3
IN_BIT11
M 1.4
IN_BIT12
M 1.5
IN_BIT13
M 1.6
IN_BIT14
M 1.7
IN_BIT15
Absolute Die absolute Adressierung gibt die tatsächliche Adresse einer bestimmten Da-
Adressierung teneinheit im Speicher einer CPU an. Mit der absoluten Adressierung können
Sie auf die Peripherie verweisen, indem Sie zum Beispiel eine Adresse ver-
wenden, die die Art des Signals (E für Eingang, A für Ausgang), die Nummer
der Peripheriebaugruppe und das jeweilige Signal angibt.
Beispiel: A 4.0. Das Automatisierungssysten wertet absolute Adressen ohne
eine Symboltabelle aus. Siehe ”Symbolische Adressierung”.
Aktualparameter Ein Aktualparameter ist ein Operand oder ein Wert, der in der Aufrufanwei-
sung als Eingang oder Ausgang für einen Funktionsbaustein (FB) oder eine
Funktion (FC) bereitgestellt wird. Aktualparameter entsprechen den Formal-
parametern, die in der Variablendeklarationstabelle des FB bzw. der FC dekla-
riert sind.
Anweisungsliste Die Anweisungsliste (AWL) ist eine der beiden Programmiersprachen in der
Programmier-Software STEP 7, über die Sie mit Ihrem Automatisierungs-
system S7-300 kommunizieren können. Jede Anweisung in Ihrem Programm
umfaßt eine Operation, deren Mnemonik eine Funktion des Automatisierungs-
systems darstellt.
Anzeigenbits 0 Die Anzeigenbits des Statusworts (A0 und A1) liefern Informationen zu den
und 1 folgenden Ergebnissen oder Bits:
• Ergebnis einer arithmetischen Operation
• Ergebnis eines Vergleichs
• Ergebnis einer digitalen Operation
• Bits, die von einer Schiebe- oder Rotieroperation aus dem Akkumulator
geschoben wurden
Binärergebnisbit Bit 8 des Statusworts wird das Binärergebnisbit (BIE-Bit) genannt. Das Binä-
rergebnisbit (BIE-Bit) stellt eine Verbindung zwischen der Bearbeitung von
Bits und Wörtern her. Mit diesem Bit kann Ihr Programm das Ergebnis einer
Wortoperation als Binärergebnis auswerten und das Ergebnis in eine binäre
Verknüpfungskette integrieren.
Das BIE-Bit ermöglicht es Ihnen beispielsweise, in der Anweisungsliste
(AWL, siehe Referenzhandbuch STEP 7 Anweisungliste AWL) einen Funkti-
onsbaustein (FB) oder eine Funktion (FC) zu schreiben und dann den FB oder
die FC in einem Kontaktplan (KOP) aufzurufen.
Wenn Sie einen Funktionsbaustein oder eine Funktion schreiben, die Sie in
KOP aufrufen möchten, müssen Sie das BIE-Bit verwalten, ganz gleich, ob Sie
den FB bzw. die FC in AWL oder in KOP schreiben. Das BIE-Bit entspricht
dem Freigabeausgang (ENO) einer KOP-Box. Mit der Operation SAVE (in
AWL) oder der Spule — (SAVE) (in KOP) speichern Sie das VKE im BIE-Bit
entsprechend den folgenden Bedingungen:
• Ein VKE von ”1” wird im BIE-Bit gespeichert, wenn der FB bzw. die FC
fehlerfrei ausgeführt wird.
• Ein VKE von ”0” wird im BIE-Bit gespeichert, wenn bei der Ausführung
des FB bzw. der FC Fehler auftreten.
Sie müssen diese Operationen am Ende des FB bzw. FC programmieren, so
daß diese Operationen in dem Baustein als letztes ausgeführt werden.
Warnung
! Das BIE-Bit kann unbeabsichtigt auf ”0” gesetzt werden.
Wenn Sie in KOP FBs und FCs schreiben und das BIE-Bit nicht wie oben be-
schrieben verwalten, dann kann ein FB bzw. eine FC das BIE-Bit eines anderen
FB bzw. einer anderen FC überschreiben.
Um diesen Fehler zu vermeiden, speichern Sie das VKE am Ende eines FB bzw.
einer FC wie oben beschrieben.
Codebaustein Codebausteine sind Bausteine in STEP 7, die das Programm für die Steuerung
enthalten. Es handelt sich um Organisationsbausteine (OBs), Funktionen und
Funktionsbausteine (FCs und FBs) sowie Systemfunktionen und System-
funktionsbausteine (SFCs und SFBs). Ein Datenbaustein (DB) wird nicht als
Codebaustein betrachtet.
Datenbaustein Ein Datenbaustein (DB) speichert die Daten des CPU-Programms. Sie definie-
(DB) ren die Struktur der Informationen, die in dem DB gespeichert werden. Diese
Informationen können entweder von allen Codebausteinen eines Programms
genutzt werden, oder sie können als “Instanz” eines bestimmten FB verwendet
werden (wobei die Struktur des DB von der Variablendeklarationstabelle des
FB abhängig ist).
Datentypen Daten, die in einem Programm verwendet werden sollen, müssen durch einen
Datentyp gekennzeichnet sein. Der Datentyp definiert die Länge und die An-
ordnung der Bits in dem Speicher, der für die CPU reserviert ist.
• Elementare Datentypen: BOOL (boolesch), BYTE, WORD (Wort),
DWORD (Doppelwort), CHAR (Zeichen), INT (Ganzzahl, 16 Bit), DINT
(Ganzzahl, 32 Bit), REAL (Gleitpunktzahl), TIME (Zeit), DATE (Datum),
TOD (Tageszeit) und S5TIME. Das Betriebssystem ordnet jedem elementa-
ren Datentyp eine bestimmte Länge im Speicher zu. Ein boolescher Daten-
typ (BOOL) beispielsweise verfügt über ein Bit, ein Byte (BYTE) über 8
Bits, ein Wort (WORD) besteht aus 2 Bytes (bzw. 16 Bits) und ein Doppel-
wort (DWORD) besteht aus 4 Bytes (bzw. 32 Bits).
• Zusammengesetzte Datentypen: DT (DATE_AND_TIME, Datum und
Zeit), STRING (maximal 255 Zeichen), STRUCT (Struktur) und ARRAY
(Feld). Zusammengesetzte Datentypen sind typischerweise länger als 32
Bits bzw. 4 Bytes). Sie können Datentypen mischen, indem Sie entweder
eine Gruppe von Datentypen in einer Struktur (STRUCT) oder eine Anzahl
eines bestimmten Datentyps in einem Feld (ARRAY) definieren.
Direkte Bei der direkten Adressierung zeigt der Operand einer Anweisung direkt auf
Adressierung die Adresse des Werts, mit dem die Operation arbeiten soll. Vergleiche
”Unmittelbare Adressierung”.
Funktion (FC) Eine FC ist ein Codebaustein, der ein Programmsegment enthält, jedoch nicht
über einen zugeordneten Speicherbereich verfügt. Eine Funktion arbeitet wie
ein Unterprogramm in einem Computerprogramm. Sie erstellen FCs und rufen
sie aus dem Programm auf. Da Ihr Progamm eine FC mehrfach aufrufen kann
(und für jeden Aufruf andere Werte übergeben kann), ist eine FC als “wieder-
verwendbarer” Baustein definiert. Wegen der Art, wie FCs Daten und Parame-
ter bearbeiten, ist die Bearbeitung von FCs in der CPU unkompliziert. Nach
der Bearbeitung der FC werden die temporären Lokaldaten, die von der FC
verwendet wurden, neu zugeordnet.
Funktionsbaustein Ein Funktionsbaustein (FB) ist ein Codebaustein, der ein Programmsegment
(FB) enthält und über einen zugeordneten Speicherbereich verfügt. Jedesmal wenn
ein FB aufgerufen wird, muß ein Datenbaustein (Instanz-DB) zur Verfügung
gestellt werden. Ein einzelner FB kann mehrfach aufgerufen werden, jedesmal
mit einem anderen Instanz-DB. Die Parameter und die statischen Variablen des
FB werden in dem Instanz-DB gespeichert.
Kontaktplan (KOP) Der Kontaktplan (KOP) ist eine von zwei Programmiersprachen in der Pro-
grammier-Software STEP 7, mit der Sie Ihr Automatisierungssystem (AS)
STEP 7-300 programmieren können. Die Programmiersprache KOP verwendet
graphische Symbole wie in einem Stromlaufplan.
Master Control Das Master Control Relay (MCR) ist ein Hauptschalter im Kontaktplan und
Relay dient zum Ein- und Ausschalten des Signalflusses im Strompfad. Ist der
Signalfluß in einem Pfad ausgeschaltet, so entspricht dies einer Folge von
Operationen, die statt des errechneten Werts nur Nullen schreiben, oder es ent-
spricht einer Folge von Operationen, die den bestehenden Wert im Speicher
nicht verändern.
Mnemonik Die Mnemonik ist die abgekürzte Darstellungsart von Operanden und Opera-
tionen im Programm (”E” beispielweise steht für ”Eingang” und ”U” steht für
die Operation ”UND”). STEP 7 unterstützt die internationale Darstellungsart
(basiert auf der englischen Sprache) und die SIMATIC-Darstellungsart (basiert
auf der deutschen Darstellungsart des Operationssatzes und den SIMATIC-
Richtlinien für die Adressierung).
Netzwerk In einem Kontaktplan in STEP 7 ist ein Netzwerk ein Strompfad mit KOP-
Anweisungen. Vergleiche ”Strompfad”.
Operand Der Operand einer Anweisung im Kontaktplan gibt eine Konstante oder eine
Adresse an, an der die Anweisung den Wert findet, mit dem Sie die Operation
ausführen soll. Der Operand kann als symbolische oder als absolute Adresse
oder auch als eine Mischung aus beiden angegeben werden. Der Operand kann
auf folgendes verweisen:
• Eine Konstante, einen Wert einer Zeit oder eines Zählers oder eine ASCII-
Zeichenkette
• Eine Adresse im Statuswort des Automatisierungssystems
• Ein Datenbaustein und eine Adresse innerhalb des Speicherbereichs des
Datenbausteins
• Eine Funktion (FC), einen Funktionsbaustein (FB), eine integrierte System-
funktion (SFC), einen integrierten Systemfunktionsbaustein (SFB) und die
Nummer der Funktion bzw. des Bausteins
• Eine Sprungmarke bei einer Sprungoperation
• Ein Operandenkennzeichen und eine Adresse innerhalb des Speicherbe-
reichs, der von dem Operandenkennzeichen angegeben wird (z. B. E 1.0)
• Die Nummer einer Zeit oder eines Zählers
Operanden- Ein Operandenkennzeichen ist Teil des Operanden einer Anweisung und liefert
kennzeichen die Informationen, in welchem Speicherbereich die Anweisung den Wert (Da-
tenobjekt) findet, mit dem sie die Operation ausführen soll. Bei dem Operand
”EB10” beispielsweise ist ”EB” das Operandenkennzeichen (wobei ”E” den
Speicherbereich der Eingänge und ”B” ein Byte in dem Speicherbereich an-
gibt).
Operation Die Operation in einem Kontaktplan gibt der CPU Ihres Automatisierungs-
systems an, welche Funktion das AS ausführen soll. KOP-Operationen können
in Form von Elementen oder Boxen angegeben werden.
Pointer Ein Pointer ist ein Element, das die Adresse einer Variablen angibt. Ein Pointer
enthält einen Operanden anstelle eines Werts. Wenn Sie dem Parametertyp
”Pointer” einen Aktualparameter zuordnen, dann geben Sie den Operanden an.
In STEP 7 können Sie den Pointer entweder im Pointerformat oder einfach nur
als Operand (z. B. M 50.0) angeben. Das folgende Beispiel zeigt einen Pointer
im Pointerformat zum Zugreifen auf Daten, die bei M 50.0 beginnen:
P#M50.0
Speicherbereich Ein Speicherbereich ist der Bereich in der CPU, in dem eine Anweisung einen
Wert (Datenobjekt) fndet, mit dem sie die Operation ausführen soll. Ihr Auto-
matisierungssystem verfügt über die folgenden Speicherbereiche, die Sie als
Teil des Operanden einer Anweisung angeben können:
• Prozeßabbild der Eingänge
• Prozeßabbild der Ausgänge
• Merker
• Peripherie
• Zeiten
• Zähler
• Datenbausteine
• Temporäre Daten (dynamische Lokaldaten)
Strompfad Ein Strompfad ist eine Zeile mit KOP-Anweisungen, die im allgemeinen Kon-
takte als Eingänge, Boxen mit Anweisungen und eine Ausgabeoperation am
Ende der Zeile enthalten. In STEP 7 ist ein Strompfad in einem Kontaktplan
ein Netzwerk.
Symbolische Jedes Element in der CPU verfügt über eine absolute Adresse (z. B. E 0.0). Sie
Adressierung können aber auch symbolische Namen erstellen, die Sie für die Adressierung
verwenden können. Sie können beispielsweise dem Eingang E 1.3 den symbo-
lischen Namen ”Pumpe_2_Rueckmeldung” zuordnen. Die symbolischen Na-
men werden in der Symboltabelle definiert, die Sie mit dem Tool Symbol Edi-
tor erstellen.
Systemfunktion Eine Systemfunktion (SFC) ist eine vorprogrammierte, geprüfte Funktion, die
(SFC) in das S7-Betriebssystem integriert ist. Sie können eine SFC aus Ihrem Pro-
gramm aufrufen. Weil SFCs Teil des Betriebssystems sind, belegen Sie keinen
Speicherplatz im Hauptspeicher. Wie eine FC benötigt eine SFC keinen In-
stanz-DB.
Systemfunktions- Ein Systemfunktionsbaustein (SFB) ist ein Funktionsbaustein, der in das S7-
baustein (SFB) Betriebssystem integriert ist. Sie können einen SFB aus Ihrem Programm auf-
rufen. Ähnlich wie ein FB hat der SFB seinen eigenen Arbeitsspeicher, in de-
nen Daten bis zum nächsten Aufruf des SFB gespeichert werden können. Der
Speicher ist als Instanz-Datenbaustein (Instanz-DB) implementiert. Sie müssen
diesen DB erstellen (der als Teil der Aufrufanweisung geöffnet wird). Weil
SFBs Teil des Betriebssystems sind, brauchen Sie sie nicht zu laden.
Unmittelbare Bei der unmittelbaren Adressierung wird der tatsächliche Wert, mit dem die
Adressierung Anweisung arbeiten soll, als Eingangsparameter angegeben. Bei diesem Wert
handelt es sich um den Operanden der Anweisung. Vergleiche ”Direkte Adres-
sierung”.
Verknüpfungs- Das Bit 1 des Statusworts wird VKE-Bit genannt (VKE steht für Verknüp-
ergebnis (VKE) fungsergebnis). Dieses Bit speichert das Ergebnis einer Verknüpfungsoperation
oder eines arithmetischen Vergleichs. Der Signalzustand des VKE-Bit liefert
Informationen zum Signalfluß. Der Signalzustand ”1” zeigt Signalfluß an
(Ein), der Signalzustand ”0” zeigt an, daß kein Signalfluß vorhanden ist (Aus).
Die erste Operation in einem KOP-Strompfad fragt den Zustand eines Kon-
takts ab und liefert das Ergebnis von ”1” oder ”0”. Die Operation speichert das
Ergebnis dieser Signalabfrage im VKE-Bit.
Die zweite Operation in einem KOP-Strompfad fragt auch den Signalzustand
eines Kontakts ab und liefert ein Ergebnis. Dann verknüpft die Operation die-
ses Ergebnis mit dem VKE-Bit im Statuswort gemäß den Regeln der Boole-
schen Logik. Dieses Verknüpfungsergebnis wird im VKE-Bit des Statusworts
gespeichert und ersetzt den vorherigen Wert im VKE-Bit. Jede folgende Ope-
ration in dem Strompfad führt eine Verknüpfung mit zwei Werten aus: mit dem
Ergebnis der Signalabfrage am Kontakt und dem aktuellen VKE.
Mit den booleschen Bitverknüpfungsoperationen können Sie dem VKE bei
einer Erstabfrage den Inhalt einer Operandenadresse zuordnen. Mit dem VKE
können Sie außerdem Sprungoperationen auslösen.
A F
Anzahl der gesetzten Bits zählen (BITSUM), Funktionen (FCs)
6-11 auflisten, vi
ASCII-Zeichenkette in Hexadezimalzahl einbinden, iii
wandeln (ATH), 6-4 Funktionsbausteine (FBs)
Ausgangsbereich unmittelbar rücksetzen auflisten, vi
(RSETI), 1-4 einbinden, iii
Ausgangsbereich unmittelbar setzen (SETI), 1-8
G
B Gleitpunktfunktion, Standardabweichung
Bit in Bitschieberegister schieben (SHRB), 3-4 (DEV), 7-2
Bitmuster für 7-Segment-Anzeige erzeugen
(SEG), 6-2
Bitnummer des niederwertigsten gesetzten Bits H
lesen (ENCO), 6-8
Hexadezimalzahl in ASCII-Zeichenkette
Bitverknüpfungsfunktionen
wandeln (HTA), 6-6
Ausgangsbereich unmittelbar rücksetzen
(RSETI), 1-4
Ausgangsbereich unmittelbar setzen (SETI),
1-8 I
Merker- oder Peripheriebereich im Index Matrix Vergleich (IMC), 8-2
Prozeßabbild rücksetzen (RSET), 1-2
Merker- oder Peripheriebereich im
Prozeßabbild setzen (SET), 1-6 K
Korrelierte Datentabellen (CDT), 2-17
D
Datenbereich indirekt übertragen (IBLKMOV), L
4-2
Lead/Lag Algorithmus (LEAD/LAG), 6-16
Datum im Schieberegister speichern (WSR), 3-2
Letzten Wert der Tabelle ausgeben (LIFO), 2-9
Diskreter Steuerungszeitalarm (DCAT), 5-4
M
E
Matrixscanner (SMC), 8-6
Einbinden der Funktionen (FCs) und
Merker- oder Peripheriebereich im Prozeßabbild
Funktionsbausteine (FBs), iii
rücksetzen (RSET), 1-2
Ereignis maskierbare Drum (DRUM), 5-10
Ersten Wert der Tabelle ausgeben (FIFO), 2-4
V
T
Vergleichsfunktionsbausteine
Tabellenfunktionen
Index Matrix Vergleich (IMC), 8-2
ersten Wert der Tabelle ausgeben (FIFO),
Matrixscanner (SMC), 8-6
2-4
Vorgegebenes Bit im Wort setzen (DECO), 6-9
Korrelierte Datentabellen (CDT), 2-17
letzten Wert der Tabelle ausgeben (LIFO),
2-9
Tabellenoperation ausführen (TBL), 2-11 W
Tabellenverknüpfung (TBL_TBL), 2-19 Wert aus Tabelle kopieren (TBL_WRD), 2-13
Wert aus Tabelle kopieren (TBL_WRD), Wert in Tabelle eintragen (ATT), 2-2
2-13 Wert in Tabelle suchen (TBL_FIND), 2-6
Wert in Tabelle eintragen (ATT), 2-2 Wert logisch mit Tabellenelement verknüpfen
Wert in Tabelle suchen (TBL_FIND), 2-6 und speichern (WRD_TBL), 2-15
Wert logisch mit Tabellenelement Werte deskalieren (UNSCALE), 6-14
verknüpfen und speichern (WRD_TBL), Werte skalieren (SCALE), 6-12
2-15
Tabellenoperation ausführen (TBL), 2-11
Tabellenverknüpfung (TBL_TBL), 2-19 Z
Technische Unterstützung, v, 1-3
Zehnerkomplement erzeugen (BCDCPL), 6-10
Zeit als speichernde Einschaltverzögerung
starten (TONR), 5-2
U Zeitfunktion, Zeit als speichernde
Übertragungsfunktion, Datenbereich indirekt Einschaltverzögerung starten (TONR), 5-2
übertragen (IBLKMOV), 4-2 Zeitfunktionsbausteine
Übertragungsfunktionsbaustein, Diskreter Steuerungszeitalarm (DCAT), 5-4
Sammle/Verteile Tabellendaten (PACK), 4-4 Ereignis maskierbare Drum (DRUM), 5-10
Umwandlungsfunktionen Motorsteuerungszeitalarm (MCAT), 5-7
Anzahl der gesetzten Bits zählen (BITSUM),
6-11
ASCII-Zeichenkette in Hexadezimalzahl
wandeln (ATH), 6-4
Bitmuster für 7-Segment-Anzeige erzeugen
(SEG), 6-2
Absender:
Ihr Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ihre Funktion: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ihre Firma: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Straße: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ort: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Telefon: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Geben Sie bitte bei den folgenden Fragen Ihre persönliche Bewertung mit Werten
von 1 = gut bis 5 = schlecht an.
1. Entspricht der Inhalt Ihren Anforderungen?
2. Sind die benötigten Informationen leicht zu finden?
3. Sind die Texte leicht verständlich?
4. Entspricht der Grad der technischen Einzelheiten Ihren Anforderungen?
5. Wie bewerten Sie die Qualität der Abbildungen und Tabellen?
Falls Sie auf konkrete Probleme gestoßen sind, erläutern Sie diese bitte in den fol-
genden Zeilen:
_________________________________
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _