Sie sind auf Seite 1von 552

Unity Pro

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

Auf einen Blick

Ziel dieses Dokuments


In diesem Dokument werden die Funktionsbausteine der Original-LL984-Baustein-
bibliothek von Unity Pro beschrieben.

Gültigkeitsbereich
Diese Dokumentation ist gültig ab Unity Pro Version 6,1.

Weiterführende Dokumentation

Titel der Dokumentation Referenz-Nummer


Unity Pro mit LL984-Editor Betriebsarten-Handbuch EIO0000000549
Unity Pro Betriebsarten-Handbuch EN 33003101
Unity Pro Referenzhandbuch zu Sprachen und Programmstruktur EN 35006144

Diese technischen Veröffentlichungen sowie andere technische Informationen


stehen auf unserer Website www.schneider-electric.com zum Download bereit.

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

Installation der Original-LL984-


Bausteinbibliothek von Unity Pro
1
Installation der Original-LL984-Bausteinbibliothek von Unity Pro

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.

HINWEIS: Detaillierte Informationen zur Installation finden Sie in der Datei


ReadMe.EN.pdf der Original-LL984-Bausteinbibliothek von Unity Pro. Die Datei
ReadMe.EN.pdf ist auf der CD im Verzeichnis \program files\doc\1033\
gespeichert.

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

Die Ein- und Ausgänge an den Bausteinzellen erhalten entsprechende


Bezeichnungen:
z Oberer Eingangspin und oberer Ausgangspin
z Mittlerer Eingangspin und mittlerer Ausgangspin
z Unterer Eingangspin und unterer Ausgangspin

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

Verfügbarkeit der Bausteine auf


verschiedenen
Hardwareplattformen 3
Inhalt dieses Kapitels
Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Verfügbarkeit der Bausteine auf den verschiedenen Hardware-Plattformen 26
Nicht implementierte Funktionsbausteine 31

EIO0000000808 11/2011 25
Verfügbarkeit der Bausteine

Verfügbarkeit der Bausteine auf den verschiedenen Hardware-Plattformen

Einführung
Welche Bausteine auf Ihrer Hardware-Plattform verfügbar sind, entnehmen Sie bitte
den folgenden Tabellen.

CONTL_COMM
Verfügbarkeit der Bausteine:

Name des Bausteins Bausteintyp M340 Quantum


L9_CKSM EFB + +
L9_DIOH EFB - +
L9_DRUM EFB + +
L9_ICMP EFB + +
L9_ID EFB + +
L9_IE EFB + +
L9_IMIO EFB - +
L9_MRTM EFB + +
L9_PID2 EFB + +
L9_SCIF EFB + +
L9_STAT EFB - +
L9_MSTR EFB + (1) +

L9_XMIT EFB - +
1
= nur für Funktionscodes 1 und 2 (Daten schreiben/Daten lesen)

COUNT_TIME (Zeitgeber und Zähler)


Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9_DCTR EFB + +
L9_T001 EFB + +
L9_T01 EFB + +
L9_T1 EFB + +
L9_T1MS EFB + +
L9_UCTR EFB + +

26 EIO0000000808 11/2011
Verfügbarkeit der Bausteine

EMTH
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9E_ADDDP DFB + +
L9E_ADDFP DFB + +
L9E_ADDIF DFB + +
L9E_ANLOG DFB + +
L9E_ARCOS DFB + +
L9E_ARSIN DFB + +
L9E_ARTAN DFB + +
L9E_CHSIN DFB + +
L9E_CMPFP DFB + +
L9E_CMPIF DFB + +
L9E_CNVDR DFB + +
L9E_CNVFI DFB + +
L9E_CNVIF DFB + +
L9E_CNVRD DFB + +
L9E_COS DFB + +
L9E_DIVDP DFB + +
L9E_DIVFI DFB + +
L9E_DIVFP DFB + +
L9E_DIVIF DFB + +
L9E_ERLOG DFB + +
L9E_EXP DFB + +
L9E_LNFP DFB + +
L9E_LOG DFB + +
L9E_LOGFP DFB + +
L9E_MULDP DFB + +
L9E_MULFP DFB + +
L9E_MULIF DFB + +
L9E_PI DFB + +
L9E_POW DFB + +
L9E_SINE DFB + +
L9E_SQRFP DFB + +
L9E_SQRT DFB + +

EIO0000000808 11/2011 27
Verfügbarkeit der Bausteine

Bausteinname Bausteintyp M340 Quantum


L9E_SQRTP DFB + +
L9E_SUBDP DFB + +
L9E_SUBFI DFB + +
L9E_SUBFP DFB + +
L9E_SUBIF DFB + +
L9E_TAN DFB + +

EQN_EXT
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


COSD Prozedur + +
SIND Prozedur + +
TAND Prozedur + +

MATH
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9_AD16 Prozedur + +
L9_AD16 Prozedur + +
L9_BCD Prozedur + +
L9_DIV Prozedur + +
L9_DV16 Prozedur + +
L9_FTOI Prozedur + +
L9_ITOF Prozedur + +
L9_MU16 Prozedur + +
L9_MUL Prozedur + +
L9_SU16 Prozedur + +
L9_SUB Prozedur + +
L9_TEST Prozedur + +

28 EIO0000000808 11/2011
Verfügbarkeit der Bausteine

MATRIX
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9_AND Prozedur + +
L9_BROT Prozedur + +
L9_CMPR Prozedur + +
L9_COMP Prozedur + +
L9_MBIT Prozedur + +
L9_NBIT Prozedur + +
L9_NCBT Prozedur + +
L9_NOBT Prozedur + +
L9_OR Prozedur + +
L9_RBIT Prozedur + +
L9_SBIT Prozedur + +
L9_SENS Prozedur + +
L9_XOR Prozedur + +

MISC (Verschiedenes)
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9_DISA EF + +
L9_JSR Prozedur + +
L9_LAB EF + +
L9_RET EF + +
L9_SKP EF + +

MOVE
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9_BLKM Prozedur + +
L9_BLKM Prozedur + +
L9_BMDI Prozedur + +
L9_FIN Prozedur + +
L9_FOUT Prozedur + +

EIO0000000808 11/2011 29
Verfügbarkeit der Bausteine

Bausteinname Bausteintyp M340 Quantum


L9_IBKR Prozedur + +
L9_IBKW Prozedur + +
L9_R2T Prozedur + +
L9_SRCH Prozedur + +
L9_T2R Prozedur + +
L9_T2T Prozedur + +
L9_TBLK Prozedur + +

PCFL
Verfügbarkeit der Bausteine:

Bausteinname Bausteintyp M340 Quantum


L9P_AIN DFB + +
L9P_ALARM DFB + +
L9P_AOUT DFB + +
L9P_AVER DFB + +
L9P_CALC DFB + +
L9P_DELAY DFB + +
L9P_INTEG DFB + +
L9P_LIMIT DFB + +
L9P_LIMV DFB + +
L9P_LKUP DFB + +
L9P_LLAG DFB + +
L9P_MODE DFB + +
L9P_ONOFF DFB + +
L9P_RAMP DFB + +
L9P_RATE DFB + +
L9P_RATIO DFB + +
L9P_RAMPLN DFB + +
L9P_SEL DFB + +
L9P_TOTAL DFB + +
L9P_KPID DFB + +
L9P_PI DFB + +
L9P_PID DFB + +

30 EIO0000000808 11/2011
Verfügbarkeit der Bausteine

Nicht implementierte Funktionsbausteine

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

Wenn die importierte LL984 Ladder Logic-Anwendung nicht unterstützte LL984-


Logikanweisungen oder benutzerdefinierte Loadables enthält, halten Sie sich an die
Anweisungen unter Nicht unterstützte LL984-Vorgängeranwendungen und
benutzerdefinierte Loadables (siehe LL984-Editor, Referenzhandbuch, LL984 –
Sonderfunktionen).

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.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
4 L9_CKSM: Prüfsumme 35
5 L9_DIOH: Funktionsfähigkeit dezentraler E/A 39
6 L9_DRUM: Drum-Schrittfolgesteuerung 43
7 L9_ICMP: Eingangsvergleich 47
8 L9_ID: Deaktivierung der Interrupts 53
9 L9_IE: Aktivierung der Interrupts 55
10 L9_IMIO: Direkter E/A-Zugriff 57
11 L9_MRTM: Modul zur Übertragung mehrerer Register 63
12 L9_PID2: Proportional-Integral-Differential 75
13 L9_SCIF: Schnittstellen zur Ablaufsteuerung 89
14 L9_STAT: Status 93
15 L9_MSTR: Modbus Plus-Master 111
16 L9_XMIT - Transmit 113
17 L9_XMIT im Kommunikationsmodus 121
18 L9_XMIT im Portstatusmodus 133
19 L9_XMIT im Konvertierungsmodus 141

EIO0000000808 11/2011 33
CONTL_COMM

34 EIO0000000808 11/2011
Unity Pro
L9_CKSM
EIO0000000808 11/2011

L9_CKSM: Prüfsumme

4
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Initiiert die Prüfsummenberechnung
der Quelltabelle
Weitere Informationen finden Sie unter
„Eingangsparameter“ weiter unten.
Mitte CKSM1 BOOL – ON = CKSM Auswahl 1
Weitere Informationen finden Sie unter
„Eingangsparameter“ weiter unten.
Unten CKSM2 BOOL – ON = CKSM Auswahl 2
Weitere Informationen finden Sie unter
„Eingangsparameter“ weiter unten.

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %MW Quelle
Erstes %MW-Wort in der Quelltabelle
Die Prüfsummenberechnung wird mit
den Wörtern in dieser Tabelle
durchgeführt.

36 EIO0000000808 11/2011
L9_CKSM

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Mitte INOUT PHASE ArrUInt2 %MW Ergebnis/Anzahl
Erstes von zwei zusammenhängenden
Wörtern
RES[1]: Ergebnis der
Prüfsummenberechnung
RES[2]: Anzahl der für die
Prüfsummenberechnung verwendeten
%MW-Wörter in der Quelltabelle
Gültiger Bereich: 1 .. LENGTH
Unten IN LENGTH UINT 1...255 Länge
Anzahl der %MW-Wörter in der
Quelltabelle
Gültiger Bereich: 1 bis 255

Position Name Datentyp Adressbereich Bedeutung


Oberer OUT BOOL – ON = Prüfsummenberechnung erfolgreich
Ausgang (Rückmeldung des Status von Eingang IN)
Mittlerer ERR BOOL – ON = RES[2] Anzahl > Länge oder RES[2]
Ausgang Anzahl = 0

Eingangsparameter
Der Status der Eingangsparameter verweist auf den Typ der durchzuführenden
Prüfsummenberechnung:

Prüfsummenberechnung IN CKSM1 CKSM2


Direkte Prüfung ON OFF ON
Binäre Additionsprüfung ON ON ON
CRC-16 ON ON OFF
LRC ON OFF OFF

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

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Initiiert das Abrufen der angegebenen
Statuswörter aus der DIO-
Funktionsfähigkeitstabelle in die
Zieltabelle.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE UINT – Quelle
Der in SOURCE eingegebene Quellwert ist
eine 4-stellige Konstante mit dem Format
xxyy, wobei Folgendes gilt:
z xx ist ein Dezimalwert innerhalb des
Bereichs 00 bis 16, der auf die
Nummer des Steckplatzes verweist,
in dem sich der relevante DIO-
Prozessor befindet. Der Wert 00 kann
jederzeit verwendet werden, um auf
die Modbus Plus-Ports an der
Steuerung zu verweisen, ungeachtet
des betroffenen Steckplatzes.
z yy ist ein Dezimalwert innerhalb des
Bereichs 1 bis 64, der auf die Nummer
der Station auf dem zutreffenden
Token Ring verweist.
Beispiel: Wenn Statusinformationen ab
der dezentralen E/A-Station Nr. 1 in
einem Netzwerk abgerufen werden
sollen, das von einem DIO-Prozessor in
Steckplatz 3 verwaltet wird, geben Sie in
SOURCE den Wert 0301 ein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Ziel
Erstes %MW-Wort in der Zieltabelle, d. h. in
einem Block direkt aufeinander folgender
Wörter, in denen die abgerufenen
Funktionsfähigkeitsdaten gespeichert
werden sollen.

40 EIO0000000808 11/2011
L9_DIOH

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN LENGTH UINT 1...64 Länge
Die in LENGTH eingegebene Ganzzahl
gibt die Länge an, d. h. die Anzahl der
%MW-Wörter in der Zieltabelle. Die Länge
muss im Bereich von 1 bis 64 liegen.
Hinweis: Wenn Sie eine Länge angeben,
die die Anzahl der verfügbaren E/A-
Stationoen überschreitet, gibt der
Funktionsbaustein nur
Statusinformationen für die verfügbaren
Stationen zurück. Wenn Sie
beispielsweise die Stationsnummer 63
(yy) in SOURCE eingeben und dann eine
Länge von 5 anfordern, gibt der
Funktionsbaustein nur zwei Wörter
(Statuswörter der 63. und 64. E/A-
Station) in der Zieltabelle zurück.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Abruf erfolgreich
(Rückmeldung des Status von Eingang IN)
Unten ERR BOOL – ON = Ungültige Quelleingabe

EIO0000000808 11/2011 41
L9_DIOH

42 EIO0000000808 11/2011
Unity Pro
L9_DRUM
EIO0000000808 11/2011

L9_DRUM: Drum-
Schrittfolgesteuerung
6
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Initiiert die L9_DRUM-
Schrittfolgesteuerung.
Mitte INC BOOL – ON = Der Schrittzeiger wird mit dem
nächsten Schritt inkrementiert.
Unten RESET BOOL – ON = Der Schrittzeiger wird auf 0
zurückgesetzt.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben INOUT STEP_LOC UINT %MW Schrittzeiger
Das in STEP eingegebene Wort %MW
speichert die aktuelle Schrittnummer.
Der Wert in diesem Wort wird vom
Funktionsbaustein bei jeder Auflösung
referenziert. Wenn INC eingeschaltet
ist (ON), wird der Inhalt des Worts in
STEP mit dem nächsten Schritt in der
Sequenz inkrementiert, bevor der
Baustein aufgelöst ist.
Mitte INOUT DEST ANY_ARRAY_UINT %MW Schrittdatentabelle
Erstes Wort in einer Tabelle mit
Schrittdaten
Weitere Informationen finden Sie weiter
unten.

44 EIO0000000808 11/2011
L9_DRUM

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN LENGTH UINT 0...999 Länge
Die in LENGTH eingegebene Ganzzahl
gibt die Länge an, d. h. die Anzahl der in
der Schrittdatentabelle verwendeten
anwendungsspezifischen Wörter. Der
Wert für die Länge kann zwischen 0 und
999 liegen. Die Gesamtnazhl der in der
Schrittdatentabelle erforderlichen
Wörter entspricht der Länge + 6. Die
Länge muss größer oder gleich dem
Wert der verwendeten Schritte in Wort
DEST sein.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Schrittfolgesteuerung erfolgreich
(Rückmeldung des Status von Eingang IN)
Mitte LAST BOOL – ON = Schrittzeigerwert = Länge
Unten ERR BOOL – ON = Schrittfolgesteuerung nicht
erfolgreich

Block DEST
Die ersten 6 Wörter in der Schrittdatentabelle enthalten die für die Auflösung des
Bausteins erforderlichen Konstant- und Variablendaten:

Wort Name Inhalt


DEST[1] Maskierte Wird bei jeder Auflösung des Bausteins von L9_DRUM
Ausgangsdaten geladen. Enthält den mit dem Ausgangsmaskenwort
maskierten Inhalt des Worts mit den aktuellen
Schrittdaten.
DEST[2] Aktuelle Schrittdaten Wird bei jeder Auflösung des Bausteins von L9_DRUM
geladen. Enthält die Daten des Schrittzeigers. Löst die
automatische Berechnung der Wort-Offsets durch die
Bausteinlogik aus, wenn die Schrittdaten in der
Schrittdatentabelle abgerufen werden.
DEST[3] Ausgangsmaske Wird vom Benutzer vor Verwendung des Bausteins
geladen. L9_DRUM nimmt während der Logikauflösung
keine Änderung am Inhalt der Ausgangsmaske vor.
Enthält eine Maske, die bei jedem Sequenzschritt auf
die Daten angewendet wird.

EIO0000000808 11/2011 45
L9_DRUM

Wort Name Inhalt


DEST[4] Maschinen-ID Identifiziert die Bausteine L9_DRUM/L9_ICMP, die
einer spezifischen Maschinenkonfiguration
angehören.
Gültiger Bereich: 1 .. 9 999
Alle Drum-Bausteine derselben
Maschinenkonfiguration weisen dieselbe Maschinen-
ID auf.
DEST[5] Profil-ID Identifiziert die für die Schrittfolgesteuerung derzeit
geladenen Profildaten.
Gültiger Bereich: 1 .. 9 999
Alle Drum-Bausteine mit derselben Maschinen-ID
müssen dieselbe Profil-ID aufweisen.
DEST[6] Verwendete Schritte Wird vom Benutzer vor Verwendung des Bausteins
geladen und verweist auf die tatsächliche Anzahl der
aufzulösenden Schritte.
Gültiger Bereich: 1 .. LENGTH (Parameter des unteren
Knotens)

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

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Kaskadierte Bausteine L9_DRUM/L9_ICMP


Es besteht die Möglichkeit, eine Reihe von Bausteinen L9_DRUM und/oder
L9_ICMP in Kaskadenschaltung zu setzen, um eine mechanische Trommel mit
einer Breite von bis zu 512 Bit zu simulieren. Durch die Programmierung derselben
%MW-Wortreferenz in STEP_LOC aller betroffenen Bausteine werden diese in den
Kaskadenbetrieb gesetzt, sodass sie ohne zusätzliche Anwendungslogik als
gruppierte Einheit laufen.
Alle Bausteine L9_DRUM/L9_ICMP mit derselben Wortreferenz in STEP_LOC
werden automatisch synchronisiert. Sie müssen darüber hinaus über denselben
Konstantwert in LENGTH verfügen und für die Verwendung desselben Werts im Wort
mit den verwendeten Schritten in STEP_TAB konfiguriert werden.

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Initiiert den Eingangsvergleich.
Mitte CASCADE BOOL – Kaskadierender Eingang, der dem Baustein
signalisiert, dass der vorhergehende
L9_ICMP-Vergleich erfolgreich
durchgeführt wurde.
ON = Der Vergleichsstatus wird an den
mittleren Ausgang weitergegeben.

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Oben IN/OUT STEP_LOC UINT %MW Schrittzeiger
Aktuelle Schrittnummer
Weitere Informationen finden Sie weiter
unten.

48 EIO0000000808 11/2011
L9_ICMP

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Mitte IN/OUT STEP_TAB ANY_ARRAY_UINT %MW Schrittdatentabelle
Erstes Wort in einer Tabelle mti
Schrittdaten
Weitere Informationen finden Sie weiter
unten.
Unten IN LENGTH UINT 0...999 Länge
Anzahl der in der Schrittdatentabelle
verwendeten anwendungsspezifischen
Wörter.
Bereich: 0 ... 999
Weitere Informationen finden Sie weiter
unten.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Eingangsvergleich ausgelöst
(Rückmeldung des Status von Eingang
ENABLE).
Mitte MATCHED BOOL – ON = Dieser Vergleich und alle
vorhergehenden kaskadierten L9_ICMP
sind erfolgreich.
Unten ERR BOOL – ON = Fehler erkannt

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:

Wort Name Inhalt


STEP_TAB[1] Eingangsrohdaten Vom Benutzer aus einer Gruppe
sequenzieller Eingänge geladen, die
von L9_ICMP für den aktuellen
Schritt verwendet werden sollen.
STEP_TAB[2] Aktuelle Schrittdaten Wird bei jeder Auflösung des
Bausteins von L9_ICMP geladen.
Enthält eine Kopie der Daten im
Schrittzeiger. Bewirkt die
automatische Berechnung des Wort-
Offsets durch die Bausteinlogik,
wenn die Schrittdaten aus der
Schrittdatentabelle abgerufen
werden.
STEP_TAB[3] Eingangsmaske Wird vom Benutzer vor Verwendung
des Bausteins geladen.
Enthält eine Maske, die per UND-
Logik mit den Eingangsrohdaten für
jeden Schritt verknüpft werden muss
- maskierte Bits werden nicht
verglichen. Die maskierten Daten
werden im Wort mit den maskierten
Eingangsdaten platziert.
STEP_TAB[4] Markierte Eingangsdaten Wird bei jeder Auflösung des
Bausteins von L9_ICMP geladen.
Enthält das Ergebnis der per UND-
Logik verknüpften Eingangsmasken-
und Eingangsrohdaten.
STEP_TAB[5] Vergleichsstatus Wird bei jeder Auflösung des
Bausteins von L9_ICMP geladen.
Enthält das Ergebnis einer XOR-
Berechnung für die maskierten
Eingangsdaten und die maskierten
aktuellen Schrittdaten. Eingänge
ohne Maskierung, die sich nicht im
richtigen Logikstatus befinden, lösen
den Übergang des zugeordneten
Wortbits zu 1 aus. Bits ungleich Null
verursachen eine mangelnde
Übereinstimmung und MATCHED wird
nicht eingeschaltet (ON).

50 EIO0000000808 11/2011
L9_ICMP

Wort Name Inhalt


STEP_TAB[6] Maschinen-ID Identifiziert die Bausteine
L9_DRUM/L9_ICMP, die einer
spezifischen
Maschinenkonfiguration angehören.
Wertebereich: 0...9999 (0 = Baustein
nicht konfiguriert)
Alle Bausteine derselben
Maschinenkonfiguration weisen
dieselbe Maschinen-ID auf.
STEP_TAB[7] Profil-ID Identifiziert die für die
Schrittfolgesteuerung derzeit
geladenen Profildaten.
Wertebereich: 0...9999 (0 = Baustein
nicht konfiguriert)
Alle Bausteine mit derselben
Maschinen-ID müssen dieselbe
Profil-ID aufweisen.
STEP_TAB[8] Verwendete Schritte Wird vom Benutzer vor Verwendung
des Bausteins geladen.
L9_DRUM nimmt während der
Logikauflösung keine Änderung am
Inhalt von „Verwendete Schritte“ vor.
Die Anzahl muss ≤Tabellenlänge in
LENGTH des Bausteins L9_ICMP
sein.

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

L9_ID: Deaktivierung der


Interrupts
8
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Aktiviert die Maskierung der
Interrupts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN INT_TYPE UINT 1 oder 3 Typ der zu maskierenden Interrupts
(konstante Ganzzahl)
Weitere Informationen finden Sie weiter
unten.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Maskierung erfolgreich
(Rückmeldung des Status von Eingang IN)

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

L9_IE: Aktivierung der Interrupts

9
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Aktiviert die Maskierung der
Ereignisse.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN INT_TYPE UINT 1 oder 3 Typ der Interrupts, deren Maskierung
aufzuheben ist (konstante Ganzzahl)
Weitere Informationen finden Sie weiter
unten.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Aufhebung der Maskierung
erfolgreich
(Rückmeldung des Status von Eingang IN)

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

L9_IMIO: Direkter E/A-Zugriff

10
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Aktiviert den direkten E/A-Zugriff.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN CONTREG ArrUInt2 %MW Physikalische Adresse des E/A-Moduls
(CONTREG[1]) und Fehlerstatus
(CONTREG[2])
Weitere Informationen finden Sie in den
Tabellen unten.
Unten IN IOFUN UINT 1...3 Typ der Operation (konstante Ganzzahl
innerhalb des Bereichs 1 bis 3)
Weitere Informationen finden Sie in den
Tabellen unten.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = E/A-Zugriff erfolgreich
(Rückmeldung des Status von Eingang IN)
Unten ERR BOOL – ON = Fehler erkannt

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

Physikalische Adresse des E/A-Moduls


Das höherwertige Byte (1 bis 8) von CONTREG[1] ermöglicht Ihnen die Angabe des
Racks, in dem sich das zu verarbeitende E/A-Modul befindet. Das niederwertige
Byte (9 bis 16) ermöglicht die Angabe der Nummer des Steckplatzes im
angegebenen Rack, in dem sich das E/A-Modul befindet.
Bitreihenfolge

Rack/Steckplatz (LL984-kompatible Bitbeschreibung)

Bit 1...16 Funktion


1...5 (MSB) Nicht verwendet
6...8 (MSB) Racknummer 1 bis 4 (derzeit wird nur Rack 1 unterstützt)
Rack 1 nur für Quantum
Die lokalen Racks 1 bis einschließlich 4 können für 32-Bit-Compact
verwendet werden.
9...11 (LSB) Nicht verwendet
12...16 (LSB) Steckplatznummer

Racknummer (LL984-kompatible Bitbeschreibung)

Bit 1...16 Racknummer


6 7 8
0 0 1 Rack 1
Rack 1 nur für Quantum
Die Racks 1 bis einschließlich 4 können für 32-Bit-Compact verwendet
werden.
0 1 0 Rack 2
Die Racks 1 bis einschließlich 4 können für 32-Bit-Compact verwendet
werden.
0 1 1 Rack 3
Die Racks 1 bis einschließlich 4 können für 32-Bit-Compact verwendet
werden.
1 0 0 Rack 4
Die Racks 1 bis einschließlich 4 können für 32-Bit-Compact verwendet
werden.

EIO0000000808 11/2011 59
L9_IMIO

Steckplatznummer (LL984-kompatible Bitbeschreibung)

Bit 1...16 Steckplatznummer


12 13 14 15 16
0 0 0 0 1 Steckplatz 1
0 0 0 1 0 Steckplatz 2
0 0 0 1 1 Steckplatz 3
0 0 1 0 0 Steckplatz 4
0 0 1 0 1 Steckplatz 5
0 0 1 1 0 Steckplatz 6
0 0 1 1 1 Steckplatz 7
0 1 0 0 0 Steckplatz 8
0 1 0 0 1 Steckplatz 9
0 1 0 1 0 Steckplatz 10
0 1 0 1 1 Steckplatz 11
0 1 1 0 0 Steckplatz 12
0 1 1 0 1 Steckplatz 13
0 1 1 1 0 Steckplatz 14
0 1 1 1 1 Steckplatz 15
1 0 0 0 0 Steckplatz 16

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:

Ganzzahlwert Typ des direkten Zugriffs


1 Eingangsoperation: Übertragung der Daten aus dem angegebenen
Modul in den Signalspeicher
2 Ausgangsoperation: Übertragung der Daten aus dem Signalspeicher in
das angegebene Modul
3 E/A-Operation: Sowohl Eingang als auch Ausgang bei einem
bidirektionalen Modul

EIO0000000808 11/2011 61
L9_IMIO

62 EIO0000000808 11/2011
Unity Pro
L9_MRTM
EIO0000000808 11/2011

L9_MRTM: Modul zur Übertragung


mehrerer Register
11
Übersicht
In diesem Kapitel wird der EFB L9_MRTM beschrieben.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 64
Programmtabelle (L9_MRTM) 67
Steuertabelle (L9_MRTM) 69
Beispiel (L9_MRTM) 70

EIO0000000808 11/2011 63
L9_MRTM

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert die Operation.
Mitte TRANSFER BOOL – ON = Einen Block übertragen
Der Tabellenzeiger der Steuertabelle wird
um den Wert von LENGTH erhöht.

64 EIO0000000808 11/2011
L9_MRTM

Eingangspin Name Datentyp Adressbereich Bedeutung


Unten RESET BOOL – ON = Zurücksetzen
Der Tabellenzeiger in der Steuertabelle wird
auf den Übertragungsanfang
zurückgesetzt.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PROGRM ArrUInt3 %MW Programmtabelle
z Wort 1: Beginn der Übertragung
z Wort 2: Ende der Tabelle
z Wort 3: Reserviert

Mitte IN/OUT CONTROL ArrUInt5 %MW Steuertabelle


z Wort 1: Reserviert
z Wort 2: Adressenausgangsgerät in
Traffic Cop
z Wort 3: Adresseneingangsgerät in
Traffic Cop
z Wort 4: Zeiger in der Programmtabelle
(nur zur internen Verwendung)
z Wort 5: Fehlermaske

Unten IN LENGTH UINT 1...127 Anzahl der aus der Programmtabelle bei
jeder Übertragung verschobenen Wörter
Bereich: 1 bis 127

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Rückmeldung des Status von Eingang
ENABLE
Mitte COMPLETE BOOL – Block wurde aus der Programmtabelle in
den Steuerblock übertragen (bleibt nur für
1 Zyklus aktiv)
Unten END BOOL – ON = Zeigerwert ≥ Tabellenende

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:

Wenn Spannung Dann…


angelegt wird an...
den oberen Eingang wird der Funktionsbaustein für Datenübertragungen aktiviert.
(ENABLE) HINWEIS: Beim ersten Einschalten muss der untere Eingang mit Spannung versorgt werden.
den mittleren Eingang versucht der Funktionsbaustein, einen Block zu übertragen.
(TRANSFER) Vor Durchführung der Übertragung wird das Echowort ausgewertet. Bei dieser Auswertung
wird der Status des MSB (16#8000) nicht berücksichtigt.
Eine fehlende Übereinstimmung bedeutet einen Zustand, bei dem eine Übertragung nicht
zulässig ist.
Wird eine Übertragung genehmigt, dann wird ein Block aus der Tabelle ab dem
Tabellenzeiger übertragen.
Der Tabellenzeiger in der Steuertabelle wird um den Wert LENGTH (unterer Knoten)
inkrementiert.
Wenn der neue Wert des Zeigers dem Tabellenende entspricht oder größer ist, wird der
untere Ausgang eingeschaltet.
Ein Tabellenzeigerwert, der kleiner ist als das Tabellenende, bewirkt das Ausschalten des
Ausgangs.
den unteren Eingang wird der Funktionsbaustein zurückgesetzt.
(RESET) Der Tabellenzeiger in der Steuertabelle wird mit dem Wert für den Befehlsanfang aus dem
Header der Programmtabelle neu geladen.

HINWEIS: Der Funktionsbaustein L9_MRTM akzeptiert die Signalisierung eines


Fehlers von E/A-Modulen der Baureihe 800, die gültige Befehle an die Steuerung
zurückmelden, jedoch ein Bit setzen, um auf das Auftreten eines Fehlers zu
verweisen.
Diese Methode der Fehlersignalisierung gilt für Bewegungsmodule sowie für die
meisten anderen E/A-Module der Baureihe 800.

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

Speicher mit Traffic-Cop-Zuweisung

Gerät Speicher
B885-001 %IW1 bis %IW6
%MW1 bis %MW6
B805-016 %I1 bis %I16

Steuertabelle
Nachstehend die Steuertabelle für dieses Beispiel:

Adresse Wert Beschreibung


%MW50 0000 Für zukünftige Verwendung reserviert
%MW51 0001 Erstes %MW-Wort mit Traffic-Cop-
Zuweisung von LL984 zu ASCII-
Basismodul
%MW52 0001 %IW-Wort für Rückmeldungen
%MW53 - L9_MRTM-gesteuertes Wort für
Programmtabellenzeiger
%MW54 - L9_MRTM-gesteuerte Fehlercodes

70 EIO0000000808 11/2011
L9_MRTM

Programmtabelle
Nachstehend die Programmtabelle für dieses Beispiel:

Adresse Wert Beschreibung


%MW100 0103 %MW103 = Anfang der
Anweisungsblöcke
%MW101 0120 %MW120 = Ende der Programmtabelle
%MW102 - Reserviert
%MW103 2500 Anweisungsblock Nr. 1
%MW104 0001 Befehl: Wörter 00 bis 04 in ASCII-
Basismodul laden
%MW105 0002
%MW106 0003
%MW107 0004
%MW108 0005
%MW109 2505 Anweisungsblock Nr. 2
%MW110 0006 Befehl: Wörter 05 bis 09 in ASCII-
Basismodul laden
%MW111 0007
%MW112 0008
%MW113 0009
%MW114 0010
%MW115 2510 Anweisungsblock Nr. 3
%MW116 0011 Befehl: Wörter 10 bis 14 in ASCII-
Basismodul laden
%MW117 0012
%MW118 0013
%MW119 0014
%MW120 0015

Funktionsweise des Funktionsbausteins


In Bezugnahme auf das Netzwerk in der unten stehenden Abbildung wird bei
Einschalten von Kontakt %I1 die Spule %M501 mit Spannung versorgt und der
Zustand der Spule über den parallelen Strompfad bestehend aus Kontakt %M501
beibehalten.
Dadurch wird der Eingang TRANSFER des Funktionsbausteins über Kontakt %M501
eingeschaltet und L9_MRTM zum Durchlaufen eines Zyklus angeregt.
Der Inhalt von Block Nr. 1 wird in die Wörter %MW1 bis %MW6 verschoben.
Diese Aktion bewirkt den Anstieg des Ausgangs COMPLETE für 1 Zyklus und das
Einschalten der Spule %M500.

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.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 76
Detaillierte Beschreibung 83
Fehlerstatusbits 86

EIO0000000808 11/2011 75
L9_PID2

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben AUTO BOOL – 0 = Handbetrieb
1 = Automatikbetrieb
Mitte TRACK BOOL – 0 = Integral-Vorladefunktion ausgeschaltet
1 = Integral-Vorladefunktion eingeschaltet
Unten REVERSE BOOL – 0 = Ausgang bei Erhöhung von E
inkrementiert
1 = Ausgang bei Reduzierung von E
dekrementiert oder inkrementiert

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT SOURCE ARRAY[1...21] OF %MW Quelle
UINT, siehe Ersten 21 direkt aufeinander
Parameter SOURCE folgenden Wörter in einem
weiter unten Quellblock
Mitte IN/OUT DEST ARRAY[1...9] OF %MW Ziel
UINT, siehe Erste 9 direkt aufeinander folgende,
Parameter DEST für die L9_PID2-Berechnung
weiter unten verwendete Wörter
HINWEIS: In diese Wörter darf
nichts geladen werden.
Unten IN INTERVAL UINT 1... 255 Auflösungsintervall
Enthält eine Zahl zwischen 1 und
255, die darauf verweist, wie oft die
Funktion ausgeführt werden soll.
Weitere Informationen finden Sie im
Abschnitt INTERVAL
(Auflösungsintervall) weiter unten.

EIO0000000808 11/2011 77
L9_PID2

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben ERR BOOL – 1 = Ungültiger Benutzerparameter oder
Regelkreis AKTIV, jedoch nicht aufgelöst
Mitte HIGH BOOL – 1 = PV ≥ angegebene Obergrenze
Unten LOW BOOL – 1 = PV ≤angegebene Untergrenze

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:

Operation Wort 6 Wort 7 Wort 8 Wort 9


P ON - - ON
PI ON ON - -
PID ON ON ON -

Wort Bedeutung Inhalt Format


1 Skalierte PV Vom Block bei jeder Abfrage geladen UINT
Eine lineare Skalierung erfolgt bei %MWx + 13 unter Verwendung der
höher- und niederwertigen Bereiche von %MWx + 11 und %MWx + 12:
Skalierte PV = (%MWx13 / 4095) * (%MWx11 - %MWx12) + %MWx12
2 SP Geben Sie den Sollwert in physikalischen Einheiten an. Der Wert UINT
muss < Wert in Wort 12 und > Wert in Wort 13 sein.
3 Mv Vom Block bei jeder Auflösung des Regelkreises geladen UINT
Auf den Bereich 0 bis 4095 begrenzt, damit der Ausgang mit einem
analogen Ausgangsmodul kompatibel ist. Das manipulierte
Variablenwort kann für weitere CPU-Berechnungen, wie z. B.
kaskadierte Regelkreise, verwendet werden.
4 Angabe der Laden Sie einen Wert in dieses Wort, um eine Obergrenze für PV UINT
Obergrenze (gleich oder größer als SP) zu definieren. Geben Sie den Wert in
physikalischen Einheiten innerhalb des in den Wörtern 12 und 13
vorgegebenen Bereichs ein.

78 EIO0000000808 11/2011
L9_PID2

Wort Bedeutung Inhalt Format


5 Angabe der Laden Sie einen Wert in dieses Wort, um eine Untergrenze für PV UINT
Untergrenze (gleich oder kleiner als SP) zu definieren. Geben Sie den Wert in
physikalischen Einheiten innerhalb des in den Wörtern 12 und 13
vorgegebenen Bereichs ein.
6 Proportionalbereich Laden Sie in dieses Wort die gewünschte Proportionalkonstante UINT
innerhalb des Bereichs 5 bis 500. Je kleiner die Zahl, umso größer fällt
der Proporionalanteil aus. Damit L9_PID2 ordnungsgemäß ausgeführt
werden kann, muss eine gültige Zahl eingegeben werden.
7 Reset-Zeit-Konstante Laden Sie dieses Wort, um der Berechnung eine Integral-Aktion UINT
hinzuzufügen. Geben Sie einen Wert zwischen 0000 und 9999 ein, um
einen Bereich von 00,00 bis 99,99 Wiederholungen/Minute zu
definieren. Je höher die Zahl, umso größer fällt der Integralanteil aus.
Bei einem Wert > 9999 wird die L9_PID2-Berechnung angehalten.
8 Vorhaltezeit-Konstante Laden Sie dieses Wort, um der Berechnung eine Differential-Aktion UINT
hinzuzufügen. Geben Sie einen Wert zwischen 0000 und 9999 ein, um
einen Bereich von 00,00 bis 99,99 Minuten zu definieren. Je höher die
Zahl, umso größer fällt der Differentialanteil aus. Bei einem Wert >
9999 wird die L9_PID2-Berechnung angehalten.
9 Bias Laden Sie dieses Wort, um dem Ausgang einen Bias hinzuzufügen. UINT
Der Wert muss im Bereich 000 bis 4095 enthalten sein und wird direkt
Mv hinzugefügt, ungeachtet dessen, ob die Integralfunktion aktiviert
ist.
10 Windup-Obergrenze für Laden Sie dieses Wort mit der Obergrenze des Ausgangswerts UINT
die Integralfunktion (zwischen 0 und 4095), an der der Antirest-Windup wirksam wird. Die
Aktualisierung der Integralsumme wird angehalten, sobald dieser
Wert überschritten wird (normalerweise 4095).
11 Windup-Untergrenze Laden Sie dieses Wort mit der Untergrenze des Ausgangswerts UINT
für die Integralfunktion (zwischen 0 und 4095), an der der Antirest-Windup wirksam wird
(normalerweise 0).
12 Oberer physikalischer Laden Sie dieses Wort mit dem höchsten Wert, für den das Messgerät UINT
Bereich geeicht wurde. Wenn beispielsweise ein
Widerstandstemperaturmesser einen Bereich von 0 bis 500 abdeckt,
ist der oberee Grenzwert des physikalischen Bereichs 500. Der
Bereich muss als positive Ganzzahl zwischen 0001 und 9999
eingegebern werden, in Übereinstimmung mit dem Rohwert-
Analogeingang 4095.
13 Unterer physikalischer Laden Sie dieses Wort mit dem niedrigsten Wert, für den das UINT
Bereich Messgerät geeicht wurde. Der Bereich muss als positive Ganzzahl
zwischen 0 und 9998 eingegeben werden und kleiner sein als der
Wert in Wort 12. Er entspricht dem Rohwert-Analogeingang 0.
14 Rohwert- Das Logikprogramm lädt dieses Wort mit PV. Die Messung muss UINT
Analogmessung skaliert und linear innerhalb des Bereichs 0 bis 4095 erfolgen.

EIO0000000808 11/2011 79
L9_PID2

Wort Bedeutung Inhalt Format


15 Zeiger zum Wort Der Wert, den Sie in dieses Wort laden, zeigt zu dem Wort, das die UINT
LoopCounter Anzahl der in jedem Abfragezyklus aufgelösten Regelkreise zählt. Die
(Regelkreiszähler) Eingabe wird durch Verwerfen der höherwertigen Stelle in dem Wort
bestimmt, in dem die Steuerung die aufgelösten
Regelkreise/Abfragezyklen zählt. Wenn die Steuerung die Zählung z.
B. in Wort 41236 vornimmt, laden Sie den Wert 1236 in das Wort 15.
Derselbe Wert muss in Wort 15 in jedem L9_PID2-Baustein im
Logikprogramm geladen werden.
16 Maximale Anzahl an Aufgelöst in einem Abfragezyklus UINT
Regelkreisen Wenn Wort 15 einen Wert ungleich Null enthält, können Sie einen
Wert in dieses Wort laden, um die Anzahl der pro Zyklus aufgelösten
Regelkreise zu begrenzen.
17 Zeiger zum Reset- Der Wert, den Sie in dieses Wort laden, zeigt zu dem Speicherwort, UINT
Rückkopplungseingang das den Wert der Rückkopplung (F) enthält. Lassen Sie die 4 des
Rückkopplungsworts fallen und geben Sie die restlichen Stellen in
dieses Wort ein. Integrationsberechnungen sind von der Verknüpfung
des Werts F mit Mv abhängig. Das bedeutet, wenn sich der PID2-
Ausgang zwischen 0 und 4095 bewegt, so sollte sich auch F bewegen
zwischen 0 und 4095. Wenn keine externe Rückkopplung vorhanden
ist, stellen Sie dieses Register so ein, dass es auf Mv zeigt (Wort 3).
18 Ausgangsbegrenzung - Der in dieses Wort eingegebene Wert bestimmt die Obergrenze von UINT
Obergrenze Mv (normalerweise 4095).
19 Ausgangsbegrenzung - Der in dieses Wort eingegebene Wert bestimmt die Untergrenze von UINT
Untergrenze Mv (normalerweise 0).
20 RGL-Konstante Der in dieses Wort eingegebene Wert bestimmt den effektiven Grad UINT
(Ratenverstärkungsbeg der Differentialfilterung. Gültiger Bereich: 2 bis 30. Je kleiner der Wert,
renzung) umso intensiver fällt die Filterung aus.
21 Zeiger zur Integral- Der in dieses Wort eingegebene Wert zeigt auf das Speicherwort, das UINT
Vorladefunktion den Wert des Spureneingangs (T) enthält. Lassen Sie die 4 des
Nachführungsworts fallen und geben Sie die restlichen 4 Stellen in
dieses Wort ein. Der Wert in Wort T wird mit dem Eingang der
Integralverzögerung verbunden, sobald sowohl das Auto-Bit als auch
das Integral-Vorlade-Bit auf TRUE steht.

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.

Wort Bedeutung Inhalt Format


1 Regelkreisstatus 12 der 16 Bits in diesem Wort dienen der Definition des UINT
Regelkreisstatus (siehe unten).
2 Fehlerstatus-Bits (E) Dieses Wort zeigt die Fehlerstatusbits (siehe Seite 86) von L9_PID2 UINT
an.
3 Regelkreis-Timer Dieses Wort speichert eine Echtzeituhr, die bei jeder Auflösung des UINT
Regelkreises die Systemuhr abliest. Die Differenz zwischen der
aktuellen Uhrzeit und dem im Wort gespeicherten Zeitwert entspricht
der abgelaufenen Zeit. Wenn die abgelaufene Zeit ≥
Auflösungsintervall (10 Mal der in INTERVAL des Bausteins L9_PID2
vorgegebener Wert), dann sollte der Regelkreis in diesem
Abfragezyklus aufgelöst werden.
4 Zur internen Integral (Ganzzahlteil) INT
Verwendung
5 Zur internen Integral-Bruch 1 (1/3 000) UINT
Verwendung
6 Zur internen Integral-Bruch 2 (1/600.000) UINT
Verwendung
7 Pv x 8 (gefiltert) Dieses Wort speichert das Ergebnis des gefilterten Analogeinangs UINT
(von %MWx13) multipliziert mit 8. Dieser Wert erweist sich bei
Differential-Regeloperationen als nützlich.
8 Absolutwert von E Dieses Wort wird bei jeder Regelkreisauflösung aktualisiert und UINT
enthält den Absolutwert von (SP - PV). Bit 8 in %MWy verweist auf das
Vorzeichen von E.
9 Zur internen Aktuelles Auflösungsintervall UINT
Verwendung

Wort mit dem Regelkreisstatus


Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.

Bit 1...16 Funktion


1 Status des oberen Ausgangs (Parameterverriegelung oder erkannter Parameterfehler)
2 Status des mittleren Ausgangs (Obergrenze überschritten)

EIO0000000808 11/2011 81
L9_PID2

Bit 1...16 Funktion


3 Status des unteren Ausgangs (Untergrenze überschritten)
4 Regelkreis in Automatikbetrieb und Zeit seit der letzten Auflösung ≥ Auflösungsintervall
5 Winddown-Modus (für REV B oder höher)
6 Regelkreis in Automatikbetrieb, jedoch nicht aufgelöst
7 Das in %MWx15 referenzierte Wort %MWx14 ist gültig.
8 Vorzeichen von E in %MWy + 7
z 0 = + (plus)
z 1 = - (minus)

9 Rev B oder höher


10 Grenzwert für Integral-Windup nicht definiert
11 Integral-Windup übersättigt
12 Negative Werte in der Gleichung
13 Status des unteren Eingangs (direktes/umgekehrtes Verhalten)
14 Status des mittleren Eingangs (Nachführungsmodus)
z 1 = Nachführen
z 0 = Kein Nachführen

15 Status des oberen Eingangs (MAN / AUTO)


16 Bit 16 wird nach dem ersten Start bzw. der Einrichtung des Regelkreises gesetzt. Wenn das Bit
gelöscht wird, werden in einem Abfragezyklus folgende Aktionen ausgeführt:
z Das Wort %MWy mit dem Regelkreisstatus wird zurückgesetzt.
z Der aktuelle Wert in der Echtzeituhr wird in Wort 3 von DEST gespeichert (%MWy+2).
z Die Werte in den Wörtern 4 bis 6 (%MWy+3,4,5) werden gelöscht.
z Der Wert in Wort 14 von SOURCE (%MWx+13) x 8 wird im 6. implizierte Wort (%MWy+6) gespeichert.
z Das 7. und das 8. implizierte Wort (%MWy+7,8) werden gelöscht.

82 EIO0000000808 11/2011
L9_PID2

Detaillierte Beschreibung

Blockschaltbild

Die Elemente im Blockschaltbild haben folgende Bedeutung:

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

Wort 2 von Parameter DEST


Wort 2 von Parameter DEST enthält den Code des erkannten Fehlers.

Code Bedeutung Diese Wörter in SOURCE prüfen


0000 Keine erkannten Fehler, alle Bestätigungen OK Keine
0001 Skalierter SP über 9999 Wort 2
0002 Obergrenze über 9999 Wort 4
0003 Untergrenze über 9999 Wort 5
0004 Proportionalbereich unter 5 Wort 6
0005 Proportionalbereich über 500 Wort 6
0006 Reset über 99,99 U/Min. Wort 7
0007 Rate über 99,99 Min. Wort 8
0008 Bias über 4095 Wort 9
0009 Obere Integralgrenze über 4095 Wort 10
0010 Untere Integralgrenze über 4095 Wort 11
0011 Obere physikalische Einheitsskala über 9999 Wort 12
0012 Untere physikalische Einheitsskala über 9999 Wort 13
0013 Obere physikalische Einheitsskala unterhalb unterer Wort 12 und 13
physikalischer Einheitsskala
0014 Skalierter SP über oberer physikalischer Einheitsskala Wort 2 und 12
0015 Skalierter SP unterhalb unterer physikalischer Wort 2 und 13
Einheitsskala
0016 Maximale Regelkreise/Abfragezyklen > 9999 Wort 16
HINWEIS: Aktiviert durch die Funktion für max.
Regelkreise, d. h. nur wenn 4x15 ungleich Null.
0017 Reset-Rückkopplungszeiger außerhalb des Bereichs Wort 17
0018 Obere Ausgangsbegrenzung über 4095 Wort 18
0019 Untere Ausgangsbegrenzung über 4095 Wort 19
0020 Untere Ausgangsbegrenzung über oberer Wort 18 und 19
Ausgangsbegrenzung
0021 RGL unter 2 Wort 20
0022 RGL über 30 Wort 20
0023 F-Nachführungszeiger außerhalb des Bereichs Wort 21 mit eingeschaltetem TRACK
Hinweis: Nur dann aktiviert, wenn die
Nachführungsfunktion eingeschaltet ist, d. h. TRACK des
Bausteins LL_PID2 wird im Automatikbetrieb mit
Spannung versorgt.

86 EIO0000000808 11/2011
L9_PID2

Code Bedeutung Diese Wörter in SOURCE prüfen


0024 F-Nachführungszeiger gleich Null Wort 21 mit eingeschaltetem TRACK
Hinweis: Nur dann aktiviert, wenn die
Nachführungsfunktion eingeschaltet ist, d. h. TRACK des
Bausteins LL_PID2 wird im Automatikbetrieb mit
Spannung versorgt.
0025 LL_PID2 gesperrt (zu geringe Zykluszeit) Keine
Hinweis: Aktiviert durch die Funktion für max.
Regelkreise, d. h. nur wenn 4x15 ungleich Null.
Hinweis: Wenn eine Sperrung häufig vorkommt und die
Parameter alle gültig sind, erhöhen Sie die maximale
Anzahl an Regelkreisen/Abfragezyklen. Eine Sperrung
kann auch dann erfolgen, wenn die verwendeten
Zählwörter nicht bedarfsgerecht gelöscht werden.
0026 Regelkreisanzahl-Zeiger gleich Null Wort 15 und 16
Hinweis: Aktiviert durch die Funktion für max.
Regelkreise, d. h. nur wenn 4x15 ungleich Null.
0027 Regelkreisanzahl-Zeiger außerhalb des Bereichs Wort 15 und 16

EIO0000000808 11/2011 87
L9_PID2

88 EIO0000000808 11/2011
Unity Pro
L9_SCIF
EIO0000000808 11/2011

L9_SCIF: Schnittstellen zur


Ablaufsteuerung
13
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Initiiert die vorgegebene
Schrittfolgesteuerungsoperation.
Mitte INC BOOL – Drum-Betrieb: Der Schrittzeiger wird mit
dem nächsten Schritt inkrementiert.
ICMP-Betrieb: Der Vergleichsstatus wird
an MATCH angezeigt.
Unten RESET BOOL – Drum-Betrieb: ON = Zurücksetzen des
Schrittzeigers auf 0
ICMP-Betrieb: Nicht verwendet

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT STEP_LOC UINT %MW Schrittzeiger
Nummer des aktuellen Schritts in der
Schrittdatentabelle
Mitte IN/OUT STEP_TAB ANY_ARRAY_UINT %MW Schrittdatentabelle
Erstes Wort in der Schrittdatentabelle
Weitere Informationen finden Sie unten.
Unten IN LENGTH UINT 1 ... 255 Länge der Schrittdatentabelle
Die in LENGTH eingegebene Ganzzahl
gibt die Länge an, d. h. die Anzahl der in
der Schrittdatentabelle verwendeten
anwendungsspezifischen Wörter. Die
Länge kann ein Wert zwischen 1 und
255 sein.
Die Gesamtanzahl der in der
Schrittdatentabelle benötigten Wörter
entspricht der Länge + 6.

90 EIO0000000808 11/2011
L9_SCIF

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Vorgegebene
Schrittfolgesteuerungsoperation ausgelöst
(Rückmeldung des Status von Eingang IN)
Mitte MATCH BOOL – Im Drum-Betrieb: Der Ausgang MATCH
wechselt zu ON für den letzten Schritt.
Im ICMP-Betrieb: Der Ausgang MATCH
wechselt zu ON, um auf einen gültigen
Eingangsvergleich zu verweisen.
Hinweis: Wenn Sie MATCH verwenden,
müssen Sie beachten, dass bei der
Integration mit einer anderen Logik MATCH
auch eingeschaltet ist (ON), wenn der
Schrittzeiger den Wert Null aufweist und INC
auf ON steht. Dieser Zustand führt dazu,
dass sich der Schrittzeiger einen Schritt
außerhalb der Sequenz befindet.
Unten ERR BOOL – ON = Fehler erkannt

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:

Wort Name Beschreibung


1 Unterfunktionstyp 0 = Drum-Betrieb; 1 = ICMP-Betrieb
(Die Eingabe eines anderen Wert in dieses Wort führt
zum Übergang aller Ausgänge in den OFF-Status)
2 Maskierte Ausgangsdaten Von SCIF bei jeder Auflösung des Bausteins geladen.
(im Drum-Betrieb) Das Wort enthält den mit dem Ausgangsmaskenwort
maskierten Inhalt des Worts mit den aktuellen
Schrittdaten.
Eingangsrohdaten Vom Benutzer aus einer Gruppe sequenzieller Eingänge
(im ICMP-Betrieb) geladen, die vom Baustein für den aktuellen Schritt
verwendet werden sollen.
3 Aktuelle Schrittdaten Von SCIF bei jeder Auflösung des Bausteins geladen.
Das Wort enthält die Daten aus dem aktuellen Schritt
(vom Schrittzeiger ausgewiesen).

EIO0000000808 11/2011 91
L9_SCIF

Wort Name Beschreibung


4 Ausgangsmaske Wird vom Benutzer vor Verwendung des Bausteins
(im Drum-Betrieb) geladen.
Der Inhalt wird während der Logikauflösung nicht
geändert.
Enthält eine Maske, die bei jedem Sequenzschritt auf die
Daten angewendet wird.
Eingangsmaske Wird vom Benutzer vor Verwendung des Bausteins
(im ICMP-Betrieb) geladen.
Enthält eine Maske, die per UND-Operation mit den
Eingangsrohdaten für jeden Schritt verknüpft werden
muss - maskierte Bits werden nicht verglichen. Die
maskierten Daten werden im Wort mit den maskierten
Eingangsdaten platziert.
5 Maskierte Eingangsdaten Von SCIF bei jeder Auflösung des Bausteins geladen.
(im ICMP-Betrieb) Enthält das Ergebnis der per UND-Operation verknüpften
Eingangsmasken- und Eingangsrohdaten.
Nicht verwendet im Drum-Betrieb -
6 Vergleichsstatus Von SCIF bei jeder Auflösung des Bausteins geladen.
(im ICMP-Betrieb) Enthält das Ergebnis einer Exklusiv-ODER-Operation mit
den maskierten Eingangsdaten und den maskierten
aktuellen Schrittdaten. Eingänge ohne Maskierung, die
sich nicht im richtigen Logikstatus befinden, lösen den
Übergang des zugeordneten Wortbits zu 1 aus. Bits
ungleich Null verursachen eine mangelnde
Übereinstimmung und der Ausgang MATCH wird
ausgeschaltet (OFF).
Nicht verwendet im Drum-Betrieb -
7 Anfang der Datentabelle Das erste der 6 LENGTH-Wörter in der Tabelle mit den
benutzerspezifischen Steuerungsdaten.
Hinweis: Dieses Wort und die restlichen Wörter
enthalten die anwendungsspezifischen Schrittdaten für
den gesteuerten Prozess.

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.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
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

EIO0000000808 11/2011 93
L9_STAT

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

Eingangspin Name Datentyp Adressbereich Bedeutung


To IN BOOL – ON = Kopiert die vorgegebene Anzahl an
Wörtern aus der Statustabelle.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT DEST ANY_ARRAY_UINT %M, %MW Ziel
oder Erste Position im Zielblock
ANY_ARRAY_EBOOL Weitere Informationen finden Sie
unten.
Siehe auch den Abschnitt zum
Parameter DEST weiter unten.
Unten IN LENGTH UINT 1...277 Länge
Anzahl der Wörter oder 16-Bit-Folgen
im Zielblock
Die Länge kann ein Wert zwischen 1
und 277 sein.
Hinweis: Wenn %M-Referenzen als
Ziel verwendet werden, können sie
nicht als Spulen, sondern nur als
Kontakte mit einer Referenz auf diese
Spulennummern verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

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

Wort Inhalt Format


1..11 Steuerungsspezifische Statuswörter 1 - 11 UINT
(siehe Seite 100)
12..171 Wörter 12 - 171 für den UINT
Funktionsfähigkeitsstatus der E/A-Module
(siehe Seite 104)
172 Fehlercode für Quantum-Start UINT
Kommunikationsspezifische Statuswörter
172 - 277 (siehe Seite 106)
173..277 Kommunikationsspezifische Statuswörter UINT
172 - 277 (siehe Seite 106)

Steuerungsspezifische Statuswörter 1 - 11

Wort Inhalt Format


1 SPS-Status UINT
2 Hot Standby-Status UINT
3 SPS-Status UINT
4 RIO-Status UINT
5 STOP-Status der Steuerung UINT
6 Anzahl der Ladder Logic-Segmente UINT
(in Unity nicht verwendet)
7 Ende der Logik (in Unity nicht UINT
verwendet)
8 RIO-Redundanz und Timeout UINT
9 ASCII-Nachrichtenstatus (in Unity UINT
nicht verwendet)

96 EIO0000000808 11/2011
L9_STAT

Wort Inhalt Format


10 RUN/LOAD/DEBUG-Status (in UINT
Unity nicht verwendet)
11 Nicht verwendet (in Unity nicht UINT
verwendet)

Wörter 12 - 171 für den Funktionsfähigkeitsstatus der E/A-Module

Wort Inhalt Format


12..16 E/A-Station 1 (Rack 1 - 5) UINT
17..21 E/A-Station 2 (Rack 1 - 5) UINT
22..26 E/A-Station 3 (Rack 1 - 5) UINT
27..31 E/A-Station 4 (Rack 1 - 5) UINT
32..36 E/A-Station 5 (Rack 1 - 5) UINT
... ... ...
162..166 E/A-Station 31 (Rack 1 - 5) UINT
167..171 E/A-Station 32 (Rack 1 - 5) UINT

Kommunikationsspezifische Statuswörter 172 - 277

Wort Inhalt Format


173..175 Status von Kabel A (Fehlerwort 1 - 3) UINT
176..178 Status von Kabel B (Fehlerwort 1 - 3) UINT
179..181 Globaler Kommunikationsstatus UINT
(Fehlerwort 1 - 3)
182..184 Status dezentraler E/A-Wörter UINT
(Fehlerwort 1 - 3)
185..187 Status dezentraler E/A-Wörter UINT
(Fehlerwort 1 - 3)
188..190 Status dezentraler E/A-Wörter UINT
(Fehlerwort 1 - 3)
... ... ...
272..274 Status dezentraler E/A-Wörter UINT
(Fehlerwort 1 - 3)
275..277 Status dezentraler E/A-Wörter UINT
(Fehlerwort 1 - 3)

EIO0000000808 11/2011 97
L9_STAT

Beschreibung der Statustabelle

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:

Dezimalwort Wortinhalt Hexadezimalwort Systemwort


1 SPS-Status 01 –
2 Hot Standby-Status 02 %SW61
3 SPS-Status 03 –
4 RIO-Status 04 –
5 STOP-Status der Steuerung 06 –
6 Nicht verwendet 06 –
7 Nicht verwendet 07 –
8 RIO-Redundanz und Timeout 08 –
9 Nicht verwendet 09 –
10 Nicht verwendet 0A –
11 Nicht verwendet 0B –
12 E/A-Station 1, Rack 1 0C %SW180
13 E/A-Station 1, Rack 2 0D %SW181
... ...... ... ...
16 E/A-Station 1, Rack 5 0F %SW184
17 E/A-Station 2, Rack 1 10 %SW185
18 E/A-Station 2, Rack 2 11 %SW186
... ...... ... ...
171 E/A-Station 32, Rack 5 AB %SW339
172 Fehlercode für S908-Startfehler AC %SW535
173 Fehler an Kabel A AD %SW536
174 Fehler an Kabel A AE %SW537

98 EIO0000000808 11/2011
L9_STAT

Dezimalwort Wortinhalt Hexadezimalwort Systemwort


175 Fehler an Kabel A AF %SW538
176 Fehler an Kabel B B0 %SW539
178 Fehler an Kabel B B1 %SW540
178 Fehler an Kabel B B2 %SW541
179 Globale Kommunikationsfehler B3 %SW542
180 Globale Kommunikationsfehler B4 %SW543
181 Globale Kommunikationsfehler B5 %SW544
182 Fehler/Funktionsfähigkeitsstatus der B6 %SW545
E/A-Station 1 und
Wiederholungszähler (erstes Wort)
183 Fehler/Funktionsfähigkeitsstatus der B7 %SW546
E/A-Station 1 und
Wiederholungszähler (zweites Wort)
184 Fehler/Funktionsfähigkeitsstatus der B8 %SW547
E/A-Station 1 und
Wiederholungszähler (drittes Wort)
185 Fehler/Funktionsfähigkeitsstatus der B9 %SW548
E/A-Station 2 und
Wiederholungszähler (erstes Wort)
... ...... ... ...
275 Fehler/Funktionsfähigkeitsstatus der 113 %SW638
E/A-Station 32 und
Wiederholungszähler (erstes Wort)
276 Fehler/Funktionsfähigkeitsstatus der 114 %SW639
E/A-Station 32 und
Wiederholungszähler (zweites Wort)
277 Fehler/Funktionsfähigkeitsstatus der 115 %SW640
E/A-Station 32 und
Wiederholungszähler (drittes Wort)

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:

Bit 1...16 Funktion


1...5 Nicht verwendet
6 1 = Einzelzyklus aktivieren
7 1 = Verzögerung für Einzelzyklus aktivieren
8 Nicht verwendet
9 1 = AC-Spannung ein
10 1 = RUN-Anzeige aus
11 1 = Speicherschutz AUS
12 1 = Batterie nicht funktionsfähig
13...14 Nicht verwendet
15 Peer Cop unterstützt
16 Speicherkonfigurations-Flag

100 EIO0000000808 11/2011


L9_STAT

Hot Standby-Status (Wort 2)


Wort 2 verweist auf den Hot Standby-Status:

Bit 1...16 Funktion


1 Auf 1 gesetzt, wenn Hot Standby-Modus aktiv
2...12 Nicht verwendet
13...14 Status des dezentralen Systems:
0 1 = Offline (1 dez.)
1 0 = Primär (2 dez.)
1 1 = Standby (3 dez.)
15...16 Status des lokalen Systems
0 1 = Offline (1 dez.)
1 0 = Primär (2 dez.)
1 1 = Standby (3 dez.)

SPS-Status (Wort 3)
Wort 3 verweist auf weitere Aspekte des SPS-Status:

Bit 1...16 Funktion


1 1 = Erster Abfragezyklus
2 1 = Startbefehl noch offen
3 1 = Zeit für konstanten Zyklus überschritten
4 1 = DIM AWARENESS (bestehender undefinierter Status)
5 EXIT DIM noch offen (Verlassen des undefinierten Status)
6...12 Nicht verwendet
13...16 Einzelzyklen

RIO-Status (Wort 4)
Wort 4 wird für RIO-spezifische Informationen verwendet:

Bit 1...16 Funktion


1 1 = RIO nicht funktionsfähig
2 1 = RIO Timeout
3 1 = RIO Rückkopplung
4 1 = RIO Speicherfehler erkannt
5...12 Nicht verwendet
13 1.024 E/A-Punkte

EIO0000000808 11/2011 101


L9_STAT

Bit 1...16 Funktion


14...16 000 = RIO hat nicht geantwortet
001 = Keine Antwort
010 = Fehler bei Rückkopplung erkannt
011 = SPS-Timeout beim Warten auf „Sende“-Antwort
100 = RIO Fehler erkannt in „Sende“-Meldung

STOP-Status der SPS (Wort 5)


Wort 5 verweist auf die STOP-Zustände der SPS:

Bit 1...16 Funktion


1 1 = Stopp des Peripherie-Ports
2 Ungültiger E/A-Traffic-Cop
3 1 = Steuerung in DIM AWARENESS (undefinierter Status)
4 1 = „SoftError“ (Halt)
5 Nicht verwendet
6 Nicht verwendet
7 1 = Fehler erkannt beim Signalspeichertest
8 Nicht verwendet
9 1 = Watchdog-Zeitgeber abgelaufen
10 1 = Fehler erkannt bzgl. Echtzeituhr
11 Nicht verwendet
12 1 = RIO-Fehler erkannt
13 Nicht verwendet
14 Nicht verwendet
15 Nicht verwendet
16 1 = Ungültige Konfiguration

Wort 6...7
Diese Wörter werden nicht verwendet.

102 EIO0000000808 11/2011


L9_STAT

RIO-Redundanz und Timeout (Wort 8)


Wort 8 verwendet seine 4 niederwertigen Bits zur Anzeige der Timeout-Konstanten
für die dezentralen E/A:

Bit 1...16 Funktion


1 Redundant
2...12 Nicht verwendet
13...16 RIO-Timeout-Konstante

Wort 9...11
Diese Wörter werden nicht verwendet.

EIO0000000808 11/2011 103


L9_STAT

Wörter 12 - 171 für den Funktionsfähigkeitsstatus der E/A-Module

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.

Bits 1...16 Funktion


1 1 = Steckplatz 1
2 1 = Steckplatz 2
3 1 = Steckplatz 3
4 1 = Steckplatz 4
5 1 = Steckplatz 5
6 1 = Steckplatz 6
7 1 = Steckplatz 7
8 1 = Steckplatz 8
9 1 = Steckplatz 9
10 1 = Steckplatz 10
11 1 = Steckplatz 11
12 1 = Steckplatz 12
13 1 = Steckplatz 13
14 1 = Steckplatz 14
15 1 = Steckplatz 15
16 1 = Steckplatz 16

104 EIO0000000808 11/2011


L9_STAT

4 Bedingungen müssen erfüllt sein, bevor ein E/A-Modul als funktionsfähig


ausgewiesen wird:
z Der Steckplatz muss Traffic Cop zugewiesen sein.
z Der Steckplatz muss ein Modul mit dem richtigen Profil enthalten.
z Es muss eine gültige Kommunikation zwischen dem Modul und der RIO-
Schnittstelle an den entfernten E/A-Stationen bestehen.
z Es muss eine gültige Kommunikation zwischen der RIO-Schnittstelle an jeder
dezentralen E/A-Station und dem E/A-Prozessor in der Steuerung bestehen.

EIO0000000808 11/2011 105


L9_STAT

Kommunikationsspezifische Statuswörter 172 - 277

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

Code Erkannter Fehler Bedeutung (Ort/Typ des aufgetretenen Fehlers)


01 BADTCLEN Traffic-Cop-Länge
02 BADLNKNUM Nummer der dezentralen E/A-Verbindung
03 BADNUMDPS Anzahl der E/A-Stationen im Traffic Cop
04 BADTCSUM Traffic-Cop-Prüfsumme
10 BADDDLEN Länge des Stationsdeskriptors
11 BADDRPNUM E/A-Stationsnummer
12 BADHUPTIM Stationsspezifische Haltezeit
13 BADASCNUM Nummer des ASCII-Ports
14 BADNUMODS Anzahl der Module in der E/A-Station
15 PRECONDRP E/A-Station bereits konfiguriert
16 PRECONPRT Port bereits konfiguriert
17 TOOMNYOUT Mehr als 1.024 Ausgangspunkte
18 TOOMNYINS Mehr als 1.024 Eingangspunkte
20 BADSLTNUM Steckplatzadresse des Moduls
21 BADRCKNUM Rackadresse des Moduls
22 BADOUTBC Anzahl der Ausgangsbytes
23 BADINBC Anzahl der Eingangsbytes
25 BADRF1MAP Erste Referenznummer
26 BADRF2MAP Zweite Referenznummer
27 NOBYTES Keine Eingangs- oder Ausgangsbytes
28 BADDISMAP Merkerbit nicht an 16-Bit-Begrenzung
30 BADODDOUT Nicht gepaartes, ungerades Ausgangsmodul
31 BADODDIN Nicht gepaartes, ungerades Eingangsmodul

106 EIO0000000808 11/2011


L9_STAT

Code Erkannter Fehler Bedeutung (Ort/Typ des aufgetretenen Fehlers)


32 BADODDREF Ungerade Modulreferenz ohne Übereinstimmung
33 BAD3X1XRF %I-Referenz nach %IW-Wort
34 BADDMYMOD Dummy-Modulreferenz bereits verwendet
35 NOT3XDMY %IW-Modul kein Dummy-Modul
36 NOT4XDMY %MW-Modul kein Dummy-Modul

LL984-kompatible Bitreihenfolge
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.

Status von Kabel A


Die Wörter 173 bis 175 sind Fehlerwörter für Kabel A-spezifische Fehler:
Wort 173

Bit 1...16 Funktion


1...8 Zählt erkannte Framefehler
9...16 Zählt DMA-Empfänger-Überlauffehler

Wort 174

Bit 1...16 Funktion


1...8 Zählt erkannte Empfangsfehler
9...16 Zählt fehlerhafte Stationsempfänge

Wort 175

Bit 1...16 Funktion


1 1 = Kurzer Frame
2 1 = Kein Frame-Ende
3...12 Nicht verwendet
13 1 = CRC-Fehler
14 1 = Ausrichtungsfehler

EIO0000000808 11/2011 107


L9_STAT

Bit 1...16 Funktion


15 1 = Überlauffehler
16 Nicht verwendet

Status von Kabel B


Die Wörter 176 bis 178 sind Fehlerwörter für Kabel B-spezifische Fehler:
Wort 176

Bit 1...16 Funktion


1...8 Zählt erkannte Framefehler
9...16 Zählt DMA-Empfänger-Überlauffehler

Wort 177

Bit 1...16 Funktion


1...8 Zählt erkannte Empfangsfehler
9...16 Zählt fehlerhafte Stationsempfänge

Wort 178

Bit 1...16 Funktion


1 1 = Kurzer Frame
2 1 = Kein Frame-Ende
3...12 Nicht verwendet
13 1 = CRC-Fehler
14 1 = Ausrichtungsfehler
15 1 = Überlauffehler
16 Nicht verwendet

Status der globalen Kommunikation Wörter 179 bis 181)


Wort 179 zeigt den globalen Kommunikationsstatus an:

Bit 1...16 Funktion


1 1 = Funktionsfähigkeit der Kommunikation
2 1 = Status Kabel A
3 1 = Status Kabel B
4 Nicht verwendet

108 EIO0000000808 11/2011


L9_STAT

Bit 1...16 Funktion


5...8 Verlorener Kommunikationszähler
9...16 Kumulativer Wiederholungszähler

Wort 180 ist der globale kumulative Fehlerzähler für Kabel A:

Bit 1...16 Funktion


1...16 Zählt ausbleibende Anworten

Wort 181 ist der globale kumulative Fehlerzähler für Kabel B:

Bit 1...16 Funktion


1...16 Zählt ausbleibende Anworten

Status dezentraler E/A-Module (Wörter 182 bis 277)


Die Wörter 182, 183 und 184 zeigen den lokalen Stationsstatus an:
Wort 182 zeigt den lokalen Stationsstatus an:

Bit 1...16 Funktion


1 1 = Alle Module funktionsfähig
2...8 Immer 0
9...16 Anzahl der wiederholten Erkennung eines Moduls als funktionsunfähig. Der
Zähler springt bei 255 zu Null zurück.

Wort 183

Bit 1...16 Funktion


1...16 Dieses Wort ist ein 16-Bit-Fehlerzähler, das darauf verweist, wie oft auf ein
Modul zugegriffen wurde und das Modul als funktionsunfähig erkannt wurde.
Springt bei 65.535 zu Null zurück.

Wort 184

Bit 1...16 Funktion


1...16 Dieses Wort ist ein 16-Bit-Fehlerzähler, das darauf verweist, wie oft beim Zugriff
auf ein E/A-Modul ein Kommunikationsfehler erkannt wurde.
Springt bei 65.535 zu Null zurück.

EIO0000000808 11/2011 109


L9_STAT

Für jede Station werden folgende Statuswörter verwendet:


Das erste Wort in jeder Dreiergruppe zeigt den Kommunikationsstsatus für die
betreffende E/A-Station an:

Bit 1...16 Funktion


1 1 = Funktionsfähigkeit der Kommunikation
2 1 = Status Kabel A
3 1 = Status Kabel B
4 Nicht verwendet
5...8 Verlorener Kommunikationszähler
9...16 Kumulativer Wiederholungszähler

Das zweite Wort in jeder Dreiergruppe ist der kumulative Stationsfehlerzähler auf
Kabel A für die betreffende E/A-Station:

Bit 1...16 Funktion


1...16 Zählt ausbleibende Anworten

Das dritte Wort in jeder Dreiergruppe ist der kumulative Stationsfehlerzähler auf
Kabel B für die betreffende E/A-Station:

Bit 1...16 Funktion


1...16 Zählt ausbleibende Anworten

110 EIO0000000808 11/2011


Unity Pro
L9_MSTR
EIO0000000808 11/2011

L9_MSTR: Modbus Plus-Master

15
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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).

EIO0000000808 11/2011 111


L9_MSTR

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – Ausgewählte MSTR-Operation aktiviert
Unten STOP BOOL – Aktive MSTR-Operation beendet

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT CONTROL ArrUInt11 %MW Feld für den MSTR-Steuerungsbaustein
Mitte IN/OUT DATA ANY_ARRAY_UINT %MW Datenbereich
Unten IN LEN UINT 1...100 Länge des Datenbereichs (max. Größe
des Arrays), Bereich: 1 ... 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben ACTIVE BOOL – Operation aktiv
Mitte STOPPED BOOL – Operation nicht erfolgreich
Unten SUCCESS BOOL – Operation erfolgreich abgeschlossen

112 EIO0000000808 11/2011


Unity Pro
L9_XMIT - Transmit
EIO0000000808 11/2011

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)

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 114
L9_XMIT – Modbus-Funktionen 115

EIO0000000808 11/2011 113


L9_XMIT - Transmit

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.

114 EIO0000000808 11/2011


L9_XMIT - Transmit

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.

EIO0000000808 11/2011 115


L9_XMIT - Transmit

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)

Funktionscode Master-SPS-Datenbereich Slave-SPS-Datenbereich


03 (Mehrere %MW/4x lesen) %MW (Ziel) %MW (Quelle)
04 (Mehrere %IW/3x lesen) %MW (Ziel) %IW (Quelle)
01 (Mehrere %M/0x lesen) %M (Ziel) %M (Quelle)
02 (Mehrere %I/1x lesen) %M (Ziel) %I (Quelle)
16 (Mehrere %MW/4x %MW (Quelle) %MW (Ziel)
schreiben)
15 (Mehrere %M/0x schreiben) %M (Quelle) %M (Ziel)
05 (Ein %M/0x schreiben) %M (Quelle) %M (Ziel)
06 (Ein %MW/4x schreiben) %MW (Quelle) %MW (Ziel)

116 EIO0000000808 11/2011


L9_XMIT - Transmit

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).

EIO0000000808 11/2011 117


L9_XMIT - Transmit

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).

Modbus-Funktionscodes (20, 21)


Für Modbus-Nachrichten muss der Bereich MSG_OUT die Modbus-Definitions-
tabelle enthalten. Die Modbus-Definitionstabelle für die Modbus-Funktionscodes: 20
und 21 ist sechs Wörter lang. Sie müssen L9_XMIT_SET.MessageLen auf 6 setzen,
um eine erfolgreiche L9_XMIT-Operation zu gewährleisten. In der folgenden
Tabelle wird die Modbus-Definitionstabelle beschrieben.
Funktionscodes (20, 21) der Modbus-Definitionstabelle

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).

118 EIO0000000808 11/2011


L9_XMIT - Transmit

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.

Quell- und Zieldatenbereiche für Funktionscodes (20, 21)

Funktionscode Master-SPS-Datenbereich Slave-SPS-Datenbereich


20 (Allgemeine Referenz 6x %MW (Ziel) 6x (Quelle)
lesen)
21 (Allgemeine Referenz 6x %MW (Quelle) 6x (Ziel)
schreiben)

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.

EIO0000000808 11/2011 119


L9_XMIT - Transmit

120 EIO0000000808 11/2011


Unity Pro
L9_XMIT im Kommunikationsmodus
EIO0000000808 11/2011

L9_XMIT im
Kommunikationsmodus
17
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Kommunikationsmodus
beschrieben.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 122
Kommunikationsteuertabelle 125
Ereignisstatustabelle 130
Tabelle der Befehlswort-Kommunikationsfunktionen 132

EIO0000000808 11/2011 121


L9_XMIT im Kommunikationsmodus

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

122 EIO0000000808 11/2011


L9_XMIT im Kommunikationsmodus

Parameterbeschreibung

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON startet eine L9_XMIT-Operation, und
ENABLE muss eingeschaltet bleiben (ON),
bis die Operation erfolgreich abgeschlossen
wurde oder ein Ereignis aufgetreten ist.
Mitte STOP BOOL – ON bricht jede aktive L9_XMIT-Operation ab
und forciert den Port in den Slave-Modus.
Der Abbruchcode (121) wird in das
Ereignisstatuswort geschrieben. Der Port
bleibt geschlossen, solange dieser Eingang
auf ON steht.
HINWEIS: Um ein L9_XMIT-Ereignis
zurückzusetzen und das Ereigniswort zu
löschen, muss der obere Eingang
mindestens während eines SPS-Zyklus auf
OFF gestellt sein.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben PORTNO IN UINT 1...2 Der obere Knoten muss eine der
Port #0001 folgenden Konstanten enthalten:
oder #0002 Entweder (#0001), um SPS-Port Nr. 1
auszuwählen, oder (#0002), um SPS-Port
Nr. 2 auszuwählen.
Mitte CONTROL IN/OUT ARRAY[1..16] %MW Das in den mittleren Knoten eingegebene
OF UINT %MW-Wort ist das erste Wort in einer
Gruppe von sechzehn (16) benachbarten
Speicherwörtern, aus denen der
Steuerblock besteht, wie in der
Kommunikationssteuertabelle gezeigt.
(Detaillierte Informationen zu diesem
Knoten finden Sie unter
Kommunikationsteuertabelle, Seite 125).
Wichtig: Ändern Sie NICHT die Adresse
im mittleren Knoten des Bausteins
L9_XMIT und löschen Sie NICHT die
Adresse aus dem Baustein, während das
Programm aktiv ist. Dadurch wird der Port
gesperrt und die Kommunikation
unterbunden.
Unten LENGTH IN UINT 16 Der untere Knoten muss eine Konstante
#0016 enthalten, die gleich (#0016) ist. Das
entspricht der Anzahl der vom
Funktionsbaustein L9_XMIT verwendeten
Speicherwörter.

EIO0000000808 11/2011 123


L9_XMIT im Kommunikationsmodus

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben ACTIVE BOOL – ON, während eine L9_XMIT-Operation
ausgeführt wird.
Wird aktiv, während eine L9_XMIT-
Operation ausgeführt wird.
Mitte STOPPED BOOL – ON, wenn L9_XMIT ein Ereignis erkannt
hat oder ein Abbruchbefehl ausgegeben
wurde.
Wird aktiv, wenn L9_XMIT ein Ereignis
erkennt oder wenn eine L9_XMIT-
Operation abgebrochen wird.
Unten SUCCESS BOOL – ON für nur einen Zyklus, wenn eine
L9_XMIT-Operation erfolgreich
abgeschlossen wurde.
Wird aktiv, wenn eine L9_XMIT-Operation
erfolgreich abgeschlossen wurde.
HINWEIS: Der Eingang ENABLE muss
eingeschaltet bleiben (ON), bis SUCCESS
ausgeschaltet wird (zu OFF wechselt).

124 EIO0000000808 11/2011


L9_XMIT im Kommunikationsmodus

Kommunikationsteuertabelle

Diese Tabelle entspricht dem ersten Wort in einer Gruppe von 16 direkt aufeinander
folgenden Speicherwörtern (%MW), aus denen der Steuerblock besteht.

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx Revisionsnummer Zeigt die aktuelle Revisionsnummer des Schreibgeschützt
L9_XMIT-Bausteins an.
Diese Nummer wird automatisch vom Baustein
geladen, und der Baustein überschreibt jede
andere in dieses Wort eingegebene Nummer.
%MWx + 1 Ereignisstatus In diesem Feld wird ein von L9_XMIT im Schreibgeschützt
Portstatusmodus generierter Ereigniscode
angezeigt.
(Detaillierte Informationen finden Sie unter
Ereignisstatustabelle, Seite 130).
%MWx + 2 Für den Benutzer Der L9_XMIT-Baustein verwendet dieses Wort Lesen/Schreiben
verfügbar nicht. Es kann jedoch in Ladder Logic als Zeiger
verwendet werden. Eine effiziente Verwendung
des Bausteins L9_XMIT besteht in der Platzierung
des Zeigerwerts eines Funktionsbausteins
L9_TBLK in diesem Wort.
%MWx + 3 Datenübertragungsrate L9_XMIT unterstützt folgende Baudraten: 50, 75, Lesen/Schreiben
110, 134, 150, 300, 600, 1200, 1800, 2000, 2400,
3600, 4800, 7200, 9600 und 19200.
Zur Konfiguration einer Datenübertragungsrate
geben Sie die entsprechende Dezimalzahl in das
Feld ein. Wenn eine ungültige
Datenübertragungsrate eingegeben wird, zeigt
der Baustein ein durch eine unzulässige
Konfiguration bedingtes Ereignis (Ereigniscode
127) im Ereignisstatuswort (%MWx + 1) an.

EIO0000000808 11/2011 125


L9_XMIT im Kommunikationsmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 4 Datenbits L9_XMIT unterstützt folgende Datenbits: 7 und 8. Lesen/Schreiben
Zur Konfiguration einer Datenbitgröße geben Sie
die entsprechende Dezimalzahl in das Wort ein.
Hinweis: Modbus-Nachrichten können im ASCII-
oder RTU-Modus gesendet werden. Der ASCII-
Modus erfordert 7 Datenbits, der RTU-Modus 8
Datenbits. Beim Versenden von Nachrichten mit
ASCII-Zeichen können Sie entweder 7 oder 8
Datenbits verwenden. Wenn ein ungültiges
Datenbit-Format eingegeben wird, zeigt der
Baustein ein durch eine unzulässige Konfiguration
bedingtes Ereignis (Ereigniscode 127) im
Ereignisstatuswort (%MWx + 1) an.
%MWx + 5 Paritätsbits L9_XMIT unterstützt folgende Parität: Ohne, Lesen/Schreiben
Ungerade oder Gerade. Geben Sie jeweils eine
Dezimalzahl ein: 0 = Ohne Parität, 1 = Ungerade
Parität oder 2 = Gerade Parität. Wenn eine
ungültige Parität eingegeben wird, zeigt der
Baustein ein durch eine unzulässige Konfiguration
bedingtes Ereignis (Ereigniscode 127) im
Ereignisstatuswort (%MWx + 1) an.
%MWx + 6 Stoppbits L9_XMIT unterstützt ein oder zwei Stoppbits. Lesen/Schreiben
Geben Sie jeweils eine Dezimalzahl ein: 1 = Ein
Stoppbit oder 2 = Zwei Stoppbits. Wenn eine
ungültige Stoppbit-Anzahl eingegeben wird, zeigt
der Baustein ein durch eine unzulässige
Konfiguration bedingtes Ereignis (Ereigniscode
127) im Ereignisstatuswort (%MWx + 1) an.
%MWx + 7 Für den Benutzer Der L9_XMIT-Baustein verwendet dieses Wort Lesen/Schreiben
verfügbar nicht. Es kann jedoch in Ladder Logic als Zeiger
verwendet werden. Eine effiziente Verwendung
des Bausteins L9_XMIT besteht in der Platzierung
des Zeigerwerts eines Funktionsbausteins
L9_TBLK in diesem Wort.
%MWx + 8 Befehlswort (16-stellige Binärzahl) Lesen/Schreiben
L9_XMIT interpretiert jedes Bit des Befehlsworts
als auszuführende Funktion. Wenn Bit 7 und 8
oder jeweils zwei oder mehr der Bits 13, 14, 15
oder 16 gleichzeitig aktiv sind oder wenn Bit 7
nicht aktiv ist, während die Bits 13, 14, 15 oder 16
aktiv sind, wird das Ereignis 129 generiert.
Detaillierte Informationen finden Sie unter Tabelle
der Befehlswort-Kommunikationsfunktionen,
Seite 132.

126 EIO0000000808 11/2011


L9_XMIT im Kommunikationsmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 9 Nachrichtenzeigerwort (Nachrichtenzeiger) Lesen/Schreiben
Die Werte werden durch den Bereich der
konfigurierten %MW-Speicherwörter begrenzt.
Die Nachrichtentabelle besteht entweder aus
z ASCII-Zeichen
Für ASCII-Zeichenketten entspricht der Zeiger
dem Wort-Offset zum ersten Wort der ASCII-
Zeichenkette. In jedem Wort sind bis zu zwei
ASCII-Zeichen enthalten. Jede ASCII-
Zeichenkette kann eine Länge von bis zu 1024
Zeichen aufweisen. Wenn Sie beispielsweise
ausgehend von der SPS zehn ASCII-
Nachrichten senden möchten, programmieren
Sie zehn ASCII-Zeichenketten in %MWx-
Speicherwörtern der SPS und setzen Sie dann
nach jeder erfolgreichen Operation von
L9_XMIT den Zeiger über Ladder Logic auf
den Anfang jeder Nachricht.
z Modbus-Funktionscodes
Detaillierte Informationen finden Sie unter
L9_XMIT – Modbus-Funktionen, Seite 115.
Geben Sie einen Zeiger ein, der auf den Anfang
der Nachrichtentabelle verweist.
%MWx + 10 Nachrichtenlänge (0 - 512) Lesen/Schreiben
Geben Sie die Länge der aktuellen Nachricht ein.
Wenn L9_XMIT Modbus-Nachrichten für die
Funktionscodes 01, 02, 03, 04, 05, 06, 08, 15 und
16 sendet, wird die Länge der Nachricht
automatisch auf fünf gesetzt. Wenn L9_XMIT
einen abgeschlossenen ASCII-Eingang
empfängt, muss die Länge der Nachricht auf fünf
gesetzt werden, anderenfalls wird ein Ereignis
generiert. Wenn L9_XMIT Modbus-Nachrichten
für die Funktionscodes 20 und 21 sendet, wird die
Länge der Nachricht automatisch auf sechs
gesetzt. Wenn L9_XMIT ASCII-Nachrichten
sendet, kann die Länge pro Nachricht zwischen 1
bis 1.024 ASCII-Zeichen liegen.

EIO0000000808 11/2011 127


L9_XMIT im Kommunikationsmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 11 Antwort-Timeout (ms) (0 - 65.535 Millisekunden) Lesen/Schreiben
Geben Sie einen Wert in Millisekunden (ms) ein,
um festzulegen, wie lange L9_XMIT auf eine
gültige Antwortnachricht von einem Slave-Gerät
(SPS, Modem usw.) wartet. Außerdem wird die
Zeit auf ASCII-Übertragungen und Operationen
zur Durchflusssteuerung angewandt. Wird die
Antwortnachricht innerhalb der festgelegten Zeit
nicht vollständig gebildet, gibt L9_XMIT ein
Ereignis aus. Der gültige Bereich ist 0 bis 65.535
ms. Das Timeout wird initiiert, nachdem das letzte
Zeichen in der Nachricht gesendet wurde.
%MWx + 12 Wiederholungsbegren- (0 - 65.535 Millisekunden) Lesen/Schreiben
zung Geben Sie die Anzahl an Wiederholungen ein, um
festzulegen, wie oft L9_XMIT eine Nachricht
senden kann, um von einem Slave-Gerät (SPS,
Modem usw.) eine gültige Antwort zu erhalten.
Wird die Antwortnachricht innerhalb der
festgelegten Zeit nicht vollständig gebildet, gibt
L9_XMIT ein Ereignis sowie einen
entsprechenden Ereigniscode aus. Der gültige
Bereich ist 0 bis 65.535 Wiederholungen. Dieses
Feld wird in Verbindung mit dem Antwort-Timeout
(%MWx +11) verwendet.
%MWx + 13 Beginn der Übertra- (0 - 65.535 Millisekunden) Lesen/Schreiben
gungsverzögerung (ms) Geben Sie bei aktivierter RTS/CTS-Steuerung
einen Zeitwert in Millisekunden (ms) ein, um
festzulegen, wie lange L9_XMIT nach dem
Empfang von CTS wartet, bevor es vom SPS-Port
Nr. 1 eine Nachricht überträgt. Sie können dieses
Wort auch dann verwenden, wenn keine
RTS/CTS-Steuerung verwendet wird. In dieser
Situation bestimmt der eingegebene Zeitwert, wie
lange L9_XMIT wartet, bevor es vom SPS-Port
Nr. 1 eine Nachricht überträgt. Sie können diese
Funktion auch als „Vor-Nachricht-
Verzögerungszeitgeber“ verwenden. Der gültige
Bereich ist 0 bis 65.535 ms.

128 EIO0000000808 11/2011


L9_XMIT im Kommunikationsmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 14 Ende der Übertragungs- (0 - 65.535 Millisekunden) Lesen/Schreiben
verzögerung (ms) Geben Sie bei aktivierter RTS/CTS-Steuerungen
einen Zeitwert in Millisekunden (ms) ein, um
festzulegen, wie lange L9_XMIT RTS nach
Senden der Nachricht vom SPS-Port Nr. 1 belegt
hält. Wenn die Zeit abgelaufen ist, hält L9_XMIT
RTS nicht mehr belegt. Sie können dieses Wort
auch dann verwenden, wenn keine RTS/CTS-
Steuerung verwendet wird. In dieser Situation
bestimmt der eingegebene Zeitwert, wie lange
L9_XMIT wartet, nachdem es vom SPS-Port Nr. 1
eine Nachricht gesendet hat. Sie können diese
Funktion auch als „Nach-Nachricht-
Verzögerungszeitgeber“ verwenden. Der gültige
Bereich ist 0 bis 65.535 ms.
%MWx + 15 Aktuelle Der hier angezeigte Wert gibt die aktuelle Anzahl Schreibgeschützt
Wiederholungen der vom Baustein L9_XMIT vorgenommenen
Wiederholungen an.

EIO0000000808 11/2011 129


L9_XMIT im Kommunikationsmodus

Ereignisstatustabelle

Nachstehend eine Liste der Ereigniscodes, die von L9_XMIT im Portstatusmodus


(%MWx + 1) generiert werden.

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

130 EIO0000000808 11/2011


L9_XMIT im Kommunikationsmodus

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

EIO0000000808 11/2011 131


L9_XMIT im Kommunikationsmodus

Tabelle der Befehlswort-Kommunikationsfunktionen

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)

132 EIO0000000808 11/2011


Unity Pro
L9_XMIT im Portstatusmodus
EIO0000000808 11/2011

L9_XMIT im Portstatusmodus

18
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Portstatusmodus
beschrieben.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 134
Parameterbeschreibung 136

EIO0000000808 11/2011 133


L9_XMIT im Portstatusmodus

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

134 EIO0000000808 11/2011


L9_XMIT im Portstatusmodus

Parameterbeschreibung

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON startet eine L9_XMIT-Operation und
muss eingeschaltet bleiben (ON), bis die
Operation erfolgreich abgeschlossen wurde
oder ein Ereignis auftritt.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PORTNO UINT 1..2 Muss eine der folgenden Konstanten
Port #0001 enthalten: Entweder (#0001), um
oder #0002 SPS-Port Nr. 1 auszuwählen, oder
(#0002), um SPS-Port Nr. 2
auszuwählen.
Mitte IN/OUT CONTROL ARRAY[1...16] OF %MW Das in den mittleren Knoten
UINT eingegebene %MW-Wort ist das
erste Wort in einer Gruppe von
sieben (7) benachbarten
Speicherwörtern, aus denen der
Steuerblock besteht, wie in der
Tabelle zur Anzeige des Portstatus,
Seite 136 gezeigt.
Wichtig: Ändern Sie NICHT die
Adresse im mittleren Knoten des
Bausteins L9_XMIT und löschen Sie
NICHT die Adresse aus dem
Baustein, während der Baustein
aktiv ist. Dadurch wird der Port
gesperrt und die Kommunikation
unterbunden.
Unten IN LEN UINT 7 Muss eine Konstante enthalten, die
Konstante = gleich (#0007) ist. Das entspricht der
#0007 Anzahl der vom Portstatus-Baustein
L9_XMIT verwendeten
Speicherwörter.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Mitte BOOL – ON, wenn L9_XMIT ein Ereignis erkannt hat
oder ein Abbruchbefehl ausgegeben wurde.
Unten BOOL – ON, wenn eine L9_XMIT-Operation
erfolgreich abgeschlossen wurde.

EIO0000000808 11/2011 135


L9_XMIT im Portstatusmodus

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

Tabelle zur Anzeige des Portstatus


Diese Tabelle entspricht dem ersten Wort in einer Gruppe von 7 direkt aufeinander
folgenden Speicherwörtern, aus denen sich der Funktionsbaustein L9_XMIT im
Portstatusmodus
zusammensetzt.

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx Revisionsnummer Zeigt die aktuelle Revisionsnummer des Schreibgeschützt
L9_XMIT-Bausteins an.
Diese Nummer wird automatisch vom
Baustein geladen, und der Baustein
überschreibt jede andere in dieses Wort
eingegebene Nummer.
%MWx + 1 Ereignisstatus In diesem Feld wird ein vom Portstatus- Schreibgeschützt
Baustein L9_XMIT generierter Ereigniscode
angezeigt.
(Detaillierte Informationen finden Sie in der
nachstehenden Tabelle zur Generierung der
Fehlercodes).
%MWx + 2 Slave-Anmeldestatus/ Nicht verfügbar –
Slave-Portaktivitätsstatus
%MWx + 3 Slave-Transaktionszähler Nicht verfügbar –
%MWx + 4 Portstatus Nicht verfügbar –

136 EIO0000000808 11/2011


L9_XMIT im Portstatusmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 5 FIFO-Eingangsstatusbits Das Wort zeigt den Status von sieben Schreibgeschützt
Elementen an, die sich auf den FIFO-
Eingang beziehen. Es wird von L9_XMIT im
Portstatusmodus generiert.
(Ausführliche Informationen finden Sie in der
nachstehenden Tabelle mit dem FIFO-
Eingangsstatus).
%MWx + 6 FIFO-Eingangslänge Dieses Wort gibt die aktuelle Anzahl von Schreibgeschützt
Zeichen an, die im ASCII-FIFO-Eingang
vorhanden sind. Je nach Status des FIFO-
Eingangs und unter der Voraussetzung, dass
die Länge leer ist oder überläuft, kann das
Wort weitere Werte enthalten. Es wird vom
Portstatus-Baustein L9_XMIT erstellt.
(Ausführliche Informationen finden Sie in der
nachstehenden Tabelle mit der FIFO-
Eingangslänge).

Tabelle zur Generierung der Fehlercodes


In dieser Tabelle werden die von L9_XMIT im Portstatusmodus generierten
Ereigniscodes im Wort (%MWx + 1) beschrieben.

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

EIO0000000808 11/2011 137


L9_XMIT im Portstatusmodus

Tabelle zur Statusgenerierung


In dieser Tabelle wird der Slave-Anmeldestatus und der Slave-Portaktivitätsstatus
beschrieben, der von L9_XMIT im Portstatusmodus für das (%MWx + 2)-Wort
generiert wird.

(%MWx + 2 höherwertiges Byte) (%MWx + 2 niederwertiges Byte)


Slave-Anmeldestatus Slave-Portaktivitätsstatus
Ja - Wenn ein Programmiergerät am Slave- Ja - Wenn der betreffende Port von der
Port der Steuerung angemeldet ist. Steuerung belegt ist und gerade einen
Modbus-Befehl empfängt oder eine Modbus-
Antwort sendet.
Nein - Wenn ein Programmiergerät derzeit Nein - Wenn der betreffende Port NICHT von
nicht am Slave-Port der Steuerung der Steuerung belegt ist und gerade einen
angemeldet ist. Modbus-Befehl empfängt oder eine Modbus-
Hinweis: Ein Modbus-Master kann Befehle Antwort sendet.
senden, aber nicht angemeldet werden.

Tabelle mit dem FIFO-Eingangsstatus


Bitreihenfolge

In dieser Tabelle werden die Statusbits beschrieben, die sich auf den FIFO-Eingang
für das (%MWx + 5)-Wort beziehen.

Bit 1...16 Definition Ja / 1 Nein / 0


1-3 Reserviert – –
4 Port-Eigentümer: L9_XMIT Steuerung
5-7 Reserviert – –
8 ASCII- Von Empfangsgerät Von Empfangsgerät
Ausgangsübertragung... gesperrt freigegeben
9 ASCII-Eingang empfängt... Neues Zeichen Kein neues Zeichen
10 ASCII-FIFO-Eingang ist... Leer Nicht leer
11 ASCII-FIFO-Eingang zeigt... Überlauf (Ereignis) Kein Überlauf (Ereignis)
12 ASCII-FIFO-Eingang ist... eingeschaltet (ON) ausgeschaltet (OFF)
13 - 15 Reserviert – –
16 ASCII-Eingangsempfang... L9_XMIT hat L9_XMIT hat
Sendegerät gesperrt Sendegerät
freigegeben

138 EIO0000000808 11/2011


L9_XMIT im Portstatusmodus

Tabelle mit der FIFO-Eingangslänge


In dieser Tabelle wird die aktuelle Anzahl der Zeichen beschrieben, die im ASCII-
FIFO-Eingang für das (%MWx + 6)-Wort vorhanden sind.

WENN FIFO-Eingang DANN Länge


= AUS =0
= eingeschaltet und leer ist =0
= eingeschaltet ist und einen Überlauf zeigt = 512

EIO0000000808 11/2011 139


L9_XMIT im Portstatusmodus

140 EIO0000000808 11/2011


Unity Pro
L9_XMIT im Konvertierungsmodus
EIO0000000808 11/2011

L9_XMIT im
Konvertierungsmodus
19
Einführung
In diesem Kapitel wird der Funktionsbaustein L9_XMIT im Konvertierungsmodus
beschrieben.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 142
Parameterbeschreibung 144

EIO0000000808 11/2011 141


L9_XMIT im Konvertierungsmodus

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

142 EIO0000000808 11/2011


L9_XMIT im Konvertierungsmodus

Parameterbeschreibung

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON startet eine L9_XMIT-Operation und
muss eingeschaltet bleiben (ON), bis die
Operation erfolgreich abgeschlossen wurde
oder ein Ereignis auftritt.
HINWEIS: Um ein L9_XMIT-Ereignis
zurückzusetzen und das
Ereignisspeicherwort zu löschen, muss der
obere Eingang mindestens während eines
SPS-Zyklus auf OFF gestellt sein.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PORTNO UINT 1..2 Der obere Knoten muss eine Konstante
Konstante (#0000) enthalten, da die
#0001 Konvertierungen in keinerlei Beziehung
zum Port der SPS stehen.
Mitte IN/OUT CONTROL ARRAY[1...16] %MW Das in den mittleren Knoten
OF UINT eingegebene %MW-Wort ist das erste
Wort in einer Gruppe von acht (8)
benachbarten Speicherwörtern, aus
denen der Steuerblock besteht, wie in
der Tabelle zur Steuerung des
Konvertierungsmodus, Seite 144
gezeigt.
Wichtig: Ändern Sie NICHT die
Adresse im mittleren Knoten des
Bausteins L9_XMIT und löschen Sie
NICHT die Adresse aus dem Programm,
während der Baustein aktiv ist. Dadurch
wird der Port gesperrt und die
Kommunikation unterbunden.
Unten IN LENGTH UINT 8 Der untere Knoten muss eine Konstante
Konstante = enthalten, die gleich (#0008) ist. Das
#0008 entspricht der Anzahl der vom
Konvertierungsbaustein L9_XMIT
verwendeten Speicherwörter.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Mitte STOPPED BOOL – ON, wenn L9_XMIT ein Ereignis erkannt hat
oder ein Abbruchbefehl ausgegeben wurde.
Unten SUCCESS BOOL – ON, wenn eine L9_XMIT-Operation
erfolgreich abgeschlossen wurde.

EIO0000000808 11/2011 143


L9_XMIT im Konvertierungsmodus

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

Tabelle zur Steuerung des Konvertierungsmodus


Diese Tabelle entspricht dem ersten Wort in einer Gruppe von 8 direkt aufeinander
folgenden Speicherwörtern, aus denen sich der Funktionsbaustein L9_XMIT im
Konvertierungsmodus zusammensetzt.

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx L9_XMIT- Zeigt die aktuelle Revisionsnummer des L9_XMIT- Schreibgeschützt
Revisionsnummer Bausteins an.
Diese Nummer wird automatisch vom Baustein
geladen, und der Baustein überschreibt jede
andere in dieses Wort eingegebene Nummer.
%MWx + 1 Ereignisstatus In diesem Feld wird ein von L9_XMIT im Schreibgeschützt
Konvertierungsmodus generierter Ereigniscode
angezeigt.
(Detaillierte Informationen finden Sie in der
nachstehenden Tabelle zur Generierung der
Fehlercodes).
%MWx + 2 Für den Benutzer verfügbar 0 (kann als Zeiger für Funktionsbausteine wie z. B. Lesen/Schreiben
L9_TBLK verwendet werden)
L9_XMIT im Konvertierungsmodus verwendet
dieses Wort nicht. Es kann jedoch in Ladder Logic
als Zeiger verwendet werden. Eine effiziente
Verwendung des Bausteins L9_XMIT besteht in
der Platzierung des Zeigerwerts eines
Funktionsbausteins L9_TBLK in diesem
Speicherwort.
%MWx + 3 Steuerbits für die Dieses 16-Bit-Wort bezieht sich auf das Lesen/Schreiben
Datenkonvertierung Datenkonvertierungswort (%MWx + 3). Diese Bits
bieten zusätzliche Steueroptionen, je nachdem,
welche der elf Konvertierungen Sie auswählen.
(Ausführliche Informationen finden Sie in der
nachstehenden Tabelle mit den Steuerbits für die
Datenkonvertierung).

144 EIO0000000808 11/2011


L9_XMIT im Konvertierungsmodus

Speicherwort Name Beschreibung Keine gültigen


Einträge
%MWx + 4 Operationscodes für die Wählen Sie den Konvertierungstyp, den Sie Lesen/Schreiben
Datenkonvertierung ausführen möchten, unter den in der
nachstehenden Tabelle mit den Operationscodes
für die Datenkonvertierung aufgeführten elf
Optionen aus.
Nach der Auswahl des Konvertierungstyps sollten
Sie die Steuerbits für die Datenkonvertierung
(%MWx + 4) und die Tabelle mit den Steuerbits für
die Datenkonvertierung heranziehen, um
zusätzliche Steueroptionen für den ausgewählten
Konvertierungstyp zu identifizieren.
%MWx + 5 Quellwort Geben Sie das gewünschte %MWx-Wort ein. Lesen/Schreiben
Es handelt sich hierbei um das erste Wort im
Quellblock, das gelesen wird. Wählen Sie den
Punkt aus, an dem mit dem Lesen begonnen
werden soll (höherwertiges oder niederwertiges
Byte).
%MWx + 6 Zielwort Geben Sie das gewünschte %MWx-Wort ein. Lesen/Schreiben
Es handelt sich hierbei um das erste Wort im
Zielblock, das gelesen wird. Wählen Sie den Punkt
aus, an dem mit dem Lesen begonnen werden soll
(höherwertiges oder niederwertiges Byte).
Die Auswahl neben diesem Wort im DX-Zoom
entspricht derjenigen von Bit16 in (%MWx + 3).
%MWx + 7 Anzahl der Zeichen in der Geben Sie den Suchbereich ein. Dieses Wort Lesen/Schreiben
ASCII-Zeichenkette definiert den Suchbereich.
Wenn die automatische Vorschubquelle (Bit 13)
oder das automatische Vorschubziel (Bit 14)
aktiviert ist und kein ASCII-Zeichen erkannt wird,
stellt der Baustein automatisch die Zeichenanzahl
ein.

Tabelle zur Generierung der Fehlercodes


In dieser Tabelle werden die von L9_XMIT im Konvertierungsmodus generierten
Ereigniscodes im Wort (%MWx + 1) beschrieben.

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

EIO0000000808 11/2011 145


L9_XMIT im Konvertierungsmodus

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

Tabelle mit den Steuerbits für die Datenkonvertierung


Bitreihenfolge

In dieser Tabelle werden die Steueroptionen beschrieben, die je nach der im


(%MWx + 3)-Wort ausgewählten Konvertierung verfügbar sind.

Bit 1...16 Definition 1= 0=


1 – – –
2 CRC 16-Anfangswert 0x0000 0xFFFF
3 Typ der Ereignisprüfung LRC 8 CRC 16
4 Ereignisprüfung Bestätigen Anhängen
7 Konvertierung von Groß- Großbuchstaben Kleinbuchstaben in
/Kleinbuchstaben in Großbuchstaben
Kleinbuchstaben
8 Unterscheidung zwischen Groß- Nein Ja
/Kleinbuchstaben
9 Format der führenden Stellen Nullen Leerzeichen
10 Ausgangsformat Unveränderlich Variabel
11 Konvertierungstyp Ohne Vorzeichen Mit Vorzeichen
12 Konvertierungswort 32-Bit 16-Bit
13 Automatischer Ja Nein
Vorschubquellenzeiger (zeigt auf
das nächste Zeichen nach dem
letzten gelöschten Zeichen)

146 EIO0000000808 11/2011


L9_XMIT im Konvertierungsmodus

Bit 1...16 Definition 1= 0=


14 Automatischer Vorschubzielzeiger Ja Nein
(zeigt auf das nächste Zeichen nach
dem letzten gelöschten Zeichen)
15 Mit dem Lesen der ASCII-Zeichen in Niederwertiges Höherwertiges Byte
der Quelle beginnen mit: Byte (normal)
16 Mit dem Speichern der ASCII- Niederwertiges Höherwertiges Byte
Zeichen im Ziel beginnen mit ... Byte (normal)

Tabelle mit den Operationscodes für die Datenkonvertierung


In dieser Tabelle werden die 11 Funktionen bzw. Optionen zur Ausführung von
Konvertierungen mithilfe der Operationscodes für die Datenkonvertierung im
(%MWx + 4)-Wort beschrieben.

Operationscode Aktion Datentyp


(%MWx-Block
Unzulässiger Operationscode Wird bei Nicht zutreffend
Erkennung eines
unzulässigen
Operationscodes
angezeigt.
(1 dez.) Konvertiert in Binäre 16-Bit- oder 32-Bit-
Empfangene Zeichenkette mit ASCII- Ganzzahl mit oder ohne
Dezimalzahlen Vorzeichen
(2 dez.) Konvertiert in Binäre 16-Bit- oder 32-Bit-
Empfangene Zeichenkette mit ASCII- Ganzzahl ohne Vorzeichen
Dezimalzahlen
(3 dez.) Konvertiert in Binärer 16-Bit-Ganzzahl-Arry
Empfangene Zeichenkette mit ASCII- ohne Vorzeichen
Dezimalzahlen
(4 dez.) Konvertiert in Zeichenkette mit ASCII-
16-Bit- oder 32-Bit-Ganzzahl mit oder Dezimalzahlen zur Übertragung
ohne Vorzeichen
(5 dez.) Konvertiert in Zeichenkette mit ASCII-
Binäre 16-Bit- oder 32-Bit-Ganzzahl Dezimalzahlen zur Übertragung
ohne Vorzeichen
(6 dez.) Konvertiert in Zeichenkette mit ASCII-
16-Bit-Ganzzahl-Array ohne Dezimalzahlen zur Übertragung
Vorzeichen
(7 dez.) Ausgelagert in ASCII-Zielspeicherblock
Höherwertige und niederwertige Bytes
aus gespeichertem ASCII-
Quellspeicherblock

EIO0000000808 11/2011 147


L9_XMIT im Konvertierungsmodus

Operationscode Aktion Datentyp


(%MWx-Block
(8 dez.) Kopiert in ASCII-Zielspeicherblock mit oder
ASCII-Zeichenkette aus dem ohne Umschaltung (Groß-
Quellspeicherblock /Kleinbuchstaben)
(9 dez.) Verglichen mit Im Zielspeicherblock definierte
ASCII-Quellspeicherblock ASCII-Zeichenkette mit oder
ohne Groß-/Kleinbuchstaben-
Unterscheidung
(10 dez.) Suchen nach Im Zielblock definierte ASCII-
ASCII-Quellspeicherblock Zeichenkette mit oder ohne
Groß-/Kleinbuchstaben-
Unterscheidung
(11 dez.) Bestätigt oder ASCII-Zeichenkette im
Ereignisprüfung 8-Bit-LRC oder 16-Bit- angehängt an Quellspeicherblock
CRC

148 EIO0000000808 11/2011


Unity Pro
COUNT_TIME
EIO0000000808 11/2011

COUNT_TIME

III
Übersicht
In diesem Abschnitt werden die elementaren Funktionsbausteine der
COUNT_TIME-Familie (Zähler und Zeitgeber) beschrieben.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
20 L9_DCTR: Abwärtszähler 151
21 L9_T001: Hundertstelsekunden-Zeitgeber 153
22 L9_T01: Zehntelsekunden-Zeitgeber 155
23 L9_T1: Sekunden-Zeitgeber 157
24 L9_T1MS: Millisekunden-Zeitgeber 159
25 L9_UCTR: Aufwärtszähler 161

EIO0000000808 11/2011 149


COUNT_TIME

150 EIO0000000808 11/2011


Unity Pro
L9_DCTR
EIO0000000808 11/2011

L9_DCTR: Abwärtszähler

20
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 151


L9_DCTR

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – Der Übergang OFF zu ON initiiert die
Zählung, sofern die Taste RUN ebenfalls auf
ON steht.
Unten RUN BOOL – OFF setzt den Zähler auf den Wert PRESET
zurück. ON ermöglicht die Ausführung des
Zählers, sofern ENABLE eingeschaltet wird
(ON).

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Der Voreinstellwert, ab dem der Zähler
abwärts zählt. Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variablen gespeichert werden, die sich in
einem %IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten Wort befindet. Gültiger
Wertebereich: 1 bis 65.535
Unten IN/OUT ACCUM UINT %MW Die kumulierte Anzahl. Wird ab dem
Voreinstellwert bei jedem Übergang des
oberen Eingangs von OFF zu ON um 1
dekrementiert, bis der Wert 0 erreicht wird.
Eine mit diesem Pin verknüpfte Variable
kann sich in einem %MW-Speicherwort
oder in einem nicht lokalisierten UINT-Wort
befinden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben EQ_ZERO BOOL – ON gibt an, dass die kumulierte Anzahl gleich 0 ist.
Unten GR_ZERO BOOL – ON gibt an, dass die kumulierte Anzahl größer ist als 0.

152 EIO0000000808 11/2011


Unity Pro
L9_T001
EIO0000000808 11/2011

L9_T001: Hundertstelsekunden-
Zeitgeber
21
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 153


L9_T001

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON startet den Zeitgeber, sofern
RUN ebenfalls im ON-Zustand ist.
Unten RUN BOOL – OFF setzt den Zähler auf 0 zurück, 0 aktiviert
die Zeitgeber-Ausführung, sofern ENABLE
ebenfalls auf ON steht.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Die maximale Anzahl an
Hundertstelsekunden, die der Zeitgeber
beim Zählvorgang kumulieren kann. Kann
als eine Ganzzahlkonstante angezeigt
oder in einer Variablen gespeichert
werden, die sich in einem %IW-
Eingangswort oder in einem %MW-
Speicherwort befindet. Gültiger
Wertebereich: 1 bis 65.535
Unten IN/OUT ACC_TIME UINT %MW Die tatsächliche beim Zählvorgang
kumulierte Anzahl. Dieser Wert wird alle
Hunderstelsekunden bis Erreichen des
voreingestellten Preset-Werts um 1
inkrementiert. Die mit diesem Pin
verknüpfte Variable kann in einem %MW-
Speicherwort oder in einem nicht
lokalisierten UINT-Wort abgelegt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben EQT BOOL – ON gibt an, dass der Wert ACC_TIME dem Wert
PRESET entspricht.
Unten LESSTH BOOL – ON gibt an, dass der Wert ACC_TIME kleiner ist als
der Wert PRESET.

154 EIO0000000808 11/2011


Unity Pro
L9_T01
EIO0000000808 11/2011

L9_T01: Zehntelsekunden-
Zeitgeber
22
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 155


L9_T01

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON startet den Zeitgeber, sofern
RUN ebenfalls im ON-Zustand ist.
Unten RUN BOOL – OFF setzt den Zähler auf 0 zurück, 0 aktiviert
die Zeitgeber-Ausführung, sofern ENABLE
ebenfalls auf ON steht.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Die maximale Anzahl an Zehntelsekunden,
die der Zeitgeber beim Zählvorgang
kumulieren kann. Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variablen gespeichert werden, die sich in
einem %IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten Wort befindet. Gültiger
Wertebereich: 1 bis 65.535
Unten IN/OUT ACC_TIME UINT %MW Die tatsächliche beim Zählvorgang
kumulierte Anzahl. Dieser Wert wird alle
Zehntelsekunden bis Erreichen des
voreingestellten Preset-Werts um 1
inkrementiert. Die mit diesem Pin
verknüpfte Variable kann in einem %MW-
Wort oder in einem nicht lokalisierten UINT-
Wort abgelegt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben EQT BOOL – ON gibt an, dass der Wert ACC_TIME dem
Wert PRESET entspricht.
Unten LESSTH BOOL – ON gibt an, dass der Wert ACC_TIME kleiner
ist als der Wert PRESET.

156 EIO0000000808 11/2011


Unity Pro
L9_T1
EIO0000000808 11/2011

L9_T1: Sekunden-Zeitgeber

23
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 157


L9_T1

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON startet den Zeitgeber, sofern RUN
ebenfalls im ON-Zustand ist.
Unten RUN BOOL – OFF setzt den Zähler auf 0 zurück, 0 aktiviert
die Zeitgeber-Ausführung, sofern ENABLE
ebenfalls auf ON steht.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Die maximale Anzahl an Sekunden, die der
Zeitgeber beim Zählvorgang kumulieren
kann. Kann als eine Ganzzahlkonstante
angezeigt oder in einer Variablen
gespeichert werden, die sich in einem
%IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten UINT-Wort befindet. Gültiger
Wertebereich: 1 bis 65.535
Unten IN/OUT ACC_TIME UINT %MW Die tatsächliche beim Zählvorgang
kumulierte Anzahl. Dieser Wert wird jede
Sekunde bis Erreichen des voreingestellten
Preset-Werts um 1 inkrementiert. Die mit
diesem Pin verknüpfte Variable kann in
einem %MW-Wort oder in einem nicht
lokalisierten UINT-Wort abgelegt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben EQT BOOL – ON gibt an, dass der Wert ACC_TIME dem
Wert PRESET entspricht.
Unten LESSTH BOOL – ON gibt an, dass der Wert ACC_TIME
kleiner ist als der Wert PRESET.

158 EIO0000000808 11/2011


Unity Pro
L9_T1MS
EIO0000000808 11/2011

L9_T1MS: Millisekunden-
Zeitgeber
24
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 159


L9_T1MS

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON startet den Zeitgeber, sofern RUN ebenfalls im
ON-Zustand ist.
Unten RUN BOOL – OFF setzt den Zähler auf 0 zurück, 0 aktiviert die Zeitgeber-
Ausführung, sofern ENABLE ebenfalls auf ON steht.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Die maximale Anzahl an Millisekunden, die der
Zeitgeber beim Zählvorgang kumulieren kann.
Kann als eine Ganzzahlkonstante angezeigt oder
in einer Variablen gespeichert werden, die sich in
einem %IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht lokalisierten
UINT-Wort befindet. Gültiger Wertebereich: 1 bis
65.535
Mitte IN/OUT ACC_TIME UINT %MW Die tatsächliche beim Zählvorgang kumulierte
Anzahl. Dieser Wert wird jede Sekunde bis
Erreichen des voreingestellten Preset-Werts um
1 inkrementiert. Die mit diesem Pin verknüpfte
Variable kann in einem %MW-Wort oder in einem
nicht lokalisierten UINT-Wort abgelegt werden.
Unten IN CONST UINT 1 Nicht verwendet

Position Name Datentyp Adressbereich Bedeutung


Oben EQT BOOL – ON gibt an, dass der Wert ACC_TIME dem Wert PRESET
entspricht.
Unten LESSTH BOOL – ON gibt an, dass der Wert ACC_TIME kleiner ist als der Wert
PRESET.

160 EIO0000000808 11/2011


Unity Pro
L9_UCTR
EIO0000000808 11/2011

L9_UCTR: Aufwärtszähler

25
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 161


L9_UCTR

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Zählung aus.
Unten RUN BOOL – OFF setzt den Zähler auf den Wert PRESET
zurück. ON ermöglicht die Ausführung des
Zählers, sofern ENABLE eingeschaltet wird
(ON).

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PRESET UINT %IW, %MW Der voreingestellte PRESET-Zählerwert, bis
zu dem der Zähler aufwärtszählt. Kann als
eine Ganzzahlkonstante angezeigt oder in
einer Variablen gespeichert werden, die
sich in einem %IW-Eingangswort, in einem
%MW-Speicherwort oder in einem nicht
lokalisierten UINT-Wort befindet. Gültiger
Wertebereich: 1 bis 65.535
Unten IN/OUT ACCUM UINT %MW Die kumulierte Anzahl. Wird bei jedem
Übergang von OFF zu ON des oberen
Eingangs ab 0 um 1 inkrementiert, bis dieser
Wert den voreingestellten PRESET-
Zählerwert erreicht. Die mit diesem Pin
verknüpfte Variable muss sich in einem
%MW-Speicherwort oder in einem nicht
lokalisierten UINT-Wort befinden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben AT_PRE BOOL – ON gibt an, dass der kumulierte Zählwert dem
PRESET-Zählerwert entspricht.
Unten LESS_PRE BOOL – ON gibt an, dass der kumulierte Zählwert
kleiner ist als der PRESET-Zählerwert.

162 EIO0000000808 11/2011


Unity Pro
EMTH: Erweiterte Mathematik
EIO0000000808 11/2011

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.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
26 Allgemeine Informationen 167
27 L9E_ADDDP: Addition mit doppelter Genauigkeit 169
28 L9E_ADDF: Addition mit Gleitkommawerten 171
29 L9E_ADDIF: Addition Ganzzahl + Gleitkommawert 173
30 L9E_ANLOG: Antilogarithmus Basis 10 175
31 L9E_ARCOS: Arkuskosinus eines Winkels (in Radiant) für 177
Gleitkommawerte
32 L9E_ARSIN: Arkussinus eines Winkels (in Radiant) für 179
Gleitkommawerte

EIO0000000808 11/2011 163


EMTH: Erweiterte Mathematik

Kapitel Kapitelname Seite


33 L9E_ARTAN: Arkustangens eines Winkels (in Radiant) für 181
Gleitkommawerte
34 L9E_CHSIN: Änderung des Vorzeichens einer 183
Gleitkommazahl
35 L9E_CMPFP: Vergleich von Gleitkommawerten 185
36 L9E_CMPIF: Vergleich Ganzzahl – Gleitkommawert 187
37 L9E_CNVDR: Konvertierung Grad in Radiant für 189
Gleitkommawerte
38 L9E_CNVFI: Konvertierung Gleitkommawert in Ganzzahl 191
39 L9E_CNVIF: Konvertierung Ganzzahl in Gleitkommawert 193
40 L9E_CNVRD: Konvertierung Radiant in Grad für 195
Gleitkommawerte
41 L9E_COS: Kosinus eines Winkels (in Radiant) für 197
Gleitkommawerte
42 L9E_DIVDP: Division mit doppelter Genauigkeit 199
43 L9E_DIVFI: Division Gleitkommawert durch Ganzzahl 201
44 L9E_DIVFP: Division von Gleitkommawerten 203
45 L9E_DIVIF: Division Ganzzahl durch Gleitkommawert 205
46 L9E_ERLOG: Protokoll für Gleitkommawert-Ereignisse 207
47 L9E_EXP: Exponentialfunktion für Gleitkommawerte 211
48 L9E_LNFP: Natürlicher Logarithmus mit Gleitkommawerten 213
49 L9E_LOG: Logarithmus Basis 10 215
50 L9E_LOGFP: Zehnerlogarithmus mit Gleitkommawerten 217
51 L9E_MULDP: Multiplikation mit doppelter Genauigkeit 219
52 L9E_MULFP: Multiplikation von Gleitkommawerten 221
53 L9E_MULIF: Multiplikation Ganzzahl x Gleitkommawert 223
54 L9E_PI: Laden des Gleitkommawerts von „Pi“ 225
55 L9E_POW: Potenzierung eines Gleitkommawerts mit einem 227
Ganzzahl-Exponenten
56 L9E_SINE: Sinus eines Winkels (in Radiant) für 229
Gleitkommawerte
57 L9E_SQRFP: Quadratwurzel von Gleitkommawerten 231
58 L9E_SQRT: Quadratwurzel von Gleitkommawerten 233
59 L9E_SQRTP: Prozess-Quadratwurzel 235
60 L9E_SUBDP: Subtraktion mit doppelter Genauigkeit 237
61 L9E_SUBFI: Subtraktion Gleitkommawert – Ganzzahl 239

164 EIO0000000808 11/2011


EMTH: Erweiterte Mathematik

Kapitel Kapitelname Seite


62 L9E_SUBFP: Subtraktion von Gleitkommatwerten 241
63 L9E_SUBIF: Subtraktion Ganzzahl – Gleitkommawert 243
64 L9E_TAN: Tangens eines Winkels (in Radiant) für 245
Gleitkommawerte

EIO0000000808 11/2011 165


EMTH: Erweiterte Mathematik

166 EIO0000000808 11/2011


Unity Pro
Allgemeine Informationen über EMTH
EIO0000000808 11/2011

Allgemeine Informationen

26
EMTH-Gleitkommafunktionen

IEEE-Standarddarstellung für Gleitkommawerte


Für EMTH-Gleitkommafunktionen sind Werte im 32-Bit-Gleitkommaformat nach
IEEE erforderlich.
Jedem Wert werden 2 Wörter zugewiesen.
z Das 1. höherwertige Bit entspricht dem Vorzeichen des Werts.
z Die folgenden 8 höherwertigen Bits entsprechen dem Exponenten des Werts.
z Die anderen 23 Bits entsprechen der Mantisse des Werts.

Detaillierte Informationen finden Sie unter Darstellung des Datentyps Real


(siehe Unity Pro, Programmiersprachen und Struktur, Referenzhandbuch ) im
Programmiersprachen und Struktur, Referenzhandbuch.

EIO0000000808 11/2011 167


Allgemeine Informationen über EMTH

168 EIO0000000808 11/2011


Unity Pro
L9E_ADDDP
EIO0000000808 11/2011

L9E_ADDDP: Addition mit


doppelter Genauigkeit
27
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ADDDP addiert zwei Operanden mit doppelter Genauigkeit und
speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 169


L9E_ADDDP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Addiert die Operanden und legt die
Summe in den vorgegebenen Wörtern ab.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY [1...2] %MW Value 1 speichert die höher- und
OF UINT niederwertigen Hälften von Operand 1
für einen kombinierten Wert mit
doppelter Genauigkeit im Bereich 0 bis
99.999.999.
Mitte IN/OUT SUM ARRAY [1...6] %MW z Die Wörter 1 und 2 speichern die
OF UINT höher- und niederwertigen Hälften
von Operand 2 für einen
kombinierten Wert mit doppelter
Genauigkeit im Bereich 0 bis
99.999.999.
z Wort 3 gibt an, ob ein ungültiger Wert
vorhanden ist (Wert 1 = ungültiger
Wert).
z Die Wörter 4 und 5 speichern die
höher- und niederwertigen Hälften
der doppelt genauen Summe für
einen kombinierten Wert mit
doppelter Genauigkeit im Bereich 0
bis 99.999.999.
z Wort 6 ist reserviert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Operand außerhalb des Bereichs oder
ungültig

170 EIO0000000808 11/2011


Unity Pro
L9E_ADDFP
EIO0000000808 11/2011

L9E_ADDF: Addition mit


Gleitkommawerten
28
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ADDFP addiert zwei Gleitkomma-Operanden und speichert das
Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 171


L9E_ADDFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Addiert die Operanden und legt die
Summe in den vorgegebenen Wörtern ab.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY [1...2] %MW Gleitkommawert 1
OF UINT z VALUE1 speichert den ersten
Gleitkomma-Operanden, wobei
der höherwertige Teil das Zeichen
in Wort 2 und der niederwertige
Teil in Wort 1 aufnimmt.
Mitte IN/OUT SUM ARRAY [1...4] %MW Gleitpunktwert 2 und Summe
OF UINT z Die Wörter 1 und 2 speichern den
Gleitkommawert 2.
z Die Wörter 3 und 4 speichern die
Summe der Addition im
Gleitkommaformat.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

172 EIO0000000808 11/2011


Unity Pro
L9E_ADDIF
EIO0000000808 11/2011

L9E_ADDIF: Addition Ganzzahl +


Gleitkommawert
29
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ADDIF addiert eine Ganzzahl und einen Gleitkomma-Operanden und
speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 173


L9E_ADDIF

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Ganzzahl +
Gleitkommawert

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY [1...2] %MW Ganzzahl
OF UINT z VALUE1 speichert die Ganzzahl mit
doppelter Genauigkeit, die mit dem
Gleitkommawert addiert werden soll.
Mitte IN/OUT SUM ARRAY [1...4] %MW Gleitkommawert und Summe
OF UINT z Die Wörter 1 und 2 speichern den
Gleitkommawert, der in der Operation
addiert werden soll.
z Die Wörter 3 und 4 speichern die
Summe der Addition im
Gleitkommaformat.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

174 EIO0000000808 11/2011


Unity Pro
L9E_ANLOG
EIO0000000808 11/2011

L9E_ANLOG: Antilogarithmus
Basis 10
30
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 175


L9E_ANLOG

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Gibt die Operation antilog(x) frei.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Quellwert
VALUE1 speichert den Wert, mit dem
die Antilogarithmus-Berechnung
durchgeführt wird. Der Quellwert muss
in einem einzigen Wort im festen
Dezimalformat 1.234 gespeichert
werden. Er muss sich innerhalb des
Bereichs 0 bis 7999 befinden, d. h. der
Quellwert kann maximal den Wert
7999 annehmen.
Mitte IN/OUT RESULT ARRAY[1...2] %MW Ergebnis
OF UINT Das Ergebnis der Antilogarithmus-
Berechnung wird im festen
Dezimalformat 12345678 abgelegt.
Die höherwertigen Bits werden in Wort
1, die niederwertigen Bits in Wort 2
gespeichert. Der größtmögliche
Antilogarithmus-Wert, der sich aus der
Berechnung ergeben kann, ist
99770006 (9977 abgelegt in Wort 1
und 0006 in Wort 2).

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Ereignis oder Wert außerhalb des
Bereichs

176 EIO0000000808 11/2011


Unity Pro
L9E_ARCOS
EIO0000000808 11/2011

L9E_ARCOS: Arkuskosinus eines


Winkels (in Radiant) für
Gleitkommawerte 31
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E__ARCOS führt die Arkuskosinus-Funktion für einen Gleitkommawert
aus und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 177


L9E_ARCOS

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Kosinus des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN COSVAL ARRAY[1...2] %MW Gleitkommawert, der den Kosinus eines
OF UINT Winkels angibt.
COSVAL speichert einen
Gleitkommawert, der den Kosinus eines
Winkels zwischen 0 und Pi Radiant
angibt.
Der Wert muss sich innerhalb des
Bereichs -1.0 bis +1.0 befinden.
Andernfalls:
z Der Kosinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
z Im DFB L9E_ERLOG wird ein
Ereignis ausgewiesen.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Arkuskosinus in Radiant des Werts in
OF UINT COSVAL
Der Arkuskosinus in Radiant des
Gleitkommawerts wird in den Wörtern 3
und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-
Referenznummern an COSVAL
angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

178 EIO0000000808 11/2011


Unity Pro
L9E_ARSIN
EIO0000000808 11/2011

L9E_ARSIN: Arkussinus eines


Winkels (in Radiant) für
Gleitkommawerte 32
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ARSIN führt die Arkussinus-Funktion für einen Gleitkommawert aus
und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 179


L9E_ARSIN

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Arkussinus des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SINEVAL ARRAY[1...2] %MW Gleitkommawert, der den Sinus eines
OF UINT Winkels angibt.
SINEVAL speichert einen
Gleitkommawert, der den Sinus eines
Winkels zwischen -Pi/2 und +Pi/2
Radiant angibt.
Der Wert muss sich innerhalb des
Bereichs -1.0 bis +1.0 befinden.
Andernfalls:
z Der Arkussinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
z Im DFB L9E_ERLOG wird ein
Ereignis ausgewiesen.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Arkussinus in Radiant des Werts in
OF UINT SINEVAL
Der Arkussinus in Radiant des
Gleitkommawerts wird in den Wörtern 3
und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-
Referenznummern an SINEVAL
angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

180 EIO0000000808 11/2011


Unity Pro
L9E_ARTAN
EIO0000000808 11/2011

L9E_ARTAN: Arkustangens eines


Winkels (in Radiant) für
Gleitkommawerte 33
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ARTAN führt die Arkustangens-Funktion für einen Gleitkommawert
aus und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 181


L9E_ARTAN

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Arkustangens des
Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN TANVAL ARRAY[1...2] %MW Gleitkommawert, der den Tangens
OF UINT eines Winkels angibt.
TANVAL speichert einen
Gleitkommawert, der den Tangens
eines Winkels zwischen -Pi/2 und
+Pi/2 Radiant angibt. Jeder gültige
Gleitkommawert ist zulässig.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Arkustangens in Radiant des Werts in
OF UINT TANVAL
Der Arkustangens in Radiant des
Gleitkommawerts wird in den Wörtern
3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist
jedoch erforderlich.
Hinweis: Um Speicherplatz zu
sparen, können Sie die den Wörtern 1
und 2 zugewiesenen %MW-
Referenznummern an TANVAL
angleichen, da die Wörter 1 und 2
nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

182 EIO0000000808 11/2011


Unity Pro
L9E_CHSIN
EIO0000000808 11/2011

L9E_CHSIN: Änderung des


Vorzeichens einer
Gleitkommazahl 34
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CHSIN ändert das Vorzeichen eines Gleitkommawerts und speichert
das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 183


L9E_CHSIN

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Ändert das Vorzeichen eines
Gleitkommawerts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert einen Gleitkommawert,
dessen Vorzeichen geändert werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert mit geändertem
OF UINT Vorzeichen
Der Arkustangens in Radiant des
Gleitkommawerts wird in den Wörtern 3
und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1 und
2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

184 EIO0000000808 11/2011


Unity Pro
L9E_CMPFP
EIO0000000808 11/2011

L9E_CMPFP: Vergleich von


Gleitkommawerten
35
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CMPFP vergleicht 2 Gleitkommawerte und gibt deren Beziehung in 2
Ausgangsparametern an (GRTH, LESSTH).

Darstellung

EIO0000000808 11/2011 185


L9E_CMPFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert den Vergleich.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Erster Gleitkommawert
OF UINT VALUE1 speichert den ersten
Gleitkommawert für den Vergleich.
Mitte IN/OUT VALUE2 ARRAY[1...4] %MW Zweiter Gleitkommawert
OF UINT Die Wörter 1 und 2 speichern den zweiten
Gleitkommawert 2 für den Vergleich.
Die Wörter 3 und 4 werden nicht verwendet,
deren Zuweisung ist jedoch erforderlich.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte GRTH BOOL – Siehe Tabelle GRTH und LESSTH unten.
Diese Tabelle verweist auf die erstellte
Beziehung bei einem Vergleich der zwei
Werte durch L9E_CMPIF.
Unten LESSTH BOOL – Siehe Tabelle GRTH und LESSTH unten.
Diese Tabelle verweist auf die erstellte
Beziehung bei einem Vergleich der zwei
Werte durch L9E_CMPIF.

GRTH und LESSTH


Wenn der DFB L9E_CMPFP die zwei Gleitkommawerte vergleicht, verweist der
kombinierte Status von GRTH und LESSTH auf deren Beziehung:

GRTH LESSTH Beziehung


ON OFF VALUE1 > VALUE2
OFF ON VALUE1 < VALUE2
ON ON VALUE1 = VALUE2

186 EIO0000000808 11/2011


Unity Pro
L9E_CMPIF
EIO0000000808 11/2011

L9E_CMPIF: Vergleich Ganzzahl –


Gleitkommawert
36
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CMPIF vergleicht eine Ganzzahl mit einem Gleitkommawert und gibt
deren Beziehung in 2 Ausgangsparametern an (GRTH, LESSTH).

Darstellung

EIO0000000808 11/2011 187


L9E_CMPIF

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert den Vergleich.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Ganzzahl
OF UINT VALUE1 speichert den Wert mit doppelter
Genauigkeit für den Vergleich.
Mitte IN/OUT VALUE2 ARRAY[1...4] %MW Gleitkommawert
OF UINT Die Wörter 1 und 2 speichern den
Gleitkommawert für den Vergleich.
Die Wörter 3 und 4 sind reserviert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte GRTH BOOL – Siehe Tabelle GRTH und LESSTH unten.
Diese Tabelle verweist auf die erstellte
Beziehung bei einem Vergleich der zwei
Werte durch L9E_CMPIF.
Unten LESSTH BOOL – Siehe Tabelle GRTH und LESSTH unten.
Diese Tabelle verweist auf die erstellte
Beziehung bei einem Vergleich der zwei
Werte durch L9E_CMPIF.

GRTH und LESSTH


Wenn der DFB L9E_CMPIF die zwei Werte vergleicht, verweist der kombinierte
Status von GRTH und LESSTH auf deren Beziehung:

GRTH LESSTH Beziehung


ON OFF VALUE1 > VALUE2
OFF ON VALUE1 < VALUE2
ON ON VALUE1 = VALUE2

188 EIO0000000808 11/2011


Unity Pro
L9E_CNVDR
EIO0000000808 11/2011

L9E_CNVDR: Konvertierung Grad


in Radiant für Gleitkommawerte
37
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CNVDR konvertiert den Gleitkommawert eines Winkels in Grad in
einen Gleitkommawert in Radiant.

Darstellung

EIO0000000808 11/2011 189


L9E_CNVDR

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Konvertierung von Wert 1 in Wert 2.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert des Winkels in Grad
OF UINT VALUE1 speichert den Gleitkommawert
eines Winkels in Grad.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert des Winkels in Radiant
OF UINT Der Gleitkommawert des Winkels in
Radiant wird in den Wörtern 3 und 4
abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1
und 2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

190 EIO0000000808 11/2011


Unity Pro
L9E_CNVFI
EIO0000000808 11/2011

L9E_CNVFI: Konvertierung
Gleitkommawert in Ganzzahl
38
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CNVFI konvertiert einen Gleitkommawert in eine Ganzzahl.

Darstellung

EIO0000000808 11/2011 191


L9E_CNVFI

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Gleitkommawert-
Ganzzahl-Konvertierung.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Zu konvertierender Gleitkommawert
OF UINT VALUE1 speichert den zu konvertierenden
Gleitkommawert.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Ganzzahl
OF UINT Das Ganzzahl-Ergebnis der Konvertierung
wird in den Wörtern 3 und 4 abgelegt.
Dieser Wert sollte der größtmögliche
Ganzzahlwert sein, der ≤dem
Gleitkommawert ist. Zum Beispiel wird der
Gleitkommawert 3,5 in den Ganzzahlwert 3
konvertiert, während der Gleitkommawert -
3,5 in den Ganzzahlwert -4 konvertiert wird.
Hinweis: Wenn die resultierende Gannzahl
zu umfangreich für das 984-
Ganzzahlformat doppelter Genauigkeit sein
sollte (> 99,999,999), wird die
Konvertierung dennoch durchgeführt,
allerdings wird im DFB L9E_ERLOG ein
entsprechendes Ereignis protokolliert.
Die Wörter 1 und 2 werden nicht verwendet,
deren Zuweisung ist jedoch erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1 und
2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).
Mitte NEG BOOL – OFF = Positiver Ganzzahlwert
ON = Negativer Ganzzahlwert

192 EIO0000000808 11/2011


Unity Pro
L9E_CNVIF
EIO0000000808 11/2011

L9E_CNVIF: Konvertierung
Ganzzahl in Gleitkommawert
39
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CNVIF konvertiert eine Ganzzahl in einen Gleitkommawert.

Darstellung

EIO0000000808 11/2011 193


L9E_CNVIF

Parameter

Eingang Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Ganzzahl-
Gleitkommawert-Konvertierung.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Zu konvertierende Ganzzahl
OF UINT VALUE1 speichert die zu konvertierende
Gannzahl.
Hinweis: Wenn eine ungültige Ganzzahl
( > 9999) in VALUE1 eingegeben wird,
wird die Gleitkomma-Konvertierung
dennoch durchgeführt, allerdings wird
ein entsprechendes Ereignis gemeldet
und im DFB L9E_ERLOG protokolliert.
Das Ergebnis der Konvertierung ist unter
Umständen nicht korrekt.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert
OF UINT Das Gleitkomma-Ergebnis der
Konvertierung wird in den Wörtern 3 und
4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-
Referenznummern an VALUE1
angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

194 EIO0000000808 11/2011


Unity Pro
L9E_CNVRD
EIO0000000808 11/2011

L9E_CNVRD: Konvertierung
Radiant in Grad für
Gleitkommawerte 40
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_CNVRD konvertiert den Gleitkommawert eines Winkels in Radiant in
einen Gleitkommawert in Grad.

Darstellung

EIO0000000808 11/2011 195


L9E_CNVRD

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Konvertierung von Wert 1 in
Wert 2.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert des Winkels in Radiant
OF UINT VALUE1 speichert den zu konvertierenden
Gleitkommawert eines Winkels in Radiant.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert des Winkels in Grad
OF UINT Der Gleitkommawert des Winkels in Grad
wird in den Wörtern 3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1
und 2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

196 EIO0000000808 11/2011


Unity Pro
L9E_COS
EIO0000000808 11/2011

L9E_COS: Kosinus eines Winkels


(in Radiant) für Gleitkommawerte
41
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 197


L9E_COS

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Kosinus des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN RAD ARRAY[1...2] %MW Gleitkommawert, der den Wert eines
OF UINT Winkels in Radiant angibt.
RAD speichert einen Gleitkommawert, der
den Wert eines Winkels in Radiant angibt.
Dieser Wert muss < 65536,0 sein.
Andernfalls:
z Der Kosinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
z Im DFB L9E_ERLOG wird ein Ereignis
ausgewiesen.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Kosinus des Werts in RAD
OF UINT Der Kosinus des Werts wird in den Wörtern
3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht verwendet,
deren Zuweisung ist jedoch erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an RAD angleichen, da die Wörter 1 und 2
nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

198 EIO0000000808 11/2011


Unity Pro
L9E_DIVDP
EIO0000000808 11/2011

L9E_DIVDP: Division mit


doppelter Genauigkeit
42
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 199


L9E_DIVDP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Operand 1 dividiert durch Operand 2,
das Ergebnis wird in den vorgegebenen
Wörtern abgelegt.
Mitte DECIMAL BOOL – ON = Rest als Dezimalzahl
OFF = Rest als Bruch

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Operand 1 doppelter Genauigkeit
OF UINT VALUE1 speichert die höher- und
niederwertigen Hälften von Operand 1 für
einen kombinierten Wert mit doppelter
Genauigkeit im Bereich 0 bis 99.999.999.
Mitte IN/OUT RESULT ARRAY[1...6] %MW Operand 2, Quotient und Rest
OF UINT z Die Wörter 1 und 2 speichern die höher-
und niederwertigen Hälften von
Operand 2 für einen kombinierten Wert
mit doppelter Genauigkeit im Bereich 0
bis 99.999.999.
Hinweis: Da eine Division durch 0
ungültig ist, löst der Wert 0 ein Ereignis
aus. Ein Ereignis-Fangprogramm setzt
die verbleibenden Wörter RESULT auf
0000 und stellt OP2ISZERO auf ON ein.
z Die Wörter 3 und 4 speichern einen 8-
stelligen Quotienten.
z Die Wörter 5 und 6 speichern den Rest.
Wenn der Rest als Bruch ausgedrückt
wird, ist er 8 Ziffern lang und beide
Wörter werden verwendet. Wird der
Rest als Dezimalwert ausgedrückt,
dann ist er 4 Ziffern lang und es wird nur
Wort 5 verwendet.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Operand außerhalb des Bereichs
oder ungültig
Unten OP2ZERO BOOL – ON = Operand 2 gleich Null

200 EIO0000000808 11/2011


Unity Pro
L9E_DIVFI
EIO0000000808 11/2011

L9E_DIVFI: Division Gleitkom-


mawert durch Ganzzahl
43
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_DIVFI dividiert einen Operanden 1 (Gleitkommawert) durch einen
Operanden 2 (Ganzzahl) und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 201


L9E_DIVFI

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Gleitkommawert /
Ganzzahl.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert den durch die Ganzzahl
zu dividierenden Gleitkommawert.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Ganzzahl und Quotient
OF UINT Die Ganzzahl doppelter Genauigkeit, durch
die der Gleitkommawert geteilt wird, wird in
den Wörtern 1 und 2 abgelegt.
Der Quotient wird in den Wörtern 3 und 4 im
Gleitkommaformat abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

202 EIO0000000808 11/2011


Unity Pro
L9E_DIVFP
EIO0000000808 11/2011

L9E_DIVFP: Division von


Gleitkommawerten
44
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_DIVFP dividiert einen Operanden 1 (Gleitkommawert) durch einen
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 203


L9E_DIVFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Gleitkommawert
1 / Gleitkommawert 2.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert den durch
Gleitkommawert 2 zu dividierenden
Gleitkommawert 1.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert 2 und Quotient
OF UINT Gleitkommawert 2, durch den
Gleitkommawert 1 dividiert werden soll,
wird in den Wörtern 1 und 2 abgelegt.
Der Quotient wird in den Wörtern 3 und 4 im
Gleitkommaformat abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

204 EIO0000000808 11/2011


Unity Pro
L9E_DIVIF
EIO0000000808 11/2011

L9E_DIVIF: Division Ganzzahl


durch Gleitkommawert
45
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_DIVIF dividiert einen Operanden 1 (Ganzzahl) durch einen
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 205


L9E_DIVIF

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Ganzzahl /
Gleitkommawert.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Ganzzahl
OF UINT VALUE1 speichert die Ganzzahl mit
doppelter Genauigkeit, die durch den
Gleitkommawert dividiert werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert und Quotient
OF UINT Der Gleitkommawert, durch den die
Ganzzahl geteilt wird, wird in den
Wörtern 1 und 2 abgelegt.
Der Quotient wird in den Wörtern 3 und 4
im Gleitkommaformat abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

206 EIO0000000808 11/2011


Unity Pro
L9E_ERLOG
EIO0000000808 11/2011

L9E_ERLOG: Protokoll für


Gleitkommawert-Ereignisse
46
Übersicht
In diesem Kapitel wird der DFB L9E_ERLOG beschrieben.

Inhalt dieses Kapitels


Dieses Kapitel enthält die folgenden Themen:
Thema Seite
Beschreibung 208
EMTH-Funktionscodes 210

EIO0000000808 11/2011 207


L9E_ERLOG

Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_ERLOG ruft ein Protokoll mit den Ereignistypen seit dem letzten Aufruf
auf.

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Ruft ein Protokoll mit den
Ereignistypen seit dem letzten Aufruf auf.

208 EIO0000000808 11/2011


L9E_ERLOG

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN PHASE ARRAY[1...2] %MW Wird in der Operation nicht verwendet,
OF UINT eine Zuweisung ist jedoch erforderlich.
Mitte IN/OUT ERRDAT ARRAY[1...4] %MW Wort 1 von ERRDAT enthält den Ereignis-
OF UINT und Funktionscode des letzten
Funktionsbausteins EMTH, für den ein
Ereignis gemeldet wurde.
Detaillierte Informationen finden Sie in
der unten stehenden Tabelle ERRDAT.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Abruf erfolgreich
Mitte ERRLOG BOOL – ON = Werte ungleich Null in ERRDAT
OFF = Nur Nullwerte in ERRDAT

ERRDAT
Verwenden Sie die LL984-kompatible Bitfolge für den LL984-Editor in Unity Pro.

Verwendung von ERRDAT (Wort 1)

Bit 1...16 Funktion


1...8 Funktionscode des zuletzt protokollierten Ereignisses (siehe Funktionscodes
der EMTH-Unterfunktionen, Seite 210)
9...11 Nicht verwendet
12 Konvertierung Ganzzahl/Gleitkommawert
13 Potenz der Exponentialfunktion zu groß
14 Ungültiger Gleitkommawert oder ungültige Operation
15 Gleitkommawert-Überlauf
16 Gleitkommawert-Unterlauf

Wenn das Bit auf 1 gesetzt ist, existiert der spezifische Ereigniszustand für dieses
Bit.

EIO0000000808 11/2011 209


L9E_ERLOG

EMTH-Funktionscodes

Funktionscodes der EMTH-Unterfunktionen


Liste der Funktionscodes

EMTH-Unterfunktion Funktionscode EMTH-Unterfunktion Funktionscode


L9E_ADDDP 16# 01 L9E_MULFP 16# 14
L9E_SUBDP 16# 02 L9E_DIVFP 16# 15
L9E_MULDP 16# 03 L9E_CMPFP 16# 16
L9E_DIVDP 16# 04 L9E_SQRFP 16# 17
L9E_SQRT 16# 05 L9E_CHSIN 16# 18
L9E_SQRTP 16# 06 L9E_PI 16# 19
L9E_LOG 16# 07 L9E_SINE 16# 1A
L9E_ANLOG 16# 08 L9E_COS 16# 1B
L9E_CNVIF 16# 09 L9E_TAN 16# 1C
L9E_ADDIF 16# 0A L9E_ARSIN 16# 1D
L9E_SUBIF 16# 0B L9E_ARCOS 16# 1E
L9E_MULIF 16# 0C L9E_ARTAN 16# 1F
L9E_DIVIF 16# 0D L9E_CNVRD 16# 20
L9E_SUBFI 16# 0E L9E_CNVDR 16# 21
L9E_DIVFI 16# 0F L9E_POW 16# 22
L9E_CMPIF 16# 10 L9E_EXP 16# 23
L9E_CNVFI 16# 11 L9E_LNFP 16# 24
L9E_ADDFP 16# 12 L9E_LOGFP 16# 25
L9E_SUBFP 16# 13 L9E_ERLOG 16# 26

210 EIO0000000808 11/2011


Unity Pro
L9E_EXP
EIO0000000808 11/2011

L9E_EXP: Exponentialfunktion für


Gleitkommawerte
47
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_EXP berechnet eine Exponentialfunktion für einen Gleitkommawert
und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 211


L9E_EXP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet die Exponentialfunktion des
Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert einen Wert im
Gleitkommaformat innerhalb des
Bereichs -87.33 bis +88.72.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Exponentialfunktion von VALUE1
OF UINT Die Exponentialfunktion von VALUE1 wird
im Gleitkommaformat in den Wörtern 3
und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern an
VALUE1 angleichen, da die Wörter 1 und
2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

212 EIO0000000808 11/2011


Unity Pro
L9E_LNFP
EIO0000000808 11/2011

L9E_LNFP: Natürlicher
Logarithmus mit
Gleitkommawerten 48
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_LNFP berechnet den natürlichen Logarithmus eines Gleitkom-
mawerts und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 213


L9E_LNFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den natürlichen Logarithmus
des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Wert > 0 im Gleitkommaformat
OF UINT VALUE1 speichert den Wert > 0 im
Gleitkommaformat.
Wenn der Wert ≤0, wird ein ungültiges
Ergebnis in RESULT zurückgegeben und
im DFB L9E_ERLOG ein entsprechendes
Ereignis protokolliert.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Natürlicher Logarithmus von VALUE1
OF UINT Der natürliche Logarithmus von VALUE1
wird im Gleitkommaformat in den
Wörtern 3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1
und 2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

214 EIO0000000808 11/2011


Unity Pro
L9E_LOG
EIO0000000808 11/2011

L9E_LOG: Logarithmus Basis 10

49
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 215


L9E_LOG

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert die Logarithmus-Operation zur
Basis 10.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %IW, %MW Quellwert
OF UINT VALUE1 speichert den Wert, für den die
Logarithmus-Berechnung zur Basis 10
durchgeführt werden soll.
Wenn Sie einen %MW-Wert angeben, kann
sich der Quellwert innerhalb des Bereichs 0
bis 99.999.999 befinden.
Wenn Sie einen %IW-Wert angeben, kann
sich der Quellwert innerhalb des Bereichs 0
bis 9.999 befinden.
Mitte IN/OUT RESULT UINT %MW Ergebnis
RESULT enthält ein einziges %MW-Wort, in
dem der Wert der Logarithmus-Berechnung
zur Basis 10 gespeichert wird.
RESULT wird im festen Dezimalformat
gespeichert: 1.234, und wird nach der
dritten Dezimalstelle abgeschnitten. Das
größtmögliche berechenbare Ergebnis ist
7.999; dieses Ergebnis würde in der Form
7999 abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Ereignis oder Wert außerhalb des
Bereichs

216 EIO0000000808 11/2011


Unity Pro
L9E_LOGFP
EIO0000000808 11/2011

L9E_LOGFP: Zehnerlogarithmus
mit Gleitkommawerten
50
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_LOGFP berechnet den Zehnerlogarithmus eines Gleitkommawerts
und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 217


L9E_LOGFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Zehnerlogarithmus des
Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Wert > 0 im Gleitkommaformat
OF UINT VALUE1 speichert den Wert > 0 im
Gleitkommaformat.
Wenn der Wert ≤0, wird ein ungültiges
Ergebnis in RESULT zurückgegeben und
im DFB L9E_ERLOG ein entsprechendes
Ereignis protokolliert.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Zehnerlogarithmus von VALUE1
OF UINT Der Zehnerlogarithmus von VALUE1 wird
im Gleitkommaformat in den Wörtern 3
und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern
an VALUE1 angleichen, da die Wörter 1
und 2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

218 EIO0000000808 11/2011


Unity Pro
L9E_MULDP
EIO0000000808 11/2011

L9E_MULDP: Multiplikation mit


doppelter Genauigkeit
51
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 219


L9E_MULDP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Operand 1 multipliziert mit Operand 2,
das Ergebnis wird in den vorgegebenen
Wörtern abgelegt.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Operand 1 doppelter Genauigkeit
OF UINT Value 1 speichert die höher- und
niederwertigen Hälften von Operand 1 für
einen kombinierten Wert mit doppelter
Genauigkeit im Bereich 0 bis 99.999.999.
Mitte IN/OUT RESULT ARRAY[1...6] %MW Operand 2 und Produkt
OF UINT z Die Wörter 1 und 2 speichern die höher-
und niederwertigen Hälften von
Operand 2 für einen kombinierten Wert
mit doppelter Genauigkeit im Bereich 0
bis 99.999.999.
z Die Wörter 3, 4, 5 und 6 speichern das
Produkt mit doppelter Genauigkeit im
Bereich 0 bis 9.999.999.999.999.999.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Operand außerhalb des Bereichs

220 EIO0000000808 11/2011


Unity Pro
L9E_MULFP
EIO0000000808 11/2011

L9E_MULFP: Multiplikation von


Gleitkommawerten
52
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_MULFP multipliziert einen Operanden 1 (Gleitkommawert) mit einem
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 221


L9E_MULFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Multiplikation der
Gleitkommawerte.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert 1
OF UINT VALUE1 speichert Gleitkommawert 1 für
die Multiplikation.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert 2 und Produkt
OF UINT Gleitkommawert 2 für die Multiplikation
wird in den Wörtern 1 und 2 gespeichert.
Das Produkt der Multiplikation wird in den
Wörtern 3 und 4 im Gleitkommaformat
gespeichert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

222 EIO0000000808 11/2011


Unity Pro
L9E_MULIF
EIO0000000808 11/2011

L9E_MULIF: Multiplikation
Ganzzahl x Gleitkommawert
53
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_MULIF multipliziert einen Operanden 1 (Ganzzahl) mit einem
Operanden 2 (Gleitkommawert) und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 223


L9E_MULIF

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Ganzzahl x
Gleitkommawert.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW VALUE1 speichert die Ganzzahl mit
OF UINT doppelter Genauigkeit, die mit dem
Gleitkommawert multipliziert werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Der Gleitkommawert für die Multiplikation
OF UINT wird in den Wörtern 1 und 2 gespeichert.
Das Produkt der Multiplikation wird in den
Wörtern 3 und 4 im Gleitkommaformat
abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

224 EIO0000000808 11/2011


Unity Pro
L9E_PI
EIO0000000808 11/2011

L9E_PI: Laden des Gleitkom-


mawerts von „Pi“
54
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_PI lädt den Gleitkommawert von π in PIVAL.

Darstellung

EIO0000000808 11/2011 225


L9E_PI

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Lädt den Gleitkommawert von π in
PIVAL.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1..2]OF %MW VALUE1 wird nicht verwendet, dessen
UINT Zuweisung ist jedoch erforderlich.
Mitte IN/OUT PIVAL ARRAY[1...4] %MW Gleitkommawert von π
OF UINT Der Gleitkommawert von π wird in den
Wörtern 3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist
jedoch erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-
Referenznummern an VALUE1
angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

226 EIO0000000808 11/2011


Unity Pro
L9E_POW
EIO0000000808 11/2011

L9E_POW: Potenzierung eines


Gleitkommawerts mit einem
Ganzzahl-Exponenten 55
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_POW berechnet die Potenzierung eines Gleitkommawerts mit einem
Ganzzahl-Exponenten.

Darstellung

EIO0000000808 11/2011 227


L9E_POW

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet das Ergebnis der
Potenzierung des Gleitkommawerts mit
dem ganzzahligen Exponenten.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert den mit dem
Ganzzahl-Exponenten zu
potenzierenden Gleitkommawert.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Ganzzahl und Ergebnis
OF UINT Die Bitwerte in Wort 1 müssen alle auf
Null gesetzt werden. Der Ganzzahl-
Exponent, mit dem VALUE1 potenziert
werden soll, wird in Wort 2 gespeichert.
Das Ergebnis der Gleitkommawert-
Potenzierung mit dem Ganzzahl-
Exponenten wird in den Wörtern 3 und
4 gespeichert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

228 EIO0000000808 11/2011


Unity Pro
L9E_SINE
EIO0000000808 11/2011

L9E_SINE: Sinus eines Winkels (in


Radiant) für Gleitkommawerte
56
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 229


L9E_SINE

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Sinus des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN RAD ARRAY[1...2] %MW Gleitkommawert, der den Wert eines Winkels
OF UINT in Radiant angibt.
RAD speichert einen Gleitkommawert, der den
Wert eines Winkels in Radiant angibt.
Dieser Wert muss < 65536,0 sein.
Andernfalls:
z Der Sinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
z Im DFB L9E_ERLOG wird ein Ereignis
ausgewiesen.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Sinus des Werts in RAD
OF UINT Der Sinus des Werts in RAD wird in den
Wörtern 3 und 4 im Gleitkommformat
abgelegt.
Die Wörter 1 und 2 werden nicht verwendet,
deren Zuweisung ist jedoch erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern an
RAD angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

230 EIO0000000808 11/2011


Unity Pro
L9E_SQRFP
EIO0000000808 11/2011

L9E_SQRFP: Quadratwurzel von


Gleitkommawerten
57
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_SQRFP zieht die Quadratwurzel aus einem Gleitkommawert und
speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 231


L9E_SQRFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Berechnung der
Quadratwurzel aus dem Gleitkommawert.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert den Wert im
Gleitkommaformat, aus dem die
Quadratwurzel gezogen werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Quadratwurzel von VALUE1
OF UINT Die Quadratwurzel von VALUE1 wird im
Gleitkommaformat in den Wörtern 3 und 4
abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern an
VALUE1 angleichen, da die Wörter 1 und
2 nicht verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

232 EIO0000000808 11/2011


Unity Pro
L9E_SQRT
EIO0000000808 11/2011

L9E_SQRT: Quadratwurzel von


Gleitkommawerten
58
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 233


L9E_SQRT

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert eine Standard-
Quadratwurzeloperation.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ARRAY[1...2] %IW, %MW Quellwert
OF UINT Wenn Sie einen %MW-Wert angeben,
kann sich der Quellwert innerhalb des
Bereichs 0 bis 99.999.999 befinden
(Wörter 1 und 2 im Array werden
verwendet).
Wenn Sie einen %IW-Wert angeben,
kann sich der Quellwert innerhalb des
Bereichs 0 bis 9.999 befinden (nur Wort
1 im Array wird verwendet).
Mitte IN/OUT RESULT ARRAY[1...2] %MW Ergebnis
OF UINT RESULT speichert das Ergebnis der
Standard-Quadratwurzeloperation.
RESULT wird im festen Dezimalformat
gespeichert: 1234.5600. In Wort 1 wird
der 4-stellige Wert links neben dem
ersten Dezimalpunkt, in Wort 2 der 4-
stellige Wert rechts neben dem ersten
Dezimalpunkt gespeichert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Quellwert außerhalb des Bereichs

234 EIO0000000808 11/2011


Unity Pro
L9E_SQRTP
EIO0000000808 11/2011

L9E_SQRTP: Prozess-
Quadratwurzel
59
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 235


L9E_SQRTP

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert eine Prozess-
Quadratwurzeloperation.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ARRAY[1...2] %IW, %MW Quellwert
OF UINT Wort 1 enthält den Quellwert (Gültiger
Bereich = 0 bis 4095), von dem die
Quadratwurzel abgeleitet werden soll.
Wort 2 wird nicht verwendet.
Mitte IN/OUT RESULT ARRAY[1...2] %MW Linearisiertes Ergebnis
OF UINT RESULT speichert das linearisierte
Ergebnis der Prozess-
Quadratwurzeloperation.
Das Ergebnis wird im festen
Dezimalformat gespeichert: 1234.5600.
In Wort 1 wird der 4-stellige Wert links
neben dem ersten Dezimalpunkt, in Wort
2 der 4-stellige Wert rechts neben dem
ersten Dezimalpunkt gespeichert.
Hinweis: Die Ziffern nach dem zweiten
Dezimalpunkt werden abgeschnitten; es
wird nicht abgerundet.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
Mitte ERR BOOL – ON = Quellwert außerhalb des Bereichs

236 EIO0000000808 11/2011


Unity Pro
L9E_SUBDP
EIO0000000808 11/2011

L9E_SUBDP: Subtraktion mit


doppelter Genauigkeit
60
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 237


L9E_SUBDP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Subtrahiert Operand 2 von Operand 1
und legt die Differenz in den vorgegebenen
Wörtern ab.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Operand 1
OF UINT Value 1 speichert die höher- und
niederwertigen Hälften von Operand 1
für einen kombinierten Wert mit
doppelter Genauigkeit im Bereich 0 bis
99.999.999.
Mitte IN/OUT RESULT ARRAY[1...6] %MW Operand 2 und Differenz
OF UINT z Die Wörter 1 und 2 speichern die
höher- und niederwertigen Hälften
von Operand 2 für einen
kombinierten Wert mit doppelter
Genauigkeit im Bereich 0 bis
99.999.999.
z Die Wörter 3 und 4 speichern die
höher- und niederwertigen Hälften
der absoluten Differenz im
doppelten Genauigkeitsformat.
z Wort 5 gibt an, ob sind die
Operanden innerhalb des gültigen
Wertebereichs befinden.
z Wort 6 ist reserviert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben GRT BOOL – ON = Operand 1 > Operand 2
Mitte EQT BOOL – ON = Operand 1 = Operand 2
Unten LESSTH BOOL – ON = Operand 1 < Operand 2

238 EIO0000000808 11/2011


Unity Pro
L9E_SUBFI
EIO0000000808 11/2011

L9E_SUBFI: Subtraktion
Gleitkommawert – Ganzzahl
61
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_SUBFI subtrahiert einen Operanden 2 doppelter Genauigkeit
(Ganzzahl) von einem Gleitkommawert und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 239


L9E_SUBFI

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Gleitkommawert
– Ganzzahl.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert
OF UINT VALUE1 speichert den Gleitkommawert,
von dem die Ganzzahl subtrahiert
werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Ganzzahl und Differenz
OF UINT Die Wörter 1 und 2 speichern die
Ganzzahl doppelter Genauigkeit, die vom
Gleitkommawert abgezogen wird. Die
Differenz wird in den Wörtern 3 und 4 im
Gleitkommaformat abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

240 EIO0000000808 11/2011


Unity Pro
L9E_SUBFP
EIO0000000808 11/2011

L9E_SUBFP: Subtraktion von


Gleitkommatwerten
62
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_SUBFP subtrahiert einen Gleitkommawert 2 von einem Gleitkom-
mawert 1 und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 241


L9E_SUBFP

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Subtraktion
Gleitkommawert 1 – Gleitkommawert 2.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Gleitkommawert 1
OF UINT VALUE1 speichert Gleitkommawert 1
(der Wert, von dem Wert 2 subtrahiert
wird).
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert 2 und Differenz
OF UINT z Die Wörter 1 und 2 speichern
Gleitkommawert 2 (der Wert, der
von Wert 1 subtrahiert wird).
z Die Wörter 3 und 4 speichern die
Differenz der Subtraktion im
Gleitkommaformat.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

242 EIO0000000808 11/2011


Unity Pro
L9E_SUBIF
EIO0000000808 11/2011

L9E_SUBIF: Subtraktion Ganzzahl


– Gleitkommawert
63
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

Funktionsbeschreibung
Der DFB L9E_SUBIF subtrahiert einen Gleitkommawert von einer Ganzzahl
doppelter Genauigkeit und speichert das Ergebnis in einem Array.

Darstellung

EIO0000000808 11/2011 243


L9E_SUBIF

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert die Operation Ganzzahl
doppelter Genauigkeit – Gleitkommawert.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ARRAY[1...2] %MW Ganzzahl
OF UINT VALUE1 speichert die Ganzzahl doppelter
Genauigkeit, von der der Gleitkommawert
subtrahiert werden soll.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Gleitkommawert und Differenz
OF UINT Die Wörter 1 und 2 speichern den
Gleitkommawert, der von der Ganzzahl
doppelter Genauigkeit abgezogen wird.
Die Differenz wird in den Wörtern 3 und 4
im Gleitkommaformat abgelegt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich

244 EIO0000000808 11/2011


Unity Pro
L9E_TAN
EIO0000000808 11/2011

L9E_TAN: Tangens eines Winkels


(in Radiant) für Gleitkommawerte
64
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 245


L9E_TAN

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Berechnet den Tangens des Werts.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN RAD ARRAY[1...2] %MW Gleitkommawert, der den Wert eines
OF UINT Winkels in Radiant angibt.
RAD speichert einen Gleitkommawert, der
den Wert eines Winkels in Radiant angibt.
Dieser Wert muss < 65536,0 sein.
Andernfalls:
z Der Tangens wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
z Im DFB L9E_ERLOG wird ein Ereignis
ausgewiesen.
Mitte IN/OUT RESULT ARRAY[1...4] %MW Tangens des Werts in RAD
OF UINT Der Tangens des Werts wird in den
Wörtern 3 und 4 abgelegt.
Die Wörter 1 und 2 werden nicht
verwendet, deren Zuweisung ist jedoch
erforderlich.
Hinweis: Um Speicherplatz zu sparen,
können Sie die den Wörtern 1 und 2
zugewiesenen %MW-Referenznummern an
RAD angleichen, da die Wörter 1 und 2 nicht
verwendet werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Operation erfolgreich
(Das Ereignis wird im DFB L9E_ERLOG
ausgewiesen).

246 EIO0000000808 11/2011


Unity Pro
EQN_EXT
EIO0000000808 11/2011

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.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
65 COSD: Kosinus eines Winkels (in Grad) für Gleitkommawerte 249
66 SIND: Sinus eines Winkels (in Grad) für Gleitkommawerte 251
67 TAND: Tangens eines Winkels (in Grad) für Gleitkommawerte 253

EIO0000000808 11/2011 247


EQN_EXT

248 EIO0000000808 11/2011


Unity Pro
COSD
EIO0000000808 11/2011

COSD: Kosinus eines Winkels (in


Grad) für Gleitkommawerte
65
Beschreibung

HINWEIS: Diese EF kann 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

Eingangs- Name Datentyp Adressbereich Bedeutung


/Ausgangsparameter
IN DEG ArrUInt2 %IW, %MW Gleitkommawert, der den Wert eines
Winkels in Grad angibt.
DEG speichert einen Gleitkommawert, der
den Wert eines Winkels in Grad angibt.
Dieser Wert muss < 65.536,0 sein.
Andernfalls:
z Der Kosinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
OUT RESULT ArrUInt2 %MW Kosinus des Werts in DEG

EIO0000000808 11/2011 249


COSD

250 EIO0000000808 11/2011


Unity Pro
SIND
EIO0000000808 11/2011

SIND: Sinus eines Winkels (in


Grad) für Gleitkommawerte
66
Beschreibung

HINWEIS: Diese EF kann nur in LL984-Gleichungsnetzwerken in der ST-


Programmiersprache verwendet werden.

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

Eingangs- Name Datentyp Adressbereich Bedeutung


/Ausgangsparameter
IN DEG ArrUInt2 %IW, %MW Gleitkommawert, der den Wert eines
Winkels in Grad angibt.
DEG speichert einen Gleitkommawert, der
den Wert eines Winkels in Grad angibt.
Dieser Wert muss < 65.536,0 sein.
Andernfalls:
z Der Sinus wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
OUT RESULT ArrUInt2 %MW Sinus des Werts in DEG
Der Sinus des Werts in DEG wird im
Gleitkommformat gespeichert.

EIO0000000808 11/2011 251


SIND

252 EIO0000000808 11/2011


Unity Pro
TAND
EIO0000000808 11/2011

TAND: Tangens eines Winkels (in


Grad) für Gleitkommawerte
67
Beschreibung

HINWEIS: Diese EF kann nur in LL984-Gleichungsnetzwerken in der ST-


Programmiersprache verwendet werden.

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

Eingangs- Name Datentyp Adressbereich Bedeutung


/Ausgangsparameter
IN DEG ArrUInt2 %IW, %MW DEG speichert einen Gleitkommawert, der
den Wert eines Winkels in Grad angibt.
Dieser Wert muss < 65.536,0 sein.
Andernfalls:
z Der Tangens wird nicht berechnet.
z Ein ungültiges Ergebnis wird
zurückgegeben.
OUT RESULT ArrUInt2 %MW Tangens des Werts in DEG

EIO0000000808 11/2011 253


TAND

254 EIO0000000808 11/2011


Unity Pro
MATH
EIO0000000808 11/2011

MATH

VI
Übersicht
In diesem Abschnitt werden die Prozeduren der MATH-Familie beschrieben.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
68 L9_AD16: Hinzufügen von 16 Bit 257
69 L9_ADD: Addition 261
70 L9_DIV: Division 263
71 L9_DV16: Division von 16 Bit 267
72 L9_MU16: Multiplikation von 16 Bit 271
73 L9_MUL: Multiplikation 275
74 L9_SU16: Subtraktion von 16 Bit 279
75 L9_SUB: Subtraktion 283
76 L9_TEST: Test von 2 Werten 287
77 L9_BCD: Binär- zu Binärcode 289
78 L9_FTOI: Gleitkommawert in Ganzzahl 291
79 L9_ITOF: Ganzzahl in Gleitkommawert 293

EIO0000000808 11/2011 255


MATH

256 EIO0000000808 11/2011


Unity Pro
L9_AD16
EIO0000000808 11/2011

L9_AD16: Hinzufügen von 16 Bit

68
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 257


L9_AD16

Formel
SUM = VALUE1 + VALUE2

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Unten SIGNED BOOL – ON verweist auf eine Operation mit
Vorzeichen, OFF auf eine Operation ohne
Vorzeichen.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der erste zu addierende Wert. Kann als
eine Ganzzahlkonstante angezeigt oder in
einer Variablen gespeichert werden, die
sich in einem %IW-Eingangswort, in einem
%MW-Speicherwort oder in einem nicht
lokalisierten Wort befindet. Gültiger
Wertebereich: -32.768 bis +32.767 (mit
Vorzeichen), 0 bis 65.535 (ohne
Vorzeichen).
Mitte IN VALUE2 UINT %IW, %MW Der zweite zu addierende Wert. Kann als
eine Ganzzahlkonstante angezeigt oder in
einer Variablen gespeichert werden, die
sich in einem %IW-Eingangswort, in einem
%MW-Speicherwort oder in einem nicht
lokalisierten Wort befindet.
Gültiger Wertebereich:
-32.768 bis +32.767 (mit Vorzeichen)
0 bis 65.535 (ohne Vorzeichen)

258 EIO0000000808 11/2011


L9_AD16

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN/OUT SUM UINT %MW Die Summe der 16-Bit-Addition bzw. bei
eingeschaltetem Ausgang OVERFL (ON)
der Betrag, um den die Summe den
Höchstwert eines Worts für eine Operation
ohne Vorzeichen, mit positivem oder
negativem Vorzeichen überschreitet. Die
mit diesem Knoten verknüpfte Variable
kann in einem %MW-Speicherwort oder in
einem nicht lokalisierten UINT-Wort
abgelegt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON verweist auf eine erfolgreich
durchgeführte 16-Bit-Addition.
(Rückmeldung des Status von Eingang
ENABLE).
Unten OVERFL BOOL – ON verweist auf einen Überlauf der
Summe. L9_AD16 kann Summen
kumulieren, die größer sind als der Wert
SUM, der angezeigt werden kann. Bei
eingeschaltetem Ausgang OVERFL (ON)
entspricht die wahre Summe dem
angezeigten Wert SUM plus einem der
folgenden Werte:
z 65.536 für eine Addition ohne
Vorzeichen
z +32.767 für eine Addition mit positivem
Vorzeichen
z -32.768 für eine Addition mit
negativem Vorzeichen

EIO0000000808 11/2011 259


L9_AD16

260 EIO0000000808 11/2011


Unity Pro
L9_AD16
EIO0000000808 11/2011

L9_ADD: Addition

69
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 261


L9_AD16

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der erste zu addierende Wert. Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variablen gespeichert werden, die sich in einem
%IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht lokalisierten
Wort befindet. Gültiger Wertebereich: 0 bis
65.535
Mitte IN VALUE2 UINT %IW, %MW Der zweite zu addierende Wert. Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variablen gespeichert werden, die sich in einem
%IW-Eingangswort, in einem %MW-Speicherwort
oder in einem nicht lokalisierten Wort befindet.
Gültiger Wertebereich: 0 bis 65.535
Unten IN/OUT SUM UINT %MW Die Summe der Addition. Die mit diesem Knoten
verknüpfte Variable kann sich in einem %MW-
Speicherwort oder in einem nicht lokalisierten
UINT-Wort befinden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OVERFL BOOL – ON verweist auf einen Überlauf der
Summe: SUM > 9.999. SUM zeigt einen
präzisen Überlaufwert bis zu 19.998
(9.999 + 9.999) an.

262 EIO0000000808 11/2011


Unity Pro
L9_DIV
EIO0000000808 11/2011

L9_DIV: Division

70
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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)

EIO0000000808 11/2011 263


L9_DIV

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte REM BOOL – Gibt das Format für den Ausdruck des Restwerts an:
ON = Dezimalzahl, OFF = Bruchwert.

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ArrUINT2 %IW, %MW Dividend
Kann entweder ein Wert doppelter
Genauigkeit zwischen 0 und 99.999.999
oder eine Konstante zwischen 0 und
65.535 sein.
Mitte IN VALUE2 UINT %IW, %MW Der Divisor kann als Ganzzahlkonstante
angezeigt oder in einer Variable
gespeichert werden, die sich in einem
%IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten Wort befindet.
Gültiger Wertebereich: 0..65.535
Unten IN/OUT RESULT ArrUINT2 %MW Quotient und ggf. Rest. Muss sich in 2
%MW-Speicherwörtern oder in 2 nicht
lokalisierten UINT-Wörtern befinden. Das
erste Wort enthält den Quotienten, das
zweite Wort den Rest. Beispiel: VALUE1 = 8
und VALUE2 = 3, dann:
z Der Quotient im ersten Wort ist 2.
z Der Rest im zweiten Wort kann als
Dezimalzahl 6.666 oder als Bruchwert 2
ausgedrückt werden.

264 EIO0000000808 11/2011


L9_DIV

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Division erfolgreich
war. (Rückmeldung des Status von
Eingang ENABLE).
Mitte OVERFL BOOL – ON verweist auf einen Überlauf: Der Wert
im ersten Wort RESULT > 9.999.
Unten DIVBY0 BOOL – ON gibt an, dass VALUE2 = 0, somit wurde
eine Division durch 0 versucht.

EIO0000000808 11/2011 265


L9_DIV

266 EIO0000000808 11/2011


Unity Pro
L9_DV16
EIO0000000808 11/2011

L9_DV16: Division von 16 Bit

71
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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)

EIO0000000808 11/2011 267


L9_DV16

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte REM BOOL – Gibt das Format für den Ausdruck des Restwerts an:
ON = Dezimalzahl, OFF = Bruchwert.
Unten SIGNED BOOL – ON verweist auf eine Operation mit Vorzeichen, OFF
auf eine Operation ohne Vorzeichen.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 ArrUInt2 %IW, %MW Dividend Kann als eine Ganzzahlkonstante
angezeigt werden, in einer Variablen
enthalten sein, die sich in einem %IW-
Eingangswort oder in einem %MW-
Speicherwort befindet oder in einem nicht
lokalisierten Wort gespeichert werden. Wenn
sich der Dividend in einem %IW-
Eingangswort oder %MW-Speicherwort
befindet, werden 2 Wörter verwendet.
Gültiger Wertebereich für den Konstantwert:
z 0 bis 65.535 (ohne Vorzeichen)
z -32.768 bis 32.767 (mit Vorzeichen)

Gültiger Wertebereich für %MW, %IW:


z 0 bis 4.294.967.295 (ohne Vorzeichen)
z -2.147.483.648 bis 2.147.483.647 (mit
Vorzeichen)

268 EIO0000000808 11/2011


L9_DV16

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Mitte IN VALUE2 UINT %IW, %MW Der Divisor kann als Ganzzahlkonstante
angezeigt oder in einer Variable gespeichert
werden, die sich in einem %IW-
Eingangswort, in einem %MW-Speicherwort
oder in einem nicht lokalisierten Wort
befindet.
Gültiger Wertebereich:
-32.768 bis 32.767 (mit Vorzeichen)
0 bis 65.535 (ohne Vorzeichen)
Unten IN/OUT RESULT ArrUInt2 %MW Quotient und Rest müssen sich in 2 %MW-
Speicherwörtern oder in 2 nicht lokalisierten
UINT-Wörtern befinden. Das erste Wort
enthält den Quotienten, das zweite Wort den
Rest. Beispiel: VALUE1 = 8 und VALUE2 = 3,
dann:
z Der Quotient im ersten Wert ist 2.
z Der Rest im zweiten Wort kann als
Dezimalzahl 6.666 oder als Bruchwert 2
ausgedrückt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON verweist auf eine erfolgreich
durchgeführte 16-Bit-Division. (Rückmeldung
des Status von Eingang ENABLE).
Mitte OVERFL BOOL – ON verweist auf einen Überlauf: Der Wert im
ersten Wort RESULT > 65.535 (ohne
Vorzeichen), der Wert im ersten Wort
RESULT < -32.768 (mit Vorzeichen) oder der
Wert im ersten Wort RESULT > +32.767 (mit
Vorzeichen).
Unten DIVBY0 BOOL – ON gibt an, dass VALUE2 = 0, somit wurde
eine Division durch 0 versucht.

EIO0000000808 11/2011 269


L9_DV16

270 EIO0000000808 11/2011


Unity Pro
L9_MU16
EIO0000000808 11/2011

L9_MU16: Multiplikation von 16


Bit
72
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 271


L9_MU16

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Unten SIGNED BOOL – ON verweist auf eine Operation mit
Vorzeichen, OFF auf eine Operation ohne
Vorzeichen.

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der Multiplikand. Kann als eine
Ganzzahlkonstante angezeigt werden, in
einer Variablen enthalten sein, die sich in
einem %IW-Eingangswort oder in einem
%MW-Speicherwort befindet, oder in
einem nicht lokalisierten Wort gespeichert
werden.
Gültiger Wertebereich:
-32.768 bis 32.767 (mit Vorzeichen)
0 bis 65.535 (ohne Vorzeichen)
Mitte IN VALUE2 UINT %IW, %MW Der Multiplikator. Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variable gespeichert werden, die sich in
einem %IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten Wort befindet.
Gültiger Wertebereich:
-32.767 bis 32.768 (mit Vorzeichen)
0 bis 65.535 (ohne Vorzeichen)

272 EIO0000000808 11/2011


L9_MU16

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Unten IN/OUT RESULT ArrUInt2 %MW Das Produkt. Kann einen Wert bis
4.294.967.295 bei einer Operation ohne
Vorzeichen und einen Wert bis +/- 65.535
bei einer Operation mit Vorzeichen
annehmen. Das erste Wort speichert die
niederwertige Hälfte des Produkts, das
zweite Wort die höherwertige Hälfte des
Produkts. Beispiel:
z Wenn die Multiplikation ohne
Vorzeichen erfolgt und das Produkt
70.000 ergibt, enthält das erste Wort
den Wert 4.465 und das zweite Wort
den Wert 1.
z Wenn das Produkt 700 ist, enthält das
erste Wort den Wert 700 und das zweite
Wort den Wert 0.
Muss sich in 2 %MW-Speicherwörtern oder
in 2 nicht lokalisierten UINT-Wörtern
befinden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON verweist auf eine erfolgreich durchgeführte
16-Bit-Multiplikation. (Rückmeldung des Status
von Eingang ENABLE).

EIO0000000808 11/2011 273


L9_MU16

274 EIO0000000808 11/2011


Unity Pro
L9_MUL
EIO0000000808 11/2011

L9_MUL: Multiplikation

73
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 275


L9_MUL

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der Multiplikand. Kann als eine
Ganzzahlkonstante angezeigt werden, in
einer Variablen enthalten sein, die sich in
einem %IW-Eingangswort oder in einem
%MW-Speicherwort befindet, oder in
einem nicht lokalisierten Wort gespeichert
werden.
Gültiger Wertebereich: 0 bis 65.535

276 EIO0000000808 11/2011


L9_MUL

Knoten Knoten Name Datentyp Adressbereich Bedeutung


Mitte IN VALUE2 UINT %IW, %MW Der Multiplikator. Kann als eine
Ganzzahlkonstante angezeigt oder in
einer Variable gespeichert werden, die
sich in einem %IW-Eingangswort, in
einem %MW-Speicherwort oder in einem
nicht lokalisierten Wort befindet. Gültiger
Bereich: 0 bis 65.535.
Unten IN/OUT RESULT ArrUINT2 %MW Das Produkt. Das erste Wort speichert die
4 höherwertigen Stellen des Produkts, das
zweite Wort die niederwertigen Stellen
des Produkts. Beispiel:
z Wenn das Produkt 16000 ist, enthält
das erste Wort den Wert 1 und das
zweite Wort den Wert 6000.
Muss sich in 2 %MW-Speicherwörtern
oder in 2 nicht lokalisierten UINT-Wörtern
befinden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Multiplikation erfolgreich
war. (Rückmeldung des Status von Eingang
ENABLE).

EIO0000000808 11/2011 277


L9_MUL

278 EIO0000000808 11/2011


Unity Pro
L9_SU16
EIO0000000808 11/2011

L9_SU16: Subtraktion von 16 Bit

74
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 279


L9_SU16

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Unten SIGNED BOOL – ON verweist auf eine Operation mit
Vorzeichen, OFF auf eine Operation ohne
Vorzeichen.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der Minuend (der Wert, von dem ein anderer
Wert subtrahiert wird). Kann als eine
Ganzzahlkonstante angezeigt oder in einer
Variablen gespeichert werden, die sich in
einem %IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht lokalisierten
Wort befindet. Gültiger Wertebereich: -
32.768 bis 32.767 (mit Vorzeichen), 0 bis
65.535 (ohne Vorzeichen).
Mitte IN VALUE2 UINT %IW, %MW Der Subtrahend (der subtrahierte Wert).
Kann als eine Ganzzahlkonstante angezeigt
oder in einer Variable gespeichert werden,
die sich in einem %IW-Eingangswort, in
einem %MW-Speicherwort oder in einem
nicht lokalisierten Wort befindet. Gültiger
Bereich: -32.768 bis 32.767 (mit Vorzeichen,
0 bis 65.535 (ohne Vorzeichen).

280 EIO0000000808 11/2011


L9_SU16

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN/OUT RESULT UINT %MW Die Differenz der 16-Bit-Subtraktion. Hinweis:
Wenn VALUE2 > VALUE1, dann wird das
RESULT als Negativwert im
Binärkomplement-Format (65.536+RESULT)
gespeichert. Beispiel: Wenn VALUE1 = 6 und
VALUE2 = 7, RESULT = 65,535 (d. h. -1) und
LESSTH wechselt zu ON.
Die mit diesem Knoten verknüpfte Variable
muss in einem %MW-Speicherwort oder in
einem nicht lokalisierten UINT-Wort abgelegt
werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben GRT BOOL – ON bedeutet, dass VALUE1 > VALUE2.
Mitte EQT BOOL – ON bedeutet, dass VALUE1 = VALUE2.
Unten LESSTH BOOL – ON bedeutet, dass VALUE1 < VALUE2.

EIO0000000808 11/2011 281


L9_SU16

282 EIO0000000808 11/2011


Unity Pro
L9_SUB
EIO0000000808 11/2011

L9_SUB: Subtraktion

75
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 283


L9_SUB

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Der Minuend (der Wert, von dem ein
anderer Wert subtrahiert wird). Kann als
eine Ganzzahlkonstante angezeigt oder
in einer Variablen gespeichert werden,
die sich in einem %IW-Eingangswort, in
einem %MW-Speicherwort oder in einem
nicht lokalisierten Wort befindet. Gültiger
Wertebereich: 0 bis 65.535
Mitte IN VALUE2 UINT %IW, %MW Der Subtrahend (der subtrahierte Wert).
Kann als eine Ganzzahlkonstante
angezeigt oder in einer Variable
gespeichert werden, die sich in einem
%IW-Eingangswort, in einem %MW-
Speicherwort oder in einem nicht
lokalisierten Wort befindet. Gültiger
Bereich: 0 bis 65.535

284 EIO0000000808 11/2011


L9_SUB

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN/OUT RESULT UINT %MW Die Differenz der 16-Bit-Subtraktion.
Hinweis: Wenn VALUE2 > VALUE1, wird
das RESULT als positiver Wert
gespeichert. Beispiel: Wenn VALUE1 = 6
und VALUE2 = 7, RESULT = 1 und
LESSTH wechselt zu ON.
Die mit diesem Pin verknüpfte Variable
muss in einem %MW-Speicherwort oder
in einem nicht lokalisierten UINT-Wort
abgelegt werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben GRT BOOL – ON bedeutet, dass VALUE1 > VALUE2.
Mitte EQT BOOL – ON bedeutet, dass VALUE1 = VALUE2.
Unten LESSTH BOOL – ON bedeutet, dass VALUE1 < VALUE2.

EIO0000000808 11/2011 285


L9_SUB

286 EIO0000000808 11/2011


Unity Pro
L9_TEST: Test von 2 Werten
EIO0000000808 11/2011

L9_TEST: Test von 2 Werten

76
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 287


L9_TEST: Test von 2 Werten

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Vergleicht VALUE1 und VALUE2.
Unten SIGNED BOOL – ON = Operation mit Vorzeichen
OFF = Operation ohne Vorzeichen

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN VALUE1 UINT %IW, %MW Wert 1, kann explizit als Ganzzahl
angezeigt (Bereich: 0 bis 65.535) oder in
einem Parameter gespeichert werden.
Mitte IN VALUE2 UINT %IW, %MW Wert 2, kann explizit als Ganzzahl
angezeigt (Bereich: 0 bis 65.535) oder in
einem Parameter gespeichert werden.
Unten IN CONST UINT 1 Konstantwert, nicht verwendet

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben GRT BOOL – ON = VALUE1 > VALUE2
Mitte EQT BOOL – ON = VALUE1 = VALUE2
Unten LESSTH BOOL – ON = VALUE1 < VALUE2

288 EIO0000000808 11/2011


Unity Pro
L9_BCD
EIO0000000808 11/2011

L9_BCD: Binär- zu Binärcode

77
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 289


L9_BCD

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert die Konvertierung.
Unten BCD2BIN BOOL – ON = Konvertierung BCD →Binär
ON = Konvertierung Binär →BCD

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE UINT %IW, %MW Quellparameter, in dem der zu
konvertierende numerische Wert
gespeichert wird.
Mitte IN/OUT DEST UINT %MW Zielparameter, in dem der konvertierte
numerische Wert abgelegt wird.
Unten IN CONST UINT 1 Konstantwert 1, kann nicht geändert
werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Meldet den Status von ENABLE zurück.
Unten ERR BOOL – ON = Ereignis bei der
Konvertierungsoperation

290 EIO0000000808 11/2011


Unity Pro
L9_FTOI: Gleitkommawert in Ganzzahl
EIO0000000808 11/2011

L9_FTOI: Gleitkommawert in
Ganzzahl
78
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 291


L9_FTOI: Gleitkommawert in Ganzzahl

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert die Konvertierung.
Unten SIGNED BOOL – ON = Operation mit Vorzeichen
OFF = Operation ohne Vorzeichen

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ArrUInt2 %MW Quellparameter, in dem der zu
konvertierende numerische Wert in zwei als
ARRAY[1..2] OF UINT deklarierten
UINT-Wörtern gespeichert ist: Der
niederwertige Teil SOURCE[1] und der
höherwertige Teil in SOURCE[2].
Mitte IN/OUT DEST UINT %MW Zielparameter, in dem der konvertierte
numerische Wert abgelegt wird.
Unten IN CONST UINT 1 Konstantwert 1, kann nicht geändert
werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Ganzzahlkonvertierung erfolgreich
abgeschlossen
Unten ERR BOOL – ON = Konvertierte Ganzzahl außerhalb des
Bereichs

292 EIO0000000808 11/2011


Unity Pro
L9_ITOF: Ganzzahl in Gleitkommawert
EIO0000000808 11/2011

L9_ITOF: Ganzzahl in
Gleitkommawert
79
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 293


L9_ITOF: Ganzzahl in Gleitkommawert

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert die Konvertierung.
Unten SIGNED BOOL – ON = Operation mit Vorzeichen
OFF = Operation ohne Vorzeichen

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE UINT %IW, %MW Ganzzahlwert, kann explizit als Ganzzahl
(Bereich: 0 bis 65.535), gespeichert in
einem %IW, einem %MW oder einem nicht
lokalisierten UINT, oder als Konstantwert
angezeigt werden.
Mitte IN/OUT DEST ArrUInt2 %MW Deklariert als ARRAY[1..2] OF UINT,
in dem der konvertierte Gleitkommawert
gespeichert wird.
Unten IN CONST UINT 1 Konstantwert 1, kann nicht geändert
werden.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON = Gleitkommakonvertierung erfolgreich
abgeschlossen

294 EIO0000000808 11/2011


Unity Pro
MATRIX
EIO0000000808 11/2011

MATRIX

VII
Übersicht
In diesem Abschnitt werden die Prozeduren der MATRIX-Familie beschrieben.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
80 L9_AND: Logisches UND 297
81 L9_BROT: Zyklische Bitverschiebung 301
82 L9_CMPR: Registervergleich 305
83 L9_COMP: Matrixumkehrung 309
84 L9_BROT: Bitänderung 311
85 L9_NBIT: Bitsteuerung 315
86 L9_NCBT: NC-Bit 317
87 L9_NOBT: NO-Bit 319
88 L9_OR: Logisch-ODER 321
89 L9_RBIT: Zurücksetzen von Bits 325
90 L9_SBIT: Setzen von Bits 327
91 L9_SENS: Abfrage 329
92 L9_XOR: Exklusiv-ODER 333

EIO0000000808 11/2011 295


MATRIX

296 EIO0000000808 11/2011


Unity Pro
L9_AND
EIO0000000808 11/2011

L9_AND: Logisches UND

80
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 297


L9_AND

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

298 EIO0000000808 11/2011


L9_AND

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT oder %M, %I, %IW, Die Quellmatrix ist vom Typ
ANY_ARRAY_EBOOL %MW ARRAY OF UINT oder EBOOL
und kann lokalisiert bzw. nicht
lokalisiert sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT oder %M, MW Die Zielmatrix ist vom Typ
ANY_ARRAY_EBOOL ARRAY OF UINT oder EBOOL
und kann lokalisiert bzw. nicht
lokalisiert sein.
Unten IN LENGTH UINT 1...100 Die Anzahl der bei der
booleschen UND-Operation zu
berücksichtigenden booleschen
16-Bit-Folgen.
Gültiger Wertebereich: 1 bis 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die boolesche UND-
Operation erfolgreich durchgeführt wurde.
(Rückmeldung des Status von Eingang
ENABLE).

EIO0000000808 11/2011 299


L9_AND

300 EIO0000000808 11/2011


Unity Pro
L9_BROT
EIO0000000808 11/2011

L9_BROT: Zyklische
Bitverschiebung
81
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 301


L9_BROT

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte LEFT BOOL – ON verschiebt nach links, OFF verschiebt
nach rechts.
Unten ROT BOOL – ON = Rotieren; das abgehende Bit wird wieder
angehängt.
OFF = Verschieben; das abgehende Bit wird
fallen gelassen.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die Quellmatrix ist vom Typ
oder %MW ARRAY OF UINT oder EBOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die Zielmatrix ist vom Typ
oder ARRAY OF UINT oder EBOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.

302 EIO0000000808 11/2011


L9_BROT

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN LENGTH UINT 1...100 Die Anzahl der in der booleschen
Verschiebe- oder Rotationsoperation
einzubeziehenden booleschen 16-Bit-
Folgen.
Gültiger Bereich:1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich
war. (Rückmeldung des Status von Eingang
ENABLE).
Mitte CARRY BOOL – Enthält den Wert des rotierenden oder fallen
gelassenen Bits.

EIO0000000808 11/2011 303


L9_BROT

304 EIO0000000808 11/2011


Unity Pro
L9_CMPR
EIO0000000808 11/2011

L9_CMPR: Registervergleich

82
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 305


L9_CMPR

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Initiiert den Vergleich.
Mitte RESET BOOL – OFF = Neustart ab mangelnder
Übereinstimmung
ON = Neustart ab Anfang

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Matrix a, deklariert als
oder %MW ARRAY[1..LENGTH*16] OF EBOOL
ANY_ARRAY_EBOOL oder als
ARRAY[1..LENGTH] OF UINT.
LENGTH entspricht dem Wert des
Parameters LENGTH. Das Ergebnis von
LENGTH*16 wird als Konstante
dargestellt.

306 EIO0000000808 11/2011


L9_CMPR

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Der Vergleichszeiger, gefolgt von Matrix b
in einem Array, deklariert als
ARRAY[1..(LENGTH +1)] OF UINT.
Der Vergleichszeiger bestimmt die
Bitposition in Matrix a/b. Bit 1 ist das MSB
(16#8000) im ersten Wort der Matrizen.
Unten IN LENGTH UINT 1...100 Matrixlänge. Bereich: 1 ... 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Meldet den Status von ENABLE zurück.
Mitte MIS BOOL – ON = Mangelnde Übereinstimmung erkannt
Unten INA BOOL – ON = Bit mit mangelnder Übereinstimmung in
Matrix a ist 1.
ON = Bit mit mangelnder Übereinstimmung in
Matrix a ist 0.

EIO0000000808 11/2011 307


L9_CMPR

308 EIO0000000808 11/2011


Unity Pro
L9_COMP
EIO0000000808 11/2011

L9_COMP: Matrixumkehrung

83
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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).

EIO0000000808 11/2011 309


L9_COMP

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die Quellmatrix ist vom Typ
oder %MW ARRAY OF UINT oder BOOL und
ANY_ARRAY_EBOOL kann lokalisiert bzw. nicht lokalisiert
sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die Zielmatrix ist vom Typ
oder ARRAY OF UINT oder BOOL und
ANY_ARRAY_EBOOL kann lokalisiert bzw. nicht lokalisiert
sein.
Unten IN LENGTH UINT 1...100 Länge der Datenmatrix (Anzahl der
16-Bit-Folgen)
Gültiger Wertebereich: 1 bis 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die COMP-Operation
erfolgreich war. (Rückmeldung des Status
von Eingang ENABLE).

310 EIO0000000808 11/2011


Unity Pro
L9_MBIT
EIO0000000808 11/2011

L9_BROT: Bitänderung

84
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 311


L9_MBIT

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte SETBIT BOOL – OFF = Setzen des Bits auf 0
ON = Setzen des Bits auf 1
Unten INCPTR BOOL – ON = Inkrementierung von BITLOC um 1 nach
der Änderung
(nur wenn BITLOC = %MW, nicht möglich
wenn BITLOC = %IW oder Konstantwert)
OFF = Keine Inkrementierung von BITLOC

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT BITLOC UINT %IW, %MW Position des zu setzenden Bits in der
Datenmatrix. Kann ein Konstantwert,
%MW, %IW oder eine nicht lokalisierte
Variable sein.
Gültiger Bereich: 1 bis 9.600.
Hinweis: Zieht die LL984-
Bitadressierung heran: 1-basierter
Anfang am linken Rand der 16-Bit-
Folgen.

312 EIO0000000808 11/2011


L9_MBIT

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Mitte IN/OUT DATA ANY_ARRAY_UINT %M, %MW Datenmatrix mit dem zu setzenden Bit
oder
ANY_ARRAY_EBOOL
Unten IN LENGTH UINT 1...600 Länge der Datenmatrix (Anzahl der
16-Bit-Folgen)
Gültiger Bereich: 1 bis 600.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Bitänderung erfolgreich
war. (Rückmeldung des Status von Eingang
ENABLE).
Mitte OSETBIT BOOL – Rückmeldung des Werts von Eingang
SETBIT
Unten ERR BOOL – ON = Fehler
Bitposition > Matrixlänge

EIO0000000808 11/2011 313


L9_MBIT

314 EIO0000000808 11/2011


Unity Pro
L9_NBIT
EIO0000000808 11/2011

L9_NBIT: Bitsteuerung

85
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 315


L9_NBIT

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF setzt das angegebene Bit auf 0.
ON setzt das angegebene Bit auf 1.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT IN_REG UINT %MW Die in einem Wort befindliche Variable, die
das zu steuernde Bit enthält.
Unten IN BITLOC UINT 1...16 Das zu steuernde spezifische Bit.
Gültiger Bereich: 1 bis 16.
Hinweis: Zieht die LL984-Bitadressierung
heran: 1-basierter Anfang am linken Rand
der 16-Bit-Folgen.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Rückmeldung des Status von Eingang
ENABLE.

316 EIO0000000808 11/2011


Unity Pro
L9_NCBT
EIO0000000808 11/2011

L9_NCBT: NC-Bit

86
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 317


L9_NCBT

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON aktiviert die Operation.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN IN_REG UINT %IW, %MW Die in einem Wort befindliche Variable, die
das zu prüfende Bit enthält.
Unten IN BITLOC UINT 1...16 Das zu prüfende spezifische Bit.
Gültiger Bereich: 1 bis 16.
Hinweis: Zieht die LL984-Bitadressierung
heran: 1-basierter Anfang am linken Rand
der 16-Bit-Folgen.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Wird eingeschaltet (ON), wenn der
Eingang ENABLE zu ON wechselt und das
angegebene Bit ausgeschaltet ist.

318 EIO0000000808 11/2011


Unity Pro
L9_NOBT
EIO0000000808 11/2011

L9_NOBT: NO-Bit

87
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 319


L9_NOBT

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON aktiviert die Operation.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN IN_REG UINT %MW Die in einem Wort befindliche Variable, die
das zu prüfende Bit enthält.
Unten IN BITLOC UINT 1...16 Das zu prüfende spezifische Bit.
Gültiger Bereich: 1 bis 16.
Hinweis: Zieht die LL984-Bitadressierung
heran: 1-basierter Anfang am linken Rand
der 16-Bit-Folgen.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Wechselt zu ON, wenn sowohl der Eingang
ENABLE als auch das angegebene Bit
eingeschaltet sind.

320 EIO0000000808 11/2011


Unity Pro
L9_OR
EIO0000000808 11/2011

L9_OR: Logisch-ODER

88
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 321


L9_OR

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die Quellmatrix ist vom Typ
oder %MW ARRAY OF UINT oder BOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die Zielmatrix ist vom Typ
oder ARRAY OF UINT oder EBOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.

322 EIO0000000808 11/2011


L9_OR

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN LENGTH UINT 1...100 Die Anzahl der bei der booleschen
ODER-Operation zu berücksichtigenden
booleschen 16-Bit-Folgen.
Gültiger Bereich: 1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die boolesche ODER-
Operation erfolgreich durchgeführt wurde.
(Rückmeldung des Status von Eingang
ENABLE).

EIO0000000808 11/2011 323


L9_OR

324 EIO0000000808 11/2011


Unity Pro
L9_RBIT
EIO0000000808 11/2011

L9_RBIT: Zurücksetzen von Bits

89
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 325


L9_RBIT

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON setzt das angegebene Bit auf 0. Das Bit behält
diesen Status bei, wenn dieser Eingang
ausgeschaltet wird (OFF).

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT IN_REG UINT %MW Die in einem Wort befindliche Variable, die
das zurückzusetzende Bit enthält.
Unten IN BITLOC UINT 1...16 Das auf 0 zu setzende Bit.
Gültiger Bereich: 1 bis 16.
Hinweis: Zieht die LL984-Bitadressierung
heran: 1-basierter Anfang am linken Rand
der 16-Bit-Folgen.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Rückmeldung des Status von Eingang
ENABLE.

326 EIO0000000808 11/2011


Unity Pro
L9_SBIT
EIO0000000808 11/2011

L9_SBIT: Setzen von Bits

90
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 327


L9_SBIT

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON setzt das angegebene Bit auf 1. Das Bit
behält diesen Status bei, wenn dieser Eingang
ausgeschaltet wird (OFF).

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT IN_REG UINT %MW Die in einem Wort befindliche Variable, die
das zu setzende Bit enthält.
Unten IN BITLOC UINT 1...16 Das auf 1 zu setzende Bit.
Gültiger Bereich: 1 bis 16.
Hinweis: Zieht die LL984-Bitadressierung
heran: 1-basierter Anfang am linken Rand
der 16-Bit-Folgen.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Rückmeldung des Status von Eingang
ENABLE.

328 EIO0000000808 11/2011


Unity Pro
L9_SENS
EIO0000000808 11/2011

L9_SENS: Abfrage

91
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 329


L9_SENS

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte INCPTR BOOL – ON = Inkrementierung von BITLOC um 1
(nur wenn BITLOC = %MW; nicht möglich,
wenn BITLOC = %IW oder Konstantwert)
OFF = Keine Inkrementierung von BITLOC
Unten RESET BOOL – ON = Zurücksetzen von BITLOC auf 1;
OFF = Kein Zurücksetzen von BITLOC

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT BITLOC UINT %IW, %MW Position des abzufragenden Bits in
der Datenmatrix
Kann ein Konstantwert, %MW, %IW
oder eine nicht lokalisierte Variable
sein.
Gültiger Bereich: 1 bis 9.600.
HINWEIS: Zieht die LL984-
Bitadressierung heran: 1-basierter
Anfang am linken Rand der 16-Bit-
Folgen.
HINWEIS: Wenn BITLOC gleich 0,
wird der Ausgang ERR nicht auf 1
gesetzt.

330 EIO0000000808 11/2011


L9_SENS

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Mitte IN DATA ANY_ARRAY_UINT %M, %I, %IW, Datenmatrix mit dem abzufragenden
oder %MW Bit
ANY_ARRAY_EBOOL
Unten IN LENGTH UINT 1...600 Länge der Datenmatrix (Anzahl der
16-Bit-Folgen)
Gültiger Bereich: 1 bis 600.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
(Rückmeldung des Status von Eingang ENABLE).
Mitte BITSENS BOOL – Übergibt den Wert des abgefragten Bits. ON = 1,
OFF = 0.
Unten ERR BOOL – Gibt an, dass der Wert BITLOC den
Adressbereich der Datenmatrix überschreitet.
HINWEIS: Wenn BITLOC gleich 0, wird der
Ausgang ERR nicht auf 1 gesetzt.

EIO0000000808 11/2011 331


L9_SENS

332 EIO0000000808 11/2011


Unity Pro
L9_XOR
EIO0000000808 11/2011

L9_XOR: Exklusiv-ODER

92
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 333


L9_XOR

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die Quellmatrix ist vom Typ
oder %MW ARRAY OF UINT oder BOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die Zielmatrix ist vom Typ
oder ARRAY OF UINT oder BOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.

334 EIO0000000808 11/2011


L9_XOR

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Unten IN LENGTH UINT 1...100 Die Anzahl der bei der booleschen
Exklusiv-ODER-Operation zu
berücksichtigenden booleschen 16-Bit-
Folgen.
Gültiger Bereich: 1 bis 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die boolesche Exklusiv-
ODER-Operation erfolgreich durchgeführt
wurde. (Rückmeldung des Status von
Eingang ENABLE).

EIO0000000808 11/2011 335


L9_XOR

336 EIO0000000808 11/2011


Unity Pro
MISC (Verschiedenes)
EIO0000000808 11/2011

MISC (Verschiedenes)

VIII
Übersicht
In diesem Abschnitt werden die Prozeduren der MISC-Familie (Verschiedenes)
beschrieben.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
93 L9_DISA: Überwachung deaktivierter Spulen und Eingänge 339
94 L9_JSR: Sprung zu Unterprogramm (2 Knoten) 343
95 L9_LAB: Beschriftung für ein Unterprogramm (1 Knoten) 345
96 L9_RET: Rückkehr von einem Unterprogramm (1 Knoten) 347
97 L9_SKP: Überspringen von Netzwerken (1 Knoten) 349
98 Unterprogrammverarbeitung 353

EIO0000000808 11/2011 337


MISC (Verschiedenes)

338 EIO0000000808 11/2011


Unity Pro
L9_DISA
EIO0000000808 11/2011

L9_DISA: Überwachung
deaktivierter Spulen und
Eingänge 93
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 339


L9_DISA

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert den Vorgang.

340 EIO0000000808 11/2011


L9_DISA

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN/OUT DCOIL ANY_ARRAY_UINT %MW Tabelle mit der Anzahl und den
Adressen der gefundenen
deaktivierten Spulen
Mitte IN/OUT DINPT ANY_ARRAY_UINT %MW Tabelle mit der Anzahl und den
Adressen der gefundenen
deaktivierten Eingänge
Unten IN LENGTH UINT 1...100 Tabellenlänge (Anzahl für die Tabelle
verwendeter Wörter)
Gültiger Bereich: 1 bis 100
HINWEIS: Wenn LENGTH = 1, wird
nur die Anzahl der deaktivierten
Eingänge angezeigt.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben DC_FOUND BOOL – ON = Deaktivierte Spulen werden gefunden.
Mitte DI_FOUND BOOL – ON = Deaktivierte Eingänge werden
gefunden.
Unten ACTIVE BOOL – Meldet den Status des oberen Eingangs
zurück (ENABLE).

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.

EIO0000000808 11/2011 341


L9_DISA

Dies ist ein Beispiel für ein mögliches Programm:

Adresse Wert Bedeutung


%MW100 3 Weist auf 3 deaktivierte Spulen hin
%MW101 7 Spule %M7 ist deaktiviert
%MW102 11 Spule %M11 ist deaktiviert
%MW103 1247 Spule %M1247 ist deaktiviert
%MW110 12 Weist auf 12 deaktivierte Eingänge hin
%MW111 1 Eingang %I1 ist deaktiviert
%MW112 9 Eingang %I9 ist deaktiviert
%MW113 15 Eingang %I15 ist deaktiviert
%MW114 18 Eingang %I18 ist deaktiviert
%MW115 25 Eingang %I25 ist deaktiviert
%MW116 293 Eingang %I293 ist deaktiviert
%MW117 768 Eingang %I768 ist deaktiviert
%MW118 901 Eingang %I901 ist deaktiviert

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.

342 EIO0000000808 11/2011


Unity Pro
L9_JSR
EIO0000000808 11/2011

L9_JSR: Sprung zu
Unterprogramm (2 Knoten)
94
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 343


L9_JSR

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert das Quell-Unterprogramm.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE UINT %MW Quellzeiger (Indikator des
Unterprogramms, zu dem die Logikabfrage
springt), explizit als Ganzzahl eingegeben
oder in einem Speicherwort abgelegt.
Gültiger Bereich:
1 ... 1 023
Unten IN CONST UINT 1 Geben Sie immer den Konstantwert 1 ein.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – Meldet den Status des oberen Eingangs
zurück.
Unten ERR BOOL – Ereignis beim Unterprogramm-Sprung
ON, wenn der Sprung nicht durchgeführt
werden kann, die Beschriftung nicht
vorhanden ist oder die
Verschachtelungsebene > 100.

344 EIO0000000808 11/2011


Unity Pro
L9_LAB
EIO0000000808 11/2011

L9_LAB: Beschriftung für ein


Unterprogramm (1 Knoten)
95
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 345


L9_LAB

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Aktiviert das über die Nummer in
SRNUM angegebene Unterprogramm.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SRNUM UINT 1..1023 Ganzzahl, die das Unterprogramm
identifiziert, das ausgeführt werden soll.
Gültiger Bereich: 1 ... 1023
Wenn mehrere Netzwerke mit einem
Funktionsbaustein L9_LAB mit
demselben Unterprogramm-Wert
beginnen, wird ein Analyse-Ereignis
generiert.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben ERR BOOL – ON = Ereignis bei der Initiierung des
angegebenen Unterprogramms

346 EIO0000000808 11/2011


Unity Pro
L9_RET
EIO0000000808 11/2011

L9_RET: Rückkehr von einem


Unterprogramm (1 Knoten)
96
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 347


L9_RET

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON = Rückkehr zur vorhergehenden Logik
ON bewirkt die Rückkehr der Logikabfrage zu
dem Knoten, der unmittelbar auf den zuletzt
ausgeführten Funktionsbaustein L9_JSR folgt,
bzw. zu dem Punkt, an dem die Logikabfrage
durch einen Interrupt unterbrochen wurde.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN CONST UINT 1 Konstantwert (kann nicht geändert werden)

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben ERR BOOL – ON = Ereignis im angegebenen
Unterprogramm

348 EIO0000000808 11/2011


Unity Pro
L9_SKP
EIO0000000808 11/2011

L9_SKP: Überspringen von


Netzwerken (1 Knoten)
97
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 349


L9_SKP

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – ON initiiert eine Netzwerk-Überspringaktion,
wenn der Eingang aktiv wird. In jedem Zyklus
wird eine L9_SKP-Operation durchgeführt,
solande der Eingang auf ON steht.

350 EIO0000000808 11/2011


L9_SKP

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN NUM UINT %IW, %MW Der im Knoten eingegebene Wert verweist
auf die Anzahl der zu überspringenden
Netzwerke.
Der Wert kann:
z explizit als Ganzzahlkonstante
angegeben werden.
z in einem %IW-Eingangswort
gespeichert werden.
z in einem %MW-Speicherwort abgelegt
werden.
Der Knotenwert berücksichtigt das
Netzwerk, das den Funktionsbaustein
L9_SKP enthält. Die Knotenbereiche im
Netzwerk mit dem Baustein L9_SKP, die
noch nicht abgefragt wurden, werden
übersprungen. Diese Bereiche zählen als
eines der zu überspringenden Netzwerke.
Die CPU überspringt so lange weitere
Netzwerke, bis die Gesamtanzahl der
übersprungenen Netzwerke dem
vorgegebenen Wert entspricht.
Der Wert 0 bewirkt ein Überspringen der
restlichen Netzwerke im aktuellen
Segment.

EIO0000000808 11/2011 351


L9_SKP

352 EIO0000000808 11/2011


Unity Pro
Unterprogrammverarbeitung
EIO0000000808 11/2011

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.

EIO0000000808 11/2011 353


Unterprogrammverarbeitung

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.

354 EIO0000000808 11/2011


Unity Pro
MOVE
EIO0000000808 11/2011

MOVE

IX
Übersicht
In diesem Abschnitt werden die Prozeduren der MOVE-Familie beschrieben.

Inhalt dieses Teils


Dieser Teil enthält die folgenden Kapitel:
Kapitel Kapitelname Seite
99 L9_BLKM: Blockverschiebung 357
100 L9_BLKT: Verschiebung Block in Tabelle 359
101 L9_BMDI: Blockverschiebung mit deaktivierten Interrupts 363
102 L9_FIN: First In 365
103 L9_FOUT: First Out 369
104 L9_IBKR: Indirektes Lesen von Blöcken 373
105 L9_IBKW: Indirektes Schreiben von Blöcken 375
106 L9_SRCH: Suche 377
107 L9_TBLK: Tabelle in Block 379
108 L9_R2T: Register in Tabelle 385
109 L9_T2R: Tabelle in Register 389
110 L9_T2T: Tabelle in Tabelle 393

EIO0000000808 11/2011 355


MOVE

356 EIO0000000808 11/2011


Unity Pro
L9_BLKM
EIO0000000808 11/2011

L9_BLKM: Blockverschiebung

99
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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).

EIO0000000808 11/2011 357


L9_BLKM

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die Quellmatrix ist vom Typ
oder %MW ARRAY OF UINT oder BOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die Zielmatrix ist vom Typ
oder ARRAY OF UINT oder EBOOL und kann
ANY_ARRAY_EBOOL lokalisiert bzw. nicht lokalisiert sein.
Unten IN LENGTH UINT 1...100 Die Anzahl der bei der Operation zu
berücksichtigenden booleschen 16-Bit-
Folgen.
Gültiger Bereich:1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich
war. (Rückmeldung des Status von Eingang
ENABLE).

358 EIO0000000808 11/2011


Unity Pro
L9_BLKM
EIO0000000808 11/2011

L9_BLKT: Verschiebung Block in


Tabelle
100
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 359


L9_BLKM

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.

360 EIO0000000808 11/2011


L9_BLKM

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte HOLD BOOL – ON = Zeiger halten
OFF = Zeiger inkrementieren
Unten RESET BOOL – ON = Zeiger auf Null zurücksetzen

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %MW Der als ARRAY[1..x] OF UINT
deklarierte Quellblock, wobei x dem
Wert von LENGTH entspricht.
Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Das Zeigerwort, gefolgt von einer Reihe
von Blöcken, von denen jeder dieselbe
Größe wie der Quellblock aufweist. Ist
als
ARRAY[1..(n*LENGTH)+1] OF UIN
T zu deklarieren, wobei n der Anzahl an
Blöcken in der Zieltabelle und LENGTH
dem Wert des Parameters LENGTH
entspricht. Das Ergebnis von
(n*LENGTH)+1 wird als Konstante
dargestellt.
Unten IN LENGTH UINT 1...100 Die Anzahl der bei der Operation zu
berücksichtigenden Wörter.
Gültiger Bereich:1 bis 100

EIO0000000808 11/2011 361


L9_BLKM

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich
war.
Mitte ERR BOOL – ON gibt an, dass die versuchte Operation
nicht durchgeführt werden kann.

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.

Der Funktionsbaustein L9_SUB steuert die Verwendung der Wörter in der


Zieltabelle. In diesem Fall wird die Tabelle auf 15 Wörter (3*5) begrenzt, indem der
Wert im Zeiger nach 5 L9_BLKT-Übertragungen auf 0 gesetzt wird.

362 EIO0000000808 11/2011


Unity Pro
L9_BMDI
EIO0000000808 11/2011

L9_BMDI: Blockverschiebung mit


deaktivierten Interrupts
101
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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

EIO0000000808 11/2011 363


L9_BMDI

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben IN BOOL – ON = Maskiert die Interruupts, initiiert eine
Blockverschiebung und hebt dann die
Interrupt-Maskierung wieder auf.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Quelltabelle, deren Inhalt bei der
%MW Blockverschiebung kopiert wird.
Mitte INOUT DEST ANY_ARRAY_UINT – Zieltabelle, in die der Inhalt der
Quelltabelle bei der
Blockverschiebung kopiert wird.
Unten IN LENGTH UINT 1...100 Ganzzahl
Diese Ganzzahl gibt die
Tabellengröße an, d. h. die Anzahl an
booleschen 16-Bit-Folgen in der
Quell- und Zieltabelle (identische
Länge).
Gültiger Bereich: 1 bis 100

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
(Rückmeldung des Status von Eingang IN).

364 EIO0000000808 11/2011


Unity Pro
L9_FIN
EIO0000000808 11/2011

L9_FIN: First In

102
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 365


L9_FIN

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

366 EIO0000000808 11/2011


L9_FIN

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die in die Warteschlange
oder %MW einzugebenden Quelldaten. Die
ANY_ARRAY_EBOOL Quelle kann ein einziges Wort des
Typs UINT oder ein
ARRAY[1..16] OF EBOOL sein.
Mitte IN/OUT QUEUE ANY_ARRAY_UINT %MW Der Warteschlangenzeiger, gefolgt
von dem als
ARRAY[1..(1+LENGTH] OF UINT
deklarierten Warteschlangen-Array.
(1+LENGTH wird als Konstante
dargestellt.
Unten IN LENGTH UINT 1...100 Die Anzahl der in die Warteschlange
aufzunehmenden Wörter.
Gültiger Bereich:1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
(Rückmeldung des Status von Eingang
ENABLE).
Mitte FULL BOOL – ON gibt an, dass die Warteschlange voll ist.
Unten EMPTY BOOL – ON gibt an, dass die Warteschlange leer ist.

EIO0000000808 11/2011 367


L9_FIN

368 EIO0000000808 11/2011


Unity Pro
L9_FOUT
EIO0000000808 11/2011

L9_FOUT: First Out

103
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 369


L9_FOUT

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

370 EIO0000000808 11/2011


L9_FOUT

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN QUEUE ANY_ARRAY_UINT %MW Der Warteschlangenzeiger, gefolgt
von dem als
ARRAY[1..(1+LENGTH] OF UINT
deklarierten Warteschlangen-Array.
(1+LENGTH wird als Konstante
dargestellt.
Der Wert vom Ende der
Warteschlange - an oberster Stelle -
ist der in das Ziel auszulesende Wert.
Mitte IN/OUT DEST ANY_ARRAY_UINT %M, %MW Die in die Warteschlange
oder einzugebenden Zieldaten. Die Quelle
ANY_ARRAY_EBOOL kann ein einziges Wort des Typs
UINT oder ein
ARRAY[1..16] OF BOOL sein.
Unten IN LENGTH UINT 1...100 Die Anzahl der in die Warteschlange
aufzunehmenden Wörter.
Gültiger Bereich:1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
(Rückmeldung des Status von Eingang
ENABLE).
Mitte FULL BOOL – ON gibt an, dass die Warteschlange voll ist.
Unten EMPTY BOOL – ON gibt an, dass die Warteschlange leer ist.

EIO0000000808 11/2011 371


L9_FOUT

372 EIO0000000808 11/2011


Unity Pro
L9_IBKR
EIO0000000808 11/2011

L9_IBKR: Indirektes Lesen von


Blöcken
104
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 373


L9_IBKR

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %MW Der Quell-Array enthält Werte mit
Parameterindizes, die auf %MW-
Speicherwörter zeigen. Die Werte an
den ausgewiesenen Positionen werden
in dem als
ARRAY[1..LENGTH] OF_UINT
deklarierten Array DEST gesammelt.
Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Die als ARRAY[1..LENGTH] OF UINT
deklarierte Zieltabelle.
LENGTH wird als Konstantwert des
Parameters LENGTH dargestellt.
Unten IN LENGTH UINT 1...255 Anzahl der Wörter im Zielblock.
Gültiger Bereich:1 bis 255.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
Unten ERR BOOL – ON gibt an, dass die versuchte Operation nicht
durchgeführt werden kann.

374 EIO0000000808 11/2011


Unity Pro
L9_IBKW
EIO0000000808 11/2011

L9_IBKW: Indirektes Schreiben


von Blöcken
105
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 375


L9_IBKW

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %MW Die in Übereinstimmung mit den
Indizes im Parameter-Array DEST, die
auf %MW-Speicherwörter zeigen, zu
verteilenden Quelldaten.
Mitte IN DEST ANY_ARRAY_UINT %MW Der Ziel-Array enthält Werte mit
Parameterindizes, die auf %MW-
Speicherwörter zeigen, auf die die
Werte des Quell-Arrays verteilt
werden sollen.
Unten IN LENGTH UINT 1...255 Anzahl der Wörter im Zielblock.
Gültiger Bereich:1 bis 255.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
Unten ERR BOOL – ON gibt an, dass die versuchte Operation nicht
durchgeführt werden kann.

376 EIO0000000808 11/2011


Unity Pro
L9_SRCH
EIO0000000808 11/2011

L9_SRCH: Suche

106
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 377


L9_SRCH

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte CONT BOOL – OFF = Suche ab Anfang
ON = Suche ab letzter Übereinstimmung

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %IW, %MW Zu durchsuchende Quelltabelle. Muss
als ARRAY[1..LENGTH] OF UINT
deklariert werden, wobei LENGTH dem
Wert des Parameters LENGTH
entspricht.
Mitte IN/OUT PATTERN ARRAY[1..2] OF %MW Zeiger zur Quelltabelle, gefolgt von
UINT dem zu suchenden Musterwort,
deklariert als
ARRAY[1..2] OF UINT.
Unten IN LENGTH UINT 1...100 Anzahl der Wörter im Zielblock.
Gültiger Bereich: 1 bis 100.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich war.
Mitte FOUND BOOL – ON = Übereinstimmung gefunden

378 EIO0000000808 11/2011


Unity Pro
L9_TBLK
EIO0000000808 11/2011

L9_TBLK: Tabelle in Block

107
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 379


L9_TBLK

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.

380 EIO0000000808 11/2011


L9_TBLK

Darstellung

Parameter

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte HOLD BOOL – ON = Beibehaltung des Zeigerwerts
OFF = Inkrementierung des Zeigers
Unten RESET BOOL – ON = Zurücksetzen des Zeigers auf Null
HINWEIS: Sie sollten eine externe Logik in
Verbindung mit dem mittleren und unteren
Eingang verwenden, um den Wert im
Zielzeiger auf einen speziell reservierten
Bereich zu begrenzen.

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %MW Die Quelltabelle als Blockfolge, wobei
jeder Block die vom Wert des Parameters
LENGTH vorgegebene Länge aufweist,
deklariert als
ARRAY[1..LENGTH*n] OF_UINT. n
entspricht der Tabellengröße.
Das Ergebnis von LENGTH*n wird als
Konstante dargestellt.
Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Der Zeiger zur Quelltabelle, gefolgt von
dem als ARRAY[1+LENGTH] OF UINT
deklarierter Zielblock.
Unten IN LENGTH UINT 1...100 Anzahl der Wörter im Zielblock.
Gültiger Bereich: 1 bis 100

EIO0000000808 11/2011 381


L9_TBLK

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich
war.
Mitte ERR BOOL – ON gibt an, dass die versuchte Operation
nicht durchgeführt werden kann.

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.

382 EIO0000000808 11/2011


L9_TBLK

Der Funktionsbaustein L9_SUB steuert die Verwendung der Wörter in der


Quelltabelle. In diesem Fall wird die Tabelle auf 15 Wörter (3*5) begrenzt, indem der
Wert im Zeiger nach 5 L9_BLKT-Übertragungen auf 0 gesetzt wird.

EIO0000000808 11/2011 383


L9_TBLK

384 EIO0000000808 11/2011


Unity Pro
L9_R2T
EIO0000000808 11/2011

L9_R2T: Register in Tabelle

108
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 385


L9_R2T

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

Eingangspin Name Datentyp Adressbereich Bedeutung


Oben ENABLE BOOL – OFF zu ON löst die Operation aus.
Mitte HOLD BOOL – ON = Beibehaltung des Zeigerwerts
OFF = Inkrementierung des Zeigers
Unten RESET BOOL – ON = Zurücksetzen des Zeigers auf Null

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Oben IN SOURCE ANY_ARRAY_UINT %M, %I, %IW, Die in die Tabelle einzugebenden
oder %MW Quelldaten. Die Quelle kann ein
ANY_ARRAY_EBOOL einziges Wort des Typs UINT oder ein
ARRAY[1..16] OF BOOL sein.

386 EIO0000000808 11/2011


L9_R2T

Knoten Knotentyp Name Datentyp Adressbereich Bedeutung


Mitte IN/OUT DEST ANY_ARRAY_UINT %MW Der Tabellenzeiger, gefolgt von dem als
ARRAY[1..(1+LENGTH] OF UINT
deklarierten Tabellen-Array.
(1+LENGTH wird als Konstante
dargestellt.
Unten IN LENGTH UINT 1...999 Die Anzahl der in die Zieltabelle
aufzunehmenden Wörter.
Gültiger Bereich: 1 bis 999.

Ausgangspin Name Datentyp Adressbereich Bedeutung


Oben OUT BOOL – ON gibt an, dass die Operation erfolgreich
war.
Mitte END BOOL – ON gibt an, dass das Ende der Tabelle
erreicht wurde und keine Quelldaten mehr
kopiert werden können.

EIO0000000808 11/2011 387


L9_R2T

388 EIO0000000808 11/2011


Unity Pro
L9_T2R
EIO0000000808 11/2011

L9_T2R: Tabelle in Register

109
Beschreibung

Namenskonventionen

Name im LL984-Editor Name des Funktionsbausteins


Name der 984-Vorgängeranweisung Name in anderen Tools und Editoren, wie z. B.:
z Typbibliotheksbrowser
z Dateneditor
z Animationstabellen
z Suchergebnisse

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.

EIO0000000808 11/2011 389


L9_T2R

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