Elembsta
Elembsta
___________________
Bausteine zum Konvertieren
von Datentypen 7
Programmier- und Bedienhandbuch
___________________
Arithmetik-Bausteine mit
dem Datentyp REAL 8
___________________
Arithmetik-Bausteine mit den
9
Datentypen INT und DINT
___________________
Flip-Flop Bausteine 10
___________________
Shift-Bausteine 11
___________________
Multiplex-Bausteine 12
___________________
Zählbausteine 13
___________
Bausteine zum Erzeugen
14
oder Bearbeiten von
Impulsen
___________
Bausteine zur Erfassung
15
oder Bearbeitung von
Zeitpunkten und Zeiträumen
___________________
Regelungsbausteine 16
___________________
Bausteine für
Systemfunktionen 17
___________________
Bausteine für AS-
übergreifende Verbindungen 18
___________________
Bausteinfamilie "@SYSTEM" 19
___________________
Anhang 20
04/2014
A5E34748365-AA
Rechtliche Hinweise
Warnhinweiskonzept
Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von
Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck
hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe
werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.
GEFAHR
bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden
Vorsichtsmaßnahmen nicht getroffen werden.
WARNUNG
bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden
Vorsichtsmaßnahmen nicht getroffen werden.
VORSICHT
bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen
nicht getroffen werden.
ACHTUNG
bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen
werden.
Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet.
Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben
Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein.
Qualifiziertes Personal
Das zu dieser Dokumentation zugehörige Produkt/System darf nur von für die jeweilige Aufgabenstellung
qualifiziertem Personal gehandhabt werden unter Beachtung der für die jeweilige Aufgabenstellung zugehörigen
Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist
auf Grund seiner Ausbildung und Erfahrung befähigt, im Umgang mit diesen Produkten/Systemen Risiken zu
erkennen und mögliche Gefährdungen zu vermeiden.
Bestimmungsgemäßer Gebrauch von Siemens-Produkten
Beachten Sie Folgendes:
WARNUNG
Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation
vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen,
müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der
Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation,
Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulässigen Umgebungsbedingungen müssen
eingehalten werden. Hinweise in den zugehörigen Dokumentationen müssen beachtet werden.
Marken
Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene 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 kann.
Haftungsausschluss
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft.
Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung
keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige
Korrekturen sind in den nachfolgenden Auflagen enthalten.
ENO
ENO: entspricht dem BIE (Binäres Ergebnis- siehe STEP 7-Beschreibung).
ENO = 1 zeigt ein gültiges, der Funktion entsprechendes Ergebnis an. Beim Auftreten von
Fehlern, die durch das Betriebssystem und/oder durch die Fehlerbehandlung im
Bausteinprogramm erkannt werden, wird durch ENO = 0 ein ungültiges Ergebnis angezeigt.
Sie können diese Information nutzen, um auf andere Werte umzuschalten (z. B.
Sicherheitswerte) und wenn nötig Meldungen an der OS anzuzeigen.
Der ENO wird auch dann auf FALSE gesetzt, wenn EN = FALSE ist.
SAMPLE_T
Alle Bausteine mit dem Eingangsparameter SAMPLE_T müssen in zeitlich äquidistanten
Tasks abgearbeitet werden, z. B. OB 35: Weckalarm 100 ms. Beim Einbau in
nichtzyklischen Tasks, z. B. Prozessalarm, liefern diese Bausteine falsche Ergebnisse.
Familie Verwendung
BIT-LGC (Seite 15) Logik-Bausteine mit dem Datentyp BOOL
WRD_LGC Logik-Bausteine mit dem Datentyp WORD und DWORD
(Seite 23)
COMPARE Bausteine zum Vergleichen zweier Eingangswerte gleichen Typs
(Seite 37)
CONVERT (Seite 43) Bausteine zum Konvertieren von Datentypen
MATH_FP (Seite 69) Arithmetik-Bausteine mit dem Datentyp REAL
MATH_INT Arithmetik-Bausteine mit den Datentypen INT und DINT
(Seite 95)
FLIPFLOP Flip-Flop Bausteine
(Seite 121)
SHIFT (Seite 125) Shift-Bausteine
MULTIPLX Multiplex-Bausteine
(Seite 135)
COUNTER Zähl-Bausteine
(Seite 143)
IMPULS (Seite 149) Bausteine zum Erzeugen oder Bearbeiten von Impulsen
TIME (Seite 157) Bausteine zur Erfassung oder Bearbeitung von Zeitpunkten und Zeiträumen
CONTROL Regelungs-Bausteine
(Seite 161)
EVENT: Start der Bausteine für Systemfunktionen
Ablaufebene
(Seite 185)
Bausteine für AS- Bausteine für AS-übergreifende Verbindungen
übergreifende
Verbindungen
(Seite 195)
Informationen zu den Bausteinen ALARM_8P, BSEND und BRCV finden Sie in der Hilfe
PCS 7 Standard Library.
Hinweis
Der Initialwert am Ausgang der CFC-Bausteine ist, unabhängig von den Werten an den
Eingängen, "1". Das bedeutet, dass die nachfolgende Logik mit "1" versorgt wird, solange
der Baustein nicht bearbeitet wird.
Funktion
Dieser Baustein verknüpft die Eingänge zu einem logischen UND. Der Ausgang ist 1, wenn
alle Eingänge 1 sind. Sonst ist der Ausgang 0. Die Anzahl der Eingänge IN kann verändert
werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge zu einem logischen ODER. Der Ausgang ist 1, wenn
wenigstens ein Eingang 1 ist. Wenn alle Eingänge 0 sind, ist der Ausgang 0. Die Anzahl der
Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge zu einem Exklusiv-ODER. Der Ausgang ist 0, wenn
alle Eingänge den selben Wert haben. Sonst ist der Ausgang 1. Die Anzahl der Eingänge IN
kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge zu einem logischen UND, das anschließend negiert
wird. Der Ausgang ist nur dann 0, wenn alle Eingänge 1 sind. Die Anzahl der Eingänge IN
kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge zu einem logischen ODER, das anschließend
negiert wird. Der Ausgang ist nur dann 1, wenn alle Eingänge 0 sind. Die Anzahl der
Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Der Baustein invertiert den Eingang.
Wahrheitstabelle
IN OUT
0 1
1 0
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge wortweise zu einem logischen UND. Die Bits mit
gleicher Wertigkeit sämtlicher Eingänge werden nach logisch-UND verknüpft und das
Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl der Eingänge IN
kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge wortweise zu einem logischen ODER. Die Bits mit
gleicher Wertigkeit sämtlicher Eingänge werden nach logisch-ODER verknüpft und das
Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl der Eingänge IN
kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge wortweise zu einem logischen Exklusiv-ODER. Die
Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach logischem Exklusiv-ODER
verknüpft und das Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Das Bit ist
0, wenn die Bits mit gleicher Wertigkeit aller Eingänge den selben Wert haben. Sonst ist das
Bit 1. Die Anzahl der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge wortweise zu einem logischen NICHT UND. Die Bits
mit gleicher Wertigkeit sämtlicher Eingänge werden nach logischem UND verknüpft,
anschließend negiert und in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl
der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge wortweise zu einem logischen NICHT ODER. Die
Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach logischem ODER verknüpft,
anschließend wird das Ergebnis negiert und in das entsprechende Bit des Ausgangs
geschrieben. Die Anzahl der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Der Baustein invertiert wortweise den Eingang. Jedes Bit des Eingangs wird negiert und in
das gleichwertige Bit des Ausgangs geschrieben.
Beispiel
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge doppelwortweise zu einem logischen UND. Die Bits
mit gleicher Wertigkeit sämtlicher Eingänge werden nach logisch-UND verknüpft und das
Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl der Eingänge IN
kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge doppelwortweise zu einem logischen ODER. Die
Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach logisch-ODER verknüpft und
das Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl der Eingänge
IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge doppelwortweise zu einem logischen Exklusiv-
ODER. Die Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach Exklusiv-ODER
verknüpft und das Ergebnis in das entsprechende Bit des Ausgangs geschrieben. Das Bit ist
0, wenn die Bits mit gleicher Wertigkeit aller Eingänge den selben Wert haben. Sonst ist das
Bit 1. Die Anzahl der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge doppelwortweise zu einem logischen NICHT UND.
Die Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach logischem UND verknüpft,
anschließend negiert und in das entsprechende Bit des Ausgangs geschrieben. Die Anzahl
der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Dieser Baustein verknüpft die Eingänge doppelwortweise zu einem logischen NICHT ODER.
Die Bits mit gleicher Wertigkeit sämtlicher Eingänge werden nach logischem ODER
verknüpft, anschließend wird das Ergebnis negiert und in das entsprechende Bit des
Ausgangs geschrieben. Die Anzahl der Eingänge IN kann verändert werden.
Anschlüsse
Funktion
Der Baustein invertiert wortweise den Eingang. Jedes Bit des Eingangs wird negiert und in
das gleichwertige Bit des Ausgangs geschrieben.
Anschlüsse
Funktion
Dieser Baustein vergleicht zwei Eingangsgrößen und setzt die Ausgänge folgendermaßen:
GT = 1 wenn IN1 > IN2,
GE = 1 wenn IN1 ≥ IN2,
EQ = 1 wenn IN1 = IN2
LE = 1 wenn IN1 ≤ IN2
LT = 1 wenn IN1 < IN2
Anschlüsse
Funktion
Dieser Baustein vergleicht zwei Eingangsgrößen und setzt die Ausgänge folgendermaßen:
GT = 1 wenn IN1 > IN2,
GE = 1 wenn IN1 ≥ IN2
EQ = 1 wenn IN1 = IN2
LE = 1 wenn IN1 ≤ IN2
LT = 1 wenn IN1 < IN2
Anschlüsse
Funktion
Dieser Baustein vergleicht zwei Eingangsgrößen und setzt die Ausgänge folgendermaßen:
GT = 1 wenn IN1 > IN2,
GE = 1 wenn IN1 ≥ IN2
EQ = 1 wenn IN1 = IN2
LT = 1 wenn IN1 < IN2
LE = 1 wenn IN1 ≤ IN2
In jedem der Fälle werden die anderen vier Ausgänge entsprechend auf 0 gesetzt.
Anschlüsse
Funktion
Dieser Baustein vergleicht zwei Eingangsgrößen und setzt die Ausgänge folgendermaßen:
GT = 1 wenn IN1 > IN2,
GE = 1 wenn IN1 ≥ IN2
EQ = 1 wenn IN1 = IN2
LE = 1 wenn IN1 ≤ IN2
LT = 1 wenn IN1 < IN2
Anschlüsse
Einleitung
Im CFC kann man nur Bausteinausgänge (Quelltyp) mit Bausteineingängen (Zieltyp)
verbinden, wenn die beiden Datentypen identisch sind, z. B. REAL-Ausgang mit REAL-
Eingang. Um unterschiedliche Datentypen zu verschalten, müssen Konvertierbausteine
eingesetzt werden. Diese besitzen Ein- und Ausgänge unterschiedlichen Typs und setzen
den Eingangswert in den Datentyp des Ausgangs um.
Konvertierungsregeln
Der Typname der Konvertierbausteine wird gebildet durch die Abkürzung der Datentypen
des Quelltyps und des Zieltyps, verbunden durch "_".
In der folgenden Tabelle werden die Konvertierungsregeln der einzelnen Bausteine kurz
beschrieben. Wenn der Eingangswert IN nicht im zulässigen Bereich liegt, dann wird der
Ausgangswert OUT ungültig und über den Prüfausgang ENO = 0 angezeigt.
Sie können ENO auswerten, um z. B. einen Ersatzwert/Sicherheitswert in der weiteren
Bearbeitung zu verwenden.
In der Gruppe CONVERT sind Bausteine zusammengefasst, die n Werte eines Datentyps in
m Werte eines anderen Datentyps umwandeln. m und n können auch denselben Wert
haben.
Folgende Bausteine konvertieren einen Wert eines Datentyps in einen Wert eines anderen
Datentyps:
Folgende Bausteine konvertieren mehrere Werte vom Typ BOOL in einen Wertvom Typ
BYTE, WORD oder DWORD:
Folgende Bausteine konvertieren einen Wertvom Typ BYTE, WORD oder DWORD in
mehrere Werte vom Typ BOOL:
7.2 BY_DW
Funktion
Das Byte von IN wird nach Low-Byte von OUT kopiert, die höheren Bytes werden auf 0
gesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
7.3 BY_W
unktion
Das Byte von IN wird nach Low-Byte von OUT kopiert, der High-Byte wird auf 0 gesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
7.4 DI_DW
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.5 DI_I
Funktion
Der Bitstring von IN wird als INT interpretiert und nach OUT kopiert.
Fehlerbehandlung
Bei Werten von IN außerhalb von -32 768 ... 32 767 wird ENO = 0 und OUT ist ein ungültiger
Wert.
Anschlüsse
7.6 DI_R
Funktion
Der Wert von IN wird in eine REAL-Zahl umgewandelt und nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.7 DW_DI
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.8 DW_R
Arbeitsweise
Der Baustein reicht den Bitstring nur weiter und führt keine Wertwandlung durch. Um eine
Wertwandlung nach REAL zu bekommen, muss der DW_DI Baustein und anschließend der
DI_R Baustein verwendet werden.
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.9 DW_W
Funktion
Das Low-Word von IN wird nach Word von OUT kopiert.
Fehlerbehandlung
ENO = 0 bei High-Word von IN > 0
Anschlüsse
7.10 I_DI
Funktion
Der Wert von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.11 I_DW
Funktion
Der Bitstring von IN wird nach Low-Word von OUT kopiert, das High-Word wird auf 0
gesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
7.12 I_R
Funktion
Die Integer-Zahl von IN wird nach OUT konvertiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.13 I_W
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.14 R_DI
Funktion
Die Real-Zahl von IN wird nach OUT konvertiert.
Fehlerbehandlung
Wenn der Wert von IN nicht zwischen -2,147483648e+09 und 2,147483647e+09 liegt, dann
wird ENO = 0 und OUT ist ein ungültiger Wert.
Anschlüsse
7.15 R_DW
Arbeitsweise
Der Baustein reicht den Bitstring nur weiter und führt keine Wertwandlung durch. Um eine
Wertwandlung nach DW zu bekommen, muss der R_TO_DW-Baustein (PCS 7 Library)
verwendet werden.
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.16 R_I
Funktion
Die REAL-Zahl am Eingang IN wird in eine INT-Zahl konvertiert und am Ausgang OUT
ausgegeben. Dabei wird folgendermaßen gerundet: 0,5 → 0, 1,5 → 2, 2,5 → 2, 3,5 → 4, usw.
Fehlerbehandlung
Wenn der Wert von IN nicht zwischen -32.768 und 32.767 liegt, dann wird ENO = 0 und OUT
ist ein ungültiger Wert.
Anschlüsse
7.17 W_BY
Funktion
Das Low-Byte von IN wird nach OUT kopiert.
Fehlerbehandlung
Wenn das High-Byte > 0 ist, dann wird ENO = 0.
Anschlüsse
7.18 W_DW
Funktion
Das Word von IN wird in das Low-Word von OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.19 W_I
Funktion
Der Bitstring von IN wird nach OUT kopiert.
Fehlerbehandlung
entfällt
Anschlüsse
7.20 BO_BY
Funktion
Dieser Baustein konvertiert die 8 Eingangswerte vom Typ BOOL in einen Wert vom Typ
BYTE, der am Ausgang angelegt wird. Die Konvertierung 8 BOOL -> 1 BYTE erfolgt
folgendermaßen:
Das i-te Bit des BYTE-Wertes wird auf 0 (oder 1), gesetzt, wenn der i-te Eingangswert 0 (
oder 1) ist. (i = 0..7).
Fehlerbehandlung
entfällt
Anschlüsse
7.21 BO_W
Funktion
Dieser Baustein konvertiert die 16 Eingangswerte vom Typ BOOL in einen Wert vom Typ
WORD, der am Ausgang angelegt wird. Die Konvertierung 16 BOOL -> 1 WORD erfolgt
folgendermaßen:
Das i-te Bit des WORD-Wertes wird auf 0 (oder 1) gesetzt, wenn der i-te Eingangswert 0
(oder 1) ist (i = 0..15).
Fehlerbehandlung
entfällt
Anschlüsse
7.22 BO_DW
Funktion
Dieser Baustein konvertiert die 32 Eingangswerte vom Typ BOOL in einen Wert vom Typ
DWORD, der am Ausgang angelegt wird. Die Konvertierung 32 BOOL -> 1 DWORD erfolgt
folgendermaßen:
Das i-te Bit des DWORD-Wertes wird auf 0 (oder 1) gesetzt, wenn der i-te Eingangswert 0
(oder 1) ist (i = 0..31).
Fehlerbehandlung
entfällt
Anschlüsse
7.23 BY_BO
Funktion
Dieser Baustein konvertiert den Eingangswert von Datentyp BYTE in 8 Werte von Datentyp
BOOL, die an den 8 Ausgängen angelegt werden. Dabei wird IN-Bit0 nach OUT0, IN-Bit1
nach OUT1 usw. umgesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
7.24 W_BO
Funktion
Dieser Baustein konvertiert den Eingangswert von Datentyp WORD in 16 Werte des
Datentyps BOOL, die an den 16 Ausgängen angelegt werden. Dabei wird IN-Bit0 nach
OUT0, IN-Bit1 nach OUT1 usw. umgesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
7.25 DW_BO
Funktion
Dieser Baustein konvertiert den Eingangswert von Datentyp DWORD in 32 Werte des
Datentyps BOOL, die an den 32 Ausgängen angelegt werden. Dabei wird IN-Bit0 nach
OUT0, IN-Bit1 nach OUT1 usw. umgesetzt.
Fehlerbehandlung
entfällt
Anschlüsse
Hinweis
Der Wertebereich von Realzahlen ist:
-3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38
Funktion
Dieser Baustein addiert die Eingänge und gibt die Summe am Ausgang aus.
OUT = IN1 + IN2
Fehlerbehandlung
ENO = 0 bei Überlauf oder Unterlauf.
Anschlüsse
Funktion
Dieser Baustein subtrahiert den Eingang IN2 von Eingang IN1 und gibt die Differenz am
Ausgang aus.
OUT = IN1 - IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein multipliziert die Eingänge und gibt das Produkt am Ausgang aus.
OUT = IN1 * IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein teilt den Eingang IN1 durch den Eingang IN2 und gibt den Quotient am
Ausgang aus.
OUT = IN1 / IN2
Fehlerbehandlung
Bei Division durch 0, Überlauf und Unterlauf bekommt ENO den Wert 0.
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Maximum am Ausgang aus.
OUT = MAX {IN1, ... , INn}
Bausteine
Name Erklärung
MAX2_R 2 Eingänge vom Typ REAL
MAX4_R 4 Eingänge vom Typ REAL
MAX8_R 8 Eingänge vom Typ REAL
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Minimum am Ausgang aus.
OUT = MIN {IN1, ... , INn}
Bausteine
Name Erklärung
MIN2_R 2 Eingänge vom Typ REAL
MIN4_R 4 Eingänge vom Typ REAL
MIN8_R 8 Eingänge vom Typ REAL
Anschlüsse
Funktion
Dieser Baustein gibt den absoluten Wert des Eingangs am Ausgang aus.
OUT = | IN |
Anschlüsse
Funktion
Dieser Baustein berechnet die Quadratwurzel des Eingangs und gibt diese am Ausgang aus.
OUT = SQRT(IN)
Fehlerbehandlung
ENO = 0 und OUT = 0, wenn IN < 0.
Anschlüsse
Funktion
Dieser Baustein berechnet die Exponentialfunktion des Eingangs und gibt diese am
Ausgang aus. e ist die Eulersche Zahl 2,71... und die Basis des natürlichen Logarithmus.
OUT = e^IN
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
ENO = 0 und OUT = 0, wenn IN < 0.
Anschlüsse
Funktion
Dieser Baustein berechnet die Potenzfunktion 10IN des Eingangs und gibt diese am Ausgang
aus.
OUT = 10^IN
Fehlerbehandlung
ENO = 0 bei IN1 < -37.9 und IN1 > 38.5
Anschlüsse
Funktion
Dieser Baustein berechnet den natürlichen Logarithmus des Eingangs und gibt diesen am
Ausgang aus.
OUT = LN (IN)
Der Eingang IN muss positiv sein.
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
ENO = 0 und OUT = 0, wenn IN < 0.
Anschlüsse
Funktion
Dieser Baustein berechnet den Logarithmus zur Basis 10 aus dem Eingang und gibt diesen
am Ausgang aus.
OUT = LOG10(IN)
Der Eingang IN muss positiv sein.
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
ENO = 0 und OUT = 0, wenn IN < 0.
Anschlüsse
Funktion
Dieser Baustein berechnet die Sinusfunktion des Eingangs und gibt diese am Ausgang aus.
IN ist in Bogenmaß anzugeben.
OUT = SIN(IN)
Anschlüsse
Funktion
Dieser Baustein berechnet die Kosinusfunktion des Eingangs und gibt diese am Ausgang
aus. IN ist in Bogenmaß anzugeben.
OUT = COS(IN)
Anschlüsse
Funktion
Dieser Baustein berechnet die Tangensfunktion des Eingangs und gibt diese am Ausgang
aus. IN ist in Bogenmaß anzugeben.
OUT = TAN(IN)
Anschlüsse
Funktion
Dieser Baustein berechnet den Arcussinus des Eingangs und gibt diesen am Ausgang aus.
Das Ergebnis wird in Bogenmaß ausgegeben und hat einen Wert zwischen -π/2 und +π/2.
Das Argument der Funktion muss zwischen 1 und +1 liegen.
OUT = ASIN(IN)
Anschlüsse
Funktion
Dieser Baustein berechnet den Arcuscosinus des Eingangs und gibt diesen am Ausgang
aus. Das Ergebnis wird in Bogenmaß ausgegeben und hat einen Wert zwischen 0 und π.
Das Argument der Funktion muss zwischen -1 und +1 liegen.
OUT = ACOS(IN)
Fehlerbehandlung
ENO = 0 bei IN < -1 --> OUT = 3.14..
ENO = 0 bei IN > 1 --> OUT = 0
Anschlüsse
Funktion
Dieser Baustein berechnet den Arcustangens des Eingangs und gibt diesen am Ausgang
aus. Das Ergebnis wird in Bogenmaß ausgegeben und hat einen Wert zwischen -π/2 und
+π/2. Als Argumentbereich ist der gesamte REALZahlenbereich erlaubt.
OUT = ATAN(IN)
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang die Eingangsgröße mit gewechselten Vorzeichen aus.
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingangsgrößen IN, MAX und MIN. Es wird geprüft, ob IN
innerhalb oder außerhalb des von MIN und MAX begrenzten Intervalls liegt. Wenn die untere
Grenze MIN des Intervalls größer der oberen Grenze MAX ist, dann wird der Ausgang OUT
= MAX und die Ausgänge OUTU und OUTL auf 1 gesetzt. Wenn IN > MAX ist, dann liegt
Grenzüberschreitung vor, OUT = MAX, OUTU = 1 und OUTL = 0. Wenn IN < MIN ist, dann
liegt Grenzunterschreitung vor, OUT = MIN, OUTU = 0, OUTL = 1. Wenn IN zwischen MIN
und MAX ist, dann werden OUT = IN, OUTU = 0, OUTL = 0 gesetzt.
Wenn die untere Grenze MIN gleich der oberen Grenze MAX ist, verhält sich der Baustein
wie folgt:
IN < MAX: OUT = MAX; OUTU = 0; OUTL = 1
IN > MAX: OUT = MAX; OUTU = 1; OUTL = 0
Anschlüsse
Funktion
Dieser Baustein vergleicht die absoluten Werte der Eingänge. Wenn der absolute Wert des
Eingangs IN kleiner ist als die Grenze INTERVAL, so wird der Ausgang QA auf 1 und der
Ausgang QN auf 0 gesetzt. Die Eingangsgröße IN ist dann im Intervall enthalten. Sonst wird
der Ausgang QA auf 0 und der Ausgang QN auf 1 gesetzt. Die Eingangsgröße IN befindet
sich dann außerhalb des Intervalls.
Anschlüsse
Funktion
Dieser Baustein addiert die Eingangsgröße IN zu der Ausgangsgröße OUT, wenn der
Eingang CI auf 1 und die Eingänge RI und SI auf 0 gesetzt sind. Wenn RI = 1 ist, so wird der
Ausgang OUT auf 0 gesetzt. Wenn SI = 1 und RI = 0 sind, so wird OUT = IN.
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Wahrheitstabelle
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang die Eingangsgröße IN1 aus, erhoben zur Potenz der
Eingangsgröße IN2.
OUT = IN1^IN2
Voraussetzung: IN1 > 0
Fehlerbehandlung
Bei Überlauf und Unterlauf geht M7 in Zustand STOP.
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang den Mittelwert der letzten N Eingangswerte aus.
OUT = (Ink + Ink -1 + ... + Ink -n + 1) / N
wobei Ink der aktuelle Eingangswert ist. Die Anzahl N der Eingangswerte muss die
Bedingung
0 < N < 33
erfüllen.
Anlaufverhalten
Bei Anlauf und Erstlauf wird jedes Element des Buffers für IN- und OUT-Werte auf 0 gesetzt.
Anschlüsse
Hinweis
Die Wertebereiche der Datentypen INT und DINT betragen
INT : -32 768 ... 32 767
DINT: -2 147 483 648 ... 2 147 483 647
Funktion
Dieser Baustein addiert die Eingänge und gibt die Summe am Ausgang aus.
OUT = IN1 + IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein subtrahiert den Eingang IN2 von Eingang IN1und gibt die Differenz am
Ausgang aus.
OUT = IN1 - IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein multipliziert die Eingänge und gibt das Produkt am Ausgang aus.
OUT = IN1 * IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein teilt den Eingang IN1 durch den Eingang IN2 und gibt den Quotient am
Ausgang aus.
OUT = IN1 / IN2
Fehlerbehandlung
ENO = 0 bei Division durch 0 und bei –32768 durch –1.
Anschlüsse
Funktion
Dieser Baustein gibt den Rest der ganzzahligen Division DIV_I (Seite 100) des Eingangs IN1
durch den Eingang IN2 am Ausgang aus.
Fehlerbehandlung
ENO = 0 bei Division durch 0.
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Maximum am Ausgang aus.
OUT = MAX {IN1, ... , INn}
Bausteine
Name Erklärung
MAX2_I 2 Eingänge vom Typ INT
MAX4_I 4 Eingänge vom Typ INT
MAX8_I 8 Eingänge vom Typ INT
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Minimum am Ausgang aus.
OUT = MIN {IN1, ... , INn}
Bausteine
Name Erklärung
MIN2_I 2 Eingänge vom Typ INT
MIN4_I 4 Eingänge vom Typ INT
MIN8_I 8 Eingänge vom Typ INT
Anschlüsse
Funktion
Dieser Baustein gibt den Absolutbetrag des Eingangs am Ausgang aus.
OUT = | IN |
Fehlerbehandlung
ENO = 0 bei IN = -32 768
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang die Eingangsgröße mit gewechseltem Vorzeichen aus.
Fehlerbehandlung
ENO = 0 bei IN = -32 768
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingangsgrößen IN, MAX und MIN. Es wird geprüft, ob IN
innerhalb oder außerhalb des von MIN und MAX begrenzten Intervalls liegt.
Wenn die untere Grenze MIN des Intervalls größer ist als die obere Grenze MAX, dann wird
der Ausgang OUT = MAX und die Ausgänge OUTU und OUTL auf 1 gesetzt.
Wenn IN ≥ MAX ist, dann liegt Grenzüberschreitung vor, OUT = MAX, OUTU = 1 und OUTL
= 0. Wenn IN ≤ MIN ist, dann liegt Grenzunterschreitung vor, OUT = MIN, OUTU = 0, OUTL
= 1. Wenn IN zwischen MIN und MAX liegt, dann werden OUT = IN, OUTU = 0, OUTL = 0
gesetzt.
Wenn MAX = MIN ist, dann hängen die Ausgänge OUTU und OUTL von IN ab:
● OUTU = 1 bei IN = MIN = MAX
● OUTL = 1 bei IN < MIN = MAX
● OUTU = 1 bei IN > Max = MAX
● zusätzlich gilt: OUT = MAX = MIN
Fehlerbehandlung
ENO = 0 bei MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Anschlüsse
Funktion
Dieser Baustein vergleicht den Absolutbetrag des Eingangs IN mit dem Wert des Eingangs
INTERVAL. Wenn der Absolutbetrag des Eingangs IN kleiner ist als die Grenze INTERVAL,
so wird der Ausgang QA auf 1 und der Ausgang QN auf 0 gesetzt. Die Eingangsgröße IN ist
dann im Intervall enthalten. Sonst wird der Ausgang QA auf 0 und der Ausgang QN auf 1
gesetzt. Die Eingangsgröße IN befindet sich dann außerhalb des Intervalls.
INTERVAL muss einen positiven Wert haben.
Ist INTERVAL ≤ 0, so ist QA = 0.
Fehlerbehandlung
ENO = 0 bei IN = -32 768
Anschlüsse
Funktion
Dieser Baustein addiert die Eingangsgröße IN zu der Ausgangsgröße OUT, wenn der
Eingang CI auf 1 und die Eingänge RI und SI auf 0 gesetzt sind. Wenn RI = 1 ist, dann wird
der Ausgang OUT auf 0 gesetzt. Wenn SI = 1 und RI = 0 sind, dann wird OUT = IN.
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Wahrheitstabelle
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
Anschlüsse
Funktion
Dieser Baustein addiert die Eingänge und gibt die Summe am Ausgang aus.
OUT = IN1 + IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein subtrahiert den Eingang IN2 von Eingang IN1 und gibt die Differenz am
Ausgang aus.
OUT = IN1 - IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein multipliziert die Eingänge und gibt das Produkt am Ausgang aus.
OUT = IN1 * IN2
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Anschlüsse
Funktion
Dieser Baustein teilt den Eingang IN1 durch den Eingang IN2 und gibt den Quotient am
Ausgang aus.
OUT = IN1 / IN2
Fehlerbehandlung
ENO = 0 bei Division durch 0 und bei –2147483648 durch –1.
Anschlüsse
Funktion
Dieser Baustein gibt den Rest der ganzzahligen Division DIV_DI (Seite 112) des Eingangs
IN1 durch den Eingang IN2 am Ausgang aus.
Fehlerbehandlung
ENO = 0 bei Division durch 0.
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Maximum am Ausgang aus.
OUT = MAX {IN1, ... , INn}
Bausteine
Name Erklärung
MAX2_DI 2 Eingänge vom Typ DINT
MAX4_DI 4 Eingänge vom Typ DINT
MAX8_DI 8 Eingänge vom Typ DINT
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingänge und gibt deren Minimum am Ausgang aus.
OUT = MIN {IN1, ... , INn}
Bausteine
Name Erklärung
MIN2_DI 2 Eingänge vom Typ DINT
MIN4_DI 4 Eingänge vom Typ DINT
MIN8_DI 8 Eingänge vom Typ DINT
Anschlüsse
Funktion
Dieser Baustein gibt den absoluten Wert des Eingangs am Ausgang aus.
OUT = | IN |
Fehlerbehandlung
ENO = 0 bei IN = -2 147 483 648 (kleinste negative Zahl)
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang die Eingangsgröße mit gewechseltem Vorzeichen aus.
Fehlerbehandlung
ENO = 0 bei IN = -2 147 483 648
Anschlüsse
Funktion
Dieser Baustein vergleicht die Eingangsgrößen IN, MAX und MIN. Es wird geprüft, ob IN
innerhalb oder außerhalb des von MIN und MAX begrenzten Intervalls liegt.
Wenn die untere Grenze MIN des Intervalls größer ist als die obere Grenze MAX, dann wird
der Ausgang OUT = MAX und die Ausgänge OUTU und OUTL auf 1 gesetzt.
Wenn IN ≥ MAX ist, dann liegt Grenzüberschreitung vor, OUT = MAX, OUTU = 1 und
OUTL = 0. Wenn IN ≤ MIN ist, liegt Grenzunterschreitung vor, dann ist OUT = MIN,
OUTU = 0, OUTL = 1. Wenn IN zwischen MIN und MAX liegt, dann werden OUT = IN,
OUTU = 0, OUTL = 0 gesetzt.
Wenn MAX = MIN ist, dann hängen die Ausgänge OUTU und OUTL von IN ab:
● OUTU = 1 bei IN = MIN = MAX
● OUTL = 1 bei IN < MIN = MAX
● OUTU = 1 bei IN > Max = MAX
● zusätzlich gilt: OUT = MAX = MIN
Fehlerbehandlung
ENO = 0 bei MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Anschlüsse
Funktion
Dieser Baustein vergleicht den Absolutbetrag des Eingangs IN mit dem Wert des Eingangs
INTERVAL. Wenn der Absolutbetrag des Eingangs IN kleiner ist als die Grenze INTERVAL,
dann wird der Ausgang QA auf 1 und der Ausgang QN auf 0 gesetzt. Die Eingangsgröße IN
ist dann im Intervall enthalten. Sonst wird der Ausgang QA auf 0 und der Ausgang QN auf 1
gesetzt. Die Eingangsgröße IN befindet dann sich außerhalb des Intervalls.
INTERVAL muss einen positiven Wert haben.
Wenn INTERVAL ≤ 0 ist, dann ist QA = 0.
Fehlerbehandlung
ENO = 0 bei IN = -2 147 483 648
Anschlüsse
Funktion
Dieser Baustein addiert die Eingangsgröße IN zu der Ausgangsgröße OUT, wenn der
Eingang CI auf 1 und die Eingänge RI und SI auf 0 gesetzt sind. Wenn RI = 1 ist, dann wird
der Ausgang OUT auf 0 gesetzt. Wenn SI = 1 und RI = 0 sind, dann wird OUT = IN.
Fehlerbehandlung
ENO = 0 bei Überlauf und Unterlauf.
Wahrheitstabelle
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
Anschlüsse
Funktion
J K
0 0
0 1 0 1
1 0 1 0
1 1
*)
Anschlüsse
Funktion
R S
0 0
0 1 1 0
1 0 0 1
1 1 0 1
Anschlüsse
Funktion
R S
0 0
0 1 1 0
1 0 0 1
1 1 1 0
Anschlüsse
SHL_W: WORD nach links schieben (Seite 126) WORD nach links schieben
SHL_DW: DWORD nach links schieben (Seite 127) DWORD nach links schieben
SHR_W: WORD nach rechts schieben (Seite 128) WORD nach rechts schieben
SHR_DW: DWORD nach rechts schieben (Seite 129) DWORD nach rechts schieben
ROL_W: WORD links drehen (Seite 130) WORD links drehen
ROL_DW: DWORD links drehen (Seite 131) DWORD links drehen
ROR_W: WORD rechts drehen (Seite 132) WORD rechts drehen
ROR_DW: DWORD rechts drehen (Seite 133) DWORD rechts drehen
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach links geschoben, wie am
Eingang N angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach links geschoben, wie am
Eingang N angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach rechts geschoben, wie am
Eingang N angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach rechts geschoben, wie am
Eingang N angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach links rotiert, wie am Eingang N
angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach links rotiert, wie am Eingang N
angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach rechts rotiert, wie am Eingang N
angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Eingangswert IN wird bitweise um so viele Stellen nach rechts rotiert, wie am Eingang N
angegeben. Das Ergebnis wird am Ausgang angezeigt.
Anschlüsse
Funktion
Der Baustein ist ein Multiplexer 1 aus n für INT-Werte (n = 2, 4, 8). In Abhängigkeit vom Wert
des Auswahleingangs K wird einer der Eingänge IN0...IN7 auf den Ausgang gelegt.
Fehlerbehandlung
ENO = 0 und OUT = 0, wenn k > (n-1) oder k < 0.
Funktionstabelle
Anzahl der
Eingänge
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Anschlüsse
Funktion
Der Baustein ist ein Multiplexer 1 aus n für DINT-Werte (n = 2, 4, 8). In Abhängigkeit vom
Wert des Auswahleingangs K wird einer der Eingänge IN0...IN7 auf den Ausgang gelegt.
Fehlerbehandlung
ENO = 0 und OUT = 0, wenn k > (n-1) oder k < 0.
Funktionstabelle
Anzahl der
Eingänge
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Anschlüsse
Funktion
Der Baustein ist ein Multiplexer 1 aus n für REAL-Werte (n = 2, 4, 8). In Abhängigkeit vom
Wert des Auswahleingangs K wird einer der Eingänge IN0...IN7 auf den Ausgang gelegt.
Fehlerbehandlung
ENO = 0 und OUT = 0, wenn k > (n-1) oder k < 0.
Funktionstabelle
Anzahl der
Eingänge
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Anschlüsse
Funktion
Der Baustein ist ein Multiplexer 1 aus n für BOOL-Werte (n = 2, 4, 8). In Abhängigkeit vom
Wert des Auswahleingangs K wird einer der Eingänge IN0...IN7 auf den Ausgang gelegt.
Fehlerbehandlung
ENO = 0 und OUT = 0, wenn k > (n-1) oder k < 0.
Funktionstabelle
Anzahl der
Eingänge
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Anschlüsse
Funktion
Dieser Baustein schaltet abhängig vom Wert des Eingangs K den Wert des Eingangs IN0 (K
= 1) oder des Eingangs IN1 (K = 0) auf den Ausgang.
Anschlüsse
Funktion
Dieser Baustein schaltet abhängig vom Wert des Eingangs K den Wert des Eingangs IN0 (K
= 1) oder des Eingangs IN1 (K = 0) auf den Ausgang.
Anschlüsse
Funktion
Dieser Baustein bildet einen flankengesteuerten Vorwärtszähler. Der Zähler wird bei einer
Auf-Flanke am Eingang S mit dem Wert PV vorbesetzt. Bei ansteigender Flanke am Eingang
CU wird der Zählerstand inkrementiert. Der Zählerstand liegt am Ausgang CV an. Bei
Erreichen des maximalen INT-Werts (32767) wird der Zähler angehalten. Durch Rücksetzen
wird der Zählerstand auf 0 gesetzt und kann wieder hochzählen.
Q = 0, wenn CV = 0,
Q = 1, wenn CV > 0
Anlaufverhalten
Bei Anlauf verhält sich der Baustein wie bei Rücksetzen (CV = 0).
Wahrheitstabelle
R CU CV ENO
1 X 0 1
0 1 CV*+1 1
0 0 CV* 1
Anschlüsse
Hinweis
Diesen Baustein gibt es zweimal: In der Standard Library als SFB0 und in der CFC-
Elementarbibliothek als FB24. Die beiden Bausteine haben unterschiedliches Verhalten:
• Der SFB0 besitzt keine Vorbelegung. Der Eingang PV wird mit dem Ausgang CV auf
Erreichung / Überschreitung verglichen. Der Ausgang Q zeigt an, ob der aktuelle Zählwert
größer oder gleich PV ist.
• Der FB24 besitzt den Eingang PV als Vorbelegung. Ab diesem Wert wird gezählt. Der
Ausgang Q wird nicht ausgewertet.
Funktion
Dieser Baustein bildet einen flankengesteuerten Rückwärtszähler. Der Zähler wird bei einer
Auf-Flanke am Eingang S mit dem Wert PV vorbesetzt. Bei ansteigender Flanke am Eingang
CD wird der Zählerstand dekrementiert. Der Zählerstand liegt am Ausgang CV an. Bei
Erreichen des minimalen INT-Wertes wird der Zähler angehalten. Durch Rücksetzen wird
der Zählerstand auf 0 gesetzt.
Q = 0, wenn CV = 0
Q = 1, wenn CV > 0
Bei Erreichen von CV = 0 wird der Zähler angehalten. Es erfolgt kein Zählen in den
negativen Zahlenbereich.
Anlaufverhalten
Bei Anlauf verhält sich der Baustein wie bei Rücksetzen (CV = 0).
Wahrheitstabelle
R CD CV ENO
1 X 0 1
0 1 CV*-1 1
0 0 CV* 1
Anschlüsse
Funktion
Dieser Baustein bildet einen flankengesteuerten Vorwärts-/ Rückwärtszähler. Der Zähler
wird bei einer Auf-Flanke am Eingang S mit dem Wert PV vorbesetzt. Bei ansteigender
Flanke am Eingang CU wird der Zählerstand inkrementiert. Bei ansteigender Flanke am
Eingang CD wird der Zählerstand dekrementiert. Der Zählerstand liegt am Ausgang CV an.
Über die Ausgänge QU oder QD kann der Zählerstand überwacht werden. Das Rücksetzen
des Zählers wird mit R = 1 erreicht.
QU = 1, wenn CV < max. INT (32767)
QU = 0, wenn CV = max. INT (32767)
QD = 0, wenn CV = – max. INT (-32768)
QD = 1, wenn CV > - max. INT (-32768)
Anlaufverhalten
Bei Anlauf verhält sich der Baustein wie bei Rücksetzen (CV = 0).
Wahrheitstabelle
R CU CD CV ENO
1 X X 0 1
0 1 0 CV*+1 1
0 0 1 CV*-1 1
0 0 0 CV* 1
0 1 1 CV* 1
Anschlüsse
Funktion
Der Baustein startet den Timer in der Betriebsart, die durch den Wert am Eingang MODE
vorgegeben ist:
● Impulsbildner
● Verlängerter Impuls
● Einschaltverzögerung
● Speichernde Einschaltverzögerung
● Ausschaltverzögerung
Betriebsarten
MODE Betriebsart
0 Timer als Impuls starten
1 Timer als verlängerter Impuls starten
2 Timer einschaltverzögernd starten
3 Timer speichernd einschaltverzögernd starten
4 Timer ausschaltverzögernd starten
Der Baustein übernimmt die Betriebsart (MODE) nur bei einer positiven Flanke des
Eingangs I0. Dieser Flankenwechsel ist auch nach einem CPU-Neustart erforderlich. Der
Zeitzähler PTIME wird mit dem Wert TIME0 geladen und zyklisch um die Abtastzeit
SAMPLE_T erniedrigt. Bei abgelaufener Zeit wird der Ausgang Q0 entsprechend der
Betriebsart verändert. Über RESET = 1 werden die Ausgänge Q0 = 0 und PTIME = 0
ausgegeben.
Impulsdiagramme
MODE=0 Impuls
MODE=2 Einschaltverzögerung
MODE=4 Ausschaltverzögerung
Anschlüsse
Hinweis
Aufsummieren der Abtastzeit SAMPL_T
Der Baustein TIMER_P arbeitet intern mit REAL-Werten. Immer dann, wenn die Abtastzeit
SAMPL_T sich nicht exakt als REAL-Zahl darstellen lässt, kommt es beim Aufsummieren zu
Ungenauigkeiten.
Die Abtastzeit lässt sich nur dann exakt als REAL-Zahl darstellen, wenn die
Nachkommastellen der Abtastzeit durch eine Division von 2, 4, 8, 16 usw., entstehen.
Beispiele für exakte Abtastzeiten: x.5, x.25, x.125, x.0625 usw.
Beispiele für nicht exakte Abtastzeiten: x.1, x.2
Dabei steht "x" für eine positive Ganzzahl.
Hinweis
Für korrekte Arbeitsweise muss der R_TRIG-Baustein in einen Weckalarm eingebaut
werden (zyklische Task).
Funktion
Dieser Baustein prüft die Eingangsgröße auf Auftreten einer steigenden Flanke und zeigt am
Ausgang an, ob eine Flanke erkannt wurde. Bei positiver Flanke des Eingangsimpulses CLK
wird der Ausgang Q auf 1 gesetzt.
Anlaufverhalten
Bei Anlauf wird der Flankenmerker auf 0 gesetzt.
Impulsdiagramm
Anschlüsse
Hinweis
Für korrekte Arbeitsweise muss der F_TRIG-Baustein in einen Weckalarm eingebaut werden
(zyklische Task).
Funktion
Dieser Baustein prüft die Eingangsgröße auf Auftreten einer fallenden Flanke und zeigt am
Ausgang an, ob eine Flanke erkannt wurde. Bei negativer Flanke des Eingangsimpulses
CLK wird der Ausgang Q auf 1 gesetzt.
Anlaufverhalten
Bei Anlauf wird der Flankenmerker auf 1 gesetzt.
Impulsdiagramm
Anschlüsse
Hinweis
Für eine korrekte Arbeitsweise muss der AFP-Baustein in einen Weckalarm eingebaut
werden (zyklische Task).
Funktion
Taktgeber. Dieser Baustein erzeugt Impulse mit zu parametrierenden Impulsdauer und
Impulspause. Impulsdauer und Impulspause werden in ms angegeben.
Anlaufverhalten
Bei Anlauf werden die Zähler und Enable-Bits für die Perioden Q = 0 und Q = 1 eingestellt.
Das Enable-Bit für Q = 0 wird 1, die anderen Werte werden auf 0 gesetzt.
Impulsdiagramm
Anschlüsse
Funktion
Dieser Baustein misst die Zeit zwischen zwei Aufrufen (maximal 2 147 483 647 ms).
Hinweis
Zwischen den Aufrufen darf kein Datumswechsel liegen, da sonst eine negative Zeitdifferenz
(00:00:00 – gemessene Zeit) entsteht.
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang TM die Systemzeit an, zu der der Baustein aufgerufen
wird.
Anschlüsse
Funktion
Dieser Baustein gibt am Ausgang TM_DIFF den Zeitunterschied zwischen dem Eingang TM
und der aktuellen Systemzeit an. Der Eingang TM diese Bausteins kann mit dem Ausgang
TM eines TIME_BEG-Bausteins verschaltet werden, um die Zeit zwischen den Aufrufen
dieser beiden Bausteine zu ermitteln.
Anschlüsse
16.2 CONT_C
Einleitung
Der Funktionsbaustein CONT_C dient zum Regeln von technischen Prozessen mit
kontinuierlichen Ein- und Ausgangsgrößen auf den Automatisierungssystemen SIMATIC S7.
Über die Parametrierung können Sie Teilfunktionen des PID-Reglers zu- oder abschalten
und damit diesen an die Regelstrecke anpassen.
Anwendung
Den Regler können Sie als PID-Festwertregler einzeln oder auch in mehrschleifigen
Regelungen als Kaskaden-, Mischungs- oder Verhältnisregler einsetzen. Die Arbeitsweise
basiert auf dem PID-Regelalgorithmus des Abtastreglers mit analogem Ausgangssignal,
gegebenenfalls um eine Impulsformerstufe zur Bildung von pulsbreitenmodulierten
Ausgangssignalen für Zwei- oder Dreipunktregelungen mit proportionalen Stellgliedern
ergänzt.
Beschreibung
Neben den Funktionen im Soll- und Istwert realisiert der Funktionsbaustein einen fertigen
PID-Regler mit kontinuierlichem Stellgrößen-Ausgang und Beeinflussungsmöglichkeit des
Stellwerts von Hand. Folgende Teilfunktionen gibt es:
● Sollwertzweig (Seite 213)
● Istwertzweig (Seite 207)
● Regeldifferenzbildung (Seite 212)
● PID-Algorithmus (Seite 211)
● Handwertverarbeitung (Seite 205)
● Stellwertverarbeitung (Seite 214)
● Störgrößenaufschaltung (Seite 215)
Betriebszustände Neustart/Wiederanlauf
Der Funktionsbaustein CONT_C verfügt über eine Neustartroutine.
Der Integrierer wird beim Anlauf intern auf den Initialisierungswert I_ITVAL gesetzt. Beim
Aufruf in einer Weckalarmebene arbeitet er von diesem Wert aus weiter.
Fehlerinformationen
Das Fehlermeldewort RET_VAL wird nicht verwendet.
Eingangsparameter
Ausgangsparameter
Weitere Informationen
Weitere Informationen finden Sie im Abschnitt:
CONT_C: Blockschaltbild (Seite 168)
16.3 CONT_S
Einleitung
Der Funktionsbaustein CONT_S dient zum Regeln von technischen Prozessen mit binären
Stellwertausgangssignalen für integrierende Stellglieder auf den Automatisierungssystemen
SIMATIC S7. Über die Parametrierung können Sie Teilfunktionen des PI-Schrittreglers zu-
oder abschalten und damit diesen an die Regelstrecke anpassen.
Anwendung
Der Regler kann als PI-Festwertregler einzeln oder in unterlagerten Regelkreisen bei
Kaskaden-, Mischungs- oder Verhältnisregler eingesetzt werden, jedoch nicht als
Führungsregler. Die Arbeitsweise basiert auf dem PI-Regelalgorithmus des Abtastreglers
und wird um die Funktionsglieder zur Erzeugung des binären Ausgangssignals aus dem
analogen Stellsignal ergänzt.
Mit TN = T#0 ms kann der I-Anteil des Reglers abgeschaltet werden. Somit kann der
Baustein als P-Regler verwendet werden.
Da der Regler ohne Stellungsrückmeldung arbeitet, stimmt die intern berechnete Stellgröße
nicht exakt mit der Stellgliedposition überein. Ein Abgleich wird vorgenommen, wenn die
Stellgröße (ER * GAIN) negativ wird. Dann setzt der Regler den Ausgang Stellwertsignal tief
(QLMNDN) solange, bis das untere Anschlagssignal der Stellungsrückmeldung (LMNR_LS)
gesetzt wird.
Der Regler kann auch in einer Reglerkaskade als unterlagerter Stellungsregler eingesetzt
werden. Über den Sollwerteingang SP_INT wird die Stellgliedposition vorgegeben. In diesem
Fall müssen der Istwerteingang und der Parameter Integrationszeit (TN) auf Null gesetzt
werden. Anwendungsfall ist z. B. eine Temperaturregelung mit Heizleistungsregelung über
Puls-Pause-Ansteuerung und Kühlleistungsregelung über eine Ventilklappe.
Um die Klappe ganz zu schließen sollte die Stellgröße (ER * GAIN) negativ werden.
Beschreibung
Neben den Funktionen im Istwertzweig realisiert der Funktionsbaustein einen fertigen PI-
Regler mit binärem Stellwertausgang und Beeinflussungsmöglichkeit des Stellwerts von
Hand. Der Schrittregler arbeitet ohne Stellungsrückmeldung. Folgende Teilfunktionen gibt
es:
● Sollwertzweig (Seite 213)
● Istwertzweig (Seite 207)
Betriebszustände Neustart/Wiederanlauf
Der Funktionsbaustein CONT_S verfügt über eine Neustartroutine.
Alle Ausgänge werden auf ihre Voreinstellungswerte gesetzt.
Fehlerinformationen
Das Fehlermeldewort RET_VAL wird nicht verwendet.
Eingangsparameter
Ausgangsparameter
Weitere Informationen
Weitere Informationen finden Sie im Abschnitt:
CONT_S: Blockschaltbild (Seite 174)
16.4 PULSEGEN
Einleitung
Der Funktionsbaustein PULSEGEN dient zum Aufbau eines PID-Reglers mit Impulsausgang
für proportionale Stellglieder.
Anwendung
Mit dem Funktionsbaustein PULSEGEN lassen sich PID-Zweipunktregler oder PID-
Dreipunktregler mit Pulsbreitenmodulation aufbauen. Die Funktion wird meistens in
Verbindung mit dem kontinuierlichen Regler CONT_C (Seite 162) angewendet.
Beschreibung
Die Funktion PULSEGEN transformiert die Eingangsgröße INV (= LMN des PID-Reglers)
durch Modulation der Impulsbreite in eine Impulsfolge mit konstanter Periodendauer. Sie
entspricht der Zykluszeit, mit der die Eingangsgröße aktualisiert wird, und muss in PER_TM
parametriert werden.
Die Dauer eines Impulses pro Periodendauer ist proportional der Eingangsgröße. Dabei ist
der durch PER_TM parametrierte Zyklus nicht identisch mit dem Bearbeitungszyklus des
Funktionsbausteins PULSEGEN. Vielmehr setzt sich ein Zyklus PER_TM aus mehreren
Bearbeitungszyklen des Funktionsbausteins PULSEGEN zusammen. Die Anzahl der
PULSEGEN-Aufrufe pro PER_TM-Zyklus stellt dabei ein Maß für die Genauigkeit der
Impulsbreitenmodulation dar.
Wetere Informationen zur Impulsbreitenmodulation finden Sie unter:
Impulsbreitenmodulation (Seite 206)
Stellwertgenauigkeit
Durch ein "Abtastverhältnis" von 1:10 (CONT_C-Aufrufe zu PULSEGEN-Aufrufe) ist die
Stellwertgenauigkeit in diesem Beispiel auf 10% beschränkt. Vorgegebene Eingangswerte
INV können nur im Raster von 10% auf eine Impulslänge am Ausgang QPOS abgebildet
werden.
Entsprechend erhöht sich die Genauigkeit mit der Anzahl der PULSEGEN-Aufrufe pro
CONT_C-Aufruf.
Wenn PULSEGEN zum Beispiel 100 mal häufiger aufgerufen wird als CONT_C, so erreicht
man eine Auflösung von 1% des Stellwertbereichs.
Hinweis
Die Untersetzung der Aufrufhäufigkeit müssen Sie selbst programmieren.
Automatische Synchronisation
Es besteht die Möglichkeit, die Impulsausgabe mit dem Baustein, der die Eingangsgröße
INV (zum Beispiel CONT_C) aktualisiert, automatisch zu synchronisieren. Damit ist
gewährleistet, dass eine sich ändernde Eingangsgröße auch schnellstmöglich als Impuls
ausgegeben wird.
Der Impulsformer wertet immer im Zeitabstand der Periodendauer PER_TM die
Eingangsgröße INV aus und wandelt den Wert in ein Impulssignal der entsprechenden
Länge um. Da aber INV meistens in einer langsameren Weckalarmebene berechnet wird,
sollte der Impulsformer möglichst schnell nach der Aktualisierung von INV mit der
Umwandlung des diskreten Werts in ein Impulssignal beginnen.
Dazu kann der Baustein den Start der Periode nach folgendem Verfahren selbst
synchronisieren:
Wenn sich INV geändert hat und wenn sich der Bausteinaufruf nicht im ersten oder in den
letzten zwei Aufrufzyklen einer Periode befindet, so wird eine Synchronisation ausgeführt.
Die Impulsdauer wird neu berechnet und beim nächsten Zyklus mit einer neuen Periode wird
mit der Ausgabe begonnen.
Die automatische Synchronisation lässt sich am Eingang "SYN_ON" (= FALSE) abschalten.
Hinweis
Durch den Beginn der neuen Periode wird der Altwert von INV (das heißt von LMN) nach der
Synchronisation mehr oder weniger ungenau auf das Impulssignal abgebildet.
Betriebsarten
Je nach Parametrierung des Impulsformers können PID-Regler mit Dreipunktverhalten oder
mit bipolarem beziehungsweise unipolarem Zweipunktausgang konfiguriert werden. Die
folgende Tabelle zeigt die Einstellung der Schalterkombinationen für die möglichen
Betriebsarten.
Betriebsart Schalter
MAN_ON STEP3_ON ST2BI_ON
Dreipunktregelung FALSE TRUE beliebig
Zweipunktreglung mit bipolarem Stellbereich (-100% ... FALSE FALSE TRUE
+100%)
Zweipunktreglung mit unipolarem Stellbereich (0% ... +100%) FALSE FALSE FALSE
Handbetrieb TRUE beliebig beliebig
Eingangsparameter
Hinweis
Die Werte der Eingangsparameter werden im Baustein nicht begrenzt. Eine Prüfung der
Parameter findet nicht statt.
Ausgangsparameter
Betriebszustände Neustart/Wiederanlauf
Bei Neustart werden alle Signalausgänge auf Null gesetzt.
Fehlerinformationen
Das Fehlermeldewort RET_VAL wird nicht verwendet.
Weitere Informationen
Weitere Informationen finden Sie in folgenden Abschnitten:
PULSEGEN: Blockschaltbild (Seite 181)
PULSEGEN: Dreipunktregelung (Seite 181)
PULSEGEN: Dreipunktregelung, unsymmetrisch (Seite 182)
PULSEGEN: Zweipunktregelung (Seite 183)
PULSEGEN: Handbetrieb bei Zwei- oder Dreipunktregelung (Seite 184)
Beschreibung
In der Betriebsart "Dreipunktregelung" können drei Zustände des Stellsignals erzeugt
werden. Dazu werden die Zustandswerte der binären Ausgangssignale QPOS_P und
QNEG_P den jeweiligen Betriebszuständen des Stellgliedes zugeordnet: Die Tabelle zeigt
das Beispiel einer Temperaturregelung:
Stellglied
Ausgangssignal Heizen Aus Kühlen
QPOS_P TRUE FALSE FALSE
QNEG_P FALSE FALSE TRUE
Aus der Eingangsgröße wird über eine Kennlinie eine Impulsdauer berechnet. Die Form
dieser Kennlinie wird durch die Mindestimpuls- beziehungsweise Pausendauer und dem
Verhältnisfaktor definiert. Der normale Wert für den Verhältnisfaktor ist 1.
Die Knickpunkte an den Kennlinien werden durch die Mindestimpuls- beziehungsweise
Pausendauer verursacht. Weitere Informationen zur Kennlinie finden Sie unter:
Symetrische Kennlinie für Dreipunktregler (Seite 216)
Hinweis
Kleine Absolutwerte der Eingangsgröße LMN, die eine Impulsdauer kleiner als P_B_TM
erzeugen würden, werden unterdrückt. Große Eingangswerte, die eine Impulsdauer größer
als (PER_TM - P_B_TM) erzeugen würden, werden auf 100% beziehungsweise
-100% gesetzt.
Die Dauer der positiven oder negativen Impulse errechnet sich aus der Eingangsgröße (in
%) mal Periodendauer: Impulsdauer = INV / 100 * PER_TM
Weitere Informationen
Weitere Informationen finden Sie in folgenden Abschnitten:
PULSEGEN: Dreipunktregelung, unsymmetrisch (Seite 182)
PULSEGEN: Zweipunktregelung (Seite 183)
PULSEGEN: Handbetrieb bei Zwei- oder Dreipunktregelung (Seite 184)
Beschreibung
Über den Verhältnisfaktor RATIOFAC kann das Verhältnis der Dauer von positiven zu
negativen Impulsen verändert werden. Bei einem thermischen Prozess lassen sich damit
zum Beispiel unterschiedliche Streckenzeitkonstanten für Heizen und Kühlen
berücksichtigen.
Der Verhältnisfaktor beeinflusst auch die Mindestimpulsdauer bzw. Pausendauer. Ein
Verhältnisfaktor < 1 bedeutet, dass der Ansprechwert für negative Impulse mit dem
Verhältnisfaktor multipliziert wird.
Verhältnisfaktor < 1
Die aus Eingangsgröße mal Periodendauer berechnete Impulsdauer am negativen
Impulsausgang wird um den Verhältnisfaktor verkürzt:
Dauer des positiven Impulses = INV / 100 * PER_TM
Dauer des negativen Impulses = INV / 100 * PER_TM + RATIOFAC
Verhältnisfaktor > 1
Die aus Eingangsgröße mal Periodendauer berechnete Impulsdauer am positiven
Impulsausgang wird um den Verhältnisfaktor verkürzt:
Dauer des positiven Impulses = INV / 100 + PER_TM
Dauer des negativen Impulses = INV / 100 * PER_TM / RATIOFAC
Weitere Informationen
Weitere Informationen finden Sie in folgenden Abschnitten:
Unsymetrische Kennlinie des Dreipunktreglers (Seite 217)
PULSEGEN: Dreipunktregelung (Seite 181)
PULSEGEN: Zweipunktregelung (Seite 183)
PULSEGEN: Handbetrieb bei Zwei- oder Dreipunktregelung (Seite 184)
Beschreibung
Bei der Zweipunktregelung wird nur der positive Impulsausgang QPOS_P von PULSEGEN
mit dem betreffenden Ein- / Aus-Stellglied verbunden. Je nach genutztem Stellwertbereich
hat der Zweipunktregler einen bipolaren oder einen unipolaren Stellwertbereich.
An QNEG_P steht das negierte Ausgangssignal zur Verfügung, falls die Verschaltung des
Zweipunktreglers im Regelkreis ein logisch invertiertes Binärsignal für die Stellimpulse
erfordert.
Weitere Informationen
Weitere Informationen finden Sie in folgenden Abschnitten:
Kennlinie mit bipolarem Stellwertbereich (Seite 208)
Kennlinie mit unipolarem Stellwertbereich (Seite 209)
PULSEGEN: Dreipunktregelung (Seite 181)
PULSEGEN: Dreipunktregelung, unsymmetrisch (Seite 182)
PULSEGEN: Handbetrieb bei Zwei- oder Dreipunktregelung (Seite 184)
Beschreibung
Im Handbetrieb (MAN_ON = TRUE) können die Binärausgänge des Dreipunkt-
beziehungsweise Zweipunktreglers über die Signale POS_P_ON und NEG_P_ON
unabhängig von INV gesetzt werden.
Weitere Informationen
Weitere Informationen finden Sie in folgenden Abschnitten:
PULSEGEN: Dreipunktregelung (Seite 181)
PULSEGEN: Dreipunktregelung, unsymmetrisch (Seite 182)
PULSEGEN: Zweipunktregelung (Seite 183)
17.2 DELAY
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Der Baustein generiert einen Softwarealarm. Er startet die Ablaufebene (Task), deren Name
am TN-Eingang angegeben wird.
Wenn ein Name angegeben wird, dem keine Ablaufebene zugewiesen ist, so wird beim
Übersetzen und Konsistenzprüfen ein Fehler gemeldet.
Anschlüsse
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Mit diesem Baustein kann die aufrufende Ablaufebene ohne Unterbrechung durch andere
Ablaufebenen arbeiten. Alle auftretenden Startereignisse werden verzögert bis entweder die
Bearbeitung freigegeben wird (mit Hilfe des Bausteins EDELAY) oder die laufende
Ablaufebene beendet wird.
Danach werden die Startereignisse ausgeführt, die in der Zwischenzeit eingetroffen sind.
Wenn während der Bearbeitung ein Fehler auftritt, so kann dieser mit Hilfe des Bausteins
LASTERR abgefragt werden.
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Dieser Baustein gibt verzögerte Startereignisse wieder frei. Die Startereignisse müssen
vorher mit Hilfe des Bausteins DELAY verzögert worden sein.
Wenn während der Bearbeitung ein Fehler auftritt, so kann dieser mit Hilfe des Bausteins
LASTERR abgefragt werden.
Weitere Informationen zu den Bausteinen DELAY und LASTERR finden Sie in folgenden
Abschnitten:
● DELAY: Verzögern der Startereignisse (Seite 187)
● LASTERR: Ermittlung des Fehlercodes in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Seite 191)
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Mit diesem Baustein kann die aufrufende Ablaufebene ohne Unterbrechung durch andere
Ablaufebenen arbeiten. Alle auftretenden Startereignisse werden verworfen, die
Ablaufebenen werden nicht gestartet. Bereits registrierte (verzögerte) Ereignisse werden
fertig bearbeitet. Prozessalarme werden sofort quittiert.
Alle auftretenden Startereignisse werden verworfen bis entweder die Bearbeitung
freigegeben wird (mit Hilfe des Bausteins EDISCARD) oder die laufende Ablaufebene
beendet wird.
Wenn während der Bearbeitung ein Fehler auftritt, so kann dieser mit Hilfe des Bausteins
LASTERR abgefragt werden.
Weitere Informationen zu den Bausteinen EDISCARD und LASTERR finden Sie in
folgenden Abschnitten:
● EDISCARD: Freigabe aller neu auftretenden Startereignisse (Seite 190)
● LASTERR: Ermittlung des Fehlercodes in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Seite 191)
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Dieser Baustein gibt neu auftretende Startereignisse wieder frei. Zuvor muss mit Hilfe des
Bausteins DISCARD die Bearbeitung von Startereignissen gesperrt worden sein.
Wenn während der Bearbeitung ein Fehler auftritt, so kann dieser mit Hilfe des Bausteins
LASTERR abgefragt werden.
Weitere Informationen zu den Bausteinen DISCARD und LASTERR finden Sie in folgenden
Abschnitten:
● DISCARD: Alle auftretenden Startereignisse werden verworfen (Seite 189)
● LASTERR: Ermittlung des Fehlercodes in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Seite 191)
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Dieser Baustein liefert den Fehlercode des zuletzt aufgetretenen Fehlers für folgende
Fehlerklassen:
● Peripheriefehler
● Fehler in den Systembausteinen:
– DELAY: Verzögern der Startereignisse (Seite 187),
– EDELAY : Freigabe der verzögerten Startereignisse (Seite 188),
– DISCARD: Alle auftretenden Startereignisse werden verworfen (Seite 189),
– EDISCARD: Freigabe aller neu auftretenden Startereignisse (Seite 190),
– P_REASON: Ermittlung der Ursache des Prozessalarms (Seite 193)
Die möglichen Werte sind eine Untermenge der Fehlercodes der M7-Systemsoftware. Sie
können in der Datei M7API.H oder in der Dokumentation der M7-Systemsoftware
nachgeschlagen werden.
Anschlüsse
Hinweis
Der Baustein kann nur für ein M7-300/400-Laufzeitsystem eingesetzt werden!
Funktion
Mit diesem Baustein kann die Systemzeit ermittelt werden. Sie wird im Format TIME am
Ausgang des Bausteins geliefert.
Anschlüsse
Funktion
Dieser Baustein ermittelt die Aufrufursache eines Prozessalarms.
Die gewünschte Task wird über ihren Namen am Eingang TN angegeben. Wenn es sich
dabei nicht um einen Prozessalarm handelt, so bleibt der Baustein wirkungslos.
Am Ausgang STATE wird die Zusatzinformation des Prozessalarms beim letzten Aufruf
ausgegeben. Der Inhalt dieser Zusatzinformation ist baugruppenspezifisch und wird
bezüglich der Byte-Reihenfolge im INTEL-Format geliefert.
Am Ausgang MASK wird zusätzlich die Alarmmaske ausgegeben, die im CFC für diese
Prozessalarm-Ablaufebene projektiert wurde.
Wenn während der Bearbeitung ein Fehler auftritt, so kann dieser mit Hilfe des Bausteins
LASTERR abgefragt werden.
Weitere Informationen zum Baustein LASTERR finden Sie im Abschnitt: LASTERR:
Ermittlung des Fehlercodes in DELAY, EDELAY, DISCARD, EDISCARD,P_REASON
(Seite 191)
Anschlüsse
Anwendung
Der Baustein wird in einem CFC-Plan verwendet, wenn AS-übergreifende Verbindungen
genutzt werden und der Fehlerzustand dieser Verbindungen im Anwenderprogramm
ausgewertet werden soll.
Für jede AS-übergreifende Verbindung muss auf Sender- und Empfängerseite je eine
Instanz des Bausteins in den CFC-Plan eingefügt werden.
Entfernen Sie die Instanzen, wenn Sie die AS-übergreifende Verbindung gelöscht haben.
Funktion
Der Baustein liefert am Ausgang den Fehlerzustand der AS-übergreifenden Verbindung,
deren Nummer am Eingang NETPRO_ID parametriert wurde.
Der Baustein liefert für jeden Fehler ein eigenes Bit. Zusätzlich ist ein Sammelfehler
verfügbar. Wenn die angegebene NETPRO_ID nicht vorhanden ist, wird ebenfalls ein Fehler
ausgegeben.
Fehlerbehandlung
Der Rückgabewert RET_VAL wird nicht verwendet.
Eingangsparameter
Ausgangsparameter
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.2 IK_MANAG
IK_MANAG
Objektname (Art+Nummer)
FC152
Anwendung
Der Baustein IK_MANAG ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.3 IK_SEND
IK_SEND
Objektname (Art+Nummer)
FC155
Anwendung
Der Baustein IK_SEND ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.4 IK_RCV
IK_RCV
Objektname (Art+Nummer)
FC156
Anwendung
Der Baustein IK_RCV ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.5 IK_CP_OU
IK_CP_OU
Objektname (Art+Nummer)
FC154
Anwendung
Der Baustein IK_CP_OU ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.6 IK_CP_IN
IK_CP_IN
Objektname (Art+Nummer)
FC153
Anwendung
Der Baustein IK_CP_IN ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
18.7 IK_ALARM
IK_ALARM
Objektname (Art+Nummer)
FB244
Anwendung
Der Baustein IK_ALARM ist Teil des Laufzeitsystems für die Unterstützung der AS-
übergreifenden Verschaltungen, das automatisch mit dem ersten Erzeugen einer AS-
übergreifenden Verschaltung in den Bausteinordner des S7-Programms kopiert wird.
Eine detaillierte Beschreibung dieses Bausteins ist nicht vorgesehen.
Weitere Informationen zur AS-übergreifenden Verschaltung finden Sie in der Hilfe "CFC für
SIMATIC S7 > Erstellen von Ablaufstrukturen > Einrichten und Hantieren von
Verschaltungen > AS-übergreifende Verschaltungen einrichten".
Funktion
Der Baustein vergleicht zur Laufzeit die Anzahl der Prozessobjekte (PO), die im Automation
License Manager unter der Lizenz "AS RT PO" verbucht sind, mit der Anzahl der PO, die im
AS "S7-410" geladen sind.
Der Baustein wird beim Übersetzen automatisch in den CFC-Plan "@PA-CPU" eingefügt
und dieser CFC-Plan in den OB1 eingebaut. Beim Laden in das AS "S7-410" werden
Baustein und CFC-Plan in die CPU geladen.
Wenn die Anzahl der verbuchten Lizenzen für PO im Automation License Manager geringer
ist, als die Anzahl der PO, die im AS "S7-410" geladen sind, dann wird diese nicht
ausreichende Lizenzierung angezeigt durch:
● Einen Eintrag in den Diagnosepuffer der CPU
● Zyklisches Auslösen einer entsprechenden Meldung in SIMATIC WinCC.
Die Meldung wird immer sofort ausgelöst beim Ladevorgang, bei dem die nicht
ausreichende Lizenzierung festgestellt wird, und wenn sich die Differenz durch den
Ladevorgang ändert. Danach erfolgt die Meldung im Abstand von ca. 6 Stunden.
Wenn die Prozessobjekte wieder ausreichend lizenziert sind, z. B. nach einer
Reduzierung der benötigten PO im AS-Programm oder durch Nachkauf von Lizenzen,
dann erfolgt diese Meldung nicht mehr. Es wird keine Meldung "GEHEND" erzeugt.
Hinweis
Bei der AS "S7-410" wird die maximale Anzahl der ladbaren PO durch die Hardware
lizenziert. Dabei ist es nicht möglich, eine größere Anzahl an PO in das AS zu laden, als die
per Hardware lizenzierte Anzahl. Diese Grenze ist für den Vergleich im Baustein "PA-CPU"
jedoch nicht relevant.
Es kann zwischen Hand- und Automatikbetrieb umgeschaltet werden. Bei Handbetrieb wird
die Stellgröße einem Handwert nachgeführt.
Der Integrierer (INT) wird intern auf LMN - LMN_P - DISV und der Differenzierer (DIF) auf 0
gesetzt und intern abgeglichen. Das Umschalten in den Automatikbetrieb ist damit stoßfrei.
20.2 Impulsbreitenmodulation
Impulsbreitenmodulation
Legende
1 Zyklus PULSEGEN
2 Zyklus CONT_C
20.3 Istwertzweig
Der Istwert kann im Peripherie- oder Gleitpunktformat eingelesen werden. Die Funktion
CRP_IN wandelt den Peripheriewert PV_PER in ein Gleitpunktformat von -100 ... +100 %
nach folgender Vorschrift um:
Ausgang von CPR_IN = PV_PER * 100 / 27648
Die Funktion PV_NORM normiert den Ausgang von CRP_IN nach folgender Regel:
Ausgang von PV_NORM = (Ausgang von CRP_IN) * PV_FAC + PV_OFF
PV_FAC ist mit 1 und PV_OFF ist mit 0 vorbelegt.
Legende
1 dauernd "Aus"
2 Dauer des positiven Imulses
3 dauernd "Ein"
Legende
1 Dauer des positiven Imulses
20.6 PI-Schrittalgorithmus
20.7 PID-Algorithmus
20.8 Regeldifferenzbildung
Die Differenz von Soll- und Istwert ergibt die Regeldifferenz. Zur Unterdrückung einer kleinen
Dauerschwingung aufgrund der Stellgrößen-Quantisierung, z. B. bei einer
Pulsbreitenmodulation mit PULSEGEN, oder begrenzte Auflösung des Stellwerts durch das
Stellventil, wird die Regeldifferenz über eine Totzone (DEADBAND) geleitet. Bei DEADB_W
= 0 ist die Totzone ausgeschaltet.
20.9 Sollwertzweig
20.10 Stellwertverarbeitung
Der Stellwert wird mit der Funktion LMNLIMIT auf vorgebbare Werte begrenzt. Das
Überschreiten der Grenzen wird in Meldebits angezeigt.
Die Funktion LMN_NORM normiert den Ausgang von LMNLIMIT nach folgender Regel:
LMN = (Ausgang von LMNLIMIT) * LMN_FAC + LMN_OFF
LMN_FAC ist mit 1 und LMN_OFF mit 0 vorbelegt.
Der Stellwert steht auch im Peripherieformat zur Verfügung. Die Funktion CRP_OUT wandelt
den Gleitpunktwert LMN in einen Peripheriewert nach folgender Regel um:
LMN_PER = LMN * 27648 / 100
20.11 Störgrößenaufschaltung
Legende
1 Dauer des positiven Imulses
2 dauernd "Ein"
3 dauernd "Aus"
4 Dauer des negativen Impulses
Legende
1 Dauer des positiven Imulses
2 Dauer des negativen Impulses
BIT_LGC, 15
BIT-Logikbausteine, 15
A BO_BY, 63
BO_DW, 65
ABS_DI, 116
BO_W, 64
ABS_I, 104
BY_BO, 66
ABS_R, 77
BY_DW, 45
Absolutwert, DINT, 116
BY_W, 46
Absolutwert, INT, 104
Absolutwert, REAL, 77
ACOS, 87
C
ADD_DI, 109
ADD_I, 97 CADD_DI, 120
ADD_R, 71 CADD_I, 108
Addierer, DINT, 109 CADD_R, 92
Addierer, INT, 97 CFC-Bausteine, 13
Addierer, REAL, 71 CMP_DI, 39
Addierer, steuerbar, DINT, 120 CMP_I, 38
Addierer, steuerbar, INT, 108 CMP_R, 40
Addierer, steuerbar, REAL, 92 CMP_T, 41
AFP, 155 COMPARE, 37
Aktuelle Uhrzeit, 159 CONT_C, 162
auslesen, 159 Blockschaltbild,
AND, 16 CONT_S, 169
Anlauf bei S7-300 CPUs, 11 Blockschaltbild,
Antivalenz-Verknüpfung, 18 CONTROL, 161
Antivalenz-Verknüpfung, generisch, DWORD, 32 COS, 84
Antivalenz-Verknüpfung, WORD, 26 Cosinus, REAL, 84
Arcuscosinus, REAL, 87 COUNTER, 143
Arcussinus, REAL, 86 CTD, 146
Arcustangens, REAL, 88 CTU, 144
Arithmetikbausteine, 95 CTUD, 147
ASIN, 86
ATAN, 88
Ausführungszeit, 158 D
messen, 158
DELAY, 187
Auslesen, 159
DI_DW, 47
aktuelle Uhrzeit, 159
DI_I, 48
Ausschaltverzögerung, 150
DI_R, 49
DISCARD, 189
DIV_DI, 112
B
DIV_I, 100
Bausteinparameter EN ENO SAMPLE_T, 9 DIV_R, 74
Begrenzer, unsymmetrisch, DINT, 118 Dividierer, DINT, 112
Begrenzer, unsymmetrisch, INT, 106 Dividierer, INT, 100
Begrenzer, unsymmetrisch, REAL, 90 Dividierer, REAL, 74
Beschreibung von Doppelwort-Logik, 23
FRC_CFC, 194 Drehen, links, DWORD, 131
J
E JK_FF, 122
EDELAY, 188 JK-FlipFlop, 122
EDISCARD, 190
Eingangszeit, 160
Eingangszeit K
mit der aktuellen Zeit vergleichen,
Konvertierung, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
Einschaltverzögerung, 150
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
EPS_DI, 119
16 BOOL -> WORD, 64
EPS_I, 107
32 BOOL -> DWORD, 65
EPS_R, 91
8 BOOL -> BYTE, 63
Erkennung, 153, 154
BYTE -> 8 BOOL, 66
der fallenden Flanke, 154
BYTE -> DWORD, 45
der steigenden Flanke, 153
BYTE -> WORD, 46
EVENT, 186
DINT -> DWORD, 47
EXP, 79
DINT -> INT, 48
Expontialfunktion, REAL, 79
DINT -> REAL, 49
DWORD -> 32 BOOL, 68
DWORD -> DINT, 50
F
DWORD -> REAL, 51
F_TRIG, 154 DWORD -> WORD, 52
Fallende Flanke, 154 INT -> DINT, 53
Erkennung, 154 INT -> DWORD, 54
Flip-Flop, 121 INT -> REAL, 55
Flip-Flop, rücksetzen dominant, 123 INT -> WORD, 56
FlipFlop, setzen dominant, 124 REAL -> DINT, 57
FRC_CFC, 194 REAL -> DWORD, 58
Beschreibung, 194 REAL -> INT, 59
WORD -> 16 BOOL, 67
WORD -> BYTE, 60
G WORD -> DWORD, 61
WORD -> INT, 62
Gleitpunkt-Arithmetikbausteine, 69
Konvertierungsbausteine, 43
I L
I_DI, 53
LASTERR, 191
I_DW, 54
LIM_DI, 118
I_R, 55
LIM_I, 106
I_W, 56
LIM_R, 90
IMPULS, 149
LN, 81
Impulsbildner, 150
LOG10, 82
Impulsformen für proportionale Stellglieder, 175
Logarithmus zur Basis 10, REAL, 82
M NEG_R, 89
Negierer, DINT, 117
M7-Task, 186
Negierer, INT, 105
starten, 186
Negierer, REAL, 89
MATH_FP, 69
NOR, 20
MATH_INT, 95
NOR-Verknüpfung, 20
Maximum, DINT, 114
NOR-Verknüpfung, generisch, DWORD, 34
Maximum, INT, 102
NOR-Verknüpfung, WORD, 28
Maximum, REAL, 75
NOT, 21
MAXn_DI, 114
MAXn_I, 102
MAXn_R, 75
O
Merkerwort 0, 11
Messen, 158 ODER-Verknüpfung, 17
Ausführungszeit, 158 ODER-Verknüpfung, generisch, DWORD, 31
Minimum, DINT, 115 ODER-Verknüpfung, WORD, 25
Minimum, INT, 103 OR, 17
Minimum, REAL, 76
MINn_DI, 115
MINn_I, 103 P
MINn_R, 76
P_REASON, 193
Mittelwert, gleitend, REAL, 94
PA-CPU, 203
MOD_DI, 113
Potenz zur Basis 10, REAL, 80
MOD_I, 101
Potenz, allgemein, REAL, 93
Modulo, DINT, 113
POW10, 80
Modulo, INT, 101
POWXY, 93
MUL_DI, 111
Pulsbreitenmodulation, 175
MUL_I, 99
Pulsegen
MUL_R, 73
Blockschaltbild,
Multiplexer, BOOL, 139
PULSEGEN, 175
Multiplexer, DINT, 137
Dreipunktregelung,
Multiplexer, INT, 136
Dreipunktregelung unsymmetrisch,
Multiplexer, REAL, 138
Handbetrieb,
Multiplizierer, DINT, 111
Zweipunktregelung,
Multiplizierer, INT, 99
Multiplizierer, REAL, 73
MULTIPLX, 135
Q
MUXn_BO, 139
MUXn_DI, 137 Quadratwurzel, REAL, 78
MUXn_I, 136
MUXn_R, 138
MW0, 11 R
R_DI, 57
R_DW, 58
N
R_I, 59
NAND, 19 R_TRIG, 153
NAND-Verknüpfung, 19 ROL_DW, 131
NAND-Verknüpfung, generisch, DWORD, 33 ROL_W, 130
NAND-Verknüpfung, WORD, 27 ROR_DW, 133
Natürlicher Logarithmus, REAL, 81 ROR_W, 132
NEG_DI, 117 RS_FF, 123
NEG_I, 105 Rückwärtszähler, 146
S V
SAMP_AVE, 94 Vergleiche, 160
Schieben, links, DWORD, 127 Eingangszeit mit der aktuellen Zeit, 160
Schieben, links, WORD, 126 Vergleicher, DINT, 39
Schieben, rechts, DWORD, 129 Vergleicher, INT, 38
Schieben, rechts, WORD, 128 Vergleicher, REAL, 40
Schrittregeln, 169 Vergleicher, TIME, 41
SEL_BO, 140 Verlängerter Impuls, 150
SEL_R, 141 Vor- und Rückwärtszähler, 147
SHIFT, 125 Vorwärtszähler, 144
SHL_DW, 127
SHL_W, 126
SHR_DW, 129 W
SHR_W, 128
W_BO, 67
SIN, 83
W_BY, 60
Sinus, REAL, 83
W_DW, 61
Speichernde Einschaltverzögerung, 150
W_I, 62
SQRT, 78
WAND_DW, 30
SR_FF, 124
WAND_W, 24
Starten, 186
WNAND_DW, 33
M7-Task, 186
WNAND_W, 27
Steigende Flanke, 153
WNOR_DW, 34
Erkennung, 153
WNOR_W, 28
SUB_DI, 110
WNOT_DW, 35
SUB_I, 98
WNOT_W, 29
SUB_R, 72
WOR_DW, 31
Subtrahierer, DINT, 110
WOR_W, 25
Subtrahierer, INT, 98
Wort-Logik, 23
Subtrahierer, REAL, 72
WRD_LGC, 23
SYSTEM, 185
WXOR_DW, 32
SYSTIME, 192
WXOR_W, 26
T X
Taktgeber, 155
XOR, 18
TAN, 85
Tangens, REAL, 85
TIME, 158
TIME, Gruppe, 157
TIME_BEG, 159
TIME_END, 160
TIMER_P, 150
U
UND-Verknüpfung, 16
UND-Verknüpfung, generisch, DWORD, 30
UND-Verknüpfung, WORD, 24