Beruflich Dokumente
Kultur Dokumente
EIO0000000808 11/2011
Unity Pro
Original-LL984
Bausteinbibliothek
11/2011
EIO0000000808.02
www.schneider-electric.com
Die Informationen in der vorliegenden Dokumentation enthalten allgemeine
Beschreibungen und/oder technische Leistungsmerkmale der hier erwähnten
Produkte. Diese Dokumentation dient keinesfalls als Ersatz für die Ermittlung der
Eignung oder Verlässlichkeit dieser Produkte für bestimmte Verwendungsbereiche
des Benutzers und darf nicht zu diesem Zweck verwendet werden. Jeder Benutzer
oder Integrator ist verpflichtet, angemessene und vollständige Risikoanalysen,
Bewertungen und Tests der Produkte im Hinblick auf deren jeweils spezifischen
Verwendungszweck vorzunehmen. Weder Schneider Electric noch deren
Tochtergesellschaften oder verbundene Unternehmen sind für einen Missbrauch
der Informationen in der vorliegenden Dokumentation verantwortlich oder können
diesbezüglich haftbar gemacht werden. Verbesserungs- und Änderungsvorschlage
sowie Hinweise auf angetroffene Fehler werden jederzeit gern
entgegengenommen.
Dieses Dokument darf ohne entsprechende vorhergehende, ausdrückliche und
schriftliche Genehmigung durch Schneider Electric weder in Teilen noch als Ganzes
in keiner Form und auf keine Weise, weder anhand elektronischer noch
mechanischer Hilfsmittel, reproduziert oder fotokopiert werden.
Bei der Montage und Verwendung dieses Produkts sind alle zutreffenden
staatlichen, landesspezifischen, regionalen und lokalen Sicherheitsbestimmungen
zu beachten. Aus Sicherheitsgründen und um die Übereinstimmung mit
dokumentierten Systemdaten besser zu gewährleisten, sollten Reparaturen an
Komponenten nur vom Hersteller vorgenommen werden.
Beim Einsatz von Geräten für Anwendungen mit technischen Sicherheitsanforde-
rungen sind die relevanten Anweisungen zu beachten.
Die Verwendung anderer Software als der Schneider Electric-eigenen bzw. einer
von Schneider Electric genehmigten Software in Verbindung mit den Hardwarepro-
dukten von Schneider Electric kann Körperverletzung, Schäden oder einen
fehlerhaften Betrieb zur Folge haben.
Die Nichtbeachtung dieser Informationen kann Verletzungen oder Materialschäden
zur Folge haben!
© 2011 Schneider Electric. Alle Rechte vorbehalten.
2 EIO0000000808 11/2011
Inhaltsverzeichnis
Sicherheitshinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Über dieses Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Teil I Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . 17
Kapitel 1 Installation der Original-LL984-Bausteinbibliothek von
Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Installation der Original-LL984-Bausteinbibliothek von Unity Pro . . . . . . . 19
Kapitel 2 Bausteintypen und Bausteinlayout. . . . . . . . . . . . . . . . . 21
Bausteintypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
LL984-Bausteinlayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Kapitel 3 Verfügbarkeit der Bausteine auf verschiedenen
Hardwareplattformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Verfügbarkeit der Bausteine auf den verschiedenen Hardware-
Plattformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Nicht implementierte Funktionsbausteine . . . . . . . . . . . . . . . . . . . . . . . . . 31
Teil II CONTL_COMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Kapitel 4 L9_CKSM: Prüfsumme . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Kapitel 5 L9_DIOH: Funktionsfähigkeit dezentraler E/A . . . . . . . . 39
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Kapitel 6 L9_DRUM: Drum-Schrittfolgesteuerung. . . . . . . . . . . . . 43
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Kapitel 7 L9_ICMP: Eingangsvergleich . . . . . . . . . . . . . . . . . . . . . 47
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Kapitel 8 L9_ID: Deaktivierung der Interrupts . . . . . . . . . . . . . . . . 53
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Kapitel 9 L9_IE: Aktivierung der Interrupts . . . . . . . . . . . . . . . . . . 55
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Kapitel 10 L9_IMIO: Direkter E/A-Zugriff . . . . . . . . . . . . . . . . . . . . . 57
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
EIO0000000808 11/2011 3
Kapitel 11 L9_MRTM: Modul zur Übertragung mehrerer Register . 63
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Programmtabelle (L9_MRTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Steuertabelle (L9_MRTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Beispiel (L9_MRTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Kapitel 12 L9_PID2: Proportional-Integral-Differential . . . . . . . . . . . 75
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Detaillierte Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Fehlerstatusbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Kapitel 13 L9_SCIF: Schnittstellen zur Ablaufsteuerung. . . . . . . . . 89
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Kapitel 14 L9_STAT: Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Beschreibung der Statustabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Steuerungsspezifische Statuswörter 1 - 11 . . . . . . . . . . . . . . . . . . . . . . . 100
Wörter 12 - 171 für den Funktionsfähigkeitsstatus der E/A-Module . . . . 104
Kommunikationsspezifische Statuswörter 172 - 277 . . . . . . . . . . . . . . . . 106
Kapitel 15 L9_MSTR: Modbus Plus-Master . . . . . . . . . . . . . . . . . . . 111
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Kapitel 16 L9_XMIT - Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
L9_XMIT – Modbus-Funktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Kapitel 17 L9_XMIT im Kommunikationsmodus . . . . . . . . . . . . . . . . 121
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Kommunikationsteuertabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Ereignisstatustabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Tabelle der Befehlswort-Kommunikationsfunktionen. . . . . . . . . . . . . . . . 132
Kapitel 18 L9_XMIT im Portstatusmodus . . . . . . . . . . . . . . . . . . . . . 133
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Kapitel 19 L9_XMIT im Konvertierungsmodus . . . . . . . . . . . . . . . . . 141
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Teil III COUNT_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Kapitel 20 L9_DCTR: Abwärtszähler . . . . . . . . . . . . . . . . . . . . . . . . . 151
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Kapitel 21 L9_T001: Hundertstelsekunden-Zeitgeber . . . . . . . . . . . 153
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Kapitel 22 L9_T01: Zehntelsekunden-Zeitgeber . . . . . . . . . . . . . . . . 155
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Kapitel 23 L9_T1: Sekunden-Zeitgeber . . . . . . . . . . . . . . . . . . . . . . . 157
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4 EIO0000000808 11/2011
Kapitel 24 L9_T1MS: Millisekunden-Zeitgeber. . . . . . . . . . . . . . . . . 159
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Kapitel 25 L9_UCTR: Aufwärtszähler . . . . . . . . . . . . . . . . . . . . . . . . 161
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Teil IV EMTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Kapitel 26 Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . 167
EMTH-Gleitkommafunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Kapitel 27 L9E_ADDDP: Addition mit doppelter Genauigkeit . . . . 169
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Kapitel 28 L9E_ADDF: Addition mit Gleitkommawerten. . . . . . . . . 171
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Kapitel 29 L9E_ADDIF: Addition Ganzzahl + Gleitkommawert. . . . 173
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Kapitel 30 L9E_ANLOG: Antilogarithmus Basis 10. . . . . . . . . . . . . 175
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Kapitel 31 L9E_ARCOS: Arkuskosinus eines Winkels (in Radiant)
für Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Kapitel 32 L9E_ARSIN: Arkussinus eines Winkels (in Radiant) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Kapitel 33 L9E_ARTAN: Arkustangens eines Winkels (in Radiant)
für Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Kapitel 34 L9E_CHSIN: Änderung des Vorzeichens einer
Gleitkommazahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Kapitel 35 L9E_CMPFP: Vergleich von Gleitkommawerten . . . . . . 185
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Kapitel 36 L9E_CMPIF: Vergleich Ganzzahl – Gleitkommawert. . . 187
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Kapitel 37 L9E_CNVDR: Konvertierung Grad in Radiant für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Kapitel 38 L9E_CNVFI: Konvertierung Gleitkommawert in
Ganzzahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Kapitel 39 L9E_CNVIF: Konvertierung Ganzzahl in
Gleitkommawert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
EIO0000000808 11/2011 5
Kapitel 40 L9E_CNVRD: Konvertierung Radiant in Grad für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Kapitel 41 L9E_COS: Kosinus eines Winkels (in Radiant) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Kapitel 42 L9E_DIVDP: Division mit doppelter Genauigkeit . . . . . . 199
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Kapitel 43 L9E_DIVFI: Division Gleitkommawert durch Ganzzahl . 201
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Kapitel 44 L9E_DIVFP: Division von Gleitkommawerten . . . . . . . . . 203
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Kapitel 45 L9E_DIVIF: Division Ganzzahl durch Gleitkommawert . 205
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Kapitel 46 L9E_ERLOG: Protokoll für Gleitkommawert-Ereignisse 207
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
EMTH-Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Kapitel 47 L9E_EXP: Exponentialfunktion für Gleitkommawerte . . 211
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Kapitel 48 L9E_LNFP: Natürlicher Logarithmus mit
Gleitkommawerten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Kapitel 49 L9E_LOG: Logarithmus Basis 10 . . . . . . . . . . . . . . . . . . . 215
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Kapitel 50 L9E_LOGFP: Zehnerlogarithmus mit
Gleitkommawerten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Kapitel 51 L9E_MULDP: Multiplikation mit doppelter Genauigkeit. 219
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Kapitel 52 L9E_MULFP: Multiplikation von Gleitkommawerten . . . 221
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Kapitel 53 L9E_MULIF: Multiplikation Ganzzahl x Gleitkommawert 223
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Kapitel 54 L9E_PI: Laden des Gleitkommawerts von „Pi“. . . . . . . . 225
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Kapitel 55 L9E_POW: Potenzierung eines Gleitkommawerts mit
einem Ganzzahl-Exponenten . . . . . . . . . . . . . . . . . . . . . . 227
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Kapitel 56 L9E_SINE: Sinus eines Winkels (in Radiant) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
6 EIO0000000808 11/2011
Kapitel 57 L9E_SQRFP: Quadratwurzel von Gleitkommawerten . . 231
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Kapitel 58 L9E_SQRT: Quadratwurzel von Gleitkommawerten . . . 233
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Kapitel 59 L9E_SQRTP: Prozess-Quadratwurzel. . . . . . . . . . . . . . . 235
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Kapitel 60 L9E_SUBDP: Subtraktion mit doppelter Genauigkeit . . 237
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Kapitel 61 L9E_SUBFI: Subtraktion Gleitkommawert – Ganzzahl . 239
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Kapitel 62 L9E_SUBFP: Subtraktion von Gleitkommatwerten . . . . 241
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Kapitel 63 L9E_SUBIF: Subtraktion Ganzzahl – Gleitkommawert . 243
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Kapitel 64 L9E_TAN: Tangens eines Winkels (in Radiant) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Teil V EQN_EXT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Kapitel 65 COSD: Kosinus eines Winkels (in Grad) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Kapitel 66 SIND: Sinus eines Winkels (in Grad) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Kapitel 67 TAND: Tangens eines Winkels (in Grad) für
Gleitkommawerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Teil VI MATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Kapitel 68 L9_AD16: Hinzufügen von 16 Bit . . . . . . . . . . . . . . . . . . 257
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Kapitel 69 L9_ADD: Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Kapitel 70 L9_DIV: Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Kapitel 71 L9_DV16: Division von 16 Bit . . . . . . . . . . . . . . . . . . . . . 267
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Kapitel 72 L9_MU16: Multiplikation von 16 Bit . . . . . . . . . . . . . . . . 271
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Kapitel 73 L9_MUL: Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
EIO0000000808 11/2011 7
Kapitel 74 L9_SU16: Subtraktion von 16 Bit . . . . . . . . . . . . . . . . . . . 279
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Kapitel 75 L9_SUB: Subtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Kapitel 76 L9_TEST: Test von 2 Werten . . . . . . . . . . . . . . . . . . . . . . 287
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Kapitel 77 L9_BCD: Binär- zu Binärcode. . . . . . . . . . . . . . . . . . . . . . 289
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Kapitel 78 L9_FTOI: Gleitkommawert in Ganzzahl . . . . . . . . . . . . . . 291
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Kapitel 79 L9_ITOF: Ganzzahl in Gleitkommawert . . . . . . . . . . . . . . 293
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Teil VII MATRIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Kapitel 80 L9_AND: Logisches UND . . . . . . . . . . . . . . . . . . . . . . . . . 297
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Kapitel 81 L9_BROT: Zyklische Bitverschiebung. . . . . . . . . . . . . . . 301
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Kapitel 82 L9_CMPR: Registervergleich . . . . . . . . . . . . . . . . . . . . . . 305
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Kapitel 83 L9_COMP: Matrixumkehrung . . . . . . . . . . . . . . . . . . . . . . 309
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Kapitel 84 L9_BROT: Bitänderung . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Kapitel 85 L9_NBIT: Bitsteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Kapitel 86 L9_NCBT: NC-Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Kapitel 87 L9_NOBT: NO-Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Kapitel 88 L9_OR: Logisch-ODER . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Kapitel 89 L9_RBIT: Zurücksetzen von Bits . . . . . . . . . . . . . . . . . . . 325
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Kapitel 90 L9_SBIT: Setzen von Bits . . . . . . . . . . . . . . . . . . . . . . . . . 327
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Kapitel 91 L9_SENS: Abfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Kapitel 92 L9_XOR: Exklusiv-ODER. . . . . . . . . . . . . . . . . . . . . . . . . . 333
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
8 EIO0000000808 11/2011
Teil VIII MISC (Verschiedenes) . . . . . . . . . . . . . . . . . . . . . . . . 337
Kapitel 93 L9_DISA: Überwachung deaktivierter Spulen und
Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Kapitel 94 L9_JSR: Sprung zu Unterprogramm (2 Knoten) . . . . . . 343
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Kapitel 95 L9_LAB: Beschriftung für ein Unterprogramm (1
Knoten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Kapitel 96 L9_RET: Rückkehr von einem Unterprogramm (1
Knoten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Kapitel 97 L9_SKP: Überspringen von Netzwerken (1 Knoten) . . . 349
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Kapitel 98 Unterprogrammverarbeitung. . . . . . . . . . . . . . . . . . . . . . 353
Unterprogrammverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Teil IX MOVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Kapitel 99 L9_BLKM: Blockverschiebung . . . . . . . . . . . . . . . . . . . . 357
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Kapitel 100 L9_BLKT: Verschiebung Block in Tabelle . . . . . . . . . . . 359
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Kapitel 101 L9_BMDI: Blockverschiebung mit deaktivierten
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Kapitel 102 L9_FIN: First In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Kapitel 103 L9_FOUT: First Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Kapitel 104 L9_IBKR: Indirektes Lesen von Blöcken . . . . . . . . . . . . 373
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Kapitel 105 L9_IBKW: Indirektes Schreiben von Blöcken . . . . . . . . 375
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Kapitel 106 L9_SRCH: Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Kapitel 107 L9_TBLK: Tabelle in Block . . . . . . . . . . . . . . . . . . . . . . . 379
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Kapitel 108 L9_R2T: Register in Tabelle. . . . . . . . . . . . . . . . . . . . . . . 385
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Kapitel 109 L9_T2R: Tabelle in Register. . . . . . . . . . . . . . . . . . . . . . . 389
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
EIO0000000808 11/2011 9
Kapitel 110 L9_T2T: Tabelle in Tabelle . . . . . . . . . . . . . . . . . . . . . . . . 393
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Teil X PCFL: Funktionsbibliothek für die
Prozesssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Kapitel 111 Allgemeine Informationen. . . . . . . . . . . . . . . . . . . . . . . . . 399
PCFL-Operationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Eingangs- und Ausgangsflags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Kapitel 112 L9P_AIN: Analogeingang . . . . . . . . . . . . . . . . . . . . . . . . . 403
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Kapitel 113 L9P_ALARM: Zentrale Alarmverwaltung . . . . . . . . . . . . . 409
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Kapitel 114 L9P_AOUT: Analogausgang . . . . . . . . . . . . . . . . . . . . . . . 413
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Kapitel 115 L9P_AVER: Berechnung des Mittelwerts gewichteter
Eingänge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Kapitel 116 L9P_CALC: Berechnete Preset-Formel . . . . . . . . . . . . . . 421
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Kapitel 117 L9P_DELAY: Warteschlange für Zeitverzögerung . . . . . 425
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Kapitel 118 L9P_INTEG: Eingangsintegration in spezifischen
Intervallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Kapitel 119 L9P_LIMIT: Pv-Begrenzer . . . . . . . . . . . . . . . . . . . . . . . . . 433
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Kapitel 120 L9P_LIMV: Anstiegsbegrenzung für Pv-Änderungen . . 437
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Kapitel 121 L9P_LKUP: Verweistabelle . . . . . . . . . . . . . . . . . . . . . . . . 441
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Kapitel 122 L9P_LLAG: Lead/Lag-Filter erster Ordnung . . . . . . . . . . 445
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Kapitel 123 L9P_MODE: Setzen von Eingängen in den Automatik-
oder Handbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Kapitel 124 L9P_ONOFF: ON-/OFF-Werte für Totzone . . . . . . . . . . . . 453
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Kapitel 125 L9P_RAMP: Rampe zum Sollwert mit konstanter Rate . 457
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Kapitel 126 L9P_RATE: Berechnung der Differentialrate über einen
vorgegebenen Zeitraum . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10 EIO0000000808 11/2011
Kapitel 127 L9P_RATIO: Verhältnisregler mit 4 Stationen . . . . . . . . 465
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Kapitel 128 L9P_RMPLN: Logarithmische Rampe zum Sollwert . . . 469
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Kapitel 129 L9P_SEL: Eingangsauswahl . . . . . . . . . . . . . . . . . . . . . . 473
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Kapitel 130 L9P_TOTAL: Summierer zur Durchflussdosierung. . . . 477
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Kapitel 131 L9P_KPID: Kompletter PID-Regler ohne Interaktion . . . 481
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Strukturbild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Parametrierung des L9P_KPID-Reglers . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Antiwindup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Auswahl des Reglertyps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Stoßfreie Betriebsartenumschaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Auswahl der Betriebsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Detaillierte Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Kapitel 132 L9P_PI: ISA-PI ohne Interaktion . . . . . . . . . . . . . . . . . . . 501
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
L9P_PI – Strukturbild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Parametrierung des L9P_PI-Reglers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Kapitel 133 L9P_PID: ISA-PID ohne Interaktion. . . . . . . . . . . . . . . . . 509
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
P_PID – Strukturbild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Parametrierung des P_PID-Reglers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Anhang A Systemobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Sytembits und Systemwörter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
EIO0000000808 11/2011 11
12 EIO0000000808 11/2011
Sicherheitshinweise
§
Wichtige Informationen
HINWEISE
Lesen Sie diese Anweisungen sorgfältig durch und machen Sie sich vor Installation,
Betrieb und Wartung mit dem Gerät vertraut. Die nachstehend aufgeführten
Warnhinweise sind in der gesamten Dokumentation sowie auf dem Gerät selbst zu
finden und weisen auf potenzielle Risiken und Gefahren oder bestimmte
Informationen hin, die eine Vorgehensweise verdeutlichen oder vereinfachen.
EIO0000000808 11/2011 13
BITTE BEACHTEN
Elektrische Geräte dürfen nur von Fachpersonal installiert, betrieben, bedient und
gewartet werden. Schneider Electric haftet nicht für Schäden, die durch die
Verwendung dieses Materials entstehen.
Als qualifiziertes Personal gelten Mitarbeiter, die über Fähigkeiten und Kenntnisse
hinsichtlich der Konstruktion und des Betriebs dieser elektrischen Geräte und der
Installationen verfügen und eine Schulung zur Erkennung und Vermeidung
möglicher Gefahren absolviert haben.
14 EIO0000000808 11/2011
Über dieses Buch
Gültigkeitsbereich
Diese Dokumentation ist gültig ab Unity Pro Version 6,1.
Weiterführende Dokumentation
Benutzerkommentar
Ihre Anmerkungen und Hinweise sind uns jederzeit willkommen. Senden Sie sie
einfach an unsere E-mail-Adresse: techcomm@schneider-electric.com.
EIO0000000808 11/2011 15
16 EIO0000000808 11/2011
Unity Pro
Allgemeine Informationen
EIO0000000808 11/2011
Allgemeine Informationen
I
Inhalt dieses Teils
Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
1 Installation der Original-LL984-Bausteinbibliothek von Unity 19
Pro
2 Bausteintypen und Bausteinlayout 21
3 Verfügbarkeit der Bausteine auf verschiedenen 25
Hardwareplattformen
EIO0000000808 11/2011 17
Allgemeine Informationen
18 EIO0000000808 11/2011
Unity Pro
Installation der Bibliothek
EIO0000000808 11/2011
Allgemeines
Sie müssen die Original-LL984-Bausteinbibliothek von Unity Pro installieren, um sie
verwenden zu können.
Installation
Schritt Aktion
1 Führen Sie die CD der Original-LL984-Bausteinbibliothek von Unity Pro in das
Laufwerk ein.
2 Die Autorun-Funktion wird gestartet. Sollte die Autorun-Funktion nicht
automatisch ausgeführt werden, dann doppelklicken Sie auf die Datei setup.exe.
3 Halten Sie sich dann an die Anweisungen des Setup-Programms.
EIO0000000808 11/2011 19
Installation der Bibliothek
20 EIO0000000808 11/2011
Unity Pro
Bausteintypen und Bausteinlayout
EIO0000000808 11/2011
Bausteintypen und
Bausteinlayout
2
Inhalt dieses Kapitels
Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Bausteintypen 22
LL984-Bausteinlayout 23
EIO0000000808 11/2011 21
Bausteintypen und Bausteinlayout
Bausteintypen
Bausteintypen
In Unity Pro werden verschiedene Bausteintypen verwendet. Der Überbegriff für alle
Bausteintypen ist FFB.
Die Funktionsbausteine der Original-LL984-Bausteinbibliothek in Unity Pro werden
umgesetzt als:
z Elementare Funktionen (EF)
z Elementare Funktionsbausteine (EFB)
z Abgeleitete Funktionsbausteine (DFB)
z Prozeduren
Elementare Funktionen
Elementare Funktionen (EF) haben keinen internen Status und nur einen Ausgang.
Bei gleichen Werten an den Eingängen ist der Wert am Ausgang bei allen
Ausführungen der Funktion gleich, z. B. die Addition zweier Werte liefert bei jeder
Ausführung das gleiche Ergebnis.
Elementare Funktionsbausteine
Elementare Funktionsbausteine (EFB) haben interne Zustände. Bei gleichen
Werten an den Eingängen kann der Wert an den Ausgängen bei den einzelnen
Ausführungen des Funktionsbausteins ein anderer sein. So wird z. B. bei einem
Zähler der Wert am Ausgang inkrementiert.
Abgeleitete Funktionsbausteine
Abgeleitete Funktionsbausteine (DFB) haben die gleichen Eigenschaften wie
elementare Funktionsbausteine. Sie werden jedoch vom Benutzer in den
Programmiersprachen LD, FBD, IL und/oder ST erstellt.
Prozeduren
Prozeduren sind Funktionen mit verschiedenen Ausgängen. Sie haben keinen
internen Status.
Der einzige Unterschied zu elementaren Funktionen ist, dass Prozeduren mehr als
einen Ausgang besitzen können und Variablen vom Datentyp VAR_IN_OUT
unterstützen.
Prozeduren geben keinen Wert zurück.
Prozeduren sind eine Ergänzung zu IEC 61131-3 und müssen explizit freigegeben
werden.
Optisch unterscheiden sich Prozeduren nicht von elementaren Funktionen.
22 EIO0000000808 11/2011
Bausteintypen und Bausteinlayout
LL984-Bausteinlayout
Layout
LL984-Bausteine verfügen über ein begrenztes Layout. In Ladder Logic von
Unity Pro LL984 können Bausteine vertikal 1 bis 3 Zellen beanspruchen. Horizontal
besetzen sie 1 Zelle. In Bezug auf Kontakte kann jede Zelle über einen Ein- und
einen Ausgang des Datentyps BOOL verfügen. Zusätzlich zu Kontakten kann jede
Zelle eines Bausteins eine numerische Konstante oder eine Referenz zu BOOL- oder
Wortparametern enthalten - die Knoten.
Knoten/Pins
Knoten werden im LL984-Editor in Unity Pro zur Beschreibung der in einer
Bausteinzelle platzierten Eingangs- und Ausgangsparameter verwendet.
Unity Pro-Funktionsbausteine stellen Ein- und Ausgangsparameter bereit.
Aus Kompatibilitätsgründen werden die Knotenparameter im LL984-Editor in Unity
Pro innerhalb des Bausteins angezeigt.
Bei den Knotenparametern handelt es sich je nach deren Funktionalität um
Eingangs-, Ausgangs- oder Ein-/Ausgangsparameter.
Je nach Position erhalten die Knoten eine unterschiedliche Bezeichnung:
z Oberer Knoten
z Mittlerer Knoten
z Unterer Knoten
Je nach Funktionalität können Knoten, Ein- und Ausgänge besetzt oder nicht
besetzt sein.
EIO0000000808 11/2011 23
Bausteintypen und Bausteinlayout
Darstellung
Beispiel: AND
24 EIO0000000808 11/2011
Unity Pro
Verfügbarkeit der Bausteine
EIO0000000808 11/2011
EIO0000000808 11/2011 25
Verfügbarkeit der Bausteine
Einführung
Welche Bausteine auf Ihrer Hardware-Plattform verfügbar sind, entnehmen Sie bitte
den folgenden Tabellen.
CONTL_COMM
Verfügbarkeit der Bausteine:
L9_XMIT EFB - +
1
= nur für Funktionscodes 1 und 2 (Daten schreiben/Daten lesen)
26 EIO0000000808 11/2011
Verfügbarkeit der Bausteine
EMTH
Verfügbarkeit der Bausteine:
EIO0000000808 11/2011 27
Verfügbarkeit der Bausteine
EQN_EXT
Verfügbarkeit der Bausteine:
MATH
Verfügbarkeit der Bausteine:
28 EIO0000000808 11/2011
Verfügbarkeit der Bausteine
MATRIX
Verfügbarkeit der Bausteine:
MISC (Verschiedenes)
Verfügbarkeit der Bausteine:
MOVE
Verfügbarkeit der Bausteine:
EIO0000000808 11/2011 29
Verfügbarkeit der Bausteine
PCFL
Verfügbarkeit der Bausteine:
30 EIO0000000808 11/2011
Verfügbarkeit der Bausteine
Einführung
Folgende LL984-Vorgängeranweisungen werden nicht unterstützt:
Anweisung Bedeutung
CALL Sofortige oder verzögerte DX-Funktion aktivieren
CANT Spulen, Kontakte, Zeitgeber, Zähler und den SUB-Baustein
auswerten
CHS Hot Standby konfigurieren
CONV Daten konvertieren
CTIF Zähler, Zeitgeber und Interrupt-Funktion
DLOG Datenprotokollierung für die Unterstützung von PCMCIA-Lese-
/Schreibvorgängen
DMTH Siehe MATH unten
EARS System für die Aufzeichnung von Ereignissen/Alarmen
EQN Gleichungsrechner
ESI Unterstützung für das ESI-Modul
EUCA Konvertierung der physikalischen Einheiten und Alarme
FNxx Alle drei Knotenvorlagen für die Erstellung benutzerspezifischer
Loadable-Anweisungen per Assembly oder C-Quellcode
G392 AGA Gasfluss-Funktionsbaustein AGA #3 1992
GD92 Gasfluss-Funktionsbaustein
GFNX AGA Gasfluss-Funktionsbaustein AGA #3 ‘85 und NX 19 ‘68
GG92 AGA Gasfluss-Funktionsbaustein Bruttomethode AGA #3 1992
GM92 AGA Gasfluss-Funktionsbaustein Detailmethode AGA #3 und #8 1992
HLTH Verlaufs- und Statusmatrizen für SPS-Status
HSBY Hot Standby
IMOD Interrupt-Modul-Anweisung
ITMR Interrupt-Zeitgeber
LOAD Flash-Speicher laden
MAP3 MAP-Transaktion
MATH/DMTH Ganzzahl-Operationen
HINWEIS: Für Anwendungen, die die MATH/DMTH-Funktionen
verwenden, werden diese Logikfunktionen in die äquivalenten
EMTH-Unterfunktionen übersetzt.
MBUS MBUS-Transaktion
EIO0000000808 11/2011 31
Verfügbarkeit der Bausteine
Anweisung Bedeutung
MMF Modicon Motion Framework (Bibliothek der
Bewegungsfunktionsbausteine, Loadable)
MSPX Seriplex
NOL Netzwerkbetriebsmodul für Lonworks
PCFL-EQN Formattierter Gleichungsrechner
PEER PEER-Transaktion
READ Lesen
RTTI Register in Eingangstabelle
RTTO Register in Ausgangstabelle
SAVE Flash-Speicher sichern
VMER VME Lesen
VMEW VME Schreiben
WRIT Schreiben
XMRD Erweiterten Speicher lesen
XMWT Erweiterten Speicher schreiben
32 EIO0000000808 11/2011
Unity Pro
CONTL_COMM
EIO0000000808 11/2011
CONTL_COMM
II
Übersicht
In diesem Abschnitt werden die elementaren Funktionsbausteine der
CONTL_COMM-Familie beschrieben.
EIO0000000808 11/2011 33
CONTL_COMM
34 EIO0000000808 11/2011
Unity Pro
L9_CKSM
EIO0000000808 11/2011
L9_CKSM: Prüfsumme
4
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_CKSM ermöglicht Ihnen die Programmierung von 4 Typen von
Prüfsummenberechnungen in LL984 Ladder Logic:
z Direkte Prüfung
z Binäre Additionsprüfung
z Zyklische Redundanzprüfung (CRC-16)
z Längsredundanzprüfung (LRC)
EIO0000000808 11/2011 35
L9_CKSM
Darstellung
Parameter
36 EIO0000000808 11/2011
L9_CKSM
Eingangsparameter
Der Status der Eingangsparameter verweist auf den Typ der durchzuführenden
Prüfsummenberechnung:
EIO0000000808 11/2011 37
L9_CKSM
38 EIO0000000808 11/2011
Unity Pro
L9_DIOH
EIO0000000808 11/2011
L9_DIOH: Funktionsfähigkeit
dezentraler E/A
5
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_DIOH ermöglicht Ihnen das Abrufen von Funktionsfähigkeitsdaten aus
einer bestimmten Gruppe von E/A-Stationen im verteilten E/A-Netzwerk. Er greift
auf die Statustabelle des DIO-Funktionsfähigkeitsstatus zu, in der Funktionsfähig-
keitsdaten für die Module in bis zu 189 dezentralen E/A-Stationen gespeichert sind.
Darstellung
EIO0000000808 11/2011 39
L9_DIOH
Parameter
40 EIO0000000808 11/2011
L9_DIOH
EIO0000000808 11/2011 41
L9_DIOH
42 EIO0000000808 11/2011
Unity Pro
L9_DRUM
EIO0000000808 11/2011
L9_DRUM: Drum-
Schrittfolgesteuerung
6
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_DRUM EFB verwendet eine Tabelle mit %MW-Wörtern, die Daten zu
jedem Schritt in einer Schrittfolge enthalten.
Die Anzahl der dieser Schrittdatentabelle zugeordneten Wörter ist abhängig von der
Schrittanzahl in der Sequenz.
Sie können im voraus Wörter zuweisen, um Daten für jeden Sequenzschritt zu
speichern. Das ermöglicht Ihnen, der Schrittfolgesteuerung weitere Schritte
hinzuzufügen, ohne die Anwendungslogik ändern zu müssen.
L9_DRUM enthält eine Ausgangsmaske, die Ihnen eine selektive Maskierung der
Bits in den Wortdaten ermöglicht, bevor Sie diese in die Ausgangs-/Merkerbits
schreiben. Dies ist insbesondere dann sinnvoll, wenn die physikalischen Ausgänge
der Schrittfolgesteuerung am Ausgangsmodul nicht aufeinander folgen.
Die maskierten Bits werden durch L9_DRUM nicht geändert und können von einer
von der Schrittfolgesteuerung unabhängigen Logik verwendet werden.
EIO0000000808 11/2011 43
L9_DRUM
Darstellung
Parameter
44 EIO0000000808 11/2011
L9_DRUM
Block DEST
Die ersten 6 Wörter in der Schrittdatentabelle enthalten die für die Auflösung des
Bausteins erforderlichen Konstant- und Variablendaten:
EIO0000000808 11/2011 45
L9_DRUM
Die restlichen Wörter enthalten Daten für jeden Schritt in der Sequenz.
46 EIO0000000808 11/2011
Unity Pro
L9_ICMP
EIO0000000808 11/2011
L9_ICMP: Eingangsvergleich
7
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_ICMP (Eingangsvergleich) stellt Logik für die Prüfung des ordnungs-
gemäßen Betrieb aller von einem EFB L9_DRUM verarbeiteten Schritte bereit.
Von L9_ICMP identifizierte Fehler können zur Auslösung einer Fehlerbehe-
bungslogik oder zum Ausschalten des Systems verwendet werden.
L9_ICMP und L9_DRUM werden durch die Verwendung eines gemeinsamen
Schrittzeiger-Worts synchronisiert. Parallel zur Inkrementierung des Zeigers bewegt
sich L9_ICMP durch seine Datentabelle im Gleichschritt mit L9_DRUM. Während
L9_ICMP sich von einem Schritt zum nächsten bewegt, vergleicht er die Live-
Eingangsdaten Bit für Bit mit dem erwarteten Status für jeden Punkt in seiner
Datentabelle.
EIO0000000808 11/2011 47
L9_ICMP
Darstellung
Parameter
48 EIO0000000808 11/2011
L9_ICMP
STEP_LOC (Schrittzeiger)
Das in STEP_LOC eingegebene %MW-Wort speichert den Schrittzeiger, d. h. die
Nummer des aktuellen Schritts in der Schrittdatentabelle. Dieser Wert wird bei jeder
Auflösung des EFB von L9_ICMP referenziert. Der Wert muss extern über einen
EFB L9_DRUM oder über eine andere Benutzerlogik gesteuert werden. Dasselbe
Wort muss in STEP_LOC aller EFBs L9_ICMP und L9_DRUM verwendet werden, die
als eine Schrittfolgesteuerung aufgelöst werden.
EIO0000000808 11/2011 49
L9_ICMP
STEP_TAB (Schrittdatentabelle)
Das in STEP_TAB eingegebene %MW-Wort ist das erste Wort in der Tabelle mit den
Schrittdaten. Die ersten 8 Wörter in der Tabellle enthalten die für die Auflösung des
EFB erforderlichen Konstant- und Variablendaten:
50 EIO0000000808 11/2011
L9_ICMP
Die restlichen Wörter enthalten Daten für jeden Schritt in der Sequenz.
LENGTH
Die Gesamtanzahl der in der Schrittdatentabelle benötigten Wörter ist die Länge +
8. Die Länge muss ≥ Wert im Wort der verwendeten Schritte in STEP_TAB sein.
EIO0000000808 11/2011 51
L9_ICMP
52 EIO0000000808 11/2011
Unity Pro
L9_ID: Deaktivierung der Interrupts
EIO0000000808 11/2011
Namenskonventionen
Funktionsbeschreibung
Für den Schutz der Daten in der normalen (verwalteten) Ladder Logic-Sprache
stehen 3 EFBs zur Steuerung der Maskierung/Aufhebung der Maskierung von
Interrupts zur Verfügung.
Es handelt sich hierbei um die EFBs L9_ID (Deaktivierung der Interrupts), (L9_IE
(Aktivierung der Interrupts) und (L9_BMDI (Blockverschiebung mit deaktivierten
Interrupts).
Der EFB L9_ID führt entweder eine globale Maskierung aller Ereignisse oder eine
Maskierung aller Zeitgeber-generierten Interrupts durch.
Ein E/A-Interrupt, der innerhalb des Zeitrahmens nach der Auflösung eines EFB
L9_ID und vor der Auflösung des nächsten EFB L9_IE ausgeführt wird, wird
gepuffert. Zeitgeber-Interrupts werden nicht gepuffert.
EIO0000000808 11/2011 53
L9_ID: Deaktivierung der Interrupts
Die Ausführung eines gepufferten Interrupts erfolgt zum Zeitpunkt der Auflösung
des EFB L9_IE. Wenn zwei oder mehr Interrupts desselben Typs zwischen der
Auflösung von L9_ID und L9_IE auftreten, wird der Interrupt nur einmal
ausgeführt.
HINWEIS: Die Maskierung eines lokalen E/A-Modul-Interrupts (INT_TYPE=2) wird
in Unity Pro nicht unterstützt.
Darstellung
Parameter
Baustein INT_TYPE
Geben Sie den Konstantwert 1 oder 3 in INT_TYPE ein. Der Wert entspricht dem
Typ der von L9_ID zu maskierenden Interrupts. Hierbei gilt:
Ganzzahlwert Interrupt-Typ
1 Globale Interrupt-Maskierung (E/A-Interrupts und Zeitgeber-Interrupts)
2 Nicht unterstützt
3 Zeitgeber-Interrupts maskiert
54 EIO0000000808 11/2011
Unity Pro
L9_IE: Aktivierung der Interrupts
EIO0000000808 11/2011
9
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Für den Schutz der Daten in der normalen (verwalteten) Ladder Logic-Sprache
stehen 3 EFBs zur Steuerung der Maskierung/Aufhebung der Maskierung von
Interrupts zur Verfügung.
Es handelt sich hierbei um die EFBs L9_ID (Deaktivierung der Interrupts), (L9_IE
(Aktivierung der Interrupts) und (L9_BMDI (Blockverschiebung mit deaktivierten
Interrupts).
Der EFB L9_IE führt entweder eine globale Aufhebung der Maskierung aller
Ereignisse oder die Aufhebung der Maskierung aller Zeitgeber-Ereignisse durch.
Ein E/A-Interrupt, der innerhalb des Zeitrahmens nach der Auflösung eines EFB
L9_ID und vor der Auflösung des nächsten EFB L9_IE ausgeführt wird, wird
gepuffert. Zeitgeber-Interrupts werden nicht gepuffert.
EIO0000000808 11/2011 55
L9_IE: Aktivierung der Interrupts
Die Ausführung eines gepufferten Interrupts erfolgt zum Zeitpunkt der Auflösung
des EFB L9_IE. Wenn zwei oder mehr Interrupts desselben Typs zwischen der
Auflösung von L9_ID und L9_IE auftreten, wird der Interrupt nur einmal
ausgeführt.
HINWEIS: Die Maskierung eines lokalen E/A-Modul-Interrupts (INT_TYPE=2) wird
in Unity Pro nicht unterstützt.
Darstellung
Parameter
Baustein INT_TYPE
Geben Sie den Konstantwert 1 oder 3 in INT_TYPE ein. Der Wert entspricht dem
Typ der Interrupts, deren Maskierung von L9_IE aufzuheben ist. Hierbei gilt:
Ganzzahlwert Interrupt-Typ
1 Globale Aufhebung der Interrupt-Maskierung (E/A-Interrupts und
Zeitgeber-Interrupts)
2 Nicht unterstützt
3 Maskierung der Zeitgeber-Interrupts aufgehoben
56 EIO0000000808 11/2011
Unity Pro
L9_IMIO
EIO0000000808 11/2011
10
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_IMIO ermöglicht den Zugriff auf spezifische E/A-Module ausgehend
von LL984.
Dieser Vorgang unterscheidet sich von der normalen E/A-Verarbeitung, bei der
Eingänge am Anfang der Logikauflösung für das Segment, in dem sie verwendet
werden, verarbeitet werden und bei der Ausgänge am Ende der Segmentauflösung
aktualisiert werden.
Die verarbeiteten E/A-Module müssen sich im lokalen Baugruppenträger mit der
Quantum-Steuerung befinden.
Für die Verwendung der EFBs L9_IMIO müssen die zu verarbeitenden lokalen E/A-
Module in der E/A-Zuordnung in Ihrer Steuerungssoftware angegeben sein.
EIO0000000808 11/2011 57
L9_IMIO
Darstellung
Parameter
Knoten CONTREG
Das erste der zwei zusammenhängenden %MW-Wörter wird in CONTREG[1]
eingegeben. CONTREG[2] ist impliziert.
Wort Inhalt
CONTREG[1] Dieses Wort verweist auf die physikalische Adresse des zu
verarbeitenden E/A-Moduls.
Weitere Informationen finden Sie in den Tabellen unten.
CONTREG[2] Dieses Wort speichert den Fehlerstatus, verwaltet von L9_IMIO.
Weitere Informationen finden Sie in den Tabellen unten.
58 EIO0000000808 11/2011
L9_IMIO
EIO0000000808 11/2011 59
L9_IMIO
Fehlerstatus
CONTREG[2] enthält folgenden Fehlercode, wenn L9_IMIO einen Fehler erkennt:
Fehlercode Bedeutung
2001 Ungültiger Typ im unteren Knoten angegeben
2002 Fehler am angegebenen E/A-Steckplatz
Entweder es wurde eine ungültige Steckplatznummer in CONTREG[1]
eingegeben oder die E/A-Zuordnung enthält nicht die richtige
Moduldefinition für diesen Steckplatz.
2003 In IOFUN wurde eine Operation des Typs 3 angegeben, das Modul ist
jedoch nicht bidirektional.
F001 Angegebenes E/A-Modul ist nicht funktionsfähig.
60 EIO0000000808 11/2011
L9_IMIO
Knoten IOFUN
Geben Sie eine konstante Ganzzahl zwischen 1 und 3 in IOFUN ein. Der Wert
entspricht dem Typ der Operation, die vom EFB L9_IMIO ausgeführt werden soll.
Hierbei gilt:
EIO0000000808 11/2011 61
L9_IMIO
62 EIO0000000808 11/2011
Unity Pro
L9_MRTM
EIO0000000808 11/2011
EIO0000000808 11/2011 63
L9_MRTM
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_MRTM dient der Übertragung von Halteregisterblöcken aus der
Programmtabelle in den Befehlsblock, d. h. eine Gruppe von Ausgangswörtern. Zur
Überprüfung jeder Blockübertragung wird ein Echo der im ersten Wort der
Befehlsblöcke enthaltenen Daten an das Eingangswort zurückgesendet. Bei dieser
Echoprüfung wird der Status des höherwertigen Bits (16#8000) nicht berücksichtigt.
Darstellung
Parameter
64 EIO0000000808 11/2011
L9_MRTM
Unten IN LENGTH UINT 1...127 Anzahl der aus der Programmtabelle bei
jeder Übertragung verschobenen Wörter
Bereich: 1 bis 127
EIO0000000808 11/2011 65
L9_MRTM
Funktionsweise
L9_MRTM überträgt zusammenhängende Blöcke mit bis zu 127 Wörtern aus einer
Tabelle mit Wortblöyken in einen blockgroßen Halteregisterbereich.
Der Funktionsbaustein L9_MRTM steuert die Operation folgendermaßen:
WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
Wenn Sie ein E/A-Modul verwenden, dass einen Fehlerzustand auf andere Weise
signalisiert, insbesondere wenn es sich bei der Rückmeldung nicht um das Echo
eines gültigen Befehls handelt, dann gehen Sie beim Schreiben der Fehlerver-
waltung in Ladder Logic mit besonderer Sorgfalt vor, um sicherzustellen, dass der
Fehler erkannt wird. Andernfalls kann es zu einer Sperrung oder einer anderen
unerwünschten Leistung von L9_MRTM kommen.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverlet-
zungen oder Sachschäden zur Folge haben.
66 EIO0000000808 11/2011
L9_MRTM
Programmtabelle (L9_MRTM)
Einführung
Der Funktionsbaustein L9_MRTM zieht für seinen Betrieb 2 vom Benutzer bereitge-
stellte Tabellen heran, die sich im SPS-Speicher befinden.
Es handelt sich hierbei um die Programm- und die Steuertabelle.
Programmtabelle
Die Programmtabelle enthält einen Header und eine Reihe von
Anweisungsblöcken.
Wort Beschreibung
%MWxxx Beginn der Übertragung
%MWxxx+1 Ende der Tabelle
%MWxxx+2 Für eine zukünftige Verwendung reserviert
EIO0000000808 11/2011 67
L9_MRTM
Anweisungsblock
Die übertragenen Wörter werden als Anweisungsblock bezeichnet.
Sie weisen eine feste Länge auf, die durch den Parameter LENGTH im unteren
Knoten des Funktionsbausteins vorgegeben wird.
Die Wörter weisen folgendes Format auf.
Wort Beschreibung
%MWxxx Befehlswort
%MWxxx+1 Wort 1
%MWxxx+2 Wort 2
... ...
%MWxxx+(n-1 Wort n
Hierbei gilt: n entspricht der Anzahl der (in einem spezifischen Block zusammenhängender
Wörter) vom Funktionsbaustein L9_MRTM übertragenen Wörter.
68 EIO0000000808 11/2011
L9_MRTM
Steuertabelle (L9_MRTM)
Einführung
Die zweite von diesem Funktionsbaustein verwendete Tabelle ist die Steuertabelle.
Sie enthält spezifische Informationen über einen einzelnen Funktionsbaustein.
Dadurch kann dieselbe Programmtabelle von mehreren Funktionsbausteinen
L9_MRTM gemeinsam verwendet werden.
Die SPS-Speichernutzung lässt sich dadurch auf ein Mindestmaß reduzieren.
Steuertabelle
Das Format der Steuertabelle wird unten beschrieben:
Wort Beschreibung
%MWxxx Für eine zukünftige Verwendung reserviert
%MWxxx+1 Das Wort %MWxxx+1 enthält die Wortadresse des ersten
Augangsworts mit Traffic-Cop-Zuordnung.
Dieser Parameter wird vom Benutzer eingegeben.
%MWxxx+2 Verweist auf das zur Rückmeldung der Befehlsregister des
Anweisungsblocks verwendete %IW-Wort.
Dieser Parameter wird vom Benutzer eingegeben.
%MWxxx+3 Zeiger zur Programmtabelle.
Dieser Zeiger wird von L9_MRTM verwaltet.
%MWxxx+4 Die Fehlermaske ist eine bitweise zugeordnete Maske, die
in jedem Abfragezyklus zur Unterstützung des Debuggings
eines nicht funktionierenden L9_MRTM durch den Benutzer
generiert wird.
Man unterscheidet zwischen folgenden Fehlernummern:
1 Das Ende der Tabelle liegt vor dem Beginn der Befehle.
2 Die Tabellengröße ist kein gerades Vielfaches der
Übertragungsgröße.
4 Der Programmzeiger ist nicht mit dem Beginn des
Anweisungsblocks ausgerichtet.
8 Ungültiges Wort in der Steuertabelle
16 Ungültiger Programmzeiger in der Steuertabelle
32 bis 32.768 Nicht verwendet
EIO0000000808 11/2011 69
L9_MRTM
Beispiel (L9_MRTM)
Einführung
Der folgende Abschnitt enthält eine detaillierte Beschreibung des Funktionsbau-
steins L9_MRTM.
Die nachstehend aufgeführte Programm lädt die Wörter 00 bis 14 des ASCII-
Basismoduls unter Rückgriff auf den Funktionsbaustein L9_MRTM.
Hardware
Für dieses Beispiel erforderliche Hardware (LL984 und zugehörige Geräte):
z ASCII-Basismodul B885-001
z Eingangsmodul B805-016
Gerät Speicher
B885-001 %IW1 bis %IW6
%MW1 bis %MW6
B805-016 %I1 bis %I16
Steuertabelle
Nachstehend die Steuertabelle für dieses Beispiel:
70 EIO0000000808 11/2011
L9_MRTM
Programmtabelle
Nachstehend die Programmtabelle für dieses Beispiel:
EIO0000000808 11/2011 71
L9_MRTM
Das Einschalten der Spule %M500 bewirkt das Öffnen des ersten Strompfads,
wodurch die Spule %M501 ausgeschaltet wird.
Der Abfall von Kontakt %M501 schaltet den Eingang TRANSFER des Funktionsbau-
steins aus und deaktiviert damit den Funktionsbaustein.
Der Zeigerwert wird um 6 inkrementiert und im 4. Wort der Steuertabelle (%MW53)
abgelegt.
HINWEIS: Beim ersten Einschalten muss der Eingang RESET mit Spannung
versorgt werden.
Die Datenübertragung bewirkt die Übergabe der Wörter %MW1 bis %MW6 an die
Ausgänge des ASCII-Basismoduls B885-001.
Das Modul B885-001 wertet die Daten aus und sendet ein Echo der Befehls- und
Datenwörter an die Wörter %IW1 bis %IW6 zurück.
Beim zweiten Einschalten des Kontakts %I1 wird die Spule %M501 erneut mit
Spannung versorgt und der Zustand der Spule über den parallelen Strompfad
beibehalten.
Der Eingang TRANSFER wird erneut unter Spannung gesetzt und L9_MRTM
überprüft, ob das Wort %IW1 mit dem Wort %MW1 übereinstimmt.
Wenn die Wörter %IW1 und %MW1 nicht übereinstimmen, bleibt der Kontakt
%M501 gesperrt und L9_MRTM führt in jedem Zyklus eine Überprüfung der Wörter
durch.
Block Nr. 2 wird erst übertragen, wenn die 2 Wörter übereinstimmen.
Sobald die Wörter identisch sind, überträgt L9_MRTM den Inhalt von Block Nr. 2 in
die Wörter %MW1 bis %MW6.
Das bewirkt den Anstieg des Ausgangs COMPLETE und das Einschalten der Spule
%M500, wodurch die Spule %M501 ausgeschaltet wird. Der Zeigerwert wird um 6
inkrementiert und im 4. Wort der Steuertabelle (%MW53) abgelegt.
72 EIO0000000808 11/2011
L9_MRTM
Die zweite Datenübertragung bewirkt die Übergabe der Wörter %MW1 bis %MW6
an die Ausgänge des ASCII-Basismoduls B885-001. Das Modul wertet die Daten
aus und sendet ein Echo der Befehls- und Datenwörter zurück.
Um die Übertragung abzuschließen, wird Kontakt %I1 eingeschaltet und die Spule
%M501 erneut mit Spannung versorgt.
Der Eingang TRANSFER wird aktiviert und L9_MRTM überprüft, ob das Wort %IW1
mit dem Wort %MW1 übereinstimmt.
Sobald die Übertragung autorisiert wird, überträgt L9_MRTM den Inhalt von Block Nr.
3 in die Wörter %MW1 bis %MW6.
Ausgang COMPLETE steigt und die Spule %M500 wird mit Spannung versorgt,
wodurch die Spule %M501 ausgeschaltet wird.
Der Zeigerwert wird mit dem Ende der Tabelle plus 1 inkrementiert, was den Anstieg
des Ausgangs END und das Einschalten der Spule %M502 bewirkt.
Kontakt %M502 legt Spannung an den Eingang RESET des Funktionsbausteins an,
wodurch L9_MRTM zurückgesetzt wird.
EIO0000000808 11/2011 73
L9_MRTM
74 EIO0000000808 11/2011
Unity Pro
L9_PID2
EIO0000000808 11/2011
L9_PID2: Proportional-Integral-
Differential
12
Übersicht
In diesem Kapitel wird der Funktionsbaustein L9_PID2 beschrieben.
EIO0000000808 11/2011 75
L9_PID2
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_PID2 implementiert einen Algorithmus, der Proportional-
Integral-Differential-Operationen durchführt. Die Vorgabe der Operationen im
geschlossenen Regelkreis durch den Algorithmus entspricht traditionellen
pneumatischen und analogen elektronischen Schleifensteuerungen. Dabei wird ein
Filter zur Begrenzung der Ratenverstärkung (RGL) an PV angelegt, da die
Verwendung auf die Differentialfunktion beschränkt ist. Dadurch werden PV-
Störquellen mit höheren Frequenzen (willkürlich und prozessgeneriert) ausgefiltert.
Formel
Proportionalsteuerung
Proportional-Integral-Steuerung
Proportional-Integral-Differential-Steuerung
76 EIO0000000808 11/2011
L9_PID2
Darstellung
Parameter
EIO0000000808 11/2011 77
L9_PID2
INTERVAL (Auflösungsintervall)
INTERVAL gibt an, dass es sich um einen Funktionsbaustein L9_PID2 handelt, und
enthält eine Zahl zwischen 1 und 255, die darauf verweist, wie oft der Funktions-
baustein ausgeführt wird. Die Zahl entspricht einem Zeitwert in Zehntelsekunden.
So gibt die Zahl 17 beispielsweise an, dass der PID-Funktionsbaustein alle 1,7 s
ausgeführt wird.
Parameter SOURCE
Das in SOURCE eingegebene Wort %MWx ist das erste der 21 direkt aufeinander
folgenden Wörter. Der Inhalt der Wörter 6 bis 9 definiert die Operation als P, PI oder
PID:
78 EIO0000000808 11/2011
L9_PID2
EIO0000000808 11/2011 79
L9_PID2
80 EIO0000000808 11/2011
L9_PID2
Parameter DEST
Das in DEST eingegebene Wort %MWy ist das erste der 9 direkt aufeinander
folgenden Wörter, die für L9_PID2-Berechnungen verwendet werden. In diese
Wörter brauchen keine Werte geladen zu werden.
EIO0000000808 11/2011 81
L9_PID2
82 EIO0000000808 11/2011
L9_PID2
Detaillierte Beschreibung
Blockschaltbild
Element Bedeutung
E Erkannter Fehler, ausgedrückt in analogen Roheinheiten
SP Sollwert, im Bereich von 0 - 4095
PV Regelgröße, im Bereich von 0 - 4095
x Gefilterte PV
K2 Verstärkungskonstante für Integral-Modus, ausgedrückt in 0,01 min-1
EIO0000000808 11/2011 83
L9_PID2
Element Bedeutung
K3 Verstärkungskonstante für Differential-Modus, ausgedrückt in Hundertstel
Minuten
RGL Filterkonstante zur Ratenverstärkungsbegrenzung, im Bereich 2 - 30
Ts Auflösungszeit, ausgedrückt in Hundertstel Sekunden
PB Proportionalbereich, im Bereich von 5 - 500%
Bias Biasfaktor für den Regelkreisausgang, im Bereich 0 - 4095
M Regelkreisausgang
GE Schwerwiegender Fehler, P-D-Anteil am Regelkreisausgang
Z Differential-Anteil an GE
Qn Regelkreisausgang ohne Bias
B Rückkopplungswert, im Bereich von 0 - 4095
I Integral-Anteil an Regelkreisausgang
Ilow Antireset-Windup unterer SP, im Bereich 0 - 4095
Ihigh Antireset-Windup oberer SP, im Bereich 0 - 4095
K1 100/PB
HINWEIS: Für die Berechnung des Integral-Anteils wird die Differenz zwischen
Ausgang und Integralsumme integriert. Das entspricht einer Integration des Fehlers.
Proportionalsteuerung
Bei einer reinen Proportionalsteuerung (P) können Sie die Stellgröße durch die
Multiplikation des Fehlers mit einer Proportionalkonstanten, K1, und die
anschließende Addition eines Bias berechnen. Siehe Formel, Seite 76
Die Prozessbedingungen in den meisten Anwendungen werden jedoch durch
andere Systemgrößen geändert, sodass das Bias nicht konstant bleibt. Das
Ergebnis ist ein Offset-Fehler, wobei PV kontinuierlich voN SP abgesetzt wird. Diese
Bedingung begrenzt die Kapazität einer reinen Proportionalsteuerung.
HINWEIS: Der Wert der Integralfunktion (in den Wörtern 4y + 3, 4y + 4 und 4y + 5)
wird immer verwendet, selbst dann, wenn der Integral-Betrieb nicht aktiviert wird.
Die Verwendung dieses Werts ist notwendig, um eine stoßfreie Übertragung
zwischen den Betriebsarten zu gewährleisten. Wenn die stoßfreie Übertragung
deaktiviert werden soll, müssen diese drei Wörter gelöscht (auf 0 gesetzt) werden.
Im Handbetrieb haben Sollwertänderungen keine Wirkung, es sei denn, die oben
genannten drei Wörter werden gelöscht und die Betriebsart wird zu Automatik
zurückgeschaltet. Die Übertragung erfolgt dann nicht stoßfrei.
84 EIO0000000808 11/2011
L9_PID2
Proportional-Integral-Steuerung
Um diesen Offset-Fehler ohne manuelle Änderung des Bias zu beheben, können
Sie eine Integralfunktion in der Regelgleichung hinzufügen. Siehe Formel, Seite 76
Bei einer Proportional-Integral-Steuerung (PI) wird das Offset durch die Integration
von E als Zeitfunktion behoben. K1 ist die in Wiederholungen/Minute ausgedrückte
Integralkonstante. Solange E ≠ 0, erhöht (oder reduziert) der Integrator seinen Wert
und passt Mv an. Dieser Vorgang wird fortgesetzt, bis der Offset-Fehler behoben ist.
Proportional-Integral-Differential-Steuerung
Gegebenenfalls möchten Sie eine Differentialfunktion zur Regelgleichung
hinzufügen, um die Auswirkungen häufiger Laständerungen zu minimieren oder die
Integralfunktion zu überschreiben, um den SP-Zustand schneller zu erreichen.
Siehe Formel, Seite 76
Eine Proportional-Integral-Differential-Steuerung (PID) kann zu Energiesparz-
wecken im Prozess oder zur Vermeidung plötzlicher, unerwarteter Änderungen im
Prozessablauf verwendet werden. K3 ist die in Minuten ausgedrückt Differentialzeit-
konstante. DPV entspricht der Änderung der Regelgröße über den Zeitraum Δt.
EIO0000000808 11/2011 85
L9_PID2
Fehlerstatusbits
86 EIO0000000808 11/2011
L9_PID2
EIO0000000808 11/2011 87
L9_PID2
88 EIO0000000808 11/2011
Unity Pro
L9_SCIF
EIO0000000808 11/2011
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_SCIF führt entweder eine Drum-Schrittfolgesteuerung oder einen
Eingangsvergleich (L9_ICMP) mit den in der Schrittdatentabelle definierten Daten
durch.
Die Auswahl der durchzuführenden Operation erfolgt durch Definition des Wert im
ersten Wort der Schrittdatentabelle:
z 0 = Drum-Betrieb:
Der EFB steuert die Ausgänge in der Drum-Schrittfolgesteuerungsanwendung.
z 1 = ICMP-Betrieb:
Der EFB liest die Eingänge, um sicherzustellen, dass die End-, Näherungs-,
Druckschalter usw. richtig positioniert sind, um die Auslösung der Drum-
Ausgänge zu ermöglichen.
EIO0000000808 11/2011 89
L9_SCIF
Darstellung
Parameter
90 EIO0000000808 11/2011
L9_SCIF
STEP_TAB (Schrittdatentabelle)
Das in STEP_TAB eingegebene %MW-Wort ist das erste Wort in der Schrittdaten-
tabelle. Die ersten 6 Wörter in der Tabellle enthalten die für die Auflösung von
L9_SCIF erforderlichen Konstant- und Variablendaten:
EIO0000000808 11/2011 91
L9_SCIF
92 EIO0000000808 11/2011
Unity Pro
L9_STAT
EIO0000000808 11/2011
L9_STAT: Status
14
Übersicht
In diesem Kapitel wird der EFB L9_STAT beschrieben.
EIO0000000808 11/2011 93
L9_STAT
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Dieser Funktionsbaustein steht nur für Quantum-Steuerungen zur Verfügung.
Der EFB L9_STAT greift auf eine vorgegebene Anzahl an Wörtern in der
Statustabelle (siehe Seite 98) im Systemspeicher der Steuerung zu. Hier werden
essenzielle Diagnoseinformationen zur Funktionsfähigkeit der Steuerung und der
zugehörigen dezentralen E/A-Stationen abgelegt.
Diese Informationen umfassen folgende Angaben:
z SPS-Status
z Möglicherweise erkannte Fehlerzustände in den E/A-Modulen
z Status der Kommunikation Eingang-SPS-Ausgang
Mit dem EFB L9_STAT können Sie einige oder alle der Statuswörter in einen Block
von Wörtern bzw. in einen Block direkt aufeinander folgender digitaler Referenzen
kopieren. Der Kopiervorgang in den L9_STAT-Block beginnt immer mit dem ersten
Wort in der Tabelle bis zum letzten für Sie relevanten Wort. Beispiel: Die
Statustabelle ist 277 Wörter lang und Sie sind nur an den in Wort 11 enthaltenen
Statistikdaten interessiert. Sie müssen in diesem Fall nur die Wörter 1 bis 11
kopieren und geben dazu in L9_STAT die Länge 11 an.
HINWEIS: In Unity Pro kann das Wort mit dem Funktionsfähigkeitsstatus der
dezentralen E/A-Module (Wort 1 für jede konfigurierte RIO-Station) einen
unterschiedlichen Wert enthalten als in der LL984-Vorgängeranwendung. Unity Pro
verfügt über ein Funktionsfähigkeitsbit für den dezentralen CRA-E/A-Adapter,
wodurch die Abweichung bei den Statuswerten hervorgerufen wird.
94 EIO0000000808 11/2011
L9_STAT
Darstellung
Parameter
EIO0000000808 11/2011 95
L9_STAT
DEST (Zielblock)
Die in DEST eingegebene Referenznummer entspricht der ersten Position im
Zielblock, d. h. dem Block, in den die aktuellen relevanten Wörter aus der
Statustabelle kopiert werden.
Die Anzahl der Halteregister oder 16-Bit-Folgen im Zielblock wird in LENGTH
angegeben.
HINWEIS: Es wird empfohlen, im Zielparameter L9_STAT keine Merkerbits zu
verwenden, da eine enorm große Anzahl für die Aufnahme der Statusinformationen
erforderlich wäre.
Parameter DEST
Steuerungsspezifische Statuswörter 1 - 11
96 EIO0000000808 11/2011
L9_STAT
EIO0000000808 11/2011 97
L9_STAT
Allgemeines
Der EFB L9_STAT dient der Anzeige des Status der Steuerung und des E/A-
Systems für Quantum.
Übersicht
Die 277 Wörter in der Statustabelle sind in 3 Gruppen untergliedert:
z SPS-Status (Wörter 1 bis 11) (siehe Seite 100)
z Funktionsfähigkeit der E/A-Module (Wörter 12 bis 171) (siehe Seite 104)
z Funktionsfähigkeit der E/A-Kommunikation (Wörter 172 bis 277)
(siehe Seite 106)
Wörter der Statustabelle:
98 EIO0000000808 11/2011
L9_STAT
EIO0000000808 11/2011 99
L9_STAT
Steuerungsspezifische Statuswörter 1 - 11
LL984-kompatible Bitreihenfolge
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.
SPS-Status (Wort 1)
Wort 1 verweist auf folgende Aspekte des SPS-Status:
SPS-Status (Wort 3)
Wort 3 verweist auf weitere Aspekte des SPS-Status:
RIO-Status (Wort 4)
Wort 4 wird für RIO-spezifische Informationen verwendet:
Wort 6...7
Diese Wörter werden nicht verwendet.
Wort 9...11
Diese Wörter werden nicht verwendet.
LL984-kompatible Bitreihenfolge
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.
RIO-Statuswörter
Die Statuswörter 12 bis 171 verweisen auf den Funktionsfähigkeitsstatus der E/A-
Module.
5 Wörter sind jeweils für die bis zu 32 E/A-Stationen reserviert, 1 Wort für jedes der
bis zu 5 möglichen Racks (E/A-Gehäuse) in jeder Station. Jedes Rack kann bis zu
16 E/A-Module umfassen. Die Bits 1 bis 11 in jedem Wort verweisen auf die
Funktionsfähigkeit des zugeordneten E/A-Moduls in jedem Rack.
Status
die Statuswörter 172 bis 277 enthalten den Kommunikationsstatus des E/A-
Systems. Die Wörter 172 bis 181 sind globale Statuswörter. Unten den restlichen 96
Wörtern sind jeweils 3 Wörter den bis zu 32 E/A-Stationen zugeordnet, je nach Typ
der SPS.
Das Wort 172 speichert den Startfehlercode für die Quantum-Steuerung. Dieses
Wort ist immer 0, wenn das System läuft. Wenn ein Fehler erkannt wird, startet die
Steuerung nicht und es wird der Stopp-Statuscode 10 (Wort 5 (siehe Seite 102))
generiert.
Startfehlercodes für Quantum
LL984-kompatible Bitreihenfolge
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.
Wort 174
Wort 175
Wort 177
Wort 178
Wort 183
Wort 184
Das zweite Wort in jeder Dreiergruppe ist der kumulative Stationsfehlerzähler auf
Kabel A für die betreffende E/A-Station:
Das dritte Wort in jeder Dreiergruppe ist der kumulative Stationsfehlerzähler auf
Kabel B für die betreffende E/A-Station:
15
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Steuerungen, die Funktionen zur Netzwerkkommunikation über Modbus Plus und
Ethernet unterstützen, verfügen über einen speziellen EFB MSTR (Master), mit dem
die Knoten im Netwzerk die Übertragung von Nachrichten auslösen können.
Der EFB L9_MSTR ermöglicht Ihnen die Aktivierung einer von mehreren
verfügbaren Kommunikationsoperationen über das Netzwerk. Jede Operation wird
durch einen Code bezeichnet. Bestimmte MSTR-Operationen werden in manchen
Netzwerken unterstützt, in anderen nicht.
L9_MSTR verfügt über 2 Steuereingänge. Wenn ENABLE auf ON steht, wird der EFB
aktiviert. Wenn ENABLE auf ON steht, wird die aktive Operation beendet.
L9_MSTR kann 3 mögliche Ausgänge steuern. OUT meldet den Status von ENABLE
zurück, d. h. der Ausgang wird eingeschaltet (ON), während der EFB aktiv ist. ERR
meldet den Status von TERM zurück, d. h. er wird eingeschaltet (ON), wenn die
MSTR-Operation vor Abschluss beendet wird. SUCCESS wechselt zu ON, wenn eine
MSTR-Operation erfolgreich abgeschlossen wurde.
Weitere Informationen finden Sie unter Unity Pro-Kommunikationsbibliothek
(siehe Unity Pro, Kommunikation, Bausteinbibliothek).
Darstellung
Parameter
L9_XMIT - Transmit
16
Einführung
In diesem Kapitel wird der EFB L9_XMIT - Transmit beschrieben.
Siehe auch:
z L9_XMIT im Kommunikationsmodus (siehe Seite 121)
z L9_XMIT im Portstatusmodus (siehe Seite 133)
z L9_XMIT im Konvertierungsmodus (siehe Seite 141)
Beschreibung
Funktionsbeschreibung
Der Funktionsbaustein L9_XMIT (Transmit) sendet Modbus-Nachrichten von einer
Master-SPS an mehrere Slave-SPS bzw. ASCII-Zeichenketten über den Modbus-
Slave-Port Nr. 1 oder Nr. 2 der SPS an ASCII-Drucker und Endgeräte. L9_XMIT
sendet diese Nachrichten über Telefonwählmodems, Funkmodems oder einfach
über Direktverbindungen.
Detaillierte Informationen zum Funktionsbaustein L9_XMIT finden Sie im Abschnitt
L9_XMIT – Modbus-Funktionen, Seite 115.
L9_XMIT verfügt über drei Modi: Kommunikation, Portstatus und Konvertierung.
Diese Modi werden in den folgenden Abschnitten beschrieben.
z L9_XMIT im Kommunikationsmodus, Seite 121
z L9_XMIT im Portstatusmodus, Seite 133
z L9_XMIT im Konvertierungsmodus, Seite 141
L9_XMIT führt allgemeine ASCII-Eingangsfunktionen im Kommunikationsmodus
aus, darunter einfaches ASCII und abgeschlossenes ASCII. Sie können einen
zusätzlichen L9_XMIT-Baustein zur Angabe von Portstatus-Informationen in
Speicherwörtern verwenden, während ein anderer L9_XMIT-Baustein die ASCII-
Kommunikationsfunktion ausführt. Sie können ASCII oder binäre Daten in Ihre SPS
importieren bzw. daraus exportieren und diese entsprechend den Anforderungen
Ihrer Anwendung in verschiedene binäre Formate oder ASCII konvertieren, um sie
an DCE-Geräte zu senden.
Der Baustein verfügt über eine integrierte Diagnose, die sicherstellt, dass keine
anderen L9_XMIT-Bausteine in der SPS aktiv sind. Innerhalb des Bausteins
L9_XMIT können Sie mit einer Steuertabelle die Kommunikationsverbindung
zwischen der SPS und dem DCE (Data Communication Equipment, Datenkommu-
nikationsgerät) steuern, das an Modbus-Port Nr. 1 oder 2 der SPS angeschlossen
ist. Der Baustein L9_XMIT aktiviert nicht die Port-LED, wenn er Daten überträgt.
HINWEIS: Das Modbus-Protokoll ist ein Master/Slave-Protokoll und unterstützt nur
einen Master, wenn mehrere Slaves abgefragt werden. Wenn Sie also den Baustein
L9_XMIT in einem Netzwerk mit mehreren Mastern verwenden, müssen Sie sich um
die Vermeidung konkurrierender Zugriffe und Datenkollisionen kümmern. Dies lässt
sich auf einfachem Wege über die Ladder Logic-Programmierung erreichen.
L9_XMIT – Modbus-Funktionen
Einführung
Der Funktionsbaustein L9_XMIT unterstützt folgende Modbus-Funktionscodes:
z 01...06
z 08
z 15 und 16
z 20 und 21
Für Modbus-Nachrichten muss der Bereich MSG_OUT die Modbus-Definitions-
tabelle enthalten. Die Modbus-Definitionstabelle für den Modbus-Funktionscode:
01, 02, 03, 04, 05, 06, 15 und 16 ist fünf Wörter lang, und Sie müssen für
erfolgreiche L9_XMIT-Operationen L9_XMIT_SET.MessageLen auf 5 setzen. In
der folgenden Tabelle wird die Modbus-Definitionstabelle beschrieben.
Modbus-Funktionscodes 01 - 06
Für Modbus-Nachrichten muss der Bereich MSG_OUT die Modbus-Definitions-
tabelle enthalten. Die Modbus-Definitionstabelle für den Modbus-Funktionscode:
01, 02, 03, 04, 05, 06, 15 und 16 ist fünf Wörter lang, und Sie müssen für
erfolgreiche L9_XMIT-Operationen L9_XMIT_SET.MessageLen auf 5 setzen. In
der folgenden Tabelle wird die Modbus-Definitionstabelle beschrieben.
Funktionscodes (01 bis 06, 15 und 16) der Modbus-Definitionstabelle
Inhalt Beschreibung
Modbus- L9_XMIT unterstützt folgende Funktionscodes:
Funktionscode 01 = Mehrere Spulen lesen (Speicherbits, %M)
(MSG_OUT[1]) 02 = Mehrere Digitaleingänge lesen (%I)
03 = Mehrere Speicherwörter lesen (%MW)
04 = Mehrere Eingangswörter lesen (%IW)
05 = eine Spule schreiben (Speicherbits, %M)
06 = Ein Speicherwort schreiben (%MW)
15 = Mehrere Spulen schreiben (Speicherbits, %M)
16 = Mehrere Speicherwörter schreiben (%MW)
Menge Geben Sie die Datenmenge ein, die in die Slave-SPS geschrieben oder
(MSG_OUT[2]) die aus der Slave-SPS gelesen werden soll. Geben Sie beispielsweise
100 ein, um 100 Speicherwörter in einer Slave-SPS zu lesen, oder 32, um
32 Spulen (Speicherbits, %M) in eine Slave-SPS zu schreiben. Es gibt
eine Einschränkung hinsichtlich der Menge. Diese Einschränkung ist vom
SPS-Modell abhängig. Ausführlichere Informationen zu diesen
Einschränkungen finden Sie im Anhang A.
Inhalt Beschreibung
Adresse der Geben Sie die Adresse der Modbus-Slave-SPS ein. In der Regel liegt die
Slave-SPS Modbus-Adresse im Bereich von 1 bis 247. Um eine Modbus-Nachricht an
(MSG_OUT[3]) mehrere SPS zu senden, geben Sie 0 für die Slave-SPS-Adresse ein.
Diese Adresse gibt den Broadcast-Modus an. Der Broadcast-Modus
unterstützt nur Modbus-Funktionscodes, die Daten von der Master-SPS
an Slave-SPS schreiben. Der Broadcast-Modus unterstützt KEINE
Modbus-Funktionscodes, die Daten in Slave-SPS lesen.
Slave-SPS- Bei einem Lesebefehl ist der Slave-SPS-Datenbereich die Datenquelle.
Datenbereich Bei einem Schreibbefehl ist der Slave-SPS-Datenbereich das Datenziel.
(MSG_OUT[4]) Beispiel: Wenn Sie die Spulen (Speicherbits) %M300 bis 500 (00300 bis
00500) in einer Slave-SPS lesen möchten, geben Sie den Wert 300 in
dieses Feld ein. Wenn Sie Daten aus einer Master-SPS schreiben und sie
im Speicherwort %MW100 (40100) einer Slave-SPS platzieren möchten,
geben Sie in dieses Feld 100 ein. Abhängig vom Typ des Modbus-Befehls
(Schreiben oder Lesen) müssen die Quell- und Zieldatenbereiche wie in
der Tabelle der Quell- und Zieldatenbereiche unten aufgeführt sein.
Master-SPS- Bei einem Lesebefehl ist der Master-SPS-Datenbereich das Ziel für die
Datenbereich vom Slave zurückgemeldeten Daten. Bei einem Schreibbefehl ist der
(MSG_OUT[5]) Master-SPS-Datenbereich die Datenquelle. Beispiel: Wenn Sie die Spulen
(Speicherbits) %M16 bis 32 (00016 bis 00032) einer Master-SPS in eine
Slave-SPS schreiben möchten, geben Sie den Wert 16 in dieses Feld ein.
Wenn Sie die Eingangswörter %IW1 bis 100 (30001 bis 30100) in einer
Slave-SPS lesen und die Daten im Master-SPS-Datenbereich %MW100
bis 199 (40100 bis 40199) platzieren möchten, geben Sie in dieses Feld
100 ein. Abhängig vom Typ des Modbus-Befehls (Schreiben oder Lesen)
müssen die Quell- und Zieldatenbereiche wie in der Tabelle der Quell- und
Zieldatenbereiche unten aufgeführt sein.
Quell- und Zieldatenbereiche für die Funktionscodes (01 bis 06, 15 und 16)
Wenn Sie 20 Modbus-Nachrichten von der SPS aus versenden möchten, müssen
Sie nach jeder erfolgreichen Ausführung von L9_XMIT nacheinander 20 Modbus-
Definitionstabelllen in MSG_OUT übertragen. Sie können auch 20 separate
L9_XMIT-Bausteine programmieren und sie dann jeweils einzeln über die
Benutzerlogik aktivieren.
Modbus-Funktionscode (08)
Die Modbus-Definitionstabelle für den Modbus-Funktionscode: 08 ist fünf Wörter
lang, und Sie müssen L9_XMIT_SET.MessageLen auf 5 für Modbus-Nachrichten
setzen. Der MSG_OUT-Array muss die Modbus-Definition für eine erfolgreiche
L9_XMIT-Operation enthalten. In der folgenden Tabelle wird die Modbus-Definiti-
onstabelle beschrieben.
Funktionscodes (08) der Modbus-Definitionstabelle
Inhalt Beschreibung
Modbus-Funktionscode L9_XMIT unterstützt folgende Funktionscodes: 08 = Diagnose
(MSG_OUT[1])
Diagnose (MSG_OUT[2]) Geben Sie in dieses Feld den Dezimalwert des
Diagnoseunterfunktionscodes ein, um die jeweils gewünschte
Diagnosefunktion auszuführen. Folgende Diagnose-
Unterfunktionen werden unterstützt:
Code Beschreibung
00 Rückgabe der Abfragedaten
01 Neustart der Komm.-Option
02 Rückgabe des Diagnoseworts
03 Änderung des ASCII-Eingangsbegrenzers
04 Forcierung des Listen-Modus
05...09 Reserviert
10 Löschen der Zähler (und Diagnosewörter in 384, 484)
11 Rückgabe der Anzahl an Busnachrichten
12 Rückggabe der Anzahl an Buskommunikationsfehlern
13 Rückgabe der Anzahl an Busausnahmefehlern
14...15 Nicht unterstützt
16 Rückgabe der Anzahl an Nicht-Quittierungen (NAK) des
Slaves
17 Rückgabe der Anzahl an „Slave busy“-Nachrichten (Slave
beschäftigt)
18 Rückgabe der Anzahl An Bus-Zeichenüberlauf-Nachrichten
19...21 Nicht unterstützt
Adresse der Slave-SPS Geben Sie die Adresse der Modbus-Slave-SPS ein. In der
(MSG_OUT[3]) Regel liegt die Modbus-Adresse zwischen 1 und 247. Der
Funktionscode 8 bietet KEINE Unterstützung für den
Broadcast-Modus (Adresse 0).
Inhalt Beschreibung
Inhalt des Datenfelds der Geben Sie den für den Datenbereich der spezifischen
Diagnosefunktion Diagnoseunterfunktion erforderlichen Dezimalwert ein. Für die
(MSG_OUT[4]) Unterfunktionen 02, 04, 10, 11, 12, 13, 16, 17 und 18 wird
dieser Wert automatisch auf Null gesetzt. Für die
Unterfunktionen 00, 01 und 03 müssen Sie den gewünschten
Datenfeldwert eingeben. Ausführlichere Informationen finden
Sie im Referenzhandbuch Modicon Modbus-Protokoll (PI-
MBUS-300).
Master-SPS-Datenbereich Bei allen Unterfunktionen ist der Master-SPS-Datenbereich
(MSG_OUT[5]) das Ziel für die vom Slave zurückgemeldeten Daten. Geben
Sie ein %MW an, das den Beginn des Datenbereichs markiert,
in dem die zurückgegebenen Daten gespeichert werden. Um
beispielsweise die Daten in den Master-SPS-Datenbereich ab
%MW100 (40100) zu speichern, geben Sie 100 in dieses Feld
ein. Die Unterfunktion 04 gibt KEINE Antwort zurück.
Ausführlichere Informationen finden Sie im Referenzhandbuch
Modicon Modbus-Protokoll (PI-MBUS-300).
Inhalt Beschreibung
Modbus-Funktionscode (MSG_OUT[1]) L9_XMIT unterstützt folgende Funktionscodes: 20 = Allgemeine
Referenz lesen (6x, erweiterter Speicher), 21 = Allgemeine Referenz
schreiben (6x, erweiterter Speicher)
Menge (MSG_OUT[2]) Geben Sie die Datenmenge ein, die in die Slave-SPS geschrieben oder
die aus der Slave-SPS gelesen werden soll. Geben Sie beispielsweise
100 ein, um 100 Speicherwörter in einer Slave-SPS zu lesen, oder 32,
um 32 Spulen (Speicherbits) in eine Slave-SPS zu schreiben. Es gibt
eine Einschränkung hinsichtlich der Menge. Diese Einschränkung ist
vom SPS-Modell abhängig. Ausführlichere Informationen zu diesen
Einschränkungen finden Sie im Anhang A.
Adresse der Slave-SPS (MSG_OUT[3]) Geben Sie die Adresse der Modbus-Slave-SPS ein. In der Regel liegt
die Modbus-Adresse zwischen 1 und 247. Die Funktionscodes 20 und
21 bieten KEINE Unterstützung für den Broadcast-Modus (Adresse 0).
Inhalt Beschreibung
Slave-SPS-Datenbereich (MSG_OUT[4]) Bei einem Lesebefehl ist der Slave-SPS-Datenbereich die Datenquelle.
Bei einem Schreibbefehl ist der Slave-SPS-Datenbereich das Datenziel.
Beispiel: Wenn Sie die erweiterten Speicherwörter (600300 bis 600399)
in einer Slave-SPS lesen möchten, geben Sie den Wert 300 in dieses
Feld ein. Wenn Sie Daten aus einer Master-SPS schreiben und sie im
erweiterten Speicherwort (600100) einer Slave-SPS platzieren
möchten, geben Sie in dieses Feld 100 ein. Abhängig vom Typ des
Modbus-Befehls (Schreiben oder Lesen) müssen die Quell- und
Zieldatenbereiche wie in der Tabelle der Quell- und Zieldatenbereiche
unten aufgeführt sein. Das niedrigste erweiterte Speicherwort wird als
Wort „Null“ (600000) adressiert. Das niedrigste Speicherwort wird als
Wort „Eins“ %MW1 (400001) adressiert.
Master-SPS-Datenbereich (MSG_OUT[5]) Bei einem Lesebefehl ist der Master-SPS-Datenbereich das Ziel für die
vom Slave zurückgemeldeten Daten. Bei einem Schreibbefehl ist der
Master-SPS-Datenbereich die Datenquelle. Beispiel: Wenn Sie die
Speicherwörter %MW16 bis 32 (40016 bis 40032) einer Master-SPS in
die erweiterten Speicherwörter (6x) einer Slave-SPS schreiben
möchten, geben Sie den Wert 16 in dieses Feld ein. Wenn Sie die
erweiterten Speicherwörter (600001 bis 600100) in einer Slave-SPS
lesen und die Daten im Master-SPS-Datenbereich %MW100 bis 199
(40100 bis 40199) platzieren möchten, geben Sie in dieses Feld 100 ein.
Abhängig vom Typ des Modbus-Befehls (Schreiben oder Lesen)
müssen die Quell- und Zieldatenbereiche wie in der Tabelle der Quell-
und Zieldatenbereiche unten aufgeführt sein. Das niedrigste erweiterte
Speicherwort wird als Wort „Null“ (600000) adressiert. Das niedrigste
Speicherwort wird als Wort „Eins“ %MW1 (400001) adressiert.
Dateinummer (MSG_OUT[6]) Geben Sie die Dateinummer für die erweiterten Speicherwörter (6x) ein,
in die geschrieben oder aus denen gelesen werden soll. (1...10)
abhängig von der Größe des erweiterten Speicherdatenbereichs.
600001 ist 60001 Datei 1 und 690001 ist 60001 Datei 10 wie vom
Referenzdaten-Editor gesehen.
Wenn Sie 20 Modbus-Nachrichten von der SPS aus versenden möchten, müssen
Sie nach jeder erfolgreichen Ausführung von L9_XMIT nacheinander 20 Modbus-
Definitionstabelllen in MSG_OUT übertragen. Sie können auch 20 separate
L9_XMIT-Bausteine programmieren und sie dann jeweils einzeln über die
Benutzerlogik aktivieren.
L9_XMIT im
Kommunikationsmodus
17
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Kommunikationsmodus
beschrieben.
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Aufgabe des Funktionsbausteins L9_XMIT im Kommunikationsmodus ist der
Empfang und die Übertragung von ASCII- und Modbus Master-Nachrichten unter
Verwendung der SPS-Ports.
Eine Übersicht über den Funktionsbaustein L9_XMIT finden Sie unter
Beschreibung, Seite 114.
Darstellung
Parameterbeschreibung
Kommunikationsteuertabelle
Diese Tabelle entspricht dem ersten Wort in einer Gruppe von 16 direkt aufeinander
folgenden Speicherwörtern (%MW), aus denen der Steuerblock besteht.
Ereignisstatustabelle
Ereigniscode Ereignisbeschreibung
1 Modbus-Ausnahme - Ungültige Funktion
2 Modbus-Ausnahme - Ungültige Datenadresse
3 Modbus-Ausnahme - Ungültiger Datenwert
4 Modbus-Ausnahme - Slave-Geräteereignis
5 Modbus-Ausnahme - Quittierung
6 Modbus-Ausnahme - Slave-Gerät beschäftigt
7 Modbus-Ausnahme - Negative Quittierung
8 Modbus-Ausnahme - Speicherparitätsereignis
9 bis 99 Reserviert
100 Slave-SPS-Datenbereich darf nicht gleich 0 sein
101 Master-SPS-Datenbereich darf nicht gleich 0 sein
102 Spule (0x) nicht konfiguriert
103 Speicherwort (%MW) nicht konfiguriert
104 Datenlänge darf nicht gleich 0 sein
105 Zeiger zur Nachrichtentabelle darf nicht gleich 0 sein
106 Zeiger zur Nachrichtentabelle außerhalb des Gültigkeitsbereichs der
konfigurierten Speicherwörter (%MW)
107 Nachrichtenübertragungs-Timeout
(Dieses Ereignis wird generiert, wenn der UART-Chip eine
Datenübertragung nicht innerhalb von max. 10 Sekunden abschließen kann.
Dieses Ereignis umgeht den Wiederholungszähler und aktiviert den
Ereignisausgang beim ersten Ereignis.)
108 Nicht definiertes Ereignis
109 Modem hat EVENT zurückgegeben (Ereignis)
110 Modem hat NO CARRIER zurückgegeben (Keine Datenträger)
111 Modem hat NO DIALTONE zurückgegeben (Kein Freizeichen)
112 Modem hat BUSY zurückgegeben (Beschäftigt)
113 Ungültige LRC-Prüfsumme der Slave-SPS
114 Ungültige CRC-Prüfsumme der Slave-SPS
115 Ungültiger Modbus-Funktionscode
116 Modbus-Antwortnachrichten-Timeout
Ereigniscode Ereignisbeschreibung
117 Modem-Antwort-Timeout
118 L9_XMIT konnte nicht auf den SPS-Kommunikationsport Nr. 1 oder Nr. 2
zugreifen
119 L9_XMIT konnte den Receiver des SPS-Ports nicht aktivieren
120 L9_XMIT konnte den SPS-UART-Chip nicht einstellen
121 Der Benutzer hat einen Abbruchbefehl ausgegeben
122 Der obere Knoten von L9_XMIT ist ungleich 0, 1 oder 2
123 Der untere Knoten von L9_XMIT ist ungleich 7, 8 oder 16
124 Nicht definierter interner Status
125 Der Broadcast-Modus ist bei diesem Modbus-Funktionscode nicht zulässig
126 DCE hat CTS aktiviert
127 Nicht zulässige Konfiguration (Datenübertragungsrate, Datenbits, Parität
oder Stoppbits)
128 Unerwartete Antwort vom Modbus-Slave empfangen
129 Nicht zulässige Befehlsworteinstellung
130 Befehlswort im aktiven Zustand geändert
131 Ungültige Zeichenanzahl
132 Ungültiger Speicherblock
133 FIFO-Überlaufereignis am ASCII-Eingang
134 Ungültige Anzahl von Start- oder Endzeichen
150 Ungültiger Port
154 Falscher HSBY-Modus für XMIT
156 Nicht unterstützter SPS-Typ
Bitreihenfolge
In dieser Tabelle werden die Funktionen beschrieben, die ausgeführt werden, wenn
L9_XMIT die einzelnen Bits des Befehlsworts interpretiert.
Funktion des (%MWx + 8)-Befehlsworts Bits des Befehlsworts, die auf 1 Bits des Befehlsworts, die
gesetzt werden müssen auf 0 gesetzt werden
müssen
Abgeschlossener ASCII-Eingang (Bit 5 = 1) 2,3,9,10,11,12 6,7,8,13,14,15,16
Einfacher ASCII-Eingang (Bit 6 = 1) 2,3,9,10,11,12 5,7,8,13,14,15,16
Einfacher ASCII-Ausgang (Bit 7 = 1) 2,3,9,10,11,12 5,6,8,13,14,15,16
Modem-Ausgang (Bit 7 = 1) 2,3,13,14,15,16 5,6,8,9,10,11,12
(plus eins, jedoch NUR eines
der folgende Bits wird auf 1
gesetzt: 13,14,15 oder 16,
während die anderen drei Bits
auf 0 gesetzt werden müssen)
Modbus-Master-Nachrichtenausgang 2,3 5,6,7,9,10,11,12,13,14,15,16
(Bit 8 = 1)
ASCII-Empfangseingang aktivieren NUR FIFO 2,3,10,11,12 5,6,7,8,13,14,15,16
(Bit 9 = 1)
L9_XMIT im Portstatusmodus
18
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Portstatusmodus
beschrieben.
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_XMIT im Portstatusmodus zeigt Informationen zum
aktuellen Portstatus, der Modbus-Slave-Aktivität, dem ASCII-FIFI-Eingang und der
Durchflusssteuerung an, die für bestimmte Anwendungen in Ladder Logic
verwendet werden können. L9_XMIT im Portstatusmodus ist vollkommen passiv.
Der Baustein beansprucht den SPS-Port nicht, gibt ihn nicht frei und steuert ihn
nicht.
Eine Übersicht über den Funktionsbaustein L9_XMIT finden Sie unter
Beschreibung, Seite 114.
Darstellung
Parameterbeschreibung
Parameterbeschreibung
Übersicht
Dieser Abschnitt enthält ausführliche Informationen zum mittleren Knoten. Der
Abschnitt umfasst 5 Themenbereiche:
z Tabelle zur Anzeige des Portstatus
z Tabelle zur Generierung der Fehlercodes
z Tabelle zur Statusgenerierung
z Tabelle mit dem FIFO-Eingangsstatus
z Tabelle mit der FIFO-Eingangslänge
Ereigniscode Ereignisbeschreibung
118 L9_XMIT konnte nicht auf den SPS-Kommunikationsport Nr. 1 oder Nr. 2
zugreifen
122 Der obere Knoten von L9_XMIT ist ungleich 0, 1 oder 2
123 Der untere Knoten von L9_XMIT ist ungleich 7, 8 oder 16
150 Ungültiger Port
154 Falscher HSBY-Modus für XMIT
156 Nicht unterstützter SPS-Typ
In dieser Tabelle werden die Statusbits beschrieben, die sich auf den FIFO-Eingang
für das (%MWx + 5)-Wort beziehen.
L9_XMIT im
Konvertierungsmodus
19
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Konvertierungsmodus
beschrieben.
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Aufgabe des Funktionsbausteins L9_XMIT im Konvertierungsmodus ist der Zugriff
auf Daten und deren Konvertierung in andere verwendbare Format je nach den
Anforderungen Ihrer Anwendung. Der Konvertierungsbaustein stellt 11
verschiedenen Funktionen oder Optionen zur Verfügung. Zu den Funktionen
gehören u. a. ASCII in Binär, Ganzzahl in ASCII, Byte-Austausch, Suche nach
ASCII-Zeichenketten usw. Dieser Baustein ermöglicht interne Konvertierungen aus
%MW-Quellblöcken in %MW-Zielblöcke.
Eine Übersicht über den Funktionsbaustein L9_XMIT finden Sie unter
Beschreibung, Seite 114.
Darstellung
Parameterbeschreibung
Parameterbeschreibung
Übersicht
Dieser Abschnitt enthält ausführliche Informationen zum mittleren Knoten. Der
Abschnitt umfasst 4 Themenbereiche:
z Tabelle zur Steuerung des Konvertierungsmodus
z Tabelle zur Generierung der Fehlercodes
z Tabelle mit den Steuerbits für die Datenkonvertierung
z Tabelle mit den Operationscodes für die Datenkonvertierung
Ereigniscode Ereignisbeschreibung
122 Der obere Knoten von L9_XMIT ist ungleich 0, 1 oder 2
123 Der untere Knoten von L9_XMIT ist ungleich 7, 8 oder 16
131 Ungültige Zeichenanzahl
135 Ungültiger Zielspeicherblock
136 Ungültiger Quellspeicherblock
Ereigniscode Ereignisbeschreibung
137 Keine ASCII-Zahl vorhanden
138 Mehrfachzeichen vorhanden
139 Numerischer Überlauf erkannt
140 Ereignis: Keine Zeichenkettenübereinstimmung
141 Zeichenkette nicht gefunden
142 Ungültige Ereignisprüfung erkannt
143 Ungültiger Operationscode für die Konvertierung
COUNT_TIME
III
Übersicht
In diesem Abschnitt werden die elementaren Funktionsbausteine der
COUNT_TIME-Familie (Zähler und Zeitgeber) beschrieben.
L9_DCTR: Abwärtszähler
20
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_DCTR zählt die Übergänge der Steuereingänge – von
OFF zu ON – ab einem PRESET-Zählerwert abwärts bis 0.
Die Abwärtszählung beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird
(ON). Der Wert ACCUM wird dekrementiert, solange der Eingang RUN auf ON steht.
Wenn der Eingang RUN zu OFF wechselt, wird der Wert ACCUM auf den Zählerwert
PRESET zurückgesetzt.
L9_DCTR kann einen von 2 Ausgängen aktivieren. Der Ausgang EQ_ZERO wird auf
ON gesetzt, wenn der Wert ACCUM bis 0 dekrementiert wurde. Der Ausgang
GR_ZERO wird auf ON gesetzt, wenn der Baustein aufgelöst wurde und der Wert von
ACCUM größer ist als 0.
HINWEIS: Der Wert ACCUM wird auch beim Start der Steuerung oder beim
Einschalten dekrementiert.
Darstellung
Parameter
L9_T001: Hundertstelsekunden-
Zeitgeber
21
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Zeitgeber-Funktionsbaustein L9_T001 misst die Zeit in Intervallen zu
Hundertstelsekunden. Er kann für die zeitbasierte Planung eines Ereignisses oder
die Erstellung einer Verzögerung verwendet werden.
L9_T001 verfügt über 2 Steuereingänge. Die Operation beginnt, wenn der Eingang
zum ENABLE-Pin eingeschaltet wird. Der Wert ACC_TIME wird inkrementiert,
solange der Eingang RUN auf ON steht. Wenn der Eingang RUN zu OFF wechselt,
wird der Wert ACC_TIME auf 0 zurückgesetzt.
L9_T001 kann 1 von 2 Knotenausgängen aktivieren. Der Ausgang EQT wird
eingeschaltet (ON), wenn der Wert ACC_TIME dem Zeitgeberwert PRESET
entspricht. Der Ausgang LESSTH wird eingeschaltet (ON), wenn der Wert
ACC_TIME kleiner ist als der Zeitgeberwert PRESET.
Darstellung
Parameter
L9_T01: Zehntelsekunden-
Zeitgeber
22
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Zeitgeber-Funktionsbaustein L9_T01 misst die Zeit in Intervallen zu Zehntelse-
kunden. Er kann für die zeitbasierte Planung eines Ereignisses oder die Erstellung
einer Verzögerung verwendet werden.
L9_T01 verfügt über 2 Steuereingänge. Die Operation beginnt, wenn der Eingang
zum ENABLE-Pin eingeschaltet wird. Der Wert ACC_TIME wird inkrementiert,
solange der Eingang RUN auf ON steht. Wenn der Eingang RUN zu OFF wechselt,
wird der Wert ACC_TIME auf 0 zurückgesetzt.
L9_T01 kann 1 von 2 Knotenausgängen aktivieren. Der Ausgang EQT wird
eingeschaltet (ON), wenn der Wert ACC_TIME dem Zeitgeberwert PRESET
entspricht. Der Knoten LESSTH wechselt zu ON, wenn der Wert ACC_TIME kleiner
ist als der Zeitgeberwert PRESET.
Darstellung
Parameter
L9_T1: Sekunden-Zeitgeber
23
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Zeitgeber-Funktionsbaustein L9_T1 misst die Zeit in Intervallen zu je 1
Sekunde. Er kann für die zeitbasierte Planung eines Ereignisses oder die Erstellung
einer Verzögerung verwendet werden.
L9_T1 verfügt über 2 Steuereingänge. Die Operation beginnt, wenn der Eingang
zum ENABLE-Pin eingeschaltet wird. Der Wert ACC_TIME wird inkrementiert,
solange der Eingang RUN auf ON steht. Wenn der Eingang RUN zu OFF wechselt,
wird der Wert ACC_TIME auf 0 zurückgesetzt.
L9_T1 kann 1 von 2 Knotenausgängen aktivieren. Der Ausgang EQT wird
eingeschaltet (ON), wenn der Wert ACC_TIME dem Zeitgeberwert PRESET
entspricht. Der Knoten LESSTH wechselt zu ON, wenn der Wert ACC_TIME kleiner
ist als der Zeitgeberwert PRESET.
Darstellung
Parameter
L9_T1MS: Millisekunden-
Zeitgeber
24
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Zeitgeber-Funktionsbaustein L9_T1MS misst die Zeit in Intervallen zu je 1 ms.
Er kann für die zeitbasierte Planung eines Ereignisses oder die Erstellung einer
Verzögerung verwendet werden.
L9_T1MS verfügt über 2 Steuereingänge. Die Operation beginnt, wenn der Eingang
zum ENABLE-Pin eingeschaltet wird. Der Wert ACC_TIME wird inkrementiert,
solange der Eingang RUN auf ON steht. Wenn der Eingang RUN zu OFF wechselt,
wird der Wert ACC_TIME auf 0 zurückgesetzt.
L9_T1MS kann 1 von 2 Knotenausgängen aktivieren. Der Ausgang EQT wird
eingeschaltet (ON), wenn der Wert ACC_TIME dem Zeitgeberwert PRESET
entspricht. Der Knoten LESSTH wird eingeschaltet (ON), wenn der Eingang RUN in
den OFF-Zustand wechselt, bevor der Wert ACC_TIME bis Erreichen des
Zeitgeberwerts PRESET inkrementiert werden konnte.
Darstellung
Parameter
L9_UCTR: Aufwärtszähler
25
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_UCTR zählt die Übergänge der Steuereingänge – von
OFF zu ON – ab 0 aufwärts bis zu einem PRESET-Zählerwert.
Die Aufwärtszählung beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet
wird (ON). Der Wert ACCUM wird inkrementiert, solange der Eingang RUN auf ON
steht. Wenn der Eingang RUN zu OFF wechselt, wird der Wert ACCUM auf 0
zurückgesetzt.
L9_UCTR kann 1 von 2 Ausgängen aktivieren. Der Ausgang AT_PRE wird
eingeschaltet (ON), wenn der Wert ACCUM bis zum Zählerwert PRESET
inkrementiert wurde. Der Ausgang LESS_PRE wird eingeschaltet (ON), wenn der
Baustein aufgelöst wurde und der Wert von ACCUM kleiner ist als der Wert PRESET.
HINWEIS: Der Wert ACCUM wird auch beim Start der Steuerung oder beim
Einschalten inkrementiert.
Darstellung
Parameter
EMTH
IV
Übersicht
In diesem Abschnitt werden die DFBs der EMTH-Familie (erweiterte Mathematik)
beschrieben, die eine Bibliothek mit mathematischen Operationen doppelter
Genauigkeit, Quardratwurzel- und Logarithmus-Berechnungen und arithmetischen
Funktionen für Gleitkommawerte enthält.
Die Steuereingänge und Ausgänge von EMTH sind funktionsunabhängig.
HINWEIS: Einige der Bausteine in diesem Teil ziehen Gleitkommawerte heran (die
auch in einer Struktur enthalten sein können). Sie können diese Daten über eine
Animationstabelle oder den Anweisungseditor beobachten. Wenn Sie eine
Animationstabelle verwenden, kann ein Gleitkommawert an der Position %MWx
durch Hinzufügen einer neuen Zeile %MFx in der Animationstabelle beobachtet
werden. Hinweis: %MF-Adressen sind mit Steuerungen der Baureihe M340 nicht
verfügbar. In diesem Fall kann sich eine zusätzliche REAL-Variable an der Position
%MWx als hilfreich erweisen. Weitere Informationen zur Adressierung finden Sie
unter Sprachreferenz →Datenbeschreibung →Dateninstanzen →
Dateninstanzen mit direkter Adressierung.
Allgemeine Informationen
26
EMTH-Gleitkommafunktionen
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ADDDP addiert zwei Operanden mit doppelter Genauigkeit und
speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ADDFP addiert zwei Gleitkomma-Operanden und speichert das
Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ADDIF addiert eine Ganzzahl und einen Gleitkomma-Operanden und
speichert das Ergebnis in einem Array.
Darstellung
Parameter
L9E_ANLOG: Antilogarithmus
Basis 10
30
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ANLOG führt die Antilogarithmusfunktion mit der Basis 10 für eine
Ganzzahl durch und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E__ARCOS führt die Arkuskosinus-Funktion für einen Gleitkommawert
aus und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ARSIN führt die Arkussinus-Funktion für einen Gleitkommawert aus
und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ARTAN führt die Arkustangens-Funktion für einen Gleitkommawert
aus und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CHSIN ändert das Vorzeichen eines Gleitkommawerts und speichert
das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CMPFP vergleicht 2 Gleitkommawerte und gibt deren Beziehung in 2
Ausgangsparametern an (GRTH, LESSTH).
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CMPIF vergleicht eine Ganzzahl mit einem Gleitkommawert und gibt
deren Beziehung in 2 Ausgangsparametern an (GRTH, LESSTH).
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CNVDR konvertiert den Gleitkommawert eines Winkels in Grad in
einen Gleitkommawert in Radiant.
Darstellung
Parameter
L9E_CNVFI: Konvertierung
Gleitkommawert in Ganzzahl
38
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CNVFI konvertiert einen Gleitkommawert in eine Ganzzahl.
Darstellung
Parameter
L9E_CNVIF: Konvertierung
Ganzzahl in Gleitkommawert
39
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CNVIF konvertiert eine Ganzzahl in einen Gleitkommawert.
Darstellung
Parameter
L9E_CNVRD: Konvertierung
Radiant in Grad für
Gleitkommawerte 40
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_CNVRD konvertiert den Gleitkommawert eines Winkels in Radiant in
einen Gleitkommawert in Grad.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E__COS führt die Kosinus-Funktion für den Gleitkommawert eines
Winkels in Radiant durch und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_DIVDP dividiert einen Operanden 1 doppelter Genauigkeit durch
einen Operanden 2 doppelter Genauigkeit und speichert das Ergebnis in einem
Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_DIVFI dividiert einen Operanden 1 (Gleitkommawert) durch einen
Operanden 2 (Ganzzahl) und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_DIVFP dividiert einen Operanden 1 (Gleitkommawert) durch einen
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_DIVIF dividiert einen Operanden 1 (Ganzzahl) durch einen
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_ERLOG ruft ein Protokoll mit den Ereignistypen seit dem letzten Aufruf
auf.
Darstellung
Parameter
ERRDAT
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.
Wenn das Bit auf 1 gesetzt ist, existiert der spezifische Ereigniszustand für dieses
Bit.
EMTH-Funktionscodes
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_EXP berechnet eine Exponentialfunktion für einen Gleitkommawert
und speichert das Ergebnis in einem Array.
Darstellung
Parameter
L9E_LNFP: Natürlicher
Logarithmus mit
Gleitkommawerten 48
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_LNFP berechnet den natürlichen Logarithmus eines Gleitkom-
mawerts und speichert das Ergebnis in einem Array.
Darstellung
Parameter
49
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_LOG führt eine Logarithmusfunktion zur Basis 10 für einen %MW- oder
%IW-Wert durch und speichert das Ergebnis.
Darstellung
Parameter
L9E_LOGFP: Zehnerlogarithmus
mit Gleitkommawerten
50
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_LOGFP berechnet den Zehnerlogarithmus eines Gleitkommawerts
und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_MULDP multipliziert einen Operanden 1 doppelter Genauigkeit mit
einem Operanden 2 doppelter Genauigkeit und speichert das Ergebnis in einem
Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_MULFP multipliziert einen Operanden 1 (Gleitkommawert) mit einem
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.
Darstellung
Parameter
L9E_MULIF: Multiplikation
Ganzzahl x Gleitkommawert
53
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_MULIF multipliziert einen Operanden 1 (Ganzzahl) mit einem
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_PI lädt den Gleitkommawert von π in PIVAL.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_POW berechnet die Potenzierung eines Gleitkommawerts mit einem
Ganzzahl-Exponenten.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SINE führt die Sinus-Funktion für den Gleitkommawert eines Winkels
in Radiant aus und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SQRFP zieht die Quadratwurzel aus einem Gleitkommawert und
speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SQRT führt eine Standard-Quadratwurzeloperation für einen %MW-
oder %IW-Wert aus und speichert das Ergebnis in einem Array.
Darstellung
Parameter
L9E_SQRTP: Prozess-
Quadratwurzel
59
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB Prozess-Quadratwurzel (L9E_SQRTP) passt die Standard-Quadratwurzel-
funktion an analoge Steuerungsanwendungen mit geschlossenem Regelkreis an.
Der DFB zieht das Ergebnis der Standard-Quadratwurzeloperation heran,
multipliziert es mit 63.9922 (Quadratwurzel von 4,095) und speichert das
linearisierte Ergebnis in RESULT. Die Prozess-Quadratwurzel. Die Prozess-
Quadratwurzel wird häufig verwendet, um Signale von Differenzdruck-Durchfluss-
messern zu linearisieren, sodass diese bei Steuerungsoperationen im
geschlossenen Regelkreis als Eingänge verwendet werden können.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SUBDP subtrahiert einen Operanden 2 doppelter Genauigkeit von
einem Operanden 1 doppelter Genauigkeit und speichert das Ergebnis in einem
Array.
Darstellung
Parameter
L9E_SUBFI: Subtraktion
Gleitkommawert – Ganzzahl
61
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SUBFI subtrahiert einen Operanden 2 doppelter Genauigkeit
(Ganzzahl) von einem Gleitkommawert und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SUBFP subtrahiert einen Gleitkommawert 2 von einem Gleitkom-
mawert 1 und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_SUBIF subtrahiert einen Gleitkommawert von einer Ganzzahl
doppelter Genauigkeit und speichert das Ergebnis in einem Array.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der DFB L9E_TAN führt die Tangens-Funktion für den Gleitkommawert eines
Winkels in Radiant aus und speichert das Ergebnis in einem Array.
Darstellung
Parameter
EQN_EXT
V
Übersicht
In diesem Abschnitt werden die Funktionsbausteine der EQN_EXT-Familie
beschrieben.
Diese Funktionsbausteine können nur in LL984-Gleichungsnetzwerken in der ST-
Programmiersprache verwendet werden.
Funktionsbeschreibung
Die EF COSD führt die Kosinus-Funktion für den Gleitkommawert eines Winkels in
Grad durch und speichert das Ergebnis in einem Array.
Darstellung in ST
Cosine:=COSD(degrees);
Parameter
Funktionsbeschreibung
Die EF SIND führt die Sinus-Funktion für den Gleitkommawert eines Winkels in
Grad durch und speichert das Ergebnis in einem Array.
Darstellung in ST
Sine:=SIND(degrees);
Parameter
Funktionsbeschreibung
Die EF TAND führt die Tangens-Funktion für den Gleitkommawert eines Winkels in
Grad durch und speichert das Ergebnis in einem Array.
Darstellung in ST
Tangent:=TAND(degrees);
Parameter
MATH
VI
Übersicht
In diesem Abschnitt werden die Prozeduren der MATH-Familie beschrieben.
68
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_AD16 führt eine 16-Bit-Addition mit oder ohne Vorzeichen für
VALUE1 und VALUE2 durch und legt das Ergebnis der Addition in der mit SUM
verknüpften Variablen ab.
L9_AD16 verfügt über 2 Steuereingänge. Die Additionsoperation beginnt, wenn der
Eingang zum ENABLE-Pin eingeschaltet wird (ON). Der Eingang SIGNED gibt an, ob
die Addition mit (ON) oder ohne (OFF) Vorzeichen erfolgt.
L9_AD16 kann einen von 2 Ausgängen aktivieren. Der Ausgang OUT wird bei
erfolgreichem Abschluss der Operation eingeschaltet (ON). Der Ausgang OVERFL
wird auf ON gesetzt, wenn ein Überlauf in SUM auftritt. Bei einer Operation ohne
Vorzeichen liegt ein Überlauf vor, wenn ein Wert größer ist als 65.535. Bei einer
Operation mit Vorzeichen löst ein Wert größer als +32.767 oder kleiner als -32.768
einen Überlauf aus.
Formel
SUM = VALUE1 + VALUE2
Darstellung
Parameter
L9_ADD: Addition
69
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_ADD addiert VALUE1 ohne Vorzeichen mit VALUE2 ohne
Vorzeichen und legt das Ergebnis der Addition in der mit SUM verknüpften Variabeln
ab.
Die Additionsoperation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet
wird (ON). Wenn der Ausgang OVERFL den Wert ON annimmt, verweist das auf
einen Überlauf in SUM. Ein Überlauf tritt auf, wenn die Addition einen Wert SUM über
9.999 ergibt.
Formel
SUM = VALUE1 + VALUE2
Darstellung
Parameter
L9_DIV: Division
70
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_DIV dividiert VALUE1 ohne Vorzeichen durch VALUE2 ohne
Vorzeichen und legt den Quotienten dann im Wort RESULT und den Rest im
implizierten Wort RESULT+1 ab.
L9_DIV verfügt über zwei Eingänge. Die Divisionsoperation beginnt, wenn der
Eingang zum ENABLE-Pin eingeschaltet wird (ON). Der Eingang REM gibt an, ob der
Rest als Dezimalzahl (ON) oder Bruchwert (OFF) ausgedrückt wird.
L9_DIV kann einen von 3 Ausgängen aktivieren. Der Ausgang OUT wird bei
erfolgreichem Abschluss der Operation eingeschaltet (ON). Der Ausgang OVERFL
wird auf ON gesetzt, wenn ein Überlauf in RESULT auftritt. Der Ausgang DIVBY0
wechselt zu ON, wenn VALUE2 gleich 0.
Formel
RESULT[1] = VALUE1 / VALUE2
RESULT[2] = VALUE1 MOD VALUE2 (Bruchwert) oder
RESULT[2] = (VALUE1 MOD VALUE2)*(10000 / VALUE2) (Dezimalzahl)
Darstellung
Parameter
71
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_DV16 dividiert 16-Bit-Werte mit oder ohne Vorzeichen. Dazu wird
VALUE1 durch VALUE2 dividiert und der Quotient dann im Wort RESULT sowie der
Rest im implizierten Wort RESULT+1 abgelegt.
Die Divisionsoperation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet
wird (ON). Der Eingang REM gibt an, ob der Rest als Dezimalzahl (ON) oder
Bruchwert (OFF) ausgedrückt wird. Der Eingang SIGNED gibt an, ob die Division mit
(ON) oder ohne (OFF) Vorzeichen erfolgt.
L9_DV16 kann einen von 3 Ausgängen aktivieren. Der Ausgang OUT wird bei
erfolgreichem Abschluss der Operation eingeschaltet (ON). Der Ausgang OVERFL
wird auf ON gesetzt, wenn ein Überlauf in SUM auftritt. Der Ausgang DIVBY0
wechselt zu ON, wenn VALUE2 gleich 0.
Formel
RESULT[1] = VALUE1 / VALUE2
RESULT[2] = VALUE1 MOD VALUE2 (Bruchwert) oder
RESULT[2] = (VALUE1 MOD VALUE2)*(10000 / VALUE2) (Dezimalzahl)
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_MU16 führt eine 16-Bit-Multiplikation mit oder ohne Vorzeichen
durch. Dabei wird VALUE1 mit VALUE2 multipliziert und das RESULT in 2
aufeinander folgenden Wörtern abgelegt.
Die Multiplikationsoperation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Der Eingang SIGNED gibt an, ob die Multiplikation mit (ON)
oder ohne (OFF) Vorzeichen erfolgt.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON).
Formel
RESULT = VALUE1 × VALUE2
Darstellung
Parameter
L9_MUL: Multiplikation
73
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_MUL multipliziert VALUE1 ohne Vorzeichen mit VALUE2 ohne
Vorzeichen und legt dann das RESULT in 2 aufeinander folgenden Wörtern ab.
Die Multiplikationsoperation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Der Ausgang OUT wird bei erfolgreichem Abschluss der
Operation eingeschaltet (ON).
Formel
RESULT = VALUE1 × VALUE2
Darstellung
Parameter
74
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_SU16 führt eine 16-Bit-Subtraktion mit oder ohne Vorzeichen
durch. Dabei wird VALUE2 von VALUE1 subtrahiert und das RESULT einem
Speicherwort abgelegt.
Die Subtraktionsoperation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Der Eingang SIGNED gibt an, ob die Subtraktion mit (ON)
oder ohne (OFF) Vorzeichen erfolgt.
L9_SU16 kann einen von 3 Ausgängen aktivieren. Der Status der Ausgänge
verweist auf die Beziehung zwischen VALUE1 und VALUE2. Der Ausgang GRT
wechselt zu ON, wenn VALUE1 > VALUE2. Der Ausgang EQT wechselt zu ON, wenn
VALUE1 = VALUE2. Der Ausgang LESSTH wechselt zu ON, wenn
VALUE1 < VALUE2.
Formel
RESULT = VALUE1 −VALUE2
Darstellung
Parameter
L9_SUB: Subtraktion
75
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_SUB führt eine Subtraktion durch, bei der von VALUE1 ohne
Vorzeichen VALUE2 ohne Vorzeichen subtrahiert wird. Das RESULT wird in einem
Speicherwort abgelegt.
Die Subtraktionsoperation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON).
L9_SUB kann einen von 3 Ausgängen aktivieren. Der Status der Ausgänge verweist
auf die Beziehung zwischen VALUE1 und VALUE2. Der Ausgang GRT wechselt zu
ON, wenn VALUE1 > VALUE2. Der Ausgang EQT wechselt zu ON, wenn
VALUE1 = VALUE2. Der Ausgang LESSTH wechselt zu ON, wenn
VALUE1 < VALUE2.
Formel
RESULT = VALUE1 −VALUE2
Darstellung
Parameter
76
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur TEST verlgeicht die Größe der 16-Bit-Werte mit oder ohne Vorzeichen
in VALUE1 und VALUE2 und beschreibt die Beziehung der Werte anhand der
Ausgänge.
TEST verfügt über 2 Steuereingänge. Wenn ENABLE auf ON steht, wird die
Operation initiiert. Der Status von SIGNED gibt an, ob der Vergleich mit oder ohne
Vorzeichen durchgeführt wird.
TEST steuert 3 mögliche Ausgänge (GRT, EQT, LESSTH). Der Status der Ausgänge
verweist auf die Beziehung zwischen VALUE1 und VALUE2.
Darstellung
Parameter
77
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur BCD kann zur Konvertierung eines Binärwerts in einen binärcodierten
Dezimalwert (BCD) bzw. eines BCD- in einen Binärwert verwendet werden.
Der Typ der durchzuführenden Konvertierung wird durch den Status des Eingangs
BCD2BIN vorgegeben.
BCD verfügt über zwei Steuereingänge. Wenn ENABLE auf ON steht, wird die
Operation initiiert.
Der Status von BCD2BIN gibt den Typ der durchzuführenden Konvertierung an. ON:
BCD- in Binärformat. OFF: Binär- zu BCD-Format.
BCD steuert zwei mögliche Ausgänge. Der Ausgang OUT gibt den Status von
ENABLE zurück. Der Ausgang ERR wird aktiv, wenn bei der Konvertierungsoperation
ein Ereignis festgestellt wurde.
Darstellung
Parameter
L9_FTOI: Gleitkommawert in
Ganzzahl
78
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur FTOI führt die Konvertierung eines Gleitkommawerts in eine
Ganzzahl mit oder ohne Vorzeichen (gespeichert in zwei aufeinander folgenden
Wörtern) durch und speichert dann den konvertierten Ganzzahlwert in DEST.
FTOI verfügt über zwei Steuereingänge. Wenn ENABLE auf ON steht, wird die
Operation initiiert. Der Status von SIGNED gibt an, ob die Konvertierung mit oder
ohne Vorzeichen durchgeführt wird.
FTOI steuert 2 mögliche Ausgänge. OUT wird bei erfolgreichem Abschluss der
Konvertierung eingeschaltet (ON). Wenn ERR aktiviert wird, liegt der Wert der
konvertierten Ganzzahl außerhalb des Bereichs.
HINWEIS: In LL984-Vorgängeranwendungen funktionierte das Wort ERR nicht wie
geplant.
Darstellung
Parameter
L9_ITOF: Ganzzahl in
Gleitkommawert
79
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur ITOF führt die Konvertierung einer Ganzzahl mit oder ohne
Vorzeichen (SOURCE) in einen Gleitkommawert durch und speichert den Gleitkom-
mawert in zwei aufeinander folgenden Wörtern.
ITOF verfügt über zwei Steuereingänge. Der Eingang ENABLE löst die Operation
aus, wenn er auf ON steht. Der Status von SIGNED gibt an, ob die Konvertierung mit
oder ohne Vorzeichen durchgeführt wird.
ITOF steuert den Ausgang OUT bei erfolgreichem Abschluss der Konvertierung.
Darstellung
Parameter
MATRIX
VII
Übersicht
In diesem Abschnitt werden die Prozeduren der MATRIX-Familie beschrieben.
80
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_AND führt eine boolesche UND-Operation für das Bitmuster einer
Quell- und einer Zielmatrix durch und schreibt das sich daraus ergebende Bitmuster
in die Zielmatrix, wobei der vorhergehende Inhalt überschrieben wird.
HINWEIS: Die Prozedur L9_AND schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Sowohl die Quell- als auch die Zielmatrix umfasst 16-Bit-Folgen von Ausgängen im
%M- oder %MW-Speicher, je nach Prozedur. Der Wert LENGTH legt die Anzahl der
bei der booleschen UND-Operation berücksichtigten 16-Bit-Folgen fest. Der
Speicherort der Quellmatrix wird durch den Parameter SOURCE, der Speicherort der
Zielmatrix durch den Parameter DEST angegeben.
Die boolesche UND-Operation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Jedes Bit in der Quellmatrix wird dem entsprechenden Bit
in der Zielmatrix verglichen. Wenn Quell- und Zielbits den Wert 1 aufweisen, wird in
das Zielbit eine 1 geschrieben. In allen anderen Fällen wird in das Zielbit eine 0
geschrieben. L9_AND kann einen einzigen Ausgang aktivieren. Der Ausgang OUT
wird bei erfolgreichem Abschluss der Operation eingeschaltet (ON).
HINWEIS: Wenn Sie das Original-Bitmuster der Zielmatrix behalten möchten,
kopieren Sie die Informationen mithilfe des Bausteins L9_BLKM in eine andere
Tabelle, bevor Sie die Operation L9_AND durchführen.
Darstellung
Parameter
L9_BROT: Zyklische
Bitverschiebung
81
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_BROT verschiebt oder rotiert das Bitmuster in einer Quellmatrix
und schreibt das geänderte Bitmuster dann in eine Zielmatrix. Das Bitmuster wird
pro Zyklus um 1 Position nach links oder rechts verschoben bzw. rotiert und
überschreibt den vorherigen Inhalt der Zielmatrix.
HINWEIS: Die Prozedur L9_BROT schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Sowohl die Quell- als auch die Zielmatrix umfasst 16-Bit-Folgen von Ausgängen im
%M- oder %MW-Speicher, je nach Prozedur. Der Wert LENGTH legt die Anzahl der
in der Verschiebe- oder Rotationsoperation enthaltenen 16-Bit-Folgen fest. Der
Speicherort der Quellmatrix wird durch den Parameter SOURCE, der Speicherort der
Zielmatrix durch den Parameter DEST angegeben.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird (ON).
Wenn der Pin LEFT eingeschaltet ist (ON), wird die Quellmatrix um eine Position
nach links verschoben. Wenn der Pin LEFT ausgeschaltet ist (OFF), wird die
Quellmatrix eine Position nach rechts verschoben.
Wenn das Bit ROT auf ON gesetzt ist, rotiert die ausgewählte Matrix und das
abgehende Bit schließt sich an der entgegengesetzten Seite der Quellmatrix an.
Wenn das Bit ROT auf OFF gesetzt ist, wird die ausgewählte Matrix verschoben. Das
abgehende Bit wird fallen gelassen und die entgegengesetzte Seite der Quellmatrix
wird mit einer 0 aufgefüllt.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang CARRY enthält den Wert des abgehenden Bits.
Darstellung
Parameter
L9_CMPR: Registervergleich
82
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_CMPR vergleicht das Bitmuster in Matrix a mit dem Bitmuster in
Matrix b auf mangelnde Übereinstimmung hin. In einem Abfragezyklus werden die
zwei Matrizen Bit für Bit miteinander verglichen, bis eine fehlende Übereinstimmung
identifiziert oder das Ende der Matrizen (ohne Differenzen) erreicht wird.
L9_CMPR verfügt über zwei Steuereingänge. ENABLE initiiert den Vergleich. Das
Status von RESET bestimmt die Position im Logikprogramm, an der der nächste
Vergleich starten soll.
Der in DEST eingegebene Zeigerparameter ist der Zeiger zu Matrix b, die andere
Matrix für den Vergleich. Das erste Elemente in Matrix b ist der nächste Parameter,
der direkt auf den Zeigerparameter folgt. Der im Zeigerparameter gespeicherte Wert
wird mit jeder Bitposition, die in den zwei Matrizen verglichen wird, inkrementiert.
Beim Vergleich der Bitposition 1 in Matrix a und b enthält das Zeigerwort den Wert
1, bei Vergleich der Bitposition 2 in den Matrizen wird der Zeigerwert auf 2
inkrementiert usw. Wenn der Ausgang eine mangelnde Übereinstimmung
signalisiert, können Sie die kumulierte Anzahl im Zeigerparameter prüfen, um die
betroffene Bitposition in den Matrizen zu identifizieren.
Der in LENGTH eingegebene Ganzzahlwert gibt die Länge der zwei Matrizen an, d.
h. die Anzahl der Parameter oder 16-Bit-Wörter in jeder Matrix (Matrix a und Matrix
b weisen dieselbe Länge auf). Die Matrixlänge kann von 1 bis 100 reichen, d. h. die
Länge 2 verweist darauf, dass Matrix a und b 32 Bit enthalten.
L9_CMPR steuert drei mögliche Ausgänge (OUT, MIS, INA).
OUT meldet den Status von ENABLE zurück. MIS wird aktiviert, wenn eine fehlende
Übereinstimmung entdeckt wird. Der Status von INA gibt an, ob das nicht
übereinstimmende Bit in Matrix a eine 1 oder 0 ist.
Darstellung
Parameter
L9_COMP: Matrixumkehrung
83
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_COMP kehrt das Bitmuster um, d. h. alle 0-Werte werden zu 1 und
alle 1-Werte zu 0 geändert. Anschließend wird das umgekehrte Bitmuster in eine
Zielmatrix kopiert. Die gesamte COMP-Operation wird innerhalb eines Abfragezyklus
abgeschlossen.
HINWEIS: Die Prozedur L9_COMP schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Sowohl die Quell- als auch die Zielmatrix besteht aus 16-Bit-Folgen von Ausgängen
in %M- oder %MW-Speicherwörtern, je nach Prozedur. Der Wert LENGTH legt die
Anzahl der bei der booleschen COMP-Operation berücksichtigten 16-Bit-Folgen fest.
Die Position der Quellmatrix wird durch den Offset-Wert SOURCE und die Position
der Zielmatrix durch den Offset-Wert DEST angegeben.
Die boolesche COMP-Operation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Jedes Bit in der Quellmatrix wird invertiert und in das
entsprechende Bit in der Zielmatrix geschrieben. L9_BLKM kann einen einzigen
Ausgang aktivieren. Der Ausgang OUT wird bei erfolgreichem Abschluss der
Operation eingeschaltet (ON).
Darstellung
Parameter
L9_BROT: Bitänderung
84
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_MBIT ändert die Bitpositionen innerhalb einer Datenmatrix - 1
Bitposition pro Abfragezyklus - und setzt die Bits auf 1 bzw. auf 0.
HINWEIS: Die Prozedur L9_MBIT schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Die Datenmatrix besteht aus 16-Bit-Folgen in %M- oder %MW-Speicherwörtern, je
nach Prozedur. Der Wert LENGTH legt die Anzahl der bei der Operation berücksich-
tigten 16-Bit-Folgen fest. Der Wert des Pins SOURCE gibt in Verbindung mit dem
Wert des Pins BITLOC die spezifische Position des auf 1 oder 0 gesetzten Bits an.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn der Pin SETBIT eingeschaltet wird (ON), wird der Wert des abgefragten Bits
auf 1 gesetzt. Wird der Pin SETBIT ausgeschaltet (OFF), dann wird der Wert des
abgefragten Bits auf 0 gesetzt.
Wenn das Bit INCPTR auf ON steht - und der Pin BITLOC mit einer lokalisierten
Variablen und nicht mit einer Konstanten verknüpft ist -, wird der Wert BITLOC bei
Abschluss des aktuellen Abfragezyklus um 1 inkrementiert.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang SETBITO meldet den Status des Werts SETBIT zurück. Der
Ausgang ERR wechselt zu ON, wenn der Wert BITLOC die durch den Wert LENGTH
definierte Größe der Datenmatrix überschreitet.
Darstellung
Parameter
L9_NBIT: Bitsteuerung
85
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die normale Bitprozedur L9_NBIT ermöglicht Ihnen die Steuerung des Status eines
spezifischen Bits innerhalb eines Worts im %MW-Speicher durch Setzen des Bits
auf 1 oder 0. Das gesteuerte Bit ist mit einer Spule vergleichbar - wird ein Bit
eingeschaltet (Setzen auf ON), dann bleibt es eingeschaltet, bis es durch ein
Steuersignal auf OFF gesetzt wird.
IN_REG ist das Wort, das das zu steuernde Bit enthält. Der Wert BITLOC
identifiziert das spezifische Bit - 1 bis 16 -, das auf 1 oder 0 gesetzt werden soll.
Wenn der Pin ENABLE eingeschaltet wird (ON), wird das gesteuerte Bit auf 1
gesetzt. Wenn der Pin ENABLE ausgeschaltet wird (OFF), wird das gesteuerte Bit
auf OFF gesetzt. Der Ausgang OUT meldet den Status des Pins ENABLE zurück.
Darstellung
Parameter
L9_NCBT: NC-Bit
86
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die NC-Bitprozedur L9_NCBT (Normally Closed - Öffner) erkennt den Logikstatus
eines spezifischen Bits innerhalb eines Worts im %MW-Speicher. Das Bit steht für
einen NC-Kontakt (Öffner).
REG ist das Wort, das das zu prüfende Bit enthält. Der Wert BITLOC identifiziert das
zu prüfende Bit - 1 bis 16. Der Ausgang OUT wechselt zu ON, wenn der Eingang
ENABLE eingeschaltet ist (ON) und das angegebene Bit auf OFF steht.
Darstellung
Parameter
L9_NOBT: NO-Bit
87
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die NO-Bitprozedur L9_NOBT (Normally Open - Schließer) erkennt den Logikstatus
eines spezifischen Bits innerhalb eines Worts im %MW-Speicher. Das Bit steht für
einen NO-Kontakt (Schließer).
REG ist das Wort, das das zu prüfende Bit enthält. Der Wert BITLOC identifiziert das
zu prüfende Bit - 1 bis 16. Der Ausgang OUT wechselt zu ON, wenn der Eingang
ENABLE und das angegebene Bit eingeschaltet werden (ON).
Darstellung
Parameter
L9_OR: Logisch-ODER
88
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_OR führt eine boolesche ODER-Operation für das Bitmuster einer
Quell- und einer Zielmatrix durch und schreibt das sich aus der ODER-Operation
ergebende Bitmuster in die Zielmatrix, wobei der vorhergehende Inhalt
überschrieben wird.
HINWEIS: Die Prozedur L9_OR schreibt nicht in einen BOOL-Wert bzw. ändert den
Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity Pro
forciert wurde.
Sowohl die Quell- als auch die Zielmatrix besteht aus 16-Bit-Folgen von Ausgängen
in %M- oder %MW-Speicherwörtern, je nach Prozedur. Der Wert LENGTH legt die
Anzahl der bei der booleschen ODER-Operation berücksichtigten 16-Bit-Folgen
fest. Die Position der Quellmatrix wird durch den Parameter SOURCE, die Position
der Zielmatrix durch den Parameter DEST angegeben.
Die boolesche ODER-Operation beginnt, wenn der Eingang zum ENABLE-Pin
eingeschaltet wird (ON). Jedes Bit in der Quellmatrix wird mit dem entsprechenden
Bit in der Zielmatrix verglichen. Wenn Quell- und Zielbit beide den Wert 0 aufweisen,
wird eine 0 in das Zielbit geschrieben. Wenn entweder das Quell- oder das Zielbit
den Wert 1 besitzt, wird eine 1 in das Zielbit geschrieben. L9_OR kann einen
einzigen Ausgang aktivieren. Der Ausgang OUT wird bei erfolgreichem Abschluss
der Operation eingeschaltet (ON).
HINWEIS: Wenn Sie das Original-Bitmuster der Zielmatrix behalten möchten,
kopieren Sie die Informationen mithilfe des Bausteins L9_BLKM in eine andere
Tabelle, bevor Sie die Operation L9_OR durchführen.
Darstellung
Parameter
89
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Bit-Reset-Prozedur L9_RBIT ermöglicht Ihnen das Zurücksetzen eines
eingeschalteten Bits (ON) in einem Wort im %MW-Speicher. Die Prozedur L9_RBIT
setzt ein über die Prozedur L9_SBIT gesetztes Bit zurück.
IN_REG ist das Wort, das das auf OFF zu setzende Bit enthält. Der Wert BITLOC
identifiziert das auf OFF zu setzende Bit - 1 bis 16.
Wenn der Pin ENABLE eingeschaltet wird (ON), wird das gesteuerte Bit auf 0
gesetzt. Wenn der Pin ENABLE ausgeschaltet wird (OFF), bleibt das gesteuerte Bit
auf OFF. Der Ausgang OUT meldet den Status des Pins ENABLE zurück.
Darstellung
Parameter
90
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_SBIT zum Setzen von Bits ermöglicht Ihnen das Setzen eines
spezifischen Bits in einem Wort im %MW-Speicher auf 1 (ON).
IN_REG ist das Wort, das das auf 1 zu setzende Bit enthält. Der Wert BITLOC
identifiziert das auf 1 zu setzende Bit - 1 bis 16.
Wenn der Pin ENABLE eingeschaltet wird (ON), nimmt das gesteuerte Bit den Status
1 an. Wird der Pin ENABLE ausgeschaltet (OFF), dann behält das gesteuerte Bit den
Wert 1. Der Ausgang OUT gibt den Status des Pins ENABLE zurück.
Darstellung
Parameter
L9_SENS: Abfrage
91
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_SENS fragt den Status - ON oder OFF - eines booleschen
Einzelbits innerhalb einer Datenmatrix ab und gibt ihn zurück.
Die Datenmatrix besteht aus einer oder mehreren 16-Bit-Folgen in %M- oder %MW-
Speicherwörtern, je nach Prozedur. Der Wert LENGTH legt die Anzahl der bei der
Operation berücksichtigten 16-Bit-Folgen fest. Der Wert des Pins SOURCE
identifiziert in Verbindung mit dem Wert des Pins BITLOC das zu prüfende
boolesche Bit.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn das Bit INCPTR auf ON steht - und der Pin BITLOC mit einer Variablen
verknüpft ist -, wird der Wert BITLOC bei Abschluss des aktuellen Abfragezyklus um
1 inkrementiert. Wenn der Pin RESET eingeschaltet wird (ON), wird der Wert
BITLOC auf 1 zurückgesetzt.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang BITSENS meldet den Status des abgefragten booleschen Bits:
1 = ON, 0 = OFF. Der Ausgang ERR wechselt zu ON, wenn der Wert BITLOC die
durch den Wert LENGTH definierte Größe der Datenmatrix überschreitet.
Darstellung
Parameter
L9_XOR: Exklusiv-ODER
92
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_XOR führt eine boolesche Exklusiv-ODER-Operation für das
Bitmuster einer Quell- und einer Zielmatrix durch und schreibt das sich aus der
XOR-Operation ergebende Bitmuster in die Zielmatrix, wobei der vorhergehende
Inhalt überschrieben wird.
HINWEIS: Die Prozedur L9_XOR schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Sowohl die Quell- als auch die Zielmatrix besteht aus 16-Bit-Folgen von Ausgängen
in %M- oder %MW-Speicherwörtern, je nach Prozedur. Der Wert LENGTH legt die
Anzahl der bei der booleschen Exklusiv-ODER-Operation berücksichtigten 16-Bit-
Folgen fest. Die Position der Quellmatrix wird durch den Parameter SOURCE, die
Position der Zielmatrix durch den Parameter DEST angegeben.
Die boolesche Exklusiv-ODER-Operation beginnt, wenn der Eingang zum ENABLE-
Pin eingeschaltet wird (ON). Jedes Bit in der Quellmatrix wird mit dem
entsprechenden Bit in der Zielmatrix verglichen. Wenn die Quell- und Zielbits einen
unterschiedlichen Wert aufweisen, wird in das Zielbit der Wert 1 geschrieben. Wenn
die Quell- und Zielbits denselben Wert aufweisen, wird in das Zielbit der Wert 0
geschrieben. L9_XOR kann einen einzigen Ausgang aktivieren. Der Ausgang OUT
wird bei erfolgreichem Abschluss der Operation eingeschaltet (ON).
HINWEIS: Wenn Sie das Original-Bitmuster der Zielmatrix behalten möchten,
kopieren Sie die Informationen mithilfe des Bausteins L9_BLKM in eine andere
Tabelle, bevor Sie die Operation L9_XOR durchführen.
Darstellung
Parameter
MISC (Verschiedenes)
VIII
Übersicht
In diesem Abschnitt werden die Prozeduren der MISC-Familie (Verschiedenes)
beschrieben.
L9_DISA: Überwachung
deaktivierter Spulen und
Eingänge 93
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Überwachung deaktivierter E/A-Merkerbits (L9_DISA) überwacht im
Signalspeicher befindliche Deaktiviert-Zustände von Spulen (%Mx) und Eingängen
(%Ix).
Mithilfe einer L9_DISA-Funktion kann ein Kontaktplan (LD) einer Quantum- oder
M340-SPS Deaktiviert-Zustände auffinden und verkünden, sobald diese auftreten.
Die Funktion protokolliert die Menge und die Adressen der deaktivierten Spulen und
Eingänge in einfachen Tabellen.
Diese Informationen können mithilfe von HMI-Systemen und anderen Host-Geräten
für Bediener verfügbar gemacht werden.
Bei der Deaktivierung von Eingängen und Spulen ist sicherzustellen, dass das vom
Benutzer eingeleitete Override dokumentiert wird, damit der normale
Betriebsmodus des Steuerungssystems wiederhergestellt werden. Die L9_DISA-
Funktion hilft, vom Benutzer eingeleitete Overrides rückgängig zu machen, indem
es Programmierer und Wartungspersonal benachrichtigt, dass in der Logik
deaktivierte Eingänge und Spulen vorhanden sind.
WARNUNG
UNBEABSICHTIGTER BETRIEB VON GERÄTEN
Verwenden Sie ausschließlich Signalspeicher-Adressierung (statt topologischer
Adressierung), wenn Sie forcierte Bits mittels L9_DISA erkennen möchten.
L9_DISA erkennt keine forcierten Spulen und Eingänge (%Ix, %Qx), wenn die
Forcierung mittels topologischer Adressierung erfolgt ist (z. B. %I0.4.1).
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverlet-
zungen oder Sachschäden zur Folge haben.
HINWEIS: Beachten Sie, dass das Systemwort 108 (%SW108) die gesamte Anzahl
forcierter Bits enthält (%I, %Q, %M), selbst bei Verwendung von topologischer
Adressierung.
Darstellung
Parameter
Beispiel
Die Überwachung deaktivierter E/A-Merkerbits (L9_DISA) kann die Adressen von
bis zu 99 Spulen und 99 Digitaleingängen erkennen und speichern.
Die Anzahl der Spulen und Eingänge wird in DCOIL und DINPT gezählt, für den Fall,
dass die Anzahl Deaktivierungen die zur Speicherung von Deaktivierungen
reservierte Tabellenlänge übersteigt.
Eine Tabellenlänge von 10 verwendet eigentlich 20 Haltewörter: 2 zum Speichern
der Mengen und jeweils 9 zum Speichern der Adressen von deaktivierten Spulen
und Eingängen.
Das Suchprogramm der Programmierungssoftware findet nur den programmierten
oberen Knoten und mittleren Knoten sowie deren Datentabelle gemäß Definition im
unteren Knoten.
HINWEIS: Die Menge deaktivierter Digitaleingänge wird als 12 angegeben; die zur
Speicherung zugeteilte Länge beträgt jedoch lediglich 9. Daraus lässt sich
schließen, dass 4 weitere deaktivierte Eingänge existieren, für die nicht genügend
%MW-Speicherplatz zugeteilt wurde. Da die Eingänge in aufsteigender numerischer
Reihenfolge aufgelistet sind, muss es sich bei den nicht aufgeführten Eingängen um
Adressen größer als Eingangsnummer %I901 (zuletzt aufgeführte) handeln.
L9_JSR: Sprung zu
Unterprogramm (2 Knoten)
94
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Wenn bei der Logikabfrage ein aktivierter Funktionsbaustein JSR angetroffen wird,
wird die normale Logikabfrage angehalten und es erfolgt ein Sprung zum
angegebenen Quell-Unterprogramm im Unterprogramm-Segment von Ladder
Logic.
Sie können einen Funktionsbaustein JSR an jeder beliebigen Stelle in der
Benutzerlogik einsetzen, selbst innerhalb des Unterprogramm-Segments. Der
Prozess des Aufrufs eines Unterprogramms aus einem anderen Unterprogramm
wird als Verschachtelung bezeichnet. Das System unterstützt die Verschachtelung
von bis zu 100 Unterprogrammen. Es wird jedoch empfohlen, nicht mehr als 3
Verschachtelungsebenen zu verwenden. Sie können ebenfalls die Rekursivform der
Verschachtelung, die so genannte Rückkopplung, verwenden. Dabei wird bei einem
JSR-Aufruf innerhalb des Unterprogramms erneut ein Unterprogramm aufgerufen.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_LAB ermöglicht die Beschriftung des Anfangspunkts
eines Unterprogramms im Unterprogramm-Segment der Benutzerlogik. Dieser
Funktionsbaustein muss in Zeile 1, Spalte 1 eines Netzwerks im Unterprogramm-
Segment der Benutzerlogik programmiert werden. L9_LAB ist ein Funktions-
baustein mit einem Knoten.
L9_LAB fungiert darüber hinaus als Standardrückkehr vom Unterprogramm in den
vorhergehenden Netzwerken.
Wenn Sie eine Reihe von Unterprogramm-Netzwerken ausführen und ein Netzwerk
antreffen, das mit L9_LAB beginnt, weiß das System sofort, dass das
vorhergehende Unterprogramm beendet ist. Die Logikabfrage kehrt dann zu dem
Knoten zurück, der direkt auf den zuletzt ausgeführten Baustein L9_JSR folgt.
HINWEIS: Wenn die E/A auch innerhalb eines Interrupt-Unterprogramms
verarbeitet werden müssen, müssen Sie den Funktionsbaustein L9_IMIO
(Lesen/Schreiben) im selben Unterprogramm verwenden. Andernfalls werden die
im betreffenden Unterprogramm referenzierten E/A nicht verarbeitet, bis das
zutreffende Segment aufgelöst ist.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9_RET kann für eine bedingte Rückkehr der Logikabfrage
zu dem direkt auf den zuletzt ausgeführten Baustein L9_JSR folgenden Knoten
verwendet werden. Dieser Funktionsbaustein kann nur innerhalb des
Unterprogramm-Segments implementiert werden.
HINWEIS: Wenn ein Unterprogramm keinen Baustein L9_RET enthält, fungiert
entweder der Baustein L9_LAB oder das Unterprogrammende-Segment (das erste
Element von beiden) als Standard-Rückkehr vom Unterprogramm.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
L9_SKP ist ein Standard-Funktionsbaustein. Er sollte mit Bedacht eingesetzt
werden.
Der Funktionsbaustein L9_SKP ermöglicht eine Reduzierung der Abfragedauer
durch die Nicht-Auflösung eines Teils der Logik. Der Funktionsbaustein L9_SKP
bewirkt das Überspringen der angegebenen Netzwerke im Programm bei der
Logikabfrage.
Die SKP-Funktion kann zur Umgehung nur selten verwendeter Programmfolgen
herangezogen werden.
Der Funktionsbaustein L9_SKP ermöglicht Ihnen das Überspringen einer
vorgegebenen Anzahl an Netzwerken in einem LL984-Programm. Wenn der
Baustein aktiviert wird, erfolgt eine L9_SKP-Operation pro Zyklus. Der Rest des
Netzwerks, in dem der Funktionsbaustein auftritt, zählt als das erste der zu
überspringenden Netzwerke. Die CPU überspringt so lange Netzwerke, bis die
Gesamtanzahl der übersprungenen Netzwerke der im Funktionsbaustein
angegebenen Anzahl entspricht oder bis eine Segmentgrenze erreicht wird. Eine
L9_SKP-Operation kann keine Segment-Grenze überschreiten.
Ein Funktionsbaustein L9_SKP kann nur dann aktiviert werden, wenn Sie über
Projekteinstellungen →Programm →Sprachen →LL984 →SKP verfügbar
angeben, dass Überspringaktionen zulässig sind.
Wenn Ein- und Ausgänge, die normalerweise steuernd eingreifen, unbeabsichtigt
übersprungen (oder nicht übersprungen) werden, kann daraus eine gefährliche
Situation für Personal und Anlage entstehen.
WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
z Nur Personen, die mit der Maschine, der Anwendung und der Beziehung
zwischen Logikprogramm und Anwendung im Detail vertraut sind, können eine
Verwendung des Funktionsbausteins L9_SKP in einem Ladder Logic-
Programm in Betracht ziehen.
z Analysieren Sie den zu überspringenden (bzw. nicht übersprungenen)
Logikbereich mit Sorgfalt, um die Interaktion zwischen den betroffenen Ein- und
Ausgänge und der Anwendung vollständig zu verstehen.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverlet-
zungen oder Sachschäden zur Folge haben.
Darstellung
Parameter
Unterprogrammverarbeitung
98
Unterprogrammverarbeitung
JSR/LAB-Methode
Das unten stehende Beispiel zeigt eine Reihe von drei benutzerdefinierten
Logiknetzwerken, wobei das letzte Netzwerk für ein aufwärtszählendes
Unterprogramm verwendet wird.
Wenn der Eingang 100001 zum Baustein L9_JSR in Netzwerk 2 von Segment 1 von
OFF zu ON übergeht, springt die Logikabfrage zum Unterprogramm Nr. 1 in
Netzwerk 1 des Unterprogramm-Segments.
Das Unterprogramm führt intern eine zehnfache Schleife aus, die vom Baustein
L9_ADD gezählt wird. Die ersten neun Schleifen enden mit dem Baustein L9_JSR
im Unterprogramm (Netzwerk 1 des Unterprogramm-Segments) und senden die
Abfrage an den Baustein L9_LAB zurück. Bei Abschluss der zehnten Schleife
sendet der Baustein L9_RET die Logikabfrage zurück zur programmierten Logik am
L9_JSR-Knoten in Netzwerk 2 von Segment 1.
MOVE
IX
Übersicht
In diesem Abschnitt werden die Prozeduren der MOVE-Familie beschrieben.
L9_BLKM: Blockverschiebung
99
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_BLKM zur Blockverschiebung kopiert den gesamten Inhalt einer
Quelltabelle in eine Zieltabelle in einem Abfragezyklus.
HINWEIS: Die Prozedur L9_BLKM schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Sowohl die Quell- als auch die Zielmatrix umfasst 16-Bit-Folgen von Ausgängen im
%M- oder %MW-Speicher, je nach Prozedur. Der Wert LENGTH legt die Anzahl der
bei der Blockverschiebung berücksichtigten 16-Bit-Folgen fest. Der Parameter
SOURCE definiert den Speicherpfad der Quelltabelle. Der Parameter DEST definiert
den Speicherpfad der Zieltabelle.
Die Blockverschiebung beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet
wird (ON). L9_BLKM kann einen einzigen Ausgang aktivieren. Der Ausgang OUT
wird bei erfolgreichem Abschluss der Operation eingeschaltet (ON).
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_BLKT zur Verschiebung Block in Tabelle kombiniert die Funktion
einer Blockverschiebungsprozedur mit einer Register-Tabelle-Verschiebungs-
prozedur. In einem einzelnen Abfragezyklus kann die Prozedur Daten aus einem
Quellblock in einen Zielblock in einer Tabelle kopieren. Die Länge des Quellblocks
ist unveränderlich.
Quellblock und Zieltabelle bestehen aus UINT-Wort-Arrays in einem %MW- oder
nicht lokalisierten Speicher. Der Wert LENGTH gibt die Anzahl der Wörter im
Quellblock an. Der Parameter SOURCE definiert die Position des ersten Worts im
Quellwörterblock.
Der Parameter DEST definiert die Position des Zeigerworts. Das Zeigerwort enthält
eine Ganzzahl, die bei einer Multiplikation mit dem Wert LENGTH auf das erste Wort
im Wörterblock zeigt, der von der Prozedur L9_BLKT überschrieben wird. Der
Initialwert des Zeigerworts ist 0. Dieser Wert verweist auf das direkt neben dem
Zeigerwort stehende Wort. Jeder Zielblock enthält die selbe Anzahl an Wörtern wie
der Quellblock gemäß der Definition durch den Wert LENGTH.
HINWEIS:
Die Zieltabelle ist in eine Reihe von Blöcken untergliedert, von denen jeder dieselbe
Länge wie der Quellblock aufweist.
z Wenn die Zieltabelle sich in einem %MW-Speicher befindet, muss die Größe der
Zieltabelle nicht parametriert werden. Sie wird nur durch die Anzahl der Speicher-
wörter (%MW) in Ihrer Systemkonfiguration begrenzt.
z Wenn sich die Zieltabelle in einem nicht lokalisierten Speicher befindet, muss die
Tabellenlänge über die Array-Größe von DEST definiert werden. Die Array-Größe
von DEST muss ein Vielfaches von LENGTH + ein Wort für den Tabellenzeiger
sein.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn die Eingänge HOLD und RESET während der Operation ausgeschaltet bleiben
(OFF), wird das Zeigerwort bei jedem Zyklus um den Wert 1 inkrementiert. Dadurch
wechselt die Operation zum nächsten, direkt nebenstehenden Wörterblock in der
Zieltabelle.
Die Operation wird kontinuierlich weiter durchgeführt, d. h. die Werte der Quellblock-
wörter werden kontinuierlich in eine Reihe direkt aufeinanderfolgender Zielblöcke
geschrieben, bis die Operation das Ende der Tabelle erreicht. Wenn der Eingang
HOLD eingeschaltet wird (ON), stoppt die Inkrementierung des Zeigerworts und die
Operation überschreibt kontinuierlich denselben Zielwörterblock. Wenn der Eingang
RESET eingeschaltet wird (ON), wird das Zeigerwort auf 0 zurückgesetzt und die
Operation wechselt zum ersten Wörterblock in der Zieltabelle.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang ERR gibt an, dass die versuchte Verschiebeoperation nicht
durchgeführt werden kann.
L9_BLKT ist ein leistungsstarker Funktionsbaustein, der die aus einem Quellblock
kopierten Daten in alle %MW-Speicherwörter einer Steuerung schreiben kann.
WARNUNG
BESCHÄDIGTE DATEN
Verwenden Sie eine externe Logik in Verbindung mit dem mittleren oder unteren
Eingang, um den Wert im Zeiger auf eine Reihe von Speicherwörtern zu
begrenzen, die in Ihrer Anwendung als sicher identifiziert wurden.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverlet-
zungen oder Sachschäden zur Folge haben.
Darstellung
Parameter
Beispiel
Nachstehend ein Beispiel für die Verwendung von L9_BLKT.
Der Quellblock ist 5 Wörter lang (%MW10...%MW14).
Die Zieltabelle beginnt mit %MW21 und ist in eine Folge von Blöcken mit jeweils 5
Wörtern untergliedert (%MW21...%MW25, %MW26...%MW30 usw.).
Die unten stehende Abbildung zeigt, was beim zweiten Übergang am Kontakt zur
Erkennung positiver Übergänge (P.T.) %I1 passiert.
Der Wert im Zeiger (%MW20) wird auf 1 inkrementiert und die in den Quellblock-
wörtern enthaltenen Daten werden in den zweiten Block in der Zieltabelle kopiert
(%MW26...%MW30).
Spule %M1 wechselt zu ON, sobald die Verschiebung L9_BLKT abgeschlossen ist.
Namenskonventionen
Funktionsbeschreibung
Der EFB L9_BMDI maskiert die Interrupts, löst eine Blockverschiebung aus
(L9_BLKM) und hebt die Maskierung der Interrupts im Anschluss daran wieder auf.
Darstellung
Parameter
L9_FIN: First In
102
Beschreibung
Namenskonventionen
Funktionsbeschreibung
HINWEIS:
Die Prozedur L9_FIN erzeugt eine Warteschlange nach dem First-In-Prinzip. Sie
kopiert Quelldaten aus einer booleschen 16-Bit-Folge, die sich in einem %M- oder
%MW-Speicherwort befindet (je nach Prozedur), in das erste - oberste - Wort in
einer Wort-Warteschlange in einem %MW-Speicherwort. Sobald alle Wörter in der
Warteschlange gefüllt wurden, können keine weiteren Quelldaten in die
Warteschlange kopiert werden.
HINWEIS: Wenn die Warteschlange gefüllt ist, verwenden Sie die Prozedur
L9_FOUT, um das letzte - unterste - Wort in der Warteschlange zu löschen.
Der Wert LENGTH gibt die Anzahl der Wörter in der Zielwarteschlange an. Der
Parameter SOURCE definiert die Position des ersten Bits in der booleschen 16-Bit-
Quellfolge. Der Parameter QUEUE definiert die Position des Warteschlangenzeigers.
Der Warteschlangenzeiger enthält die Anzahl der in der Warteschlange gefüllten
Wörter. Das Wort direkt hinter dem Zeigerwort ist das erste - oberste - Wort in der
Warteschlange.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird. Der
Initialwert des Warteschlangenzeigers ist 0. Dieser Wert wird bei jeder Kopie der
Quelldaten in die Warteschlange um 1 inkrementiert. Die Quelldaten werden stets
in das Speicherwort an oberster Stelle in der Warteschlange kopiert. Wenn das
oberste Wort zuvor kopierte Quelldaten enthält, werden diese Daten in das nächste
Speicherwort in der Warteschlange übertragen. Dieser Vorgang wird für jedes
Speicherwort in der Warteschlange durchgeführt. Sobald der Wert des
Warteschlangenzeigers dem Wert LENGTH entspricht, ist die Warteschlange gefüllt
und es können keine weiteren Quelldaten in der Warteschlange hinzugefügt
werden.
L9_FIN kann 3 Ausgänge aktivieren. Der Ausgang OUT wird bei erfolgreichem
Abschluss der Operation eingeschaltet (ON). Der Ausgang FULL wechselt zu ON,
wenn die Warteschlange voll ist. Der Ausgang EMPTY nimmt den Zustand ON an,
wenn die Warteschlange leer ist.
Darstellung
Parameter
103
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_FOUT funktioniert nach dem First-Out-Prinzip in Verbindung mit
einer First-In-Prozedur (L9_FIN), um eine Warteschlange nach dem FIFO-Prinzip
(First In First Out) zu erzeugen. Sie verschiebt das Bitmuster des Speicherworts am
unteren Rand einer vollen Warteschlange in eine boolesche 16-Bit-Zielfolge.
HINWEIS: Stellen Sie sicher, dass die Prozedur L9_FOUT vor einer First-In-
Prozedur in Ihrer FIFO-Sequenz platziert wird. Dadurch wird gewährleistet, dass die
jeweils ältesten Daten in einer vollen Warteschlange entfernt werden, bevor die
neuesten Daten hinzugefügt werden. Wenn Sie die First-In-Prozedur stattdessen
vor der Prozedur L9_FOUT platzieren, wird der Versuch, neue Daten in einer vollen
Warteschlange hinzuzufügen, ignoriert.
Der Wert LENGTH gibt die Anzahl der Wörter in der Quellwarteschlange an. Der
Parameter QUEUE definiert die %MW-Speicherposition des Warteschlangenzeigers.
Der Warteschlangenzeiger enthält die Anzahl der in der Warteschlange gefüllten
Wörter. Das Wort direkt hinter dem Zeigerwort ist das erste - oberste - Wort in der
Warteschlange. Das Quellwort für die Prozedur L9_FOUT ist das letzte - unterste -
Wort in der gefüllten Warteschlange. Der Parameter DEST definiert die %M- oder
%MW-Speicherposition, je nach Prozedur, des ersten booleschen Werts in der
booleschen 16-Bit-Zielfolge.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird. Der
Initialwert des Warteschlangenzeigers muss dem Wert LENGTH entsprechen, um
darauf zu verweisen, dass die Warteschlange gefüllt ist. Die Quelldaten werden
stets aus dem Speicherwort an unterster Stelle in der Warteschlange verschoben.
Der Zeiger wird bei erfolgreichem Abschluss der L9_FOUT-Operation um 1
dekrementiert.
L9_FOUT kann 3 Ausgänge aktivieren. Der Ausgang OUT wird bei erfolgreichem
Abschluss der Operation eingeschaltet (ON). Der Ausgang FULL wechselt zu ON,
wenn die Warteschlange voll ist. Der Ausgang EMPTY nimmt den Zustand ON an,
wenn die Warteschlange leer ist.
HINWEIS: Die Prozedur L9_FOUT schreibt nicht in einen BOOL-Wert bzw. ändert
den Status eines BOOL-Werts nicht, wenn dieser in der Animationstabelle von Unity
Pro forciert wurde.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_IBKR (Indirektes Lesen von Blöcken) ermöglicht Ihnen den Zugriff
auf nicht zusammenhängende, in Ihrer Anwendung verstreute Parameter und die
Kopie des Parameterinhalts in einen Zielblock mit direkt aufeinander folgenden
Adressen. Dieser Funktionsbaustein kann mit Unterprogrammen oder zur Rationali-
sierung des Datenzugriffs durch Hostcomputer oder andere SPS verwendet
werden.
L9_IBKR verfügt über einen Steuereingang (ENABLE), der die Operation auslöst.
L9_IBKR steuert 2 mögliche Ausgänge. OUT meldet den Status des oberen
Eingangs zurück. Der Eingang ERR wird aktiviert, wenn ein Ereignis in der
Quelltabelle auftritt - beispielsweise, wenn der Quellparameter nicht existiert.
Darstellung
Parameter
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_IBKW (Indirektes Schreiben von Blöcken) ermöglicht Ihnen die
Kopie der Daten in einer Tabelle mit direkt aufeinanderfolgenden Adressen in
mehrere nicht zusammenhängende Adressen in Ihrer Anwendung.
L9_IBKW verfügt über einen Steuereingang (ENABLE), der die Operation auslöst.
L9_IBKW steuert 2 mögliche Ausgänge. OUT meldet den Status von ENABLE
zurück. Der Eingang ERR wird aktiviert, wenn in der Zieltabelle ein Ereignis auftritt.
Darstellung
Parameter
L9_SRCH: Suche
106
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_SRCH durchsucht die Parameter in einer Quelltabelle nach einem
spezifischen Bitmuster. Die Prozedur durchsucht die gesamte Quelltabelle in einem
Abfragezyklus, bis eine Übereinstimmung gefunden wird oder das Ende der Tabelle
erreicht ist.
L9_SRCH verfügt über 2 Steuereingänge. ENABLE initiiert den Suchvorgang. Der
Status von CONT verweist auf die Position, an der der Suchvorgang starten wird.
L9_SRCH kann bis zu 2 Ausgänge steuern. Der Status von OUT meldet den Status
von ENABLE zurück. Die Aktivierung von FOUND bedeutet, dass das gesuchte
Bitmuster in der Quelltabelle gefunden wurde.
Darstellung
Parameter
107
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_TBLK zur Verschiebung Tabelle in Block kombiniert die Funktion
einer Tabelle-Register-Verschiebungsprozedur mit einer Blockverschiebungs-
prozedur. In einem Abfragezyklus kann die Prozedur einen Block mit bis zu 100
aufeinander folgenden Wörtern aus einer Quelltabelle in einen Zielwortblock
kopieren. Die Länge des Zielwortblocks ist unveränderlich. Jeder aus der
Quelltabelle kopierte Wortblock weist dieselbe Länge im Zielblock auf.
Der Wert LENGTH gibt die Anzahl der Wörter im Zielblock an. Der Parameter
SOURCE definiert die Position des ersten Worts in der Quelltabelle.
Der Parameter DEST definiert die Position des Zeigers. Der Zeiger enthält einen
Ganzzahlwert, der nach einer Multiplikation mit dem Wert LENGTH auf das erste
Wort des Blocks in der Quelltabelle verweist, das im aktuellen Abfragezyklus kopiert
und in den Zielblock geschrieben werden soll. Der Initialwert des Zeigers ist 0 und
verweist auf das erste Wort in der Quelltabelle. Das Wort direkt hinter dem Zeiger
ist das erste Wort im Zielblock.
HINWEIS:
Die Quelltabelle ist in eine Reihe von Blöcken untergliedert, von denen jeder
dieselbe Länge wie der Zielblock aufweist.
z Wenn die Quelltabelle sich im %MW-Speicher befindet, braucht die Größe der
Quelltabelle nicht parametriert zu werden. Sie wird nur durch die Anzahl der
Speicherwörter (%MW) in Ihrer Systemkonfiguration begrenzt.
z Wenn sich die Quelltabelle im nicht lokalisierten Speicher befindet, muss die
Tabellenlänge über die Array-Größe von DEST definiert werden. Die Array-Größe
von SOURCE muss ein Vielfaches von LENGTH sein.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn die Eingänge HOLD und RESET während der Operation ausgeschaltet bleiben
(OFF), wird das Zeigerwort bei jedem Zyklus um den Wert 1 inkrementiert. Dadurch
wechselt die Operation zum nächsten, direkt folgenden Wörterblock in der
Quelltabelle.
Die Operation kopiert weiterhin Daten aus einer Reihe von Wortblocken in der
Quelltabelle in die Zielblöcke, bis das Ende der Tabelle erreicht ist oder eines der
folgenden Ereignisse auftritt. Wenn der Eingang HOLD eingeschaltet wird (ON),
stoppt die Inkrementierung des Zeigers und die Operation kopiert kontinuierlich aus
demselben Wortblock in der Quelltabelle. Wenn der Eingang RESET eingeschaltet
wird (ON), wird der Zeiger auf 0 zurückgesetzt und die Operation kopiert aus dem
ersten Wortblock in der Zieltabelle.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang ERR gibt an, dass die versuchte Verschiebeoperation nicht
durchgeführt werden kann.
Darstellung
Parameter
Beispiel
Nachstehend ein Beispiel für die Verwendung von L9_TBLK.
Der Zielblock ist 5 Wörter lang (%MW11 bis %MW15).
Die Quelltabelle beginnt mit %MW20 und ist in eine Folge von Quellblöcken mit
jeweils 5 Wörtern untergliedert (%(%MW20...%MW24, %MW25...%MW29 usw.).
Die unten stehende Abbildung zeigt, was beim zweiten Übergang am Kontakt zur
Erkennung positiver Übergänge (P.T.) %I1 passiert.
Der Wert im Zeiger (%MW10) wird auf 1 inkrementiert und die im zweiten Quellblock
(%MW25...%MW29) enthaltenen Daten werden in den 5-Wort-Zielblock
(%MW11...%MW15) kopiert.
Spule %M1 wechselt zu ON, sobald die Verschiebung L9__TBLK abgeschlossen
ist.
108
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_R2T kopiert das Bitmuster einer booleschen 16-Bit-Folge in einem
%M- oder %MW-Speicherwort, je nach Prozedur, in ein Wort in einer Tabelle im
%MW-Speicher. Dabei kann der Inhalt eines Worts pro Zyklus überschrieben
werden, bis jedes Wort in der Zieltabelle überschrieben wurde.
Der Wert LENGTH gibt die Anzahl der Wörter in der Zieltabelle an. Der Parameter
SOURCE definiert die Position des ersten Bits in der booleschen 16-Bit-Quellfolge.
Der Parameter DEST definiert die Position des Zeigers der Zieltabelle. Der
Zeigerwert gibt die Anzahl an Wörtern in der Zieltabelle an, die durch die Operation
überschrieben wurden, und verweist auf das nächste Wort, das durch die Operation
überschrieben wird. Das Wort direkt hinter dem Zeiger ist das erste Wort in der
Zieltabelle.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn die Eingänge HOLD und RESET während der Operation ausgeschaltet bleiben
(OFF), wird der Zeiger bei jedem Zyklus um den Wert 1 inkrementiert. Dadurch
wechselt die Operation zum nächsten, direkt folgenden Wort in der Zieltabelle.
Die Operation kopiert weiterhin die Quelldaten in das jeweils nächste, direkt
nebenstehende Wort, bis das Ende der Tabelle erreicht ist oder eines der folgenden
Ereignisse auftritt. Wenn der Eingang HOLD eingeschaltet wird (ON), stoppt die
Inkrementierung des Zeigers und die Operation überschreibt kontinuierlich dasselbe
Zielwort. Wenn der Eingang RESET eingeschaltet wird (ON), wird der zeiger auf 0
zurückgesetzt und die Operation wechselt zum ersten Wort in der Zieltabelle.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang END wechselt zu ON, wenn der Zeigerwert dem Wert LENGTH
entspricht und damit darauf verweist, dass das Ende der Tabelle erreicht wurde und
keine weiteren Quelldaten in die Tabelle geschrieben werden können.
Darstellung
Parameter
109
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_T2R kopiert das Bitmuster einer booleschen 16-Bit-Folge in einer
Tabelle in einem %M- oder %MW-Speicherwort, je nach Prozedur, in ein Zielwort im
%MW-Speicher. Dabei kann pro Zyklus das Bitmuster einer booleschen 16-Bit-
Folge geschrieben werden, bis das Bitmuster jeder booleschen 16-Bit-Folge in der
Quelltabelle in das Zielwort geschrieben wurde.
Der Wert LENGTH gibt die Anzahl der booleschen 16-Bit-Folgen in der Quelltabelle
an. Der Parameter SOURCE definiert die Position des ersten Bits in der booleschen
16-Bit-Quellfolge, d. h. den Tabellenzeiger. Der Zeigerwert gibt die Anzahl an
booleschen 16-Bit-Folgen in der Quelltabelle an, die bei der Operation kopiert und
in das Zielwort geschrieben wurden, und verweist auf die nächste boolesche 16-Bit-
Folge, die kopiert und geschrieben werden soll. Die direkt hinter dem Zeiger
stehende boolesche 16-Bit-Folge ist die erste boolesche 16-Bit-Folge in der
Quelltabelle. Der Parameter DEST definiert die Position des Zielworts.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn die Eingänge HOLD und RESET während der Operation ausgeschaltet bleiben
(OFF), wird der Zeiger bei jedem Zyklus um den Wert 1 inkrementiert. Dadurch
wechselt die Operation zur nächsten, direkt folgenden booleschen 16-Bit-Folge in
der Quelltabelle, um daraus zu schreiben.
Die Operation kopiert weiterhin die Quelldaten aus der jeweils nächsten, direkt
nebenstehenden booleschen 16-Bit-Folge in das Zielwort, bis das Ende der Tabelle
erreicht ist oder eines der folgenden Ereignisse auftritt. Wenn der Eingang HOLD
eingeschaltet wird (ON), stoppt die Inkrementierung des Zeigers und die Operation
schreibt kontinuierlich aus derselben booleschen 16-Bit-Folge. Wenn der Eingang
RESET eingeschaltet wird (ON), wird der Zeiger auf 0 zurückgesetzt und die
Operation wechselt zur ersten booleschen 16-Bit-Folge in der Quelltabelle, um
daraus zu schreiben.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang END wechselt zu ON, wenn der Zeigerwert dem Wert LENGTH
entspricht und damit darauf verweist, dass das Ende der Tabelle erreicht wurde und
keine weiteren Quelldaten aus der Tabelle geschrieben werden können.
Darstellung
Parameter
110
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Prozedur L9_T2T kopiert das Bitmuster einer booleschen 16-Bit-Folge aus
einer Tabelle in einem %M- oder %MW-Speicherwort, je nach Prozedur, in ein Wort
an derselben Position in der Zieltabelle im %MW-Speicher. Dabei kann pro Zyklus
das Bitmuster einer booleschen 16-Bit-Folge geschrieben werden, bis das
Bitmuster jeder booleschen 16-Bit-Folge aus der Quelltabelle in ein Wort an
derselben relativen Position in der Zieltabelle geschrieben wurde.
Der Wert LENGTH verweist auf die Anzahl der booleschen 16-Bit-Folgen in der
Quelltabelle sowie auf die Anzahl der Wörter in der Zieltabelle. Der Parameter
SOURCE definiert die Position der ersten booleschen 16-Bit-Folge in der
Quelltabelle.
Der Parameter DEST definiert die Position des Zeigers der Zieltabelle. Dieses Wort
verweist sowohl auf die Quell- und Zieltabelle und gibt die Position an, von der und
an die die Daten im aktuellen Zyklus kopiert werden sollen. Das Wort direkt hinter
dem Zeiger ist das erste Wort in der Zieltabelle.
Die Operation beginnt, wenn der Eingang zum ENABLE-Pin eingeschaltet wird.
Wenn die Eingänge HOLD und RESET während der Operation ausgeschaltet bleiben
(OFF), wird der Zeiger bei jedem Zyklus um den Wert 1 inkrementiert. Dadurch
wechselt die Operation zur nächsten, direkt folgenden booleschen 16-Bit-Folge in
der Quelltabelle, die kopiert und in das nächste, direkt folgende Wort in der
Zieltabelle geschrieben wird.
Die Operation kopiert weiterhin die Daten aus der Quell- in die Zieltabelle, bis das
Ende beider Tabellen erreicht ist oder eines der folgenden Ereignisse auftritt. Wenn
der Eingang HOLD eingeschaltet wird (ON), stoppt die Inkrementierung des Zeigers
und die Operation schreibt kontinuierlich aus derselben booleschen 16-Bit-Folge in
der Quelltabelle in dasselbe Wort in der Zieltabelle. Wenn der Eingang RESET
eingeschaltet wird (ON), wird der Zeiger auf 0 zurückgesetzt und die Operation
wechselt zur ersten booleschen 16-Bit-Folge in der Quelltabelle und schreibt in das
erste Wort in der Zieltabelle.
Der Ausgang OUT wird bei erfolgreichem Abschluss der Operation eingeschaltet
(ON). Der Ausgang END wechselt zu ON, wenn der Zeigerwert dem Wert LENGTH
entspricht und damit darauf verweist, dass das Ende beider Tabellen erreicht wurde
und keine weiteren Quelldaten mehr in die Zieltabelle geschrieben werden können.
Darstellung
Parameter
Allgemeine Informationen
111
Übersicht
Dieses Kapitel enthält allgemeine Informationen über die PCFL-Familie (Bibliothek
der Regelungsfunktionen).
PCFL-Operationen
Funktionsbeschreibung
Die PCFL-Funktionsbausteine ermöglichen Ihnen den Zugriff auf eine Bibliothek mit
Prozesssteuerungsfunktionen unter Verwendung von Analogwerten.
Die PCFL-Operationen lassen sich in 3 Hauptkategorien untergliedern:
z Erweiterte Berechnungen
z Signalverarbeitung
z Regelsteuerung
Erweiterte Berechnungen
Erweiterte Berechnungen dienen allgemeinen mathematischen Zwecken und sind
nicht auf Prozesssteuerungeanwendungen beschränkt. Anhand erweiterter
Berechnungen können Sie bedarfsgerechte Algorithmen zur Signalverarbeitung
erstellen, Zustände des gesteuerten Prozesses ableiten, Statistikmessungen für
den Prozess vornehmen usw.
Einfache mathematische Programme stehen bereits mit den EMTH-Funktionsbau-
steinen zur Verfügung.
Signalverarbeitung
Funktionen zur Signalverarbeitung ermöglichen die Manipulation der Prozess- und
abgeleiteten Prozessignale. Diese Funktionen können auf unterschiedliche Weise
ausgeführt werden – zur Linearisierung, Filterung, Verzögerung oder anderweitigen
Änderung eines Signals. Diese Kategorie beinhaltet Funktionen, wie z. B.
Analogein-/-ausgang, Begrenzer, Lead/Lag und Rampengeneratoren.
Regelsteuerung
Regelfunktionen fungieren als Verhältnisregler and Summenzähler über 4 Stationen
für die Durchflussmessung.
Bitreihenfolge
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.
Ausgangsflags
In allen PCFL-Funktionen definieren die Bits 12 bis 16 des Ausgangsstatusworts
folgende Standard-Ausgangsflags:
Eingangsflags
In allen PCFL-Funktionen definieren die Bits 1 und 3 des Eingangsstatusworts
folgende Standard-Eingangsflags:
L9P_AIN: Analogeingang
112
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_AIN skaliert den Rohwerteingang analoger Eingangsmodule mit
physikalischen Werten, die in späteren Berechnungen verwendet werden können.
3 Skalierungsoptionen stehen zur Verfügung:
z Automatische Eingangsskalierung
z Manuelle Eingangsskalierung
z Implementierung der Prozessquadratwurzel am Eingang zur Linearisierung des
Signals vor der Skalierung
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Funktionsweise
L9P_AIN unterstützt die Bereichsauflösungen für folgende Gerätetypen:
Physikalische Bereiche – Quantum
Thermoelemente – Quantum
Voltmeter – Quantum
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Bit
4 5 6 7 8 Bereich
0 1 0 0 0 +/- 10 V
0 1 0 0 1 +/- 5 V
0 1 0 1 0 0 ... 10 V
0 1 0 1 1 0 ... 5 V
0 1 1 0 0 1 ... 5 V
Thermoelemente – Quantum
Bit
4 5 5 7 8 Bereich
0 1 1 0 1 TC Grad
0 1 1 1 0 TC 0,1 Grad
0 1 1 1 1 TC Roheinheiten
Voltmeter – Quantum
Bit
4 5 6 7 8 Bereich
1 0 0 0 0 +/- 10 V
1 0 0 1 0 +/- 5 V
1 0 1 0 0 0 ... 10 V
1 0 1 1 0 0 ... 5 V
1 1 0 0 0 1 ... 5 V
L9P_ALARM: Zentrale
Alarmverwaltung
113
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Die Funktion L9P_ALARM stellt Ihnen einen zentralen Baustein für die Alarmver-
waltung bereit, mit dem Sie über eine Regelgröße Grenzwerte einstellen können:
Obere (H), untere (L), höchste obere (HH) und niedrigste untere (LL) Grenzen.
L9P_ALARM ermöglicht Ihnen die Definition folgender Aspekte:
z Auswahl zwischen Normal- oder Indirektbetrieb
z Vorgabe der Verwendung von H/L- oder H/L- und HH/LL-Grenzwerten
z Vorgabe der Verwendung einer Totzone (TZ) um die Grenzen
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...16] OF UINT auf.
Funktionsweise
Folgende Betriebsarten sind möglich:
Betriebsart Bedeutung
Normalbetrieb L9P_ALARM funktioniert direkt auf der Basis des Eingangs. Der
Normalbetrieb ist der Standardzustand.
Indirektbetrieb L9P_ALARM funktioniert auf der Basis der Änderung zwischen
aktuellem und letztem Eingang.
Totzone Bei aktivierter Totzone, wird die Totzonen-Option in die
HH/H/LL/L-Grenzen integriert. Diese berechneten Grenzwerte
beinhalten den extremeren Bereich. Wenn sich der Eingang
beispielweise im oberen Bereich war, verbleibt der Ausgang
hoch und ändert seinen Zustand nicht, wenn der Eingang den
berechneten H-Grenzwert erreicht.
Aktionen Ein Flag wird gesetzt, wenn der Eingang oder der Indirektwert
dem entsprechenden Flag entspricht oder ihn kreuzt. Wenn die
Totzonen-Option verwendet wird, werden die Grenzen HH, H, LL
und L intern für eine Prüfung der Grenzwertkreuzung und
Hysterese angepasst.
HINWEIS: L9P_ALARM führt automatisch den letzten Eingang nach, selbst wenn
Sie den Normalbetrieb angeben, um einen reibungslosen Übergang zum Indirekt-
betrieb zu erleichtern.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_AOUT: Analogausgang
114
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_AOUT ist eine Schnittstelle für berechnete Signale für Ausgangs-
module. Er konvertiert die Signale in Werte zwischen 0 und 4096.
Formel
Formel des DFB L9P_AOUT:
Element Bedeutung
HEU Obere physikalische Einheit
ENABLE Eingang
LEU Untere physikalische Einheit
OUT Ausgang
scale Skala
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...9] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_AVER berechnet den Mittelwert von bis zu 4 gewichteten Eingängen.
Formel
Formel des DFB L9P_AVER:
HINWEIS: Der Nenner der Formel in der Modsoft-, ProWORX- und Concept-984-
Dokumentation weist die Addition von „1 +“ an Stelle von wk auf (Informationen zu
wk finden Sie in der Tabelle unten). Das Bausteinverhalten in Unity Pro entspricht
demjenigen in 984-Steuerungen (oben angegebene Formel).
Element Bedeutung
In1 ... In4 Eingänge
k Konstante
RES Ergebnis
w1 ... w4 Gewichte
wk Gewicht
Wenn das Eingangsstatusbit 9 (k ist aktiv) = 1, dann ist wk gleich 1,
andernfalls gleich 0.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...24] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Ein Gewicht kann nur dann verwendet werden, wenn der zugehörige Eingang
aktiviert ist, d. h. die Parameterwörter 21/22 (die den Wert von w4) enthalten, sind
nur dann für eine Verwendung verfügbar, wenn die Paramaterwörter 11/12 (die In4
enthalten) aktiviert sind.
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_CALC berechnet eine Preset-Formel mit bis zu 4 Eingängen, von
denen jeder in einem separaten Wort des Parameters PAR definiert wird.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Formelcode
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_DELAY ermöglicht die Einrichtung einer Reihe von Lesevorgängen
zur Kompensierung einer Zeitverzögerung in der Logik. Für die Verzögerung eines
Eingangs können bis zu 10 Abtast-Instanzen verwendet werden.
Alle Werte werden in einer Tabelle mitgeführt, deren erstes Element den jeweils
aktuellen abgetasteten Eingang enthält. Die 10. Verzögerung braucht nicht
gespeichert zu werden. Bei der 10. Instanz in der Sequenz kann der Wert des
letzten Elements in der Tabelle direkt auf den Ausgang übertragen werden.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...32] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_INTEG: Eingangsintegration
in spezifischen Intervallen
118
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_INTEG wird zur Integration über ein vorgegebenen Zeitintervall
verwendet. In dieser Funktion wird kein Schutz vor einem Integral-Windup bereitge-
stellt. L9P_INTEG ist zeitabhängig, d. h. wenn die Integration mit einem
Eingangswert von 1/Sek. erfolgt, ist von Bedeutung, ob der Baustein für seine
Ausführung eine Sekunde (in diesem Fall ist das Ergebnis 1) oder eine Minute
benötigt (in diesem Fall ist das Ergebnis 60).
Sie können Flags setzen, um die Funktion zu initialisieren oder nach einer
unbestimmten Auszeit neu zu starten. Sie können die Integralsumme nach Wunsch
auch zurücksetzen. Wenn Sie das Initialisierungsflag setzen, müssen Sie einen
Reset-Wert angeben (Null oder der letzte Ausgang im Fall eines Spannungs-
verlusts) und die Berechnungen werden für eine Abtastung übersprungen.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...16] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_LIMIT: Pv-Begrenzer
119
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_LIMIT begrenzt den Eingangswert auf einen Bereich zwischen einer
vorgegebenen Ober- und Untergrenze.
Wenn der Eingangswert die Obergrenze über- bzw. die Untergrenze unterschreitet,
setzt die Funktion ein H- oder L-Flag und begrenzt den Ausgang.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...10] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_LIMV: Anstiegsbegrenzung
für Pv-Änderungen
120
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_LIMV begrenzt die Änderungsbeschleunigung der Eingangsva-
riablen zwischen einem vorgegebenen Ober- und Untergrenzwert. Bei Erreichen
der Ober- oder Untergrenze setzt die Funktion ein H- oder L-Flag und begrenzt den
Ausgang.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_LKUP: Verweistabelle
121
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_LKUP richtet eine Verweistabelle unter Verwendung eines linearen
Algorithmus zur Interpolation zwischen Punkten ein. L9P_LKUP kann Punktintervall
und Punktanzahl für Variablen verarbeiten.
Wenn der Eingang (x) sich außerhalb des vorgegebenen Punktebereichs befindet,
wird der Ausgang (y) auf den zugehörigen y0 oder yn begrenzt. Wenn die Anzahl
der Punkte außerhalb des Bereichs liegt, führt die Funktion keine Prüfung von xn
durch, da die Informationen dieses Zeigers ungültig sind..
Die zu interpolierenden Punkte werden durch einen Suchalgorithmus ab Ende der
Tabelle bestimmt. Die Suche ist gültig für x1 < x < xn. Die Variable x kann mehrmals
mit demselben Wert vorhanden sein, der in der Verweistabelle ausgewählte Wert
entspricht der letzten gefundenen Instanz.
Bei folgender Beispieltabelle:
x y
10,0 1.0
20,0 2.0
x y
30,0 3.0
30,0 3.5
40,0 4.0
findet der Eingang 30,0 die letzte Instanz 30,0 und weist 3,5 als Ausgang zu. Ein
Eingang 31,0 würde den Wert 3,55 als Ausgang zuweisen.
HINWEIS: Für den Inhalt der Verweistabelle wird keine Sortierung durchgeführt.
Unabhängige Variablentabellenwerte sollten in aufsteigender Reihenfolge
eingegeben werden, um unerreichbare Lücken in der Tabelle zu vermeiden.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...39] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_LLAG stellt eine dynamische Kompensation für eine bekannte
Störung bereit. Er tritt in der Regel in einem Feed-Forward-Algorithmus oder als
dynamischer Filter auf. L9P_LLAG schleust den Eingang durch einen Filter mit
einem Lead-Wert (Zähler) und einem Lag-Wert (Nenner) im Frequenzbereich und
multipliziert ihn dann mit einer Verstärkung. Lead, Lag, Verstärkung und
Auflösungsintervall sollten benutzerspezifische Werte sein.
Sie sollten Lead- und Lag-Werte ≥ 4 *Δt verwenden. Dadurch lässt sich eine
ausreichende Präzision bei der Ausgangsantwort sicherstellen.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...20] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_MODE richtet eine manuelle oder automatische Station für die
Aktivierung und Deaktivierung der Datenübertragung an den nächsten Block ein.
Der DFB agiert wie eine Prozedur L9_BLKM und verschiebt einen Wert in das
Ausgangswort.
Im Automatikbetrieb wird der Eingang in den Ausgang kopiert. Im Handbetrieb wird
der Ausgang durch eine Benutzereingabe überschrieben.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...8] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_ONOFF ermöglicht die Steuerung des Ausgangssignals zwischen
einem eindeutigen ON- und eindeutigen OFF-Zustand, sodass der Benutzer den
Ausgang manuell auf ON oder OFF setzen kann.
Sie können den Ausgang über eine direkte oder umgekehrte Konfiguration steuern:
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Manuelles Überschreiben
2 Bits in Input_Status werden für das manuelle Überschreiben verwendet. Wenn
Bit 6 auf 1 gesetzt wird, wird der Handbetrieb forciert. Im Handbetrieb wird durch den
Wert 0 in Bit 7 der Ausgang in den OFF-Zustand forciert, der Wert 1 in Bit 7 forciert
den Ausgang in den ON-Zustand. Der Status von Bit 1 ist nur im Handbetrieb von
Bedeutung.
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_RAMP bietet Ihnen eine lineare Rampe zum Ziel-Sollwert mit einer
vorgegebenen Näherungsrate.
Sie müssen folgende Werte angeben:
z Ziel-Sollwert, in denselben Einheiten wir den Inhalt der Eingangswörter
z Abtastrate
z Positive Näherungsrate zum Ziel-Sollwert, negative Raten sind ungültig
Die Richtung der Rampe ist von der Beziehung zwischen Ziel-Sollwert und Eingang
abhängig, d. h. wenn x < SP, dann handelt es sich um eine steigende Rampe; wenn
x > SP, dann ist die Rampe fallend.
Sie können einen Flag für die Initialisierung nach einer unbestimmten Auszeit
verwenden. Der DFB speichert neue Abtastdaten und wartet dann einen Zyklus, bis
er die nächsten Abtastdaten sammelt. Die Berechnungen werden für einen Zyklus
übersprungen und der Ausgang behält seinen Status bei. Anschließend wird die
Rampe weitergefahren.
L9P_RAMP wird beendet, wenn die gesamte Rampenoperation abgeschlossen ist
(über mehrere Zyklen).
Schritt Aktion
1 Setzen Sie Bit 1 der Standard-Eingangsbits auf „1“.
2 Schalten Sie ENABLE um. Die Rampe startet nun in auf-/absteigender Richtung
ab dem zuvor konfigurierten Initialwert bis zum konfigurierten Sollwert.
Überwachen Sie den Ausgang (Wörter 13 + 14) in Bezug auf den
Gleitkommawert des aktiven Rampenwerts.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_RATE berechnet die Änderungsrate für die letzten 2 Eingangswerte.
Wenn Sie ein Initialisierungsflag setzen, zeichnet der DFB die Abtastdaten auf und
setzt die zutreffenden Flags.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_RATIO stellt einen Verhältnisregler mit 4 Stationen bereit. Die
Verhältnisregelung kann in Anwendung eingesetzt werden, in denen ein oder
mehrere Rohbestandteile von einem Primärbestandteil abhängig sind. Der primäre
Bestandteil wird gemessen und der Messwert über einen DFB L9P_AIN in
physikalische Einheiten konvertiert. Der konvertierte Wert ermöglicht das Setzen
des Zielwerts für die anderen verhältnisgesteuerten Eingänge. Ausgänge vom
Verhältnisregler können Sollwerte für andere Regler bereitstellen. Sie können auch
in einem offenen Regelkreis für Anwendungen herangezogen werden, für die keine
Rückkoppelung erforderlich ist.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...20] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_RMPLN: Logarithmische
Rampe zum Sollwert
128
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_RMPLN bietet Ihnen die Einrichtung einer logarithmusbasierten
steigenden Rampe zu einem Ziel-Sollwert mit einer vorgegebenen Näherungsrate.
Bei jedem der aufeinanderfolgenden Aufrufe berechnet der DFB den Ausgang, bis
er sich innerhalb einer definierten Totzone befindet. Die Totzone ist notwendig, da
die inkrementale, von der Rampe geschnittene Entfernung mit jeder Auflösung
kleiner wird.
Sie müssen folgende Werte angeben:
z Ziel-Sollwert, in denselben Einheiten wir den Inhalt der Eingangswörter.
z Abtastrate
z Für die logarithmische Rampe verwendete Zeitkonstante (entspricht der Zeit, die
zur Erreichung von 63.2% des neuen Sollwerts erforderlich ist)
Sie sollten einen Wert t ≥4 *Δt verwenden. Dadurch lässt sich eine ausreichende
Präzision bei der Ausgangsantwort sicherstellen.
Sie können einen Flag für die Initialisierung nach einer unbestimmten Auszeit
verwenden. Der DFB speichert neue Abtastdaten und wartet dann einen Zyklus, bis
er die nächsten Abtastdaten sammelt. Die Berechnungen werden für einen Zyklus
übersprungen und der Ausgang behält seinen Status bei. Anschließend wird die
Rampe weitergefahren.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...16] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
L9P_SEL: Eingangsauswahl
129
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_SEL vergleicht bis zu 4 Eingänge und trifft eine Auswahl auf der
Grundlage des höchsten, niedrigsten oder mittleren Werts. Sie wählen die zu
vergleichenden Eingänge und die Kriterien für den Vergleich aus. Der Ausgang ist
eine Kopie des ausgewählten Eingangs.
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...14] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Auswahlmodus
Bit Bedeutung
9 10
0 0 Mittelwert auswählen
1 0 Höchsten Wert auswählen
0 1 Niedrigsten Wert auswählen
1 1 Reserviert / Ungültig
Namenskonventionen
Funktionsbeschreibung
Der DFB L9P_TOTAL stellt einen Material-Summierer für Reagenzien in der
Mengenverarbeitung bereit. Das Eingangssignal enthält die Einheiten von Gewicht
oder Volumen pro Zeiteinheit. Der Summierer integriert den Eingang nach und nach.
Der Algorithmus steuert 3 Ausgänge:
z Integrationssumme
z Zu dosierender Rest
z Ventilausgang (in physikalischen Einheiten)
Funktionsweise
Der DFB verwendet bis zu 3 verschiedene Sollwerte:
z Tropffluss-Sollwert
z Ziel-Sollwert
z Zusätzlicher Tropffluss-Sollwert
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...28] OF UINT auf.
Ausgangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9P_KPID entspricht dem Funktionsbaustein L9P_PID,
jedoch mit erweitertem Funktionsumfang, und stellt u. a. zusätzliche folgende
Funktionen bereit:
z Realer PID-Regler mit unabhängiger kp-, tn-, tv-Einstellung
z Betriebsarten: Hand, Halt, Automatik, Kaskade, Reset, Handwert-Nachführung
z Anstiegsbegrenzung für Handbetrieb (yh)
z Einstellbare Nachführung des Handstellwerts
z Begrenzung der Stellgröße (yau, yao)
z Anstiegbegrenzung für Sollwert wh
z Stoßfreie Umschaltung Hand/Automatik/Reset und Automatik
z Stoßfreie kp-Änderung
z Auswahl zwischen Umschaltung mit Stoß / Stoßfreie Umschaltung (Beispiel:
Hand zu Automatik)
z Auswahl von Antiwindup-Reset oder Antiwindup-Halt
z Optionale Erweiterung der Antiwind-Reset-Begrenzung
z Definierbare Verzögerung des D-Anteils
z Mögliche Verbindung des D-Anteils mit der Regelgröße x oder der Regeldifferenz
xd
z Unempfindlichkeitszone mit Verstärkungsreduktion
z Externer Arbeitspunkt (z)
z Separates Wort (ap) für stoßfreie Übertragung bei Nichtverwendung der
Integralfunktion
z Externer Sollwert für Kaskadensteuerung
Übertragungsfunktion
Größe Bedeutung
YP P-Anteil (nur wenn Eingangsstatusbit 9 = 1)
YI I-Anteil (nur wenn Eingangsstatusbit 10 = 1)
YD D-Anteil (nur wenn Eingangsstatusbit 11 = 1)
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...64] OF UINT auf.
Ausgangsstatus (Wort 1)
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Ausgangsstatus (Wort 2)
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Strukturbild
Vereinfachte Grafikdarstellung
1 Verstärkung = 1
2 kuz = 0....1
Stellgrößen-Begrenzung
Die definierten Grenzen yao und yau sorgen dafür, dass die Stellgröße im
vorgegebenen Wertebereich verbleibt. Aus diesem Grund gilt Folgendes: yau ≤Y ≤
yao.
Ausgangswort 1, Statusbit 3 (obere Grenzmarkierung) der Elemente signalisiert,
dass die Stellgröße einen Grenzwert erreicht hat und demzufolge begrenzt wird:
z Ausgangswort 1, Statusbit 3 = 1, wenn Y ≥ yao
z Ausgangswort 1, Statusbit 2 = 1, wenn Y ≥ yau
Die Obergrenze yao für die Begrenzung der Stellgröße ist größer als die
Untergrenze yau zu wählen.
Antiwindup
Definition
Durch die Antiwindup-Maßnahme wird sichergestellt, dass der Integralanteil nicht zu
groß werden kann und der Regler hängt, wenn er zu lang an einer Stellgrenze
gehalten wurde.
Die Antiwindup-Maßnahme wird nur bei aktivem I-Anteil des Reglers durchgeführt.
Die Grenzen für die Antiwindup-Maßnahme sind standardmäßig die definierten
Grenzwerte der Stellgrößen (yao, yau) des Reglers (dyaw = 0). Durch den
Parameter dyaw können die Grenzen jedoch gegenüber den Stellgrenzen (yao,
yau) vergrößert (dyaw > 0) oder verkleinert (dyaw < 0) werden.
Die für die Antiwindup-Maßnahme benutzten Grenzen sind demzufolge:
z AWMAX = yao + dyaw
z AWMIN = yau - dyaw
Speziell bei stark verrauschten Signalen kann durch die Verschiebung der
Antiwindup-Grenzen in Verbindung mit den Stellgrenzen erreicht werden, dass die
Stellgröße y nicht ständig von der Stellgrenze „wegspringt“ (Wirkung des D-Anteils
auf Störungen) und anschließend wieder in die Grenzlage hineinfährt (Wirkung des
I-Anteils bei Regeldifferenz xd ≠ 0).
Sollen die Stellgrenzen gleichzeitig für die Antiwindup-Maßnahme und die
Stellgröße y gelten, so ist der Parameter dyaw = 0 auszuwählen.
Durch negative dyaw-Werte kann dafür gesorgt werden, dass die Grenzen für
Antiwindup kleiner sind als die Stellgrenzen (sinnvoll für Antiwindup-Halt).
Antiwindup-Reset (Eingangsstatusbit 13 = 0)
Der D-Anteil wird für diese Antiwindup-Maßnahme nicht mit berücksichtigt, dass
Spitzen, hervorgerufen durch den D-Anteil, nicht durch die Antiwindup-Maßnahme
gekappt werden. Die Antiwindup-Reset-Maßnahme korrigiert den I-Anteil, sodass
gilt: AWMIN ≤YP + Z + YI ≤AWMAX.
Antiwindup-Halt (Eingangsstatusbit 13 = 1)
Für diese Antiwindup-Maßnahme wird nur der I-Anteil berücksichtigt. Wenn
Antiwindup-Halt und I-Anteil eingeschaltet sind, korrigiert die Antiwindup-
Maßnahme den I-Anteil, sodass gilt: AWMIN ≤yi ≤AWMAX.
Reglertypen
Zur Verfügung stehen 5 verschiedene Reglertypen, die über das parameterspezi-
fische Eingangsstatusbit 9 (P-Anteil), das Eingangsstatusbit 10 (I-Anteil) und das
Eingangsstatusbit 11 (D-Anteil) ausgewählt werden.
Stoßfreie Betriebsartenumschaltung
Betriebsarten
Zur Verfügung stehen 5 Betriebsarten, der Auswahl über Reset = Eingangsstatusbit
5, Hand = Eingangsstatusbit 6, Halt = Eingangsstatusbit 7 und Kaskade = Eingangs-
statusbit 8 erfolgt.
Handbetrieb
Im Handbetrieb wird der Handstellwert yh mittels eines Anstiegsbegrenzers auf die
Stellgröße Y übertragen. Die Stellgröße Y wird mit der im Parameter vyh
festgelegten Anstiegsgeschwindigkeit (Einheit 1/s) rampenförmig auf den Wert des
Parameters yh gefahren. In Parameter vyh wird der Betrag ausgewertet. Ist vyh =
0, so ist die Funktion des Anstiegsbegrenzers für Yh abgeschaltet.
Yh wird direkt auf die Stellgröße übertragen. Die Stellgröße wird durch yao und yau
begrenzt.
Die internen Größen werden so nachgeführt, dass der Regler (bei zugeschaltetem
I-Anteil) stoßfrei von Hand auf Automatik umgeschaltet werden kann.
Die Antiwindup-Maßnahme ist wie im Automatikbetrieb ausgelegt. Der D-Anteil wird
in dieser Betriebsart automatisch auf 0 gesetzt.
Reset-Betrieb
Im Reset-Betrieb wird der Reset-Wert yr direkt auf die Stellgröße Y übertragen. Die
Stellgröße wird durch yao und yau begrenzt.
Die internen Größen werden so nachgeführt, dass der Regler (bei zugeschaltetem
I-Anteil) stoßfrei von Reset auf Automatik umgeschaltet werden kann. Die
Antiwindup-Maßnahme wird wie im Automatikbetrieb ausgeführt.
HINWEIS: In Modsoft/Proworx/Concept werden die Grenzen yao und yau in dieser
Betriebsart nicht auf die Stellgröße Y angewendet.
Halt-Betrieb
Im Halt-Betrieb bleibt die Stellgröße wie sie vorgefunden wird, d. h. der Funktions-
baustein verändert die Stellgröße Y nicht (Regler bleibt stehen). Die internen
Größen werden so nachgeführt, daß der Regler ohne Stoß von seiner aktuellen
Lage aus weiterfährt. Die Begrenzung der Stellgröße Y und die Antiwindup-
Maßnahme sind wie im Automatik-Betrieb.
Die Betriebsart Halt eignet sich unter anderem auch dafür, den gesteuerten
Ausgang Y über ein externes Bediengerät zu stellen, wobei die internen Anteile im
Regler richtig nachgeführt werden. Der D-Anteil wird in dieser Betriebsart
automatisch auf 0 gesetzt.
Detaillierte Formeln
Größendefinition
Definition der Größen in den nachfolgenden Formeln:
Größe Definition
dt Zeitdiffernz zwischen aktuellem Zyklus und vorherigem Zyklus
Xd Aktuelle intern gebildete Regeldifferenz
Xd(neu) Wert der Regeldifferenz aus dem aktuellen Abtastschritt
Xd(alt) Wert der Regeldifferenz aus dem vorherigen Abtastschritt
Z Störung
AP Stoßfreie Übertragung (nur P-, D- oder PD-Regler)
kp Proportionalbeiwert
tn Reset-Zeit
tv Vorhaltezeit
t1 Verzögerungszeitkonstante
X(neu) Wert der Regelgröße aus dem aktuellen Abtastschritt
X(alt) Wert der Regelgröße aus dem vorhergehenden Abtastschritt
Y Stellgröße
YP P-Anteil (nur wenn Eingangsstatusbit 9 = 1)
YI I-Anteil (nur wenn Eingangsstatusbit 10 = 1)
YD D-Anteil (nur wenn Eingangsstatusbit 11 = 1)
Stellgröße
Die Stellgröße setzt sich aus verschiedenen von den Betriebsarten abhängigen
Teilgrößen zusammen:
Y = YP+YI+YD+AP+Z
Nach der Summmierung der Anteile findet eine Stellgrößen-Begrenzung statt,
sodass gilt:
yau ≤Y ≤yao.
132
Übersicht
In diesem Kapitel wird der L9P_PI-Regler beschrieben.
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9P_PI führt einfache Proportional-Integral-Operationen
unter Verwendung der Gleitkomma-Mathematik durch. Er stellt die Betriebsarten
Halt/Hand/Automatik bereit. Er ist mit den Funktionsbausteinen L9P_PID und
L9P_KPID vergleichbar, enthält jedoch weniger Optionen. Er ist für Hochgeschwin-
digkeits-Regelkreise oder interne Verarbeitungsschleifen in kaskadierten
Anwendungen verfügbar.
Eigenschaften
Der Funktionsbaustein besitzt folgende Eigenschaften:
z Betriebsarten Hand, Halt, Automatik
z Stoßfreie Umschaltung Hand/Automatik
z Stellgrößen-Begrenzung
z Antiwindup-Reset
z Antiwindup-Maßnahme nur bei aktivem I-Anteil
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1..36] OF UINT auf.
Ausgangsstatus (Wort 3)
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Fehlerzustandswort (Wort 4)
Eingangsstatus (Wort 6)
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Formeln
Übertragungsfunktion
Die Übertragungsfunktion lautet:
Berechnungsformeln
Die Berechnungsformeln lauten:
Ausgangssignal Y
Das Ausgangssignal Y lautet dann:
Y = YP + YI
Der I-Anteil wird nach der Trapezregel gebildet.
Größe Bedeutung
delta_t Zeit-Delta-T (in ms) seit letzter Auflösung
xd Berechnete Regeldifferenz (berechneter Fehlerwert), Differenz
YI I-Anteil
YP P-Anteil
Y Stellwert, Ergebnis von YP + YI
L9P_PI – Strukturbild
Vereinfachte Grafikdarstellung
Stellgrößen-Begrenzung
Nach der Summation der Anteile findet eine Stellgrößen-Begrenzung statt, sodass
gilt: YAU ≤Y ≤YAO
Antiwindup-Reset
Wenn eine Begrenzung der Stellgröße stattfindet, kann mithilfe des Antiwindup-
Resets gewährleistet werden, dass der Integralanteil die definierten Grenzen nicht
überschreiten kann.
Die Antiwindup-Maßnahme wird nur dann durchgeführt, wenn der I-Anteil des
Reglers nicht abgeschaltet ist. Die Grenzen für Antiwindup sind dieselben wie für die
Stellgrößenbegrenzung.
Die Antiwindup-Reset-Maßnahme korrigiert den I-Anteil, sodass gilt:
(YAU + YP) ≤YI ≤(YAO - YP)
133
Übersicht
In diesem Kapitel wird der L9P_PID-Regler beschrieben.
Beschreibung
Namenskonventionen
Funktionsbeschreibung
Der Funktionsbaustein L9P_PID führt ISA-spezifische Proportional-Integral-
Differential-Operationen (PID) ohne Interaktion unter Verwendung der Gleitkomma-
Mathematik durch. Durch den Rückgriff auf die Gleitkomma-Mathematik (im
Gegensatz zu LL_PID2) werden Rundungsfehler vernachlässigbar.
Eigenschaften
Der Funktionsbaustein besitzt folgende Eigenschaften:
z Realter PID-Regler mit unabhängiger kp-, tn-, tv-Einstellung
z Betriebsarten Hand, Halt, Automatik
z Stoßfreie Umschaltung Hand/Automatik
z Stellgrößen-Begrenzung im Automatikbetrieb
z Einzeln zuschaltbarer P-, I- und D-Anteil
z Antiwindup-Reset
z Antiwindup-Maßnahme nur bei aktivem I-Anteil
z Definierbare Verzögerung des D-Anteils
z Mögliche Verbindung des D-Anteils mit der Regelgröße x oder der Regeldif-
ferenz xd
Übertragungsfunktion
Größe Bedeutung
YP P-Anteil (nur wenn PAR.fsIn.7 = 1)
YI I-Anteil (nur wenn PAR.fsIn.6 = 1)
YD D-Anteil (nur wenn PAR.fsIn.5 = 1)
Darstellung
Parameter
Parameter PAR
Der Parameterblock weist den Datentyp ARRAY[1...44] OF UINT auf.
Ausgangsstatus (Wort 1)
Bitreihenfolge
LL984-kompatible Bitbeschreibung
Fehlerwort (Wort 2)
Fehlerzustände
Eingangsstatus
Bitreihenfolge
LL984-kompatible Bitbeschreibung
P_PID – Strukturbild
Vereinfachte Grafikdarstellung
Steuerrichtung
Ein entgegengesetztes Verhalten des Reglers kann über das Eingangsstatusbit 16
erzielt werden.
z Eingangsstatusbit 16 = 0: Bewirkt die Erhöhung des Ausgangswerts Y, für einen
positiven xd.
z Eingangsstatusbit 16 = 1: Bewirkt die Verringerung des Ausgangswerts Y, für
einen positiven xd.
Stellgrößen-Begrenzung
Die Grenzwerte YAO und YAU begrenzen den Ausgang Y auf den vorgegebenen
Bereich.
Aus diesem Grund gilt: YAU ≤Y ≤YAO.
Ausgangswort 1, Statusbit 3 (obere Grenzmarkierung) und Ausgangswort 1,
Statusbit 2 (untere Grenzmarkierung) der Markierungen signalisieren, dass die
definierten Grenzwerte erreicht wurden oder das Ausgangssignal begrenzt wird:
Ausgangswort 1, Statusbit 3 = 1, wenn Y ≥ YAO
Ausgangswort 1, Statusbit 2 = 1, wenn Y ≥ YAU
Die Obergrenze YAO für die Begrenzung der Stellgröße Y ist größer als die
Untergrenze YAU zu wählen.
Antiwindup-Reset
Findet eine Stellgrößen-Begrenzung statt, soll durch Antiwindup-Reset dafür
gesorgt werden, dass der integrale Anteil nicht sämtliche Grenzen überschreiten
kann.
Die Antiwindup-Maßnahme wird nur dann durchgeführt, wenn der I-Anteil des
Reglers nicht abgeschaltet ist. Die Grenzen für Anti-Windup sind dieselben wie für
die Stellgrößenbegrenzung. Der D-Anteil wird für die Antiwindup-Maßnahme nicht
berücksichtigt, sodass Spitzen, hervorgerufen durch den D-Anteil, nicht durch die
Antiwindup-Maßnahme gekappt werden.
Die Antiwindup-Maßnahme korrigiert den I-Anteil, sodass gilt:
YAU+YP + Z ≤YI ≤YAO-YP-Z
EIO0000000808 11/2011
Anhang
Systemobjekte
A
Sytembits und Systemwörter
Übersicht
Detaillierte Informationen zu Systembits und Systemwörtern finden Sie unter
Systemobjekte (siehe Unity Pro, Programmiersprachen und Struktur, Referenz-
handbuch ).
Glossar
0-9
%I
Entsprechend der IEC-Norm steht %I für ein Sprachobjekt vom Typ Digitaleingang.
%IW
Entsprechend der IEC-Norm steht %IW für ein Sprachobjekt vom Typ
Analogeingang.
%KW
Entsprechend der IEC-Norm steht %KW für ein Sprachobjekt vom Typ Konstantwort.
%M
Entsprechend der IEC-Norm steht %M für ein Sprachobjekt vom Typ Speicherbit.
%MW
Entsprechend der IEC-Norm steht %MW für ein Sprachobjekt vom Typ Speicherwort.
%Q
Entsprechend der IEC-Norm steht %Q für ein Sprachobjekt vom Typ Digitalausgang.
%QW
Entsprechend der IEC-Norm steht %QW für ein Sprachobjekt vom Typ
Analogausgang.
ADDR_TYPE
Dieser vordefinierte Typ wird als Ausgang für die ADDR-Funktion verwendet. Der
Typ ist ARRAY[0..5] OF Int. Sie finden ihn in der Libset (Satz von Bibliotheken) in
derselben Familie wie die EFs, die ihn verwenden.
ANL_IN
ANL_IN ist die Abkürzung für den Datentyp Analogeingang und wird bei der
Verarbeitung von analogen Werten verwendet. Die %IW-Adressen für das
konfigurierte analoge Eingangsmodul, die in der E/A-Komponentenliste angegeben
sind, sind automatisch zugewiesene Datentypen und sollten deshalb nur mit nicht
lokalisierten Variablen besetzt werden.
ANL_OUT
ANL_OUT ist die Abkürzung für den Datentyp Analogausgang und wird bei der
Verarbeitung von analogen Werten verwendet. Die %MW-Adressen für das
konfigurierte analoge Eingangsmodul, die in der E/A-Komponentenliste angegeben
sind, sind automatisch zugewiesene Datentypen und sollten deshalb nur mit nicht
lokalisierten Variablen besetzt werden.
ANY
Es existiert eine Hierarchie für die verschiedenen Datentypen. Im DFB kann in
manchen Fällen deklariert werden, welche Variablen einen von verschiedenen
Wertetypen enthalten können. Hier werden die Typen ANY_xxx verwendet.
Das folgende Diagramm zeigt die Hierarchiestruktur:
ARRAY
Ein ARRAY ist eine Tabelle mit Elementen des gleichen Typs.
Die Syntax lautet: ARRAY [<Terminals>] OF <Typ>
Beispiel:
ARRAY [1..2] OF BOOL ist eine eindimensionale Tabelle aus zwei Elementen
vom Typ BOOL.
ARRAY [1..10, 1..20] OF INT ist eine zweidimensionale Tabelle aus 10x20
Elementen vom Typ INT.
BCD
BCD ist die Abkürzung für Binary Coded Decimal (binärer Dezimalcode).
Das BCD-Format dient der Darstellung von Zahlen zwischen 0 und 9 mit einer
Gruppe von 4 Bit (Tetrade).
In diesem Format gibt es für die vier Bit zur Darstellung der Dezimalzahlen eine
Reihe nicht genutzter Kombinationen.
Beispiel für eine BCD-Codierung:
z Die Zahl 2450
z wird codiert als: 0010 0100 0101 0000
BOOL
BOOL ist die Abkürzung für den Typ Boolesch. Das ist ein elementares
Datenelement in der Datenverarbeitung. Eine Variable vom Typ BOOL kann einen
der folgenden Werte aufweisen: 0 (FALSE) oder 1 (TRUE).
Ein Wort-Extrahier-Bit vom Typ BOOL, z. B.: %MW10.4.
BYTE
Eine Folge aus 8 Bit wird als BYTE bezeichnet. Ein BYTE wird in binärer oder Basis-
8-Schreibweise eingegeben.
Der Typ BYTE ist im 8-Bit-Format codiert, das den hexadezimalen Werten 16#00
bis 16#FF entspricht.
DATE
Der Typ DATE ist in BCD im 32-Bit-Format codiert und enthält folgende
Informationen:
z Jahr, codiert in einem 16-Bit-Feld.
z Monat, codiert in einem 8-Bit-Feld.
z Tag, codiert in einem 8-Bit-Feld.
Der Typ DATE wird wie folgt eingegeben: D# <Jahr> - <Monat> - <Tag>
Diese Tabelle zeigt die oberen bzw. unteren Grenzwerte für jedes Feld:
DATE_AND_TIME
Siehe DT
DBCD
Darstellung einer Ganzzahl doppelter Länge im Doppel-BCD-Format.
Das binäre Dezimalcodeformat (BCD) dient der Darstellung von Dezimalzahlen
zwischen 0 und 9 mit einer Gruppe von 4 Bit.
In diesem Format gibt es für die vier Bit zur Darstellung der Dezimalzahlen eine
Reihe nicht genutzter Kombinationen.
Beispiel für eine DBCD-Codierung:
z Die Zahl 78993016
z wird codiert als: 0111 1000 1001 1001 0011 0000 0001 0110
DDT
DDT steht für Derived Data Type (abgeleiteter Datentyp).
Ein abgeleiteter Datentyp ist ein Satz von Elementen des gleichen Typs (ARRAY)
oder verschiedenen Typs (Struktur).
DFB
DFB ist die Abkürzung für Derived Function Block (abgeleiteter Funktionsbaustein).
DFB-Typen sind Funktionsbausteine, die vom Benutzer in ST, IL, LD oder FBD
programmiert werden können.
Durch die Verwendung von DFB-Typen in einer Anwendung haben Sie folgende
Möglichkeiten:
z Vereinfachung von Aufbau und Eingabe des Programms
z Verbesserung der Lesbarkeit des Programms
z Erleichterung des Programm-Debuggings
z Verringerung der erzeugten Codemenge
DINT
DINT ist die Abkürzung für das Format Double Integer (Ganzzahl doppelter Länge),
codiert mit 32 Bit.
Es gelten folgende obere und untere Grenzwerte: -(2 hoch 31) bis (2 hoch 31) - 1.
Beispiel:
-2147483648, 2147483647, 16#FFFFFFFF.
DT
DT steht für Date and Time (Datum und Uhrzeit).
Der Typ DT ist in BCD im 64-Bit-Format codiert und enthält folgende Informationen:
z Jahr, codiert in einem 16-Bit-Feld.
z Monat, codiert in einem 8-Bit-Feld.
z Tag, codiert in einem 8-Bit-Feld.
z Stunde, codiert in einem 8-Bit-Feld.
z Minuten, codiert in einem 8-Bit-Feld.
z Sekunden, codiert in einem 8-Bit-Feld.
HINWEIS: Die 8 niederwertigen Bits werden nicht verwendet.
Der Typ DT wird wie folgt eingegeben:
DT# <Jahr> - <Monat> - <Tag> - <Stunde> : <Minuten> : <Sekunden>
Diese Tabelle zeigt die oberen bzw. unteren Grenzwerte für jedes Feld:
DWORD
DWORD steht für Double Word (Doppelwort).
Der Typ DWORD wird im 32-Bit-Format codiert.
Diese Tabelle zeigt die unteren bzw. oberen Grenzwerte der möglichen Basen:
EBOOL
EBOOL ist die Abkürzung für den erweiterten Typ Boolesch. Eine Variable vom Typ
EBOOL bringt einen Wert 0 (FALSE) oder 1 (TRUE), aber auch steigende oder
fallende Flanken und Möglichkeiten zur Forcierung.
Eine Variable vom Typ EBOOL benötigt ein Byte an Speicherplatz.
Das Byte ist unterteilt in:
z ein Bit für den Wert
z ein Bit für das Verlaufsbit (jedes Mal, wenn sich das Objekt des Zustands ändert,
wird der Wert ins Verlaufsbit kopiert)
z ein Bit für das forcierende Bit (entspricht 0, wenn das Objekt nicht forciert ist, und
entspricht 1, wenn das Bit forciert ist)
Der Standard-Typwert jedes Bits ist 0 (FALSE).
EF
Dies ist die Abkürzung für Elementarfunktion.
Dabei handelt es sich um einen Baustein, der in einem Programm verwendet wird
und eine vordefinierte Softwarefunktion ausführt.
Funktionen besitzen keine internen Statusinformationen. Mehrfaches Aufrufen der
gleichen Funktion mit den gleichen Eingabeparametern ergibt stets die gleichen
Ausgabewerte. Detaillierte Informationen zur grafischen Form des Funktionsaufrufs
finden Sie unter „[Funktionsbaustein (Instanz)]“. Im Gegensatz zum Aufruf von
Funktionsbausteinen erfolgt beim Aufruf von Funktionen nur eine einzige
unbenannte Ausgabe unter dem Namen der Funktion. In FBD wird jeder Aufruf
durch eine eindeutige [Nummer] über den grafischen Baustein bezeichnet. Diese
Nummer wird automatisch erzeugt und kann nicht geändert werden.
Sie platzieren diese Funktionen in Ihrem Programm und richten sie ein, um die
Anwendung auszuführen.
Mithilfe des Software Development Kits SDKC können auch andere Funktionen
entwickelt werden.
EFB
Dies ist die Abkürzung für Elementarer Funktionsbaustein.
Dabei handelt es sich um einen Baustein, der in einem Programm verwendet wird
und eine vordefinierte Softwarefunktion ausführt.
EFBs besitzen interne Status und Parameter. Selbst bei identischer Eingabe sind
unterschiedliche Ausgabewerte möglich. Beispiel: Der Ausgang eines Zählers zeigt
an, dass der vorbestimmte Wert erreicht wurde. Der Ausgang ist „1“, wenn der
aktuelle Wert dem vorgegebenen Wert entspricht.
Elementarfunktion
Siehe EF
EN
EN bedeutet ENable (Freigabe). Hierbei handelt es sich um einen optionales
Bausteineingang. Wenn EN aktiviert ist, wird automatisch ein ENO-Ausgang
eingesetzt.
Wenn EN = 0, ist der Baustein nicht aktiviert, sein internes Programm wird nicht
ausgeführt und ENO wird auf 0 gesetzt.
Wenn EN = 1, wird das interne Programm des Bausteins ausgeführt und ENO wird
vom System auf 1 gesetzt. Wenn ein Ereignis auftritt, wird ENO auf 0 gesetzt.
Wenn EN nicht verbunden ist, wird der Eingang automatisch auf 1 gesetzt.
ENO
ENO bedeutet Event NOtification (Ereignisbenachrichtigung). Hierbei handelt es sich
um den dem optionalen Eingang EN zugeordenten Ausgang.
Wenn ENO auf 0 gesetzt wird (weil EN = 0 oder im Fall eines
Ausführungsereignisses),
z behalten die Ausgänge der Funktionsbausteine den Status bei, den sie im letzten
ordnungsgemäß ausgeführten Abfragezyklus hatten.
z werden die Ausgänge der Funktionen und Prozeduren auf „0“ gesetzt.
FBD
FBD bedeutet Function Block Diagram (Funktionsbausteindiagramm).
FBD ist eine grafische Programmiersprache, die wie ein Logikdiagramm
funktioniert. Zusätzlich zu den einfachen Logikbausteinen (AND, OR usw.) wird jede
Funktion bzw. jeder Funktionsbaustein des Programms in dieser grafischen Form
dargestellt. Bei jedem Baustein befinden sich die Eingänge auf der linken und die
Ausgänge auf der rechten Seite. Die Ausgänge der Bausteine können mit den
Eingängen anderer Bausteine verknüpft werden, um komplexe Ausdrücke zu
bilden.
FFB
Kollektive Bezeichnung für EF (Elementarfunktion), EFB (Elementarfunktions-
baustein) und DFB (Abgeleiteter Funktionsbaustein).
Funktion
Siehe EF
Funktionsbausteindiagramm
Siehe FBD
GRAY
Gray oder „reflektierter binärer“ Code dient der Codierung eines numerischen
Werts, der in eine Kette von Binärkonfigurationen umgewandelt wird, die durch die
Statusänderung eines einzigen Bits differenziert werden können.
Dieser Code kann zum Beispiel zur Vermeidung des folgenden Zufallsergebnisses
verwendet werden: In reinem Binärcode kann der Übergang vom Wert 0111 zu 1000
Zufallszahlen zwischen 0 und 1000 ergeben, da die Bits ihre Werte nicht absolut
gleichzeitig ändern.
IEC 61131-3
Internationale Norm: Speicherprogrammierbare Steuerungen (Programmable Logic
Controls)
Teil 3: Programmiersprachen.
IL
IL bedeutet Instruction List (Anweisungsliste).
Diese Sprache besteht aus einer Folge von grundlegenden Anweisungen.
Sie ist sehr stark verwandt mit der Assembler-Sprache, die zur Programmierung von
Prozessoren verwendet wird.
Jede Anweisung besteht aus einem Anweisungscode und einem Operanden.
INF
Hiermit wird angegeben, dass eine Zahl die zulässigen Grenzwerte überschreitet.
Für eine Reihe von Ganzzahlen gelten folgende Wertebereiche (grau dargestellt):
Bei Berechnungsergebnissen
z kleiner als -3,402824e+38 wird das Symbol -INF (für -Unendlich) angezeigt.
z größer als +3,402824e+38 wird das Symbol INF (für +Unendlich) angezeigt.
INT
INT ist die Abkürzung für das Format Single Integer (einfache Ganzzahl), codiert mit
16 Bit.
Es gelten folgende obere und untere Grenzwerte: -(2 hoch 15) bis (2 hoch 15) - 1.
Beispiel:
-32768, 32767, 2#1111110001001001, 16#9FA4.
Integer-Literale
Integer-Literale werden zur Eingabe von Integerwerten (Ganzzahlen) im
Dezimalsystem verwendet. Den Werten können die Vorzeichen „+“ und „-“
vorangestellt werden. Einzelne Unterstreichungen (_) zwischen Zahlen haben keine
Bedeutung.
Beispiel:
-12, 0, 123_456, +986
IODDT
IODDT bedeutet Input/Output Derived Data Type (abgeleiteter E/A-Datentyp).
Die Bezeichnung IODDT steht für einen strukturierten Datentyp, der ein Modul oder
einen Kanal eines SPS-Moduls darstellt. Jedes anwendungsspezifische
Expertenmodul verfügt über eigene IODDTs.
LD
LD bedeutet Ladder Diagram (Kontaktplan).
LD ist eine Programmiersprache, bei der die auszuführenden Anweisungen in Form
eines grafischen Diagramms dargestellt werden, das einem elektrischen
Blockschaltbild sehr stark ähnelt (Kontakte, Spulen usw.).
Lokalisierte Variablen
Hierbei handelt es sich um Variablen, deren Position im SPS-Speicher ermittelt
werden kann. Beispiel: Die Variable Water_pressure ist mit %MW102 verknüpft.
Water_pressure wird als lokalisiert bezeichnet.
Multiple Token
Funktionsweise des SFC. Im Multitoken-Modus kann ein SFC mehrere aktive
Schritte zur gleichen Zeit verarbeiten.
Namenskonvention (Bezeichner)
Ein Bezeichner ist eine Zeichenfolge aus Buchstaben, Zahlen und Unterstrei-
chungen, die mit einem Buchstaben oder einer Unterstreichung beginnt (z. B. der
Name eines Funktionsbausteintyps, einer Instanz, einer Variablen oder einer
Section). Buchstaben aus nationalen Zeichensätzen (z. B.: ö, ü, é, õ) können
verwendet werden, außer für Projekt- und DFB-Namen. Unterstreichungen in
Bezeichnern sind signifikant, d. h. A_BCD und AB_CD werden als verschiedene
Bezeichner interpretiert. Mehrfach aufeinander folgende Unterstreichungen am
Anfang und innerhalb von Bezeichnern sind ungültig.
Bezeichner dürfen keine Leerzeichen enthalten. Es wird nicht zwischen Groß- und
Kleinschreibung unterschieden, d. h. ABCD und abcd werden als gleiche
Bezeichner interpretiert.
Entsprechend IEC 61131-3 sind führende Zahlen in Bezeichnern nicht zulässig.
Trotzdem können Sie diese verwenden, wenn Sie im Dialogfeld Extras →
Projekteinstellungen auf der Registerkarte Spracherweiterungen das Kontroll-
kästchen Führende Ziffern aktivieren.
Bezeichner können keine Schlüsselwörter sein.
NaN
Hiermit wird angezeigt, dass das Ergebnis einer Berechnung keine Zahl ist (NaN =
Not a Number).
Beispiel: Berechnung der Quadratwurzel einer negativen Zahl.
HINWEIS: Die Norm IEC 559 definiert zwei NaN-Klassen: quiet NaN (qNaN) und
signaling NaN (sNaN). qNaN ist ein NaN, bei dem das höherwertige Fraktionsbit
gesetzt ist, und sNaN ist ein NaN, bei dem das höherwertige Fraktionsbit nicht
gesetzt ist (Bitnummer 22). qNaNs dürfen in den meisten arithmetischen
Operationen ohne Meldung einer Ausnahme mitlaufen. sNaNs signalisieren in der
Regel eine Ausnahme aufgrund einer ungültigen Operation, wenn sie als
Operanden in arithmetischen Operationen auftreten (siehe %SW17 und %S18).
Netzwerk
Netzwerk hat zwei verschiedene Bedeutungen.
z LD:
Ein Netzwerk ist eine Gruppe untereinander verknüpfter Grafikelemente. Die
Reichweite eines Netzwerks stimmt mit dem Bereich der Programmorganisati-
onseinheit (Section) überein, in der sich das Netzwerk befindet.
z Kommunikationsspezifische Expertenmodule:
Ein Netzwerk ist eine Gruppe von Stationen, die miteinander kommunizieren.
Die Bezeichnung „Netzwerk“ wird auch für eine Gruppe miteinander verknüpfter
Grafikelemente verwendet. Diese Gruppe bildet dann einen Teil eines
Programms, das aus einer Gruppe von Netzwerken bestehen kann.
Prozedur
Prozeduren sind aus technischer Sicht Funktionen. Der einzige Unterschied zu
Elementarfunktionen besteht darin, dass Prozeduren mehr als einen Ausgang
aufnehmen können und dass sie den Datentyp VAR_IN_OUT unterstützen.
Ansonsten unterscheiden sie sich nicht von Elementarfunktionen.
Prozeduren sind eine Erweiterung von IEC 61131-3.
REAL (Gleitkomma)
Der Typ Real wird in 32 Bit codiert.
Im folgenden Diagramm wird der zulässige Wertebereich grau dargestellt.
Bei Berechnungsergebnissen
z zwischen -1,175494e-38 und 1,175494e-38 gilt es als ein DEN.
z kleiner als -3,402824e+38 wird das Symbol -INF (für -Unendlich) angezeigt.
z größer als +3,402824e+38 wird das Symbol INF (für +Unendlich) angezeigt.
z vom Typ undefiniert (Quadratwurzel einer negativen Zahl) wird das Symbol +NaN
oder -NaN (Not a Number) angezeigt.
HINWEIS: Die Norm IEC 559 definiert zwei NaN-Klassen: quiet NaN (qNaN) und
signaling NaN (sNaN). qNaN ist ein NaN, bei dem das höherwertige Fraktionsbit
gesetzt ist, und sNaN ist ein NaN, bei dem das höherwertige Fraktionsbit nicht
gesetzt ist (Bitnummer 22). qNaNs dürfen in den meisten arithmetischen
Operationen ohne Meldung einer Ausnahme mitlaufen. sNaNs signalisieren in der
Regel eine Ausnahme aufgrund einer ungültigen Operation, wenn sie als
Operanden in arithmetischen Operationen auftreten (siehe %SW17 und %S18).
HINWEIS: Wenn ein Operand eine DEN (Denormalized number, dt. Denormierte
Zahl) ist, ist das Ergebnis nicht signifikant.
Real-Literale
Werte von Real-Literalen sind Zahlen, die in einer oder mehreren Dezimalstellen
ausgedrückt werden.
Beispiel:
-12.0, 0.0, +0.456, 3.14159_26
Register
Lokalisierte oder nicht lokalisierte 16-Bit-Variable vom Typ UINT oder Array of 16
Bool.
HINWEIS: Register ist ein Ausdruck aus der LL984-Programmiersprache.
Schlüsselwort
Ein Schlüsselwort ist eine eindeutige Zeichenkombination, die als Element einer
syntaktischen Programmiersprache verwendet wird (siehe die Definition in Anhang
B der IEC-Norm 61131-3. Alle in Unity Pro und dieser Norm verwendeten Schlüssel-
wörter sind im Anhang C der IEC-Norm 61131-3 aufgeführt. Diese Schlüsselwörter
dürfen nicht als Bezeichner in Ihren Programmen verwendet werden
(Variablennamen, Sections, DFB-Typen usw.)).
SFC
SFC bedeutet Sequential Function Chart (Ablaufsteuerung).
SFC ermöglicht die Darstellung des Betriebs sequenzieller Steuergeräte in
grafischer und strukturierter Weise. Die grafische Beschreibung des sequenziellen
Verhaltens eines Steuergeräts und der verschiedenen Situationen, die daraus
entstehen können, erfolgt anhand einfacher grafischer Symbole.
Single Token
Betriebsmodus eines SFC-Diagramms, bei dem jeweils nur ein einzelner Schritt
aktiv sein kann.
ST
ST ist die Abkürzung für die Programmiersprache Structured Text (Strukturierter
Text).
Die Programmiersprache Structured Text ist eine hochentwickelte Sprache ähnlich
den Programmiersprachen für Computer. Sie können damit Folgen von
Anweisungen strukturieren.
STRING
Eine Variable vom Typ STRING ist eine Zeichenfolge aus ASCII-Zeichen. Eine
Zeichenfolge kann maximal 65534 Zeichen lang sein.
TIME
Der Typ TIME gibt eine Dauer in Millisekunden an. Dieser Typ wird in 32 Bit codiert
und ermöglicht die Angabe von Perioden von 0 bis 2 32-1 Millisekunden.
Der Typ TIME verwendet folgende Einheiten: Tage (d), Stunden (h), Minuten (m),
Sekunden (s) und Millisekunden (ms). Ein Literalwert vom Typ TIME wird durch eine
Kombination der genannten Typen dargestellt, denen die Zeichenfolge T#, t#,
TIME# oder time# vorangestellt ist.
Beispiele: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
TIME-Literale
Der Typ TIME verwendet folgende Einheiten: Tage (d), Stunden (h), Minuten (m),
Sekunden (s) und Millisekunden (ms). Ein Literalwert vom Typ TIME wird durch eine
Kombination der genannten Typen dargestellt, denen die Zeichenfolge T#, t#,
TIME# oder time# vorangestellt ist.
Beispiele: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
TIME_OF_DAY
Siehe TOD
TOD
TOD ist die Abkürzung für Time of Day (Tageszeit).
Der Typ TOD ist in BCD im 32-Bit-Format codiert und enthält folgende Informationen:
z Stunde, codiert in einem 8-Bit-Feld.
z Minuten, codiert in einem 8-Bit-Feld.
z Sekunden, codiert in einem 8-Bit-Feld.
HINWEIS: Die 8 niederwertigen Bits werden nicht verwendet.
Der Typ Time of Day wird wie folgt eingegeben: TOD# <Stunde> : <Minuten> :
<Sekunden>
Diese Tabelle zeigt die oberen bzw. unteren Grenzwerte für jedes Feld:
Beispiel: TOD#23:59:45.
Token
Ein aktiver Schritt einer SFC wird als Token bezeichnet.
TOPO_ADDR_TYPE
Dieser vordefinierte Typ wird als Ausgang für die Funktion READ_TOPO_ADDR
verwendet. Der Typ ist ein ARRAY[0..4] OF Int. Sie finden ihn in der Libset (Satz von
Bibliotheken) in derselben Familie wie die EFs, die ihn verwenden.
UDINT
UDINT ist die Abkürzung für das Format Unsigned Double Integer (Ganzahl
doppelter Länge ohne Vorzeichen), codiert mit 32 Bit. Es gelten folgende obere und
untere Grenzwerte: 0 bis (2 hoch 32) - 1.
Beispiel:
0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777,
16#FFFFFFFF.
UINT
UINT ist die Abkürzung für das Format Unsigned Integer (Ganzzahl ohne
Vorzeichen), codiert mit 16 Bit. Es gelten folgende obere und untere Grenzwerte: 0
bis (2 hoch 16) - 1.
Beispiel:
0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.
Variable
Speichereinheit vom Typ BOOL, WORD, DWORD usw., deren Inhalt vom Programm
während der Ausführung verändert werden kann.
WORD
Der Typ WORD ist im 16-Bit-Format codiert und wird für Operationen an Bit-
Zeichenfolgen verwendet.
Diese Tabelle zeigt die unteren bzw. oberen Grenzwerte der möglichen Basen:
Index
B
AC
Specials Gleitkommawerte
L9E_ARCOS, 177
Arkussinus eines Winkels (in Radiant) für
A Gleitkommawerte
L9E_ARSIN, 179
Abfrage Arkustangens eines Winkels (in Radiant) für
L9_SENS, 329 Gleitkommawerte
Abgeleiteter Funktionsbaustein, 22 L9E_ARTAN, 181
Abwärtszähler Aufwärtszähler
L9_DCTR, 151 L9_UCTR, 161
Addition
L9_ADD, 261
Addition Ganzzahl + Gleitkommawert B
L9E_ADDIF, 173
Bausteinlayout
Addition mit doppelter Genauigkeit
LL984, 23
L9E_ADDDP, 169
Bausteintypen, 22
Addition mit Gleitkommawerten
Berechnete Preset-Formel
L9E_ADDFP, 171
L9P_CALC, 421
Aktivierung der Interrupts
Berechnung der Differentialrate über einen
L9_IE, 55
vorgegebenen Zeitraum
Analogausgang
L9P_RATE, 461
L9P_AOUT, 413
Berechnung des Mittelwerts gewichteter Ein-
Analogeingang
gänge
L9P_AIN, 403
L9P_AVER, 417
Änderung des Vorzeichens einer Gleitkom-
Beschriftung für ein Unterprogramm (1 Kno-
mazahl
ten)
L9E_CHSIN, 183
L9_LAB, 345
Anstiegsbegrenzung für Pv-Änderungen
Bibliothek
L9P_LIMV, 437
Installation, 19
Antilogarithmus Basis 10
Binär- zu Binärcode
L9E_ANLOG, 175
L9_BCD, 289
Arkuskosinus eines Winkels (in Radiant) für
Bitänderung Eingangsauswahl
L9_BROT, 311 L9P_SEL, 473
Bitsteuerung Eingangsintegration in spezifischen Interval-
L9_NBIT, 315 len
Blockverschiebung L9P_INTEG, 429
L9_BLKM, 357 Eingangsvergleich
Blockverschiebung mit deaktivierten Inter- L9_ICMP, 47, 47
rupts Elementare Funktion, 22
L9_BMDI, 363 Elementarer Funktionsbaustein, 22
C
CONTL_COMM, 33
COSD
Kosinus eines Winkels (in Grad) für Gleit-
kommawerte, 249
COUNT_TIME, 149
D
Deaktivierung der Interrupts
L9_ID, 53
Direkter E/A-Zugriff
L9_IMIO, 57, 57
Diverses
L9_DISA, 339
Division
L9_DIV, 263
Division Ganzzahl durch Gleitkommawert
L9E_DIVIF, 205
Division Gleitkommawert durch Ganzzahl
L9E_DIVFI, 201
Division mit doppelter Genauigkeit
L9E_DIVDP, 199
Division von 16 Bit
L9_DV16, 267
Division von Gleitkommawerten
L9E_DIVFP, 203
Drum-Schrittfolgesteuerung
L9_DRUM, 43
E
Eingangs-/Ausgangsflags, 401
K L9_CMPR, 305
L9_COMP
Komm
Matrixumkehrung, 309
L9_MSTR, 111
L9_DCTR
Kommunikationsmodus
Abwärtszähler, 151
L9_XMIT, 121
L9_DIOH
Kompletter PID-Regler ohne Interaktion
Funktionsfähigkeit dezentraler E/A, 39
L9P_KPID, 481
L9_DISA, 339
Konvertierung Ganzzahl in Gleitkommawert
L9_DIV
L9E_CNVIF, 193
Division, 263
Konvertierung Gleitkommawert in Ganzzahl
L9_DRUM
L9E_CNVFI, 191
Drum-Schrittfolgesteuerung, 43
Konvertierung Grad in Radiant für Gleitkom-
L9_DV16
mawerte
Division von 16 Bit, 267
L9E_CNVDR, 189
L9_FIN, 365
Konvertierung Radiant in Grad für Gleitkom-
L9_FOUT, 369
mawerte
L9_FTOI
L9E_CNVRD, 195
Gleitkommawert in Ganzzahl, 291
Konvertierungsmodus
Math, 291
L9_XMIT, 141
L9_IBKR
Kosinus eines Winkels (in Grad) für Gleit-
Indirektes Lesen von Blöcken, 373
kommawerte
L9_IBKW
COSD, 249
Indirektes Schreiben von Blöcken, 375
Kosinus eines Winkels (in Radiant) für Gleit-
L9_ICMP
kommawerte
Eingangsvergleich, 47
L9E_COS, 197
L9_ID
Deaktivierung der Interrupts, 53
L L9_IE
Aktivierung der Interrupts, 55
L9_AD16 L9_IMIO
Hinzufügen von 16 Bit, 257 Direkter E/A-Zugriff, 57
L9_ADD L9_ITOF
Addition, 261 integer to floating point, 293
L9_AND, 297 Math, 293
L9_BCD L9_JSR
Binär- zu Binärcode, 289 Sprung zu Unterprogramm (2 Knoten),
Math, 289 343
L9_BLKM L9_LAB
Verschieben, 357 Beschriftung für ein Unterprogramm (1
L9_BLKT, 359 Knoten), 345
L9_BMDI L9_MRTM
Blockverschiebung mit deaktivierten In- Übertragung mehrerer Register, 63
terrupts, 363 L9_MSTR
L9_BROT, 301, 311 Komm, 111
L9_CKSM Modbus Plus-Master , 111
Prüfsumme, 35
L9E_LOGFP L9P_AIN
Zehnerlogarithmus mit Gleitkommawer- Analogeingang, 403
ten, 217 L9P_ALARM
L9E_MULDP Zentrale Alarmverwaltung, 409
Multiplikation mit doppelter Genauigkeit, L9P_AOUT
219 Analogausgang, 413
L9E_MULFP L9P_AVER
Multiplikation von Gleitkommawerten, Berechnung des Mittelwerts gewichteter
221 Eingänge, 417
L9E_MULIF L9P_CALC
Multiplikation Ganzzahl x Gleitkomma- Berechnete Preset-Formel, 421
wert, 223 L9P_DELAY
L9E_PI Warteschlange für Zeitverzögerung, 425
Laden des Gleitkommawerts von „Pi“, L9P_INTEG
225 Eingangsintegration in spezifischen In-
L9E_POW tervallen, 429
Potenzierung eines Gleitkommawerts mit L9P_KPID
einem Ganzzahl-Exponenten, 227 Kompletter PID-Regler ohne Interaktion,
L9E_SINE 481
Sinus eines Winkels (in Radiant) für L9P_LIMIT
Gleitkommawerte, 229 Pv-Begrenzer, 433
L9E_SQRFP L9P_LIMV
Quadratwurzel von Gleitkommawerten, Anstiegsbegrenzung für Pv-Änderungen,
231 437
L9E_SQRT L9P_LKUP
Quadratwurzel von Gleitkommawerten, Verweistabelle, 441
233 L9P_LLAG
L9E_SQRTP Lead/Lag-Filter erster Ordnung, 445
Prozess-Quadratwurzel, 235 L9P_MODE
L9E_SUBDP Setzen von Eingängen in den Automatik-
Subtraktion mit doppelter Genauigkeit, oder Handbetrieb, 449
237 L9P_ONOFF
L9E_SUBFI ON-/OFF-Werte für Totzone, 453
Subtraktion Gleitkommawert – Ganzzahl, L9P_PI
239 ISA-PI ohne Interaktion, 501
L9E_SUBFP L9P_PID
Subtraktion von Gleitkommawerten, 241 ISA-PID ohne Interaktion, 509
L9E_SUBIF L9P_RAMP
Subtraktion Ganzzahl – Gleitkommawert, Rampe zum Sollwert mit konstanter Ra-
243 te, 457
L9E_TAN L9P_RATE
Tangens eines Winkels (in Radiant) für Berechnung der Differentialrate über ei-
Gleitkommawerte, 245 nen vorgegebenen Zeitraum, 461
L9P L9P_RATIO
L9P_ALARM, 409 Verhältnisregler mit 4 Stationen, 465
L9P_RMPLN Matrix
Logarithmische Rampe zum Sollwert, L9_BROT, 311
469 L9_CMPR, 305
L9P_SEL L9_COMP, 309
Eingangsauswahl, 473 L9_NBIT, 315
L9P_TOTAL L9_NCBT, 317
Summierer zur Durchflussdosierung, 477 L9_NOBT, 319
Laden des Gleitkommawerts von „Pi“ L9_OR, 321
L9E_PI, 225 L9_RBIT, 325
Layout L9_SBIT, 327
LL984, 23 L9_SENS, 329
Lead/Lag-Filter erster Ordnung L9_XOR, 333
L9P_LLAG, 445 Matrixumkehrung
LL984-Bausteinlayout, 23 L9_COMP, 309
Logarithmische Rampe zum Sollwert Millisekunden-Zeitgeber
L9P_RMPLN, 469 L9_T1MS, 159
Logarithmus Basis 10 MISC, 337
L9E_LOG, 215 Modbus Plus-Master
Logisch-ODER L9_MSTR, 111
L9_OR, 321 Modbus-Funktionen
Logisches UND L9_XMIT, 115
L9_AND, 297 MOVE, 355
Multiplikation
L9_MUL, 275
M Multiplikation Ganzzahl x Gleitkommawert
MATH, 255 L9E_MULIF, 223
Math Multiplikation mit doppelter Genauigkeit
L9_AD16, 257 L9E_MULDP, 219
L9_ADD, 261 Multiplikation von 16 Bit
L9_BCD, 289 L9_MU16, 271
L9_DIV, 263 Multiplikation von Gleitkommawerten
L9_DV16, 267 L9E_MULFP, 221
L9_FTOI, 291
L9_ITOF, 293
L9_MU16, 271 N
L9_MUL, 275 Natürlicher Logarithmus mit Gleitkomma-
L9_SU16, 279 werten
L9_SUB, 283 L9E_LNFP, 213
L9_TEST, 287 NC-Bit
MATRIX, 295 L9_NCBT, 317
Matrix Nicht implementierte Funktionsbausteine, 31
L9_AND, 297 NO-Bit
matrix L9_NOBT, 319
L9_BROT, 301
O Prozess-Quadratwurzel
L9E_SQRTP, 235
ON-/OFF-Werte für Totzone
Prüfsumme
L9P_ONOFF, 453
L9_CKSM, 35
Pv-Begrenzer
P L9P_LIMIT, 433
PCFL
Funktionsbibliothek für die Prozess- Q
steuerung, 397
Quadratwurzel von Gleitkommawerten
pcfl
L9E_SQRFP, 231
L9P_AIN, 403
L9E_SQRT, 233
L9P_AOUT, 413
L9P_AVER, 417
L9P_CALC, 421 R
L9P_DELAY, 425
Rampe zum Sollwert mit konstanter Rate
L9P_INTEG, 429
L9P_RAMP, 457
L9P_KPID, 481
Register in Tabelle
L9P_LIMIT, 433
L9_R2T, 385
L9P_LIMV, 437
Registervergleich
L9P_LKUP, 441
L9_CMPR, 305
L9P_LLAG, 445
Rückkehr von einem Unterprogramm (1
L9P_MODE, 449
Knoten)
L9P_ONOFF, 453
L9_RET, 347
L9P_PI, 501
L9P_PID, 509
L9P_RAMP, 457 S
L9P_RATE, 461
L9P_RATIO, 465 Schnittstellen zur Ablaufsteuerung
L9P_RMPLN, 469 L9_SCIF, 89
L9P_SEL, 473 Schrittfolgesteuerung
L9P_TOTAL, 477 L9_DRUM, 43
PCFL-Operationen, 400 Sekunden-Zeitgeber
Portstatusmodus L9_T1, 157
L9_XMIT, 133 Setzen von Bits
Potenzierung eines Gleitkommawerts mit ei- L9_SBIT, 327
nem Ganzzahl-Exponenten Setzen von Eingängen in den Automatik-
L9E_POW, 227 oder Handbetrieb
process control function library L9P_MODE, 449
PCFL, 397 SIND
Proportional-Integral-Differential Sinus eines Winkels (in Grad) für Gleit-
L9_PID2, 75 kommawerte, 251
Protokoll für Gleitkommawert-Ereignisse Sinus eines Winkels (in Grad) für Gleitkom-
L9E_ERLOG, 207 mawerte
Prozedur, 22 SIND, 251
Sinus eines Winkels (in Radiant) für Gleit-
kommawerte U
L9E_SINE, 229
Überspringen von Netzwerken (1 Knoten)
Sprung zu Unterprogramm (2 Knoten)
L9_SKP, 349
L9_JSR, 343
Übertragung mehrerer Register
Status
L9_MRTM, 63
L9_STAT, 93
Überwachen deaktivierter Spulen und Ein-
Subtraktion
gänge
L9_SUB, 283
L9_DISA, 339
Subtraktion Ganzzahl – Gleitkommawert
Unterprogramm-Verarbeitung, 353
L9E_SUBIF, 243
Subtraktion Gleitkommawert – Ganzzahl
L9E_SUBFI, 239 V
Subtraktion mit doppelter Genauigkeit
L9E_SUBDP, 237 Verfügbarkeit der Bausteine
Subtraktion von 16 Bit Auf verschiedenen Hardwareplattfor-
L9_SU16, 279 men, 25
Subtraktion von Gleitkommawerten Vergleich Ganzzahl – Gleitkommawert
L9E_SUBFP, 241 L9E_CMPIF, 187
Suche Vergleich von Gleitkommawerten
L9_SRCH, 377 L9E_CMPFP, 185
Summierer zur Durchflussdosierung Verhältnisregler mit 4 Stationen
L9P_TOTAL, 477 L9P_RATIO, 465
Verschieben
L9_BLKM, 357
T L9_BLKT, 359
L9_FIN, 365
Tabelle in Block
L9_FOUT, 369
L9_TBLK, 379
L9_IBKR, 373
Tabelle in Register
L9_IBKW, 375
L9_T2R, 389
L9_R2T, 385
Tabelle in Tabelle
L9_SRCH, 377
L9_T2T, 393
L9_T2R, 389
TAND
L9_T2T, 393
Tangens eines Winkels (in Grad) für
L9_TBLK, 379
Gleitkommawerte, 253
Verschiebung Block in Tabelle
Tangens eines Winkels (in Grad) für Gleit-
L9_BLKT, 359
kommawerte
Verschiebung mit deaktivierten Interrupts
TAND, 253
L9_BMDI, 363
Tangens eines Winkels (in Radiant) für Gleit-
Verschiedenes, 337
kommawerte
Verweistabelle
L9E_TAN, 245
L9P_LKUP, 441
Transmit
L9_XMIT, 113
W
Warteschlange für Zeitverzögerung
L9P_DELAY, 425
Z
Zähler, 149
Zähler und Zeitgeber
L9_DCTR, 151
L9_T001, 153
L9_T01, 155
L9_T1, 157
L9_T1MS, 159
L9_UCTR, 161
Zehnerlogarithmus mit Gleitkommawerten
L9E_LOGFP, 217
Zehntelsekunden-Zeitgeber
L9_T01, 155
Zeitgeber, 149
Zentrale Alarmverwaltung
L9P_ALARM, 409
Zurücksetzen von Bits
L9_RBIT, 325
Zyklische Bitverschiebung
L9_BROT, 301