ProWORX 32 Ladder Logic
Transcription
ProWORX 32 Ladder Logic
ProWORX 32 Ladder LogicBausteinbibliothek 31007525.00 12/2006 www.telemecanique.com ii Inhaltsverzeichnis Sicherheitshinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Über dieses Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix Teil I Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . 1 Kapitel 1 Kapitel 2 Instruktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Anweisungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Instruktionsgruppen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ASCII-Kommunikationsanweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Zähler- und Zeitgeberanweisungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Schnelle E/A-Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Loadable DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Mathematische Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Matrix-Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Sonstige . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Verschiebe-Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Skips/Specials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Spezialanweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Spulen, Kontakte und Verbindungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Kapitel 3 Regelungstechnik/Analogwerte . . . . . . . . . . . . . . . . . . . . . . . . 19 Regelungstechnik/Analogwerte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCFL-Unterfunktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ein PID-Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beispiel einer PID2-Pegelregelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 4 20 21 25 28 Formatieren von Nachrichten für ASCII-READ/WRITOperationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen . . . . . . . . . . 32 Formatspezifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Spezielle Hinweise zum Signalformat für Steuerung und Überwachung . . . . . . 36 iii Kapitel 5 Spulen, Kontakte und Verbindungen . . . . . . . . . . . . . . . . . . . . 39 Spulen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Kontakte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Verbindungen (Shorts). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Kapitel 6 Interruptverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Kapitel 7 Verarbeitung eines Unterprogramms . . . . . . . . . . . . . . . . . . . 49 Kapitel 8 Installation der DX Loadables. . . . . . . . . . . . . . . . . . . . . . . . . . 51 Teil II Instruktionsbeschreibungen (A bis D). . . . . . . . . . . . . . . 53 Kapitel 9 1X3X - Eingangssimulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Kapitel 10 AD16: Ad 16 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Kapitel 11 ADD: Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Kapitel 12 UND: Logisches Und . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Kapitel 13 BCD: Binärwert in BCD-Code . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Kapitel 14 BLKM: Block verschieben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Kapitel 15 BLKT: Block zur Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Kapitel 16 BMDI: Block verschieben mit gesperrten Interrupts . . . . . . . 85 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 iv Kapitel 17 BROT: Bitrotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Kapitel 18 CALL: Aktivieren der direkten oder verzögerten DX-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Kapitel 19 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks . . . . . . . . . . . . . . . . . . . . . . . . . 101 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Kapitel 20 CCPF – Nockenprofil mit variablen Instrumenten konfigurieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Kapitel 21 CCPV – Nockenprofil mit variablen Inkrementen konfigurieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Kapitel 22 CFGC - Koordinatensatz konfigurieren . . . . . . . . . . . . . . . . . 117 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Kapitel 23 CFGF - Kopplungssatz konfigurieren . . . . . . . . . . . . . . . . . . . 121 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Kapitel 24 CFGI – Imaginäre Achse konfigurieren . . . . . . . . . . . . . . . . . 125 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Kapitel 25 CFGR – Dezentrale Achse konfigurieren . . . . . . . . . . . . . . . . 129 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Kapitel 26 CFGS – SERCOS-Achse konfigurieren. . . . . . . . . . . . . . . . . . 133 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 v Kapitel 27 CHS: Konfiguration der Hot Standby-Funktion . . . . . . . . . . 137 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Kapitel 28 CKSM: Prüfsumme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Kapitel 29 CMPR: Registervergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Kapitel 30 Spulen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Allgemeine Verwendungsrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Kapitel 31 COMM - ASCII-Kommunikationsfunktion . . . . . . . . . . . . . . . 159 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Kapitel 32 COMP: Komplementbildung einer Matrix . . . . . . . . . . . . . . . 163 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Kapitel 33 Kontakte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Kapitel 34 CONV - Daten konvertieren . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Kapitel 35 CTIF – Zähler-, Zeitgeber- und Interruptfunktion . . . . . . . . . 177 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Kapitel 36 DCTR: Abwärtszähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 vi Kapitel 37 DIOH: Funktionsfähigkeit dezentrale E/A. . . . . . . . . . . . . . . . 189 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Kapitel 38 DISA - Deaktivierte diskrete Überwachung . . . . . . . . . . . . . . 195 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Kapitel 39 DIV: Dividieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Kapitel 40 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Schreibunterstützung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler-Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 41 206 207 209 211 DMTH - Mathematische Funktionen mit doppelter Genauigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Kapitel 42 DRUM: Schrittfolgensteuerung . . . . . . . . . . . . . . . . . . . . . . . . 221 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Kapitel 43 DV16: 16-Bit-Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Teil III Instruktionsbeschreibungen (E) . . . . . . . . . . . . . . . . . . 233 Kapitel 44 EARS - Ereignis-/Alarmaufzeichnungssystem . . . . . . . . . . . 235 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 vii Kapitel 45 EMTH: Erweiterte mathematische Funktionen . . . . . . . . . . . 245 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 EMTH-Gleitkommafunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Kapitel 46 EMTH-ADDDP: Addition mit doppelter Genauigkeit. . . . . . . 253 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Kapitel 47 EMTH-ADDFP: Gleitkomma-Addition. . . . . . . . . . . . . . . . . . . 259 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Kapitel 48 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl . . . . . 265 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Kapitel 49 EMTH-ANLOG: Antilogarithmus zur Basis 10 . . . . . . . . . . . . 271 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Kapitel 50 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Bogenmaß) ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Kapitel 51 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Bogenmaß) ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Kapitel 52 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Bogenmaß). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 viii Kapitel 53 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Kapitel 54 EMTH-CMPFP: Vergleich von Gleitkommawerten. . . . . . . . . 301 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Kapitel 55 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich . . . . . . 307 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Kapitel 56 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Bogenmaß . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Kapitel 57 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung . . . 319 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler-Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 58 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung . . . 325 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler-Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 59 320 321 323 324 326 327 329 330 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Kapitel 60 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 ix Kapitel 61 EMTH-DIVDP: Division mit doppelter Genauigkeit . . . . . . . . 343 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Laufzeitfehler-Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Kapitel 62 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl . . . 349 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Kapitel 63 EMTH-DIVFP: Gleitkomma-Division . . . . . . . . . . . . . . . . . . . . 355 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Kapitel 64 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl . . . 361 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Kapitel 65 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Darstellung: EMTH - ERLOG - mathematische Funktionen mit Gleitkomma Fehlerprotokollierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Kapitel 66 EMTH-EXP: Exponentialfunktion mit Gleitkomma . . . . . . . . 373 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Kapitel 67 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma . . . 379 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Kapitel 68 EMTH-LOG: Logarithmus zur Basis 10 . . . . . . . . . . . . . . . . . 385 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Kapitel 69 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma . . . . . . 391 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 x Kapitel 70 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit. . . 397 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Kapitel 71 EMTH-MULFP: Gleitkomma-Multiplikation. . . . . . . . . . . . . . . 403 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Kapitel 72 EMTH-MULIF: Multiplikation von Ganzzahl und Gleitkommazahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Kapitel 73 EMTH-PI: Laden des Gleitkommawerts von "Pi". . . . . . . . . . 415 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Kapitel 74 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten . . . . . . . . . . . . . . . . . . . . . . 421 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Darstellung: EMTH - POW - Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Kapitel 75 EMTH-SINE: Gleitkomma–Sinus eines Winkels (im Bogenmaß) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Darstellung: EMTH - SINE - mathematische Funktionen mit Gleitkomma Sinus eines Winkels (im Bogenmaß) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Kapitel 76 EMTH-SQRFP: Gleitkomma-Quadratwurzel . . . . . . . . . . . . . . 433 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Kapitel 77 EMTH-SQRT: Gleitkomma-Quadratwurzel . . . . . . . . . . . . . . . 439 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 xi Kapitel 78 EMTH-SQRTP: Prozess-Quadratwurzel . . . . . . . . . . . . . . . . . 445 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Kapitel 79 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit . . . . 451 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Darstellung: EMTH - SUBDP - mathematische Funktionen mit doppelter Genauigkeit - Subtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Kapitel 80 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl . . . . 457 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Kapitel 81 EMTH-SUBFP: Gleitkomma-Subtraktion . . . . . . . . . . . . . . . . 463 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Kapitel 82 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl . . . . 469 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Kapitel 83 EMTH-TAN: Gleitkomma–Tangens eines Winkels (im Bogenmaß). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Kapitel 84 ESI: Unterstützung des ESI-Moduls . . . . . . . . . . . . . . . . . . . 481 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 ASCII-Nachricht LESEN (Unterfunktion 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 ASCII-Nachricht SCHREIBEN (Unterfunktion 2) . . . . . . . . . . . . . . . . . . . . . . . . 491 GET DATA (Unterfunktion 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 PUT DATA (Unterfunktion 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 ABBRUCH (Mittlerer Eingang EIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Laufzeitfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 xii Kapitel 85 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 501 503 505 Teil IV Instruktionsbeschreibungen (F bis N) . . . . . . . . . . . . . 511 Kapitel 86 FIN: First In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Kapitel 87 FOUT: First Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Kapitel 88 FTOI: Gleitkommazahl in Ganzzahl. . . . . . . . . . . . . . . . . . . . . 525 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Kapitel 89 GD92 – Gasdurchfluss-Funktionsblock . . . . . . . . . . . . . . . . . 529 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Ausgänge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Optionale Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 90 GFNX AGA#3 ‘85 und NX19 ‘68 GasdurchflussFunktionsblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Ausgänge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Optionale Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 91 530 531 533 539 540 542 543 545 552 553 GG92 AGA #3 1992 Gesamtmethode des DurchflussFunktionsblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Ausgänge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung - Optionale Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . 556 557 559 564 565 xiii Kapitel 92 GM92 AGA #3 und #8 1992 Detailmethode GasdurchflussFunktionsblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Parameterbeschreibung - Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Parameterbeschreibung - Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Parameterbeschreibung - Optionale Ausgänge. . . . . . . . . . . . . . . . . . . . . . . . . 578 Kapitel 93 G392 AGA #3 1992 Gasdurchfluss-Funktionsblock . . . . . . . 579 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Parameterbeschreibung - Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 Parameterbeschreibung - Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Parameterbeschreibung - Optionale Ausgänge. . . . . . . . . . . . . . . . . . . . . . . . . 589 Kapitel 94 HLTH: Verlaufs- und Statusmatrizen . . . . . . . . . . . . . . . . . . . 591 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 Parameterbeschreibung oberer Eintrag (Verlaufsmatrix) . . . . . . . . . . . . . . . . . 596 Parameterbeschreibung mittlerer Eintrag (Statusmatrix). . . . . . . . . . . . . . . . . . 601 Parameterbeschreibung unterer Eintrag (Länge) . . . . . . . . . . . . . . . . . . . . . . . 605 Kapitel 95 HSBY - Hot Standby. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 Darstellung: HSBY - Hot Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 Parameterbeschreibung des oberen Knotens . . . . . . . . . . . . . . . . . . . . . . . . . . 611 Parameterbeschreibung des mittleren Knotens: HSBY - Hot Standby . . . . . . . 612 Kapitel 96 IBKR: Indirektes Lesen eines Blockes. . . . . . . . . . . . . . . . . . 613 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 Darstellung: IBKR - Indirektes Lesen eines Blocks . . . . . . . . . . . . . . . . . . . . . . 615 Kapitel 97 IBKW: Indirektes Schreiben eines Blockes. . . . . . . . . . . . . . 617 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Kapitel 98 ICMP: Eingangsvergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 Darstellung: ICMP - Eingangsvergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 Kaskadierte DRUM/ICMP-Blöcke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 Kapitel 99 ID: Sperren eines Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 627 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 xiv Kapitel 100 IE: Freigeben eines Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . 631 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 Kapitel 101 IMIO: Direkte E/A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler-Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitel 102 636 637 639 641 IMOD: Anweisung für Interrupt-Modul . . . . . . . . . . . . . . . . . . 643 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 Kapitel 103 INDX – Unmittelbare inkrementelle Bewegung . . . . . . . . . . . 653 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 Kapitel 104 ITMR: Interrupt-Zeitgeber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Kapitel 105 ITOF: Ganzzahl-Gleitkommazahl. . . . . . . . . . . . . . . . . . . . . . . 663 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 Kapitel 106 JOGS – JOG-Bewegung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 Kapitel 107 JSR: Sprung in ein Unterprogramm . . . . . . . . . . . . . . . . . . . . 671 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 Kapitel 108 LAB: Markierung eines Unterprogramms . . . . . . . . . . . . . . . 675 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 Kapitel 109 LOAD: Flash laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682 xv Kapitel 110 MAP3: MAP-Transaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686 Kapitel 111 MATH - Ganzzahloperationen . . . . . . . . . . . . . . . . . . . . . . . . . 691 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693 Kapitel 112 MBIT: Bit-Veränderung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 Kapitel 113 MBUS: MBUS-Transaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 Die Funktion "MBUS-Statistik abfragen" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 Kapitel 114 MMFB – Modicon Motion Framework Bitblock . . . . . . . . . . . 715 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 Kapitel 115 MMFE – Modicon Motion Framework, erweitertes Parameter-Unterprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 Kapitel 116 MMFI – Modicon Motion Framework Initialisierungsblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725 Kapitel 117 MMFS – Modicon Motion Framework Unterprogrammblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 Kapitel 118 MOVE – Absolute Bewegung . . . . . . . . . . . . . . . . . . . . . . . . . 733 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 Kapitel 119 MRTM: Mehrfachregister-Transfermodul . . . . . . . . . . . . . . . 737 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 xvi Kapitel 120 MSPX (Seriplex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 Kapitel 121 MSTR: Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operation Schreiben MSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation LESEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Lokale Statistik abfragen" . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Lokale Statistik löschen" . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Globale Daten schreiben" . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Globale Daten lesen" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Fernstatistik abfragen" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Fernstatistik löschen". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Peer Cop Status" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "Reset des Optionsmoduls" . . . . . . . . . . . . . . . . . . . . . . . . . MSTR-Operation "CTE lesen (Konfigurationserweiterungstabelle)" . . . . . . . . . MSTR-Operation "CTE schreiben (Konfigurationserweiterungstabelle)" . . . . . Modbus Plus-Netzwerkstatistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TCP/IP-Ethernet-Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modbus Plus- und SY/MAX Ethernet-Fehlercodes . . . . . . . . . . . . . . . . . . . . . . SY/MAX-spezifische Fehlercodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TCP/IP Ethernet-Fehlercodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTE-Fehlercodes für SY/MAX und TCP/IP Ethernet . . . . . . . . . . . . . . . . . . . . Kapitel 122 748 749 752 756 758 760 762 764 765 766 768 770 773 775 777 779 784 785 786 788 790 793 MU16: 16-Bit-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . 795 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 Kapitel 123 MUL: Multiplikation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 Kapitel 124 NBIT: Bit-Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 Kapitel 125 NCBT: Öffner-Bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 xvii Kapitel 126 NOBT: Schließer-Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 Kapitel 127 NOL: Netzwerk-Optionsmodul für LonWorks . . . . . . . . . . . . 817 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 Detailbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 Teil V Instruktionsbeschreibungen (O bis Q) . . . . . . . . . . . . . 823 Kapitel 128 ODER: Logisches ODER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 Kapitel 129 PCFL: Bibliothek der Prozesssteuerfunktionen . . . . . . . . . . 831 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 Kapitel 130 PCFL-AIN: Analogeingang . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Kapitel 131 PCFL-ALARM: Central Alarm Handler . . . . . . . . . . . . . . . . . . 845 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848 Kapitel 132 PCFL-AOUT: Analogausgang . . . . . . . . . . . . . . . . . . . . . . . . . 851 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 Kapitel 133 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 Kapitel 134 PCFL-CALC: Berechnete Preset-Formel . . . . . . . . . . . . . . . . 861 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864 xviii Kapitel 135 PCFL-DELAY: Zeitverzögerungs-Warteschlange . . . . . . . . . 867 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 Kapitel 136 PCFL-EQN: Formatierter Gleichungsrechner . . . . . . . . . . . . 871 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 Kapitel 137 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880 Kapitel 138 PCFL-KPID: Umfassende, nicht interaktive ISA-PID . . . . . . . 881 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884 Kapitel 139 PCFL-LIMIT: Begrenzer für Pv. . . . . . . . . . . . . . . . . . . . . . . . . 887 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890 Kapitel 140 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894 Kapitel 141 PCFL-LKUP: Linearisierungstabelle . . . . . . . . . . . . . . . . . . . . 895 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898 Kapitel 142 PCFL-LLAG: Differenzier- oder Verzögerungsfilter erster Ordnung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 xix Kapitel 143 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 Kapitel 144 PCFL-ONOFF: EIN/AUS-Werte für Totzone . . . . . . . . . . . . . . 909 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 Kapitel 145 PCFL-PI: Nicht interaktive ISA-PI . . . . . . . . . . . . . . . . . . . . . . 915 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918 Kapitel 146 PCFL-PID: PID-Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . 921 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 Kapitel 147 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate . . . . . 927 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 Kapitel 148 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Zeit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 Kapitel 149 PCFL-RATIO: Vier-Stationen-Verhältnisregler . . . . . . . . . . . 937 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 Kapitel 150 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944 Kapitel 151 PCFL-SEL: Eingangs-Auswahl . . . . . . . . . . . . . . . . . . . . . . . . 945 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 xx Kapitel 152 PCFL-TOTAL: Summierer für Dosierfluss . . . . . . . . . . . . . . . 951 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954 Kapitel 153 PEER: PEER-Transaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 Kapitel 154 PID2: Proportional-Integral-Differential-Regler . . . . . . . . . . . 961 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detailbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitfehler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962 963 965 968 973 Teil VI Instruktionsbeschreibungen (R bis Z) . . . . . . . . . . . . . 975 Kapitel 155 R --> T: Register zu Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980 Kapitel 156 RBIT: Bit zurücksetzen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983 Kapitel 157 READ: Lesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 Kapitel 158 RET: Rücksprung aus einem Unterprogramm. . . . . . . . . . . . 991 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992 Darstellung: RET - Rücksprung zur verwalteten Logik . . . . . . . . . . . . . . . . . . . 993 Kapitel 159 RTTI - Register zu Eingangstabelle. . . . . . . . . . . . . . . . . . . . . 995 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 Kapitel 160 RTTO - Register zu Ausgangstabelle . . . . . . . . . . . . . . . . . . . 999 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001 xxi Kapitel 161 RTU - Remote Terminal Unit . . . . . . . . . . . . . . . . . . . . . . . . . 1003 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005 Kapitel 162 SAVE: Momentzustand speichern . . . . . . . . . . . . . . . . . . . . 1009 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012 Kapitel 163 SBIT: Bit setzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015 Kapitel 164 SCIF: Ablaufsteuerungsschnittstellen . . . . . . . . . . . . . . . . . 1017 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021 Kapitel 165 SENS: Abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 Kapitel 166 Verbindungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031 Kapitel 167 SKP - Überspringen von Netzwerken. . . . . . . . . . . . . . . . . . 1033 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035 Kapitel 168 SRCH: Suchen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 Kapitel 169 STAT: Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 Beschreibung der Zustandstabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 SPS-Statuswörter 1 - 11 für Quantum und Momentum . . . . . . . . . . . . . . . . . . 1051 E/A-Modul-Health-Statuswörter 12 - 20 bei Momentum . . . . . . . . . . . . . . . . . 1056 E/A-Modul-Health-Statuswörter 12 - 171 bei Quantum . . . . . . . . . . . . . . . . . . 1058 Kommunikationsstatuswörter 172 - 277 bei Quantum . . . . . . . . . . . . . . . . . . . 1060 SPS-Statuswörter 1 - 11 für TSX COMPACT und Atrium . . . . . . . . . . . . . . . . 1065 E/A-Modul-Health-Statuswörter 12 - 15 bei TSX Compact . . . . . . . . . . . . . . . 1068 xxii Globale Health- und Kommunikations-Wiederholstatuswörter 182 ... 184 bei TSX COMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 Kapitel 170 SU16: 16-Bit-Subtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073 Kapitel 171 SUB: Subtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077 Kapitel 172 SWAP – VME-Bitaustausch . . . . . . . . . . . . . . . . . . . . . . . . . . 1079 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081 Kapitel 173 TTR - Tabelle in Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084 Darstellung: TTR - Tabelle zu Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085 Kapitel 174 T --> R Tabelle zu Register. . . . . . . . . . . . . . . . . . . . . . . . . . . 1087 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091 Kapitel 175 T --> T: Tabelle zu Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097 Kapitel 176 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber. . . . . . . . . 1099 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101 Kapitel 177 T0.1-Zeitgeber: Zehntelsekunden-Zeitgeber . . . . . . . . . . . . 1103 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 Kapitel 178 T1.0-Zeitgeber: Sekunden-Zeitgeber . . . . . . . . . . . . . . . . . . 1107 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 Kapitel 179 T1MS-Zeitgeber: Millisekunden-Zeitgeber . . . . . . . . . . . . . . 1111 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114 xxiii Kapitel 180 TBLK: Tabelle zum Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121 Kapitel 181 TEST: Prüfung von zwei Werten. . . . . . . . . . . . . . . . . . . . . . 1123 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125 Kapitel 182 UCTR: Aufwärtszähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129 Kapitel 183 VMER - VME Lesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135 Kapitel 184 VMEW - VME Schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141 Kapitel 185 WRIT: Schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146 Kapitel 186 XMIT - Senden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1150 XMIT Modbus-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 Kapitel 187 XMIT-Kommunikationsbaustein . . . . . . . . . . . . . . . . . . . . . . 1157 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 Kapitel 188 XMIT-Portstatusbaustein. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173 Kapitel 189 XMIT-Konvertierungsbaustein . . . . . . . . . . . . . . . . . . . . . . . 1177 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179 Parameterbeschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181 xxiv Kapitel 190 XMRD: Lesen des erweiterten Speichers . . . . . . . . . . . . . . . 1185 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 Kapitel 191 XMWT: Extended Memory Write (Erweiterten Speicher schreiben) . . . . . . . . . . . . . . . . . . . . . 1191 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 Kapitel 192 XOR: Exklusives ODER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197 Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199 Parameterbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201 Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mcciii Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mccxxvii xxv xxvi Sicherheitshinweise § Wichtige Informationen HINWEIS Lesen Sie diese Anweisungen gründlich durch und machen Sie sich mit dem Gerät vertraut, bevor Sie es installieren, in Betrieb nehmen oder warten. Die folgenden Hinweise können an verschiedenen Stellen in dieser Dokumentation enthalten oder auf dem Gerät zu lesen sein. Die Hinweise warnen vor möglichen Gefahren oder machen auf Informationen aufmerksam, die Vorgänge erläutern bzw. vereinfachen. Erscheint dieses Symbol zusätzlich zu einem Warnaufkleber, bedeutet dies, dass die Gefahr eines elektrischen Schlags besteht und die Nichtbeachtung des Hinweises Verletzungen zur Folge haben kann. Dies ist ein allgemeines Warnsymbol. Es macht Sie auf mögliche Verletzungsgefahren aufmerksam. Beachten Sie alle unter diesem Symbol aufgeführten Hinweise, um Verletzungen oder Unfälle mit Todesfälle zu vermeiden. GEFAHR GEFAHR macht auf eine unmittelbar gefährliche Situation aufmerksam, die bei Nichtbeachtung unweigerlich einen schweren oder tödlichen Unfall zur Folge hat. WARNUNG WARNUNG macht auf eine möglicherweise gefährliche Situation aufmerksam, die bei Nichtbeachtung unter Umständen einen schweren oder tödlichen Unfall oder Beschädigungen an Geräten zur Folge haben kann. VORSICHT VORSICHT macht auf eine möglicherweise gefährliche Situation aufmerksam, die bei Nichtbeachtung unter Umständen einen schweren oder tödlichen Unfall oder Beschädigungen an Geräten zur Folge hat. 31007525 12/2006 xxvii Sicherheitshinweise BITTE BEACHTEN Elektrische Geräte dürfen nur von Fachpersonal installiert, betrieben, gewartet und instand gesetzt werden. Schneider Electric haftet nicht für Schäden, die aufgrund der Verwendung dieses Materials entstehen. © 2006 Schneider Electric. Alle Rechte vorbehalten. xxviii 31007525 12/2006 Über dieses Buch Auf einen Blick Ziel dieses Dokuments Diese Dokumentation soll Ihnen helfen, die Ladder Logic-Anweisungen von ProWORX 32 aus zu konfigurieren. Gültigkeitsbereich Diese Dokumentation ist für ProWORX 32 unter Microsoft Windows 98, Microsoft Windows 2000 und Microsoft Windows NT 4.x bestimmt. Hinweis: Zusätzliche aktuelle Hinweise finden Sie in der README-Datei von ProWORX 32. Weiterführende Dokumentation Benutzerkommentar 31007525 12/2006 Titel Referenz-Nummer XMIT Function Block User Guide 840 USE 113 Quantum Hot Standby Planning and Installation Guide 840 USE 106 Modbus Plus Network Planning and Installation Guide 890 USE 100 Quantum 140 ESI 062 10 ASCII Interface Module User Guide 840 USE 108 Modicon S980 MAP 3.0 Network Interface Controller User Guide GM-MAP3-001 Ihre Anmerkungen und Hinweise sind uns jederzeit willkommen. Senden Sie sie einfach an unsere E-mail-Adresse: [email protected] xxix Über dieses Buch xxx 31007525 12/2006 Allgemeine Informationen I Einleitung Auf einen Blick In diesem Teil finden Sie allgemeine Informationen über die Instruktionsgruppen und die Verwendung von Instruktionen. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: 31007525 12/2006 Kapitel Kapitelname 1 Instruktionen Seite 2 Anweisungsgruppen 3 Regelungstechnik/Analogwerte 19 4 Formatieren von Nachrichten für ASCII-READ/WRITOperationen 31 5 Spulen, Kontakte und Verbindungen 39 3 5 6 Interruptverarbeitung 45 7 Verarbeitung eines Unterprogramms 49 8 Installation der DX Loadables 51 1 Allgemeine Informationen 2 31007525 12/2006 Instruktionen 1 Parameterzuordnung von Instruktionen Allgemeines Die Programmierung elektrischer Steuerungssysteme setzt einen Anwender voraus, der codierte Instruktionen in Form von visuellen Objekten implementiert, die in einem übersichtlichen Kontaktplan organisiert sind. Die vom Anwender erstellten Programmobjekte werden während des Ladens in datenverarbeitungsfähige Opcodes konvertiert. Die Opcodes werden von der Zentraleinheit decodiert und von der Betriebssoftware der SPS verarbeitet, wodurch die gewünschte Steuerungsfunktion realisiert wird. Jede Instruktion besteht aus einer Operation, den für die Operation erforderlichen Einträgen sowie den Ein- und Ausgängen. 31007525 12/2006 3 Instruktionen Parameterzuordnung Parameterzuordnung am Beispiel der Instruktion DV16: Instruction Inputs Operation Nodes Outputs e.g. DV16 Middle input top node middle node Bottom input DV16 Top input Top output Middle output Bottom output bottom node Betrieb Die Operation bestimmt, welche Funktionalität von der Instruktion durchzuführen ist, z.B. Schieberegister, Konvertierungsoperationen. Einträge, Einund Ausgänge Die Einträge sowie Ein- und Ausgänge bestimmen, womit die Operation ausgeführt werden soll. 4 31007525 12/2006 Anweisungsgruppen 2 Auf einen Blick Einleitung In diesem Kapitel finden Sie eine Übersicht über die Anweisungsgruppen. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Instruktionsgruppen 6 ASCII-Kommunikationsanweisungen 7 Zähler- und Zeitgeberanweisungen 8 Schnelle E/A-Anweisungen 9 Loadable DX 10 Mathematische Anweisungen 11 Matrix-Anweisungen 13 Sonstige 14 Verschiebe-Anweisungen 15 Skips/Specials 16 Spezialanweisungen 17 Spulen, Kontakte und Verbindungen 18 5 Anweisungsgruppen Instruktionsgruppen Allgemeines Alle genannten Instruktionen gehören zu einer der nachfolgenden Gruppen. ASCII Functions (siehe S. 7) z Counters/Timers (siehe S. 8) z Fast I/O Instructions (siehe S. 9) z Loadable DX (siehe S. 10) z Math (siehe S. 11) z Matrix (siehe S. 13) z Miscellaneous (siehe S. 14) z Move (siehe S. 15) z Skips/Specials (siehe S. 16) z Special (siehe S. 17) z Coils, Contacts and Interconnects (siehe S. 18) z 6 31007525 12/2006 Anweisungsgruppen ASCII-Kommunikationsanweisungen ASCII Functions Diese Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium READ ASCII-Nachrichten lesen Ja Nein Nein Nein WRIT ASCII-Nachrichten schreiben Ja Nein Nein Nein SPS-Systeme, die die ASCII-Nachrichtenübertragung unterstützen, verwenden die Anweisungen LESEN und SCHREIBEN zur Versendung von Nachrichten an Anzeigegeräte und zum Empfang von Nachrichten von Eingabegeräten. Diese Anweisungen enthalten die nötigen Programme für die Kommunikation zwischen der ASCII-Nachrichtentabelle im SPS-Systemspeicher und einem Schnittstellenmodul an den dezentralen E/A-Stationen. Weitere Informationen finden Sie S. 31. 31007525 12/2006 7 Anweisungsgruppen Zähler- und Zeitgeberanweisungen Zähler- und Zeitgeberanweisungen Die Tabelle zeigt die Zähler- und Zeitgeberanweisungen. Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium UCTR Zählt von 0 aufwärts bis zu Ja einem voreingestellten Wert Ja Ja Ja DCTR Zählt von einem voreingestellten Wert abwärts bis 0 Ja Ja Ja Ja T1.0 Zeitgeber, der in Sekunden inkrementiert wird Ja Ja Ja Ja T0.1 Zeitgeber, der in Zehntelsekunden inkrementiert wird Ja Ja Ja Ja T.01 Zeitgeber, der in Hundertstelsekunden inkrementiert wird Ja Ja Ja Ja T1MS Zeitgeber, der in Millisekunden inkrementiert wird Ja (Siehe Hinweis.) Ja Ja Ja Hinweis: Die Anweisung T1MS ist nur bei B984-102, dem Micro-Produkten 311, 411, 512 und 612, sowie Quantum 424 02 verfügbar. 8 31007525 12/2006 Anweisungsgruppen Schnelle E/A-Anweisungen Schnelle E/AAnweisungen Die folgenden Anweisungen sind für verschiedenartige Funktionen bestimmt, die im allgemeinen unter dem Begriff Fast-I/O-Aktualisierung bekannt sind. Anweisung Bedeutung BMDI Block verschieben mit gesperrten Interrupts Verfügbar für SPS-Familie Quantum Compact Momentum Atrium Ja Ja Nein Ja ID Interrupt sperren Ja Ja Nein Ja IE Interrupt freigeben Ja Ja Nein Ja IMIO Direkte E/A-Anweisung Ja Ja Nein Ja IMOD Anweisung für InterruptModul Ja Nein Nein Ja ITMR IntervallzeitgeberInterrupt Nein Ja Nein Ja Weitere Informationen finden Sie S. 45. Hinweis: Die schnellen E/A-Anweisungen sind nur verfügbar, wenn eine CPU ohne Erweiterung konfiguriert wurde. 31007525 12/2006 9 Anweisungsgruppen Loadable DX Loadable DX Diese Gruppe enthält folgende Anweisungen: Anweisung Bedeutung CHS Hot Standby (Quantum) Verfügbar für SPS-Familie Quantum Compact Momentum Atrium Ja Nein Nein Nein Schrittschalt Schrittschaltwerksteuerung Ja werk Ja Nein Ja ESI Unterstützung des ESIModuls 140 ESI 062 10 Ja Nein Nein Nein EUCA Konvertierung von physikalischen Einheiten und Alarme Ja Ja Nein Ja HLTH Verlaufs- und Statusmatrizen Ja Ja Nein Ja ICMP Eingangsvergleich Ja Ja Nein Ja MAP3 MAP-3-Transaktion Nein Nein Nein Nein MBUS MBUS-Transaktion Nein Nein Nein Nein MRTM MehrfachregisterÜbertragungsmodul Ja Ja Nein Ja NOL Übertragung zum/vom NOL-Modul Ja Nein Nein Nein PEER PEER-Transaktion Nein Nein Nein Nein XMIT RS 232 Master-Modus Ja Ja Ja Nein Weitere Informationen finden Sie S. 51. 10 31007525 12/2006 Anweisungsgruppen Mathematische Anweisungen Mathematische Anweisungen (Math) Es gibt zwei Anweisungsgruppen, die Grundrechenarten unterstützen. Die erste Gruppe umfasst vier auf Ganzzahlen basierende Anweisungen: ADD, SUB, MUL und DIV. Die zweite Gruppe umfasst fünf Vergleichsanweisungen, AD16, SU16, TEST, MU16 und DV16, die 16-Bit-Berechnungen und -Vergleiche mit und ohne Vorzeichen unterstützen. Drei zusätzliche Anweisungen, ITOF, FTOI und BCD, sind vorgesehen, um das Format numerischer Werte zu konvertieren (Ganzzahlwerte in Gleitkommawerte, Gleitkommawerte in Ganzzahlwerte, Binärwerte in BCD-Werte und BCD-Werte in Binärwerte). Die Konvertieroperationen sind sinnvoll bei erweiterten mathematischen Funktionen. Auf Ganzzahlen basierende Anweisungen Vergleichsanweisungen 31007525 12/2006 Dieser Teil der Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium ADD Addition Ja Ja Ja Ja DIV Division Ja Ja Ja Ja MUL Multiplikation Ja Ja Ja Ja SUB Subtraktion Ja Ja Ja Ja Dieser Teil der Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium AD16 16-Bit-Addition Ja Ja Ja Ja DV16 16-Bit-Division Ja Ja Ja Ja MU16 16-Bit-Multiplikation Ja Ja Ja Ja SU16 16-Bit-Substraktion Ja Ja Ja Ja TEST Prüfung von zwei Werten Ja Ja Ja Ja 11 Anweisungsgruppen Formatkonvertierung Dieser Teil der Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum 12 Compact Momentum Atrium BCD Konvertierung eines Ja Binärwerts in einen Binärcode oder eines Binärcodes in einen Binärwert. Ja Ja Ja FTOI Konvertierung eines Gleitkommawerts in einen Ganzzahlwert. Ja Ja Ja Ja ITOF Konvertierung eines Ganzzahlwerts in einen Gleitkommawert. Ja Ja Ja Ja 31007525 12/2006 Anweisungsgruppen Matrix-Anweisungen MatrixAnweisungen (Matrix) Eine Matrix ist eine Folge von Datenbits, die aus benachbarten 16-Bit-Wörtern oder -Registern besteht, welche aus entsprechenden Tabellen abgeleitet worden sind. DX-Matrixfunktionen verwenden in Tabellen enthaltene Bitmuster. Wie bei Verschiebe-Anweisungen ist die Mindesttabellenlänge 1, die Maximaltabellenlänge ist abhängig vom verwendeten Anweisungstyp sowie von der Größe der CPU (24-Bit) Ihrer SPS. Es ist ebenfalls möglich, Gruppen von 16 E/A-Merker-Bits in Tabellen zu positionieren. Die verwendete Referenznummer ist das erste E/A-Merker-Bit in der Gruppe, die folgenden 15 sind impliziert. Die Nummer des ersten Bits muss aus der ersten von 16 Typ 000001, 100001, 000017, 100017, 000033, 100033, ... usw. sein. Diese Gruppe enthält folgende Anweisungen: 31007525 12/2006 Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium UND Logisches UND Ja Ja Ja Ja BROT Bit-Rotation Ja Ja Ja Ja CMPR Registervergleich Ja Ja Ja Ja COMP Komplementbildung einer Matrix Ja Ja Ja Ja MBIT Bit-Veränderung Ja Ja Ja Ja NBIT Bit-Steuerung Ja Ja Nein Ja NCBT Schließerbit Ja Ja Nein Ja NOBT Öffnerbit Ja Ja Nein Ja ODER Logisches ODER Ja Ja Ja Ja RBIT Bit zurücksetzen Ja Ja Nein Ja SBIT Bit setzen Ja Ja Nein Ja SENS Richtung Ja Ja Ja Ja XOR Exklusiv ODER Ja Ja Ja Ja 13 Anweisungsgruppen Sonstige Sonstige Diese Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum 14 CKSM Prüfsumme DLOG Datenprotokollierung Nein für PCMCIA-Lese-/ Schreibunterstützung Ja EMTH Erweiterte mathematische Funktionen LOAD Compact Momentum Atrium Ja Ja Ja Ja Nein Nein Ja Ja Ja Ja Flash laden Ja (CPU 434 12/ 534 nur 14) Ja Ja (CCC 960 x0/ 980 nur x0) Nein MSTR Master Ja Ja Ja Ja SAVE Flash speichern Ja (CPU 434 12/ 534 nur 14) Ja Ja (CCC 960 x0/ 980 nur x0) Nein SCIF ReihenfolgenSteuerungen Ja Ja Nein Ja XMRD Erweiterten Speicher lesen Ja Nein Nein Ja XMWT Erweiterten Speicher schreiben Ja Nein Nein Ja 31007525 12/2006 Anweisungsgruppen Verschiebe-Anweisungen VerschiebeAnweisungen (Move) 31007525 12/2006 Diese Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium BLKM Block verschieben Ja Ja Ja Ja BLKT Tabelle zu Block verschieben Ja Ja Ja Ja FIN First In Ja Ja Ja Ja FOUT First Out Ja Ja Ja Ja IBKR Indirektes Lesen eines Blocks Ja Ja Nein Ja IBKW Indirektes Schreiben eines Ja Blocks Ja Nein Ja R→T Register zu Tabelle verschieben Ja Ja Ja Ja SRCH Tabellen-Suchen Ja Ja Ja Ja T→R Tabelle zu Register verschieben Ja Ja Ja Ja T→T Tabelle zu Tabelle verschieben Ja Ja Ja Ja TBLK Tabelle zu Block verschieben Ja Ja Ja Ja 15 Anweisungsgruppen Skips/Specials Skips/Specials Diese Gruppe enthält folgende Anweisungen: Anweisung Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium JSR Sprung zum Unterprogramm Ja Ja Ja Ja LAB Label für ein Unterprogramm Ja Ja Ja Ja RET Rücksprung von einem Unterprogramm Ja Ja Ja Ja SKPC Skip (Konstante) Ja Ja Ja Ja SKPR Skip (Register) Ja Ja Ja Ja Die SKP-Anweisung ist eine Standardanweisung in allen SPS-Systemen. Sie sollte mit Vorsicht verwendet werden. GEFAHR UNBEABSICHTIGTES ÜBERSPRINGEN VON E/A Gehen Sie bei Verwendung der Anweisung SKP• vorsichtig vor. Wenn Eingänge und Ausgänge, die normalerweise die Steuerung ausführen, unbeabsichtigt übersprungen werden (oder nicht), kann dies zu gefährlichen Situationen für das Personal und die für die Anwendung erforderlichen Geräte führen. Die Nichtbeachtung dieser Anweisung wird Tod oder schwere Körperverletzung zur Folge haben. 16 31007525 12/2006 Anweisungsgruppen Spezialanweisungen Spezialfunktionen (Special) Diese Anweisungen werden in speziellen Situationen verwendet, um statistische Ereignisse im globalen Logiksystems zu erfassen oder um spezielle Regelungsfunktionen zu generieren. Diese Gruppe enthält folgende Anweisungen: Anweisung 31007525 12/2006 Bedeutung Verfügbar für SPS-Familie Quantum Compact Momentum Atrium DIOH Funktionsfähigkeit dezentrale E/A Ja Nein Nein Ja PCFL Bibliothek der Prozesssteuerfunktionen Ja Ja Nein Ja PID2 Proportional-IntegralDifferential Ja Ja Ja Ja STAT Status Ja Ja Ja Ja 17 Anweisungsgruppen Spulen, Kontakte und Verbindungen Spulen, Kontakte und Verbindungen 18 Die Anweisungsgruppe Spulen, Kontakte und Verbindungen steht bei allen SPSFamilien zur Verfügung. z Normale Spule z Speichergepufferte oder gesperrte Spule z Schließerkontakt (N.O.) z Öffnerkontakt (N.C.) z Kontakt zur Erkennung von positiven Übergängen z Kontakt zur Erkennung von negativen Übergängen z Horizontale Verbindung z Vertikale Verbindung 31007525 12/2006 Regelungstechnik/Analogwerte 3 Auf einen Blick Einleitung In diesem Kapitel finden Sie allgemeine Informationen zur Konfiguration der Regelungstechnik und zur Verwendung von Analogwerten. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: Thema Regelungstechnik/Analogwerte 31007525 12/2006 Seite 20 PCFL-Unterfunktionen 21 Ein PID-Beispiel 25 Beispiel einer PID2-Pegelregelung 28 19 Regelungstechnik/Analogwerte Regelungstechnik/Analogwerte Allgemein In einem analogen Regelungssystem wird die Abweichung von einer idealen Prozessbedingung gemessen, analysiert und geregelt, was dem Bemühen des Erreichens (und der Aufrechterhaltung) einer Nullabweichung des Prozesses entspricht. Mit dem verbesserten Anweisungssatz steht auch ein ProportionalIntagral-Differential-Funktionsbaustein namens PID2 zur Verfügung, mit dem Sie Regelungstechnik (oder negative Rückführung) in Ladder Logic festlegen können. Definition der Sollwert- und ProzessVariablen Der gewünschte (Nullabweichungs-)Regelpunkt, den Sie im PID2-Block definieren, heißt Sollwert (SP). Die situationsbedingte Messung im Verhältnis zu SP entspricht dem Istwerteingang (PV). Die Differenz zwischen SP und PV entspricht der Abweichung oder der Störgröße (E). E wird in eine Regelberechnung eingegeben, die eine Stellgröße (Mv) erzeugt, die zur Anpassung des Prozesses dient, so dass PV = SP (und somit E = 0) ist. Steuern Endgerät PV Prozess Prozess Sender Mv (Ausgang) 20 _ Steuern Berechnung PV (Eingang) E + SP 31007525 12/2006 Regelungstechnik/Analogwerte PCFL-Unterfunktionen Allgemein Die PCFL-Anweisung ermöglicht Ihnen den Zugriff auf eine Bibliothek von Prozesssteuerfunktionen anhand von analogen Werten. PCFL-Operationen fallen in drei Kategorien. z Erweiterte Rechenarten z Signalverarbeitung z Regelung Erweiterte Rechenarten Die erweiterten Rechenarten werden für allgemeine mathematische Zwecke verwendet und sind nicht auf Prozesssteuerfunktionen beschränkt. Die erweiterten Rechenarten ermöglichen Ihnen, spezielle Signalverarbeitungsalgorithmen zu generieren, den Regelprozessstatus oder statistische Prozessmaßnahmen abzuleiten usw. Die EMTH-Anweisungen haben bereits einfache mathematische Programme angeboten. Die von PCFL angebotene Rechenfunktionalität ist ein Gleichungsrechner, der spezielle Gleichungen schreibt, anstatt verschiedene mathematische Operationen nacheinander zu programmieren. Signalverarbeitung Signalverarbeitungsfunktionen werden zum Einstellen von Prozess- und abgeleiteten Prozesssignalen verwendet. Dies kann auf vielerlei Weise geschehen; sie können ein Signal linearisieren, filtern, verzögern oder auf andere Weise ändern. Zu dieser Kategorie gehören Funktionen wie Analogeingang/-ausgang, Begrenzer, Differenzier-, Verzögerungs-, und Rampengeneratoren. Regelung Regelfunktionen führen in verschiedenartigen Anwendungen geschlossene Regelungen durch. Typischerweise handelt es sich dabei um PID (Proportional Integral Differential)-Regelschleifen mit negativer Rückführung. Die PID-Funktionen von PCFL bieten verschiedene Funktionalitätsgrade. Die PID-Funktion hat dieselbe allgemeine Funktionalität wie die Anweisung PID2 verwendet aber mathematische Funktionen mit Gleitkomma und stellt einige Optionen auf andere Weise dar. Die Verwendung von PID ist sinnvoll, wenn PID2 aus numerischen Gründen, wie z.B. Abrundung, nicht angewendet werden kann. 31007525 12/2006 21 Regelungstechnik/Analogwerte Erklärung der Formelelemente Allgemeine Gleichungen Bedeutung der Formelelemente in folgenden Formeln: Formelelemente Bedeutung J Ausgangsstellgröße YP Proportionalteil der Berechnung YI Integralteil der Berechnung YD Differentialteil der Berechnung Bezugswert Dem Eingang hinzugefügte Konstante BT Stoßfreies Transfer-Register SP Sollwert KP Proportionalverstärkung Dt Zeit seit letzter Ausführung TI Nachstellzeit-Konstante TD Differenzierbeiwert TD1 Vorhaltezeitverzögerung XD Differenzglied, Abweichung XD_1 Voriges Differenzglied X Prozesseingang X_1 Voriger Prozesseingang Folgende allgemeine Gleichungen sind gültig: Gleichung Zustand/Anforderung Y = YP + YI + YD + BIAS Integralbit EIN Y = YP + YD + BIAS + BT Integralbit AUS Y high ≤ Y ≤ Y low Obere/untere Grenzwerte mit YP, YI, YD = f(XD) 22 XD = SP – X ± ( GRZ × ( 1 – KGRZ ) ) Verstärkungsreduzierung XD = SP – X Verstärkungsreduzierungszone nicht verwendet 31007525 12/2006 Regelungstechnik/Analogwerte Proportionalberechnungen Folgende Gleichungen sind gültig: Gleichung Zustand/Anforderung YP = KP × XD Proportionalbit EIN YP = 0 Integralberechnung Folgende Gleichungen sind gültig: Gleichung Zustand/Anforderung Δt XD_1 + XD YI = YI + KP × ------ × -----------------------------TI 2 Integralbit EIN YI = 0 Differentialberechnung Folgende Gleichungen sind gültig: Gleichung Zustand/Anforderung DXD = X_1 – X Basisdifferential oder PV DXD = XD – X_1 TD1 × YD ) + ( TD × KP × DXD ) YD = (------------------------------------------------------------------------------------Δt + TD1 Differentialbit EIN YD = 0 31007525 12/2006 23 Regelungstechnik/Analogwerte Strukturdiagramm Rücksetzen Anti-Windup Steuerungsabweichung a) Proportional Verstärkung Sollwert SP + 1 _ 0 0 b) 1 1 = Integral EIN - Verstärkung 0 1 1 0 Steuereingang 1 X(n) 0 c) 1 = Differential EIN 0 = Basisdifferential auf XD 1 = Basisdifferential auf X 1 = Proportion EIN a) Integral TI Grenzwerte Anti-Windup + high b) low P+I+D Differential TD Betrieb Betriebsarten Steuern Manuell Ausgang Automatik Halt Y (n) Anteile c) Summierstelle Betriebsartenauswahl 24 31007525 12/2006 Regelungstechnik/Analogwerte Ein PID-Beispiel Beschreibung Dieses Beispiel zeigt, wie eine typische PID-Schleife unter Verwendung der PCFLFunktion PID konfiguriert werden kann. Die Berechnung beginnt mit der AINFunktion, die simulierte Roheingänge verwendet, damit der Ausgang etwa zwischen 20 und 22 läuft, wenn die Skala der physikalischen Einheiten auf 0 ... 100 eingestellt ist. Darstellung 984LL #3 AIN LKUP RAMP MODE PID AOUT 400100 400120 400160 400190 400200 400250 PCFL PCFL PCFL PCFL PCFL PCFL # 14 # 39 # 14 #8 # 44 #9 400112 400157 400172 400196 400242 400120 400200 400190 400206 400250 BLKM BLKM BLKM BLKM BLKM #2 #2 #2 #2 #2 000100 T0.1 000100 400185 Die der Messdauer entsprechende Prozessvariable sollte etwa wie folgt aussehen. Prozessvariablenwert 22 20 Zeit 31007525 12/2006 25 Regelungstechnik/Analogwerte Haupt-PID Ladder Logic Der AIN-Ausgang wird im Block zur LKUP-Funktion verschoben, die zur Skalierung des Eingangssignals verwendet wird. Dies geschieht, weil der Eingangsmessfühler aller Wahrscheinlichkeit nach keine optimalen linearen Messwerte ausgibt; das Ergebnis ist ein ideales lineares Signal. 7 Punkte definiert in Linearisierungstabelle * 100 * 80 * 60 50 linearisiertes Signal * 40 Istwert-Eingang * 20 0 Eingang * 20 40 50 60 80 100 Der Ausgang der Linearisierungstabelle wird im Block zur PID-Funktion verschoben. RAMP wird zur Regelung des Anstiegs (oder Abfalls) des PID-ReglerSollwerts in Bezug auf den Rampenanstieg und das Auflösungsintervall verwendet. In diesem Beispiel wird der Sollwert in einem anderen Logikabschnitt abgelegt, um so eine Ferneinstellung zu simulieren. Die MODUS-Funktion wird nach RAMP positioniert, so dass zwischen dem RAMP-generierten Sollwert oder einem manuellen Wert umgeschaltet werden kann. Simulierter Prozess Die PID-Funktion steuert gegenwärtig den durch diese Logik simulierten Prozess [Wert in 400100: 878(Dez)]. #3 LLAG LLAG DELAY AOUT 400260 400280 400300 400340 PCFL PCFL PCFL PCFL # 20 # 20 # 32 #9 400242 400278 400298 400330 400348 400260 400280 400300 400340 400100 BLKM BLKM BLKM BLKM BLKM #1 #1 #1 #1 #1 000103 T0.1 000103 400188 000103 26 31007525 12/2006 Regelungstechnik/Analogwerte Der Prozesssimulator setzt sich aus zwei LLAG-Funktionen zusammen, die als Filter und Eingang einer VERZÖGERUNGS-Warteschlange agieren, die ebenfalls ein PCFL-Funktionsbaustein ist. Diese Anordnung ist äquivalent zu einem Prozess zweiter Ordnung mit Totzeit. Die Auflösungsintervalle der LLAG-Filter beeinflussen die Prozessdynamik nicht und sind so ausgewählt worden, dass sie schnelle Aktualisierungen ermöglichen. Das Auflösungsintervall für die VERZÖGERUNGS-Warteschlange ist auf 1000 ms eingestellt, mit einer Verzögerung von 5 Intervallen, d.h. 5 s. Die LLAG-Filter haben jeweils Differenzierzeitkonstanten von 4 s und Verzögerungszeitkonstanten von 10 s. Der Verstärkungsfaktor für jeden beträgt 1,0. In Prozessregelgliedern kann die Übertragungsfunktion wie folgt ausgedrückt werden: – 5S ( 4S + 1 ) ( 4S + 1 )e Gp(S) = ---------------------------------------------------( 10S + 1 ) ( 10S + 1 ) Die AOUT-Funktion wird nur zur Konvertierung des simulierten ProzessausgangsRegelwerts in einen Bereich von 0 ... 4095 verwendet, der ein Endgerät simuliert. Dieses Ganzzahlsignal wird als Prozesseingang im ersten Netzwerk verwendet. PID-Parameter Der PID-Regler wird auf eine Prozessregelung bei 20,0 eingestellt, wobei die Ziegler-Nichols-Methode verwendet wird. Die sich daraus ergebende Regelverstärkung beträgt 2,16, was äquivalent zu einem Proportionalbereich von 46,3 % ist. Die Nachstellzeit wird auf 12,5 s/Wiederholung (4,8 Wiederholungen/min) eingestellt. Die Vorhaltezeit beträgt anfänglich 3 s, die dann auf 0,3 s verkürzt werden, um die Differenzialwirkung abzuschwächen. Nach der PID-Funktion wird eine AOUT-Funktion verwendet. Diese bedingt den PID-Regelausgang durch Rückskalierung des Signals auf einen Ganzzahlwert, der als Regelwert verwendet wird. Der gesamten Regelschleife ist ein 0,1-s-Zeitgeber vorgeschaltet. Das Zielauflösungsintervall der gesamten Schleife beträgt 1 s und der gesamte Zyklus 1 s. Die verwendeten nicht zeitabhängigen Funktionen (AIN, LKUP, MODE und AOUT) müssen nicht in jedem Zyklus ausgeführt werden. Um die Wirkung der Zykluszeit zu reduzieren, sind diese Funktionen so programmiert, dass sie weniger häufig ausgeführt werden. Im Beispiel wird alle 3 s eine Schleife ausgeführt, wodurch die durchschnittliche Zykluszeit drastisch herabgesetzt wird. Hinweis: Es ist nach wie vor wichtig, die maximale Zykluswirkung zu kennen. Bei der Programmierung anderer Schleifen wollen Sie sicherlich nicht, dass alle Schleifen in demselben Zyklus ausgeführt werden. 31007525 12/2006 27 Regelungstechnik/Analogwerte Beispiel einer PID2-Pegelregelung Beschreibung Nachfolgend finden Sie ein vereinfachtes P&I-Diagramm für einen EinlassSeparator in einer Gasverarbeitungsanlage. Der Einlassstrom ist zweiphasig: Flüssigkeit und Gas. Ausblasen Entlüftung Einlassentlüftung AnlagenEinlass FCV Einlassblock unterer Grenzwert 1 LSH 1 LC 1 Gas PV-1 LSL 1 LV I/P 1 FC Kondensat LT-1 4 ... 20 mA Pegelstandsübermittler I/P-1 4 ... 20 mA Wandler in Druckluftkonverter LV-1 Steuerventil, GESCHLOSSEN ausgefallen LSH-1 Hochpegel-Schalter, normalerweise geschlossen LSL-1 Niedrigpegel-Schalter, normalerweise offen LC-1 Pegel-Steuerung I/P-1 Mv zur Steuerung des Flusses in Tank T-1 Die Flüssigkeit wird aus dem Tank gekippt, damit ein konstanter Pegel aufrechterhalten bleibt. Das Ziel der Regelung ist die Aufrechterhaltung eines konstanten Pegelstands im Separator. Die Phasen müssen vor der Verarbeitung getrennt werden. Die Trennung übernimmt der Einlass-Separator PV-1. Fällt die PegelSteuerung LC-1 aus, könnte sich der Einlass-Separator auffüllen, wodurch Flüssigkeiten in den Gasstrom gelangen könnten. Dies kann Geräte wie etwa Gasverdichter schwer beschädigen. 28 31007525 12/2006 Regelungstechnik/Analogwerte Ladder LogicDiagramm Der Pegelstand wird durch das LC-1-Gerät geregelt, d.h. eine Quantum-Steuerung, die an ein analoges Eingabemodul angeschlossen ist; I/P-1 wird an ein analoges Ausgabemodul angeschlossen. Der Regelkreis kann mit folgender 984LL implementiert werden: 300001 400102 #0 #0 SUB SUB 400113 400500 400100 000101 400200 000102 PID2 # 30 000103 Der erste SUB-Block wird zum Verschieben des Analogeingangs von LT-1 zum PID2-Analogeingangsregister 40113 verwendet. Der zweite SUB-Block wird zum Verschieben des PID2-Ausgangs Mv an den Ausgang I/P-1 verwendet, der eine E/ A-Zuordnung aufweist. Die Spule 00101 wird, falls gewünscht, für die Umstellung der Schleife von Automatik auf Handbetrieb verwendet. Im Automatikbetrieb muss es eingeschaltet sein. Registerinhalt Legen Sie den Sollwert in mm für die Eingangsskalierung (E.U.) fest. Der volle Eingabebereich beträgt 0 ... 4000 mm (für analoge Rohwerte von 0 ... 4095). Spezifizieren Sie den Registerinhalt des oberen Knotens im PID2-Block wie folgt: Register Inhalt Inhalt Numerisch Bedeutung Kommentare 400100 PID2 schreibt dies Skalierter PV (mm) 400101 2000 Skalierter SP (mm) Anfänglich auf 2000 mm festgesetzt (halbvoll) 400102 0000 Schleifenausgang (0 ... 4095) PID2 schreibt dies, auf 0 stehen lassen, um sicher zu sein 400103 3500 Alarm hoch Sollwert (mm) Steigt der Pegel auf über 3500 mm, wird die Spule 000102 eingeschaltet (EIN) 400104 1000 Alarm niedrig Sollwert (mm) Fällt der Pegel auf unter 1000 mm, wird die Spule 000103 eingeschaltet (EIN) 31007525 12/2006 29 Regelungstechnik/Analogwerte Register Inhalt Inhalt Numerisch Bedeutung Kommentare 400105 0100 PB (%) Der tatsächliche Wert hängt von der Prozessdynamik ab. 400106 0500 Integralkonstante (5,00 Wiederholungen/min) Der tatsächliche Wert hängt von der Prozessdynamik ab. 400107 0000 Anstiegszeitkonstante (pro min) Wird dies auf 0 gestellt, wird der Differentialmodus ausgeschaltet. 400108 0000 Bezugswert (0 ... 4095) Auf 0 gestellt, da wir einen Integralanteil haben 400109 4095 Oberer Windup-Grenzwert (0 ... 4095) Normalerweise auf Maximum gestellt 400110 0000 Unterer Windup-Grenzwert (0 ... 4095) Normalerweise auf Minimum gestellt 400111 4000 Oberer physikalischer Bereich (mm) Der skalierte Wert der Prozessvariablen, wenn der Roheingang bei 4095 liegt 400112 0000 Unterer physikalischer Bereich (mm) Der skalierte Wert der Prozessvariablen, wenn der Roheingang bei 0 liegt Erfassung analoger Rohwerte (0 ... 4095) Eine Kopie des Eingangs aus dem analogen Eingangsmodulwort (300001), kopiert von erster SUB 400113 400114 0000 Offset zu Regelkreis-Zählregister Null sperrt dieses Merkmal. Wird normalerweise nicht verwendet 400115 0000 Max. Regelkreise, die pro Zyklus ausgeführt werden Siehe Register 400114 400116 0102 Zeiger zum Rückkopplungs-Reset Wenn Sie dies als Null lassen, liefert die PID2-Funktion automatisch einen Zeiger zum RegelkreisAusgangsregister. Kann der tatsächliche Ausgang (400500) vom Wert, den PID2 geliefert hat, gewechselt werden, muss dieses Register auf 500 (400500) gesetzt werden, damit das Integral richtig berechnet wird. 400117 4095 Oberer Begrenzungswert Ausgang (0 ... 4095) Normalerweise auf Maximum gestellt 400118 0000 Unterer Begrenzungswert Ausgang Normalerweise auf Minimum gestellt (0 ... 4095) 400119 0015 Konstante "Rate Gain Limit" (2 ... 30) Normalerweise auf etwa 15 gesetzt. Der tatsächliche Wert hängt von der Lautstärke des Eingangssignals ab. Da der Differentialmodus nicht verwendet wird, hat dies keine Auswirkung auf PID2. 400120 0000 Zeiger zum Nachführeingang Nur verwendet, wenn die Funktion VORBELASTUNG verwendet wird. Wird VORBELASTUNG nicht verwendet, ist dies normalerweise Null. Die Werte in den Registern im 400200-Zielblock werden alle vom PID2-Block gesetzt. 30 31007525 12/2006 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen 4 Auf einen Blick Einleitung In diesem Kapitel finden Sie allgemeine Informationen zum Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen 32 Formatspezifikationen 33 Spezielle Hinweise zum Signalformat für Steuerung und Überwachung 36 31 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Allgemeines Die ASCII-Nachrichten, die in den Instruktionen LESEN und SCHREIBEN verwendet werden, können Sie über Ihre Steuerungssoftware generieren, indem Sie die unten beschriebenen Formatspezifikationen verwenden. Formatspezifikationen sind Zeichensymbole, die folgende Angaben enthalten. z Die in der ASCII-Nachricht verwendeten Zeichen z Registerinhalt im ASCII-Zeichenformat z Registerinhalt, angezeigt im Hexadezimalformat z Registerinhalt, angezeigt als Ganzzahlformat z Unterprogramm ruft zur Durchführung anderer Nachrichtenformate auf. Übersicht der FormatSpezifikationen Folgende Format-Spezifikationen können verwendet werden. 32 Spezifikation Bedeutung / ASCII-Rücksprung (CR) und Zeilenvorschub (LF) " " Anführungsstriche für Oktalsteuercode ‘ ´ Anführungsstriche für ASCII-Textzeichen X Leerzeichen-Anzeige () Wiederholen Klammerinhalte I Ganzzahl L Führende Nullen A Alphanumerisch O Oktal B Binär H Hexadezimal 31007525 12/2006 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Formatspezifikationen Formatspezifikation/ Formatspezifikation" " Formatspezifikation‘ ´ FormatspezifikationX ASCII-Rücksprung (CR) und Zeilenvorschub (LF) Feldbreite Keine (Standardwerte 1) Präfix Keine (Standardwerte 1) Eingangsformat Ausgänge CR, LF, ASCII-Zeichen werden nicht akzeptiert Ausgangsformat Ausgänge CR, LF Anführungsstriche für Oktalsteuercode Feldbreite Drei Ziffern eingeschlossen in doppelten Anführungszeichen Präfix Keine Eingangsformat Akzeptiert drei Oktalsteuerzeichen Ausgangsformat Gibt drei Oktalsteuerzeichen aus Anführungsstriche für ASCII-Textzeichen Feldbreite 1 ... 128 Zeichen Präfix Keine (Standardwerte 1) Eingangsformat Gibt Anzahl der druckbaren Buchstaben oberes und/oder unteres Feld, festgelegt durch die Feldbreite, ein Ausgangsformat Gibt Anzahl der druckbaren Buchstaben oberes und/oder unteres Feld, festgelegt durch die Feldbreite, aus. Leerzeichen-Anzeige, z.B. 14X zeigt 14 offen gelassenen Leerzeichen vom Punkt, wo die Spezifikation auftritt. Feldbreite 31007525 12/2006 Keine (Standardwerte 1) Präfix 1 ... 99 Leerzeichen Eingangsformat Gibt angegebene Leerzeichenanzahl ein Ausgangsformat Gibt angegebene Leerzeichenanzahl aus 33 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Formatspezifikation( ) FormatspezifikationI FormatspezifikationL 34 Wiederholen Klammerinhalte, z.B. 2 (4X, I5) sagt, 4X, I5 zweimal wiederholen Feldbreite Keine Präfix 1 ... 255 Eingangsformat Formatspezifikationen in Klammern sooft wiederholen wie vom Präfix festgelegt Ausgangsformat Formatspezifikationen in Klammern sooft wiederholen wie vom Präfix festgelegt Ganzzahl, z.B. I5 legt fünf Ganzzahlzeichen fest Feldbreite 1 ... 8 Zeichen Präfix 1 ... 99 Eingangsformat Akzeptiert die ASCII-Zeichen 0 ... 9. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen des Felds mit Nullen aufgefüllt. Ausgangsformat Gibt die ASCII-Zeichen 0 ... 9 aus. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen des Felds mit Nullen aufgefüllt. Das Überlauffeld setzt sich aus Sternzeichen zusammen. Führende Nullen, z.B. L5 legt fünf führende Nullen fest Feldbreite 1 ... 8 Zeichen Präfix 1 ... 99 Eingangsformat Akzeptiert die ASCII-Zeichen 0 ... 9. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen des Felds mit Nullen aufgefüllt. Ausgangsformat Gibt die ASCII-Zeichen 0 ... 9 aus. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen des Felds mit Nullen aufgefüllt. Das Überlauffeld setzt sich aus Sternzeichen zusammen. 31007525 12/2006 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen FormatspezifikationA FormatspezifikationO FormatspezifikationB FormatspezifikationH 31007525 12/2006 Alphanumerisch, z.B. A27 legt 27 alphanumerische Zeichen fest, kein Suffix erlaubt Feldbreite Keine (Standardwerte 1) Präfix 1 ... 99 Eingangsformat Akzeptiert alle 8-Bit-Zeichen außer reservierte Begrenzungszeichen wie CR, LF, ESC, BKSPC, DEL. Ausgangsformat Gibt sämtliche 8-Bit Zeichen aus Oktal, z.B. O2 legt zwei Oktalzeichen fest Feldbreite 1 ... 6 Zeichen Präfix 1 ... 99 Eingangsformat Akzeptiert die ASCII-Zeichen 0 ... 7. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Ausgangsformat Gibt die ASCII-Zeichen 0 ... 7 aus. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Es sind keine Überlauf-Merker vorhanden. Binär, z.B. B4 legt vier Binärzeichen fest Feldbreite 1 ... 16 Zeichen Präfix 1 ... 99 Eingangsformat Akzeptiert die ASCII-Zeichen 0 und 1. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Ausgangsformat Gibt die ASCII-Zeichen 0 und 1 aus. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Es sind keine Überlauf-Merker vorhanden. Hexadezimal, z.B. H2 legt zwei Hexzeichen fest Feldbreite 1 ... 4 Zeichen Präfix 1 ... 99 Eingangsformat Akzeptiert die ASCII-Zeichen 0 ... 9 und A ... F. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Ausgangsformat Gibt die ASCII-Zeichen 0 ... 9 und A ... F aus. Wenn die Feldbreite nicht ausreicht, werden die höherwertigen Zeichen mit Nullen aufgefüllt. Es sind keine Überlauf-Merker vorhanden. 35 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Spezielle Hinweise zum Signalformat für Steuerung und Überwachung Allgemeines Zur Steuerung und Überwachung der zur Nachrichtenübertragung verwendeten Signale spezifizieren Sie den Code 1002 im ersten Register des Steuerblocks (das im oberen Eintrag angezeigte Register). Dieses Format ermöglicht Ihnen, die RTSund CTS-Zeilen des für die Nachrichtenübertragung verwendeten Ports zu steuern. Hinweis: In diesem Format kann nur der lokale Port für die Nachrichtenübertragung verwendet werden, d.h. eine übergeordnete SPS kann die Signale eines untergeordneten Ports weder überwachen, noch steuern. Daher muss die im fünften implizierten Eintrag des Steuerblocks angegebene Portnummer immer 1 sein. Der Inhalt der ersten drei Register im Datenblock (das angezeigte Register und das erste und zweite implizierte Register im mittleren Eintrag) ist vorbestimmt. Register Inhalt Angezeigt Enthält das Steuermaskenwort Erstes impliziertes Register Enthält das Steuerdatenwort Zweites impliziertes Register Enthält das Statuswort Diese drei Datenblockregister sind für dieses Format erforderlich, der zulässige Bereich für den Längenwert (festgelegt im unteren Eintrag) ist daher 3 ... 255. Steuermaskenwort Verwendung des Worts: 1 36 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 1 = Port kann verwendet werden 0 = Port kann nicht verwendet werden 2 - 15 Nicht verwendet 16 1 = RTS steuern 0 = RTS nicht steuern 12 13 14 15 16 31007525 12/2006 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen Steuerdatenwort Verwendung des Worts: 1 Statuswort 3 4 5 6 7 Bit Funktion 1 1 = Port verwendet 0 = Port zurückgeben 2 - 15 Nicht verwendet 16 1 = RTS aktivieren 0 = RTS deaktivieren 8 9 10 11 12 13 14 15 16 8 9 10 11 12 13 14 15 16 Verwendung des Worts: 1 31007525 12/2006 2 2 3 4 5 6 7 Bit Funktion 1 1 = Port verwendet 2 1 = Port AKTIV als Modbus-Slave 3 - 13 Nicht verwendet 14 1 = DSR EIN 15 1 = CTS EIN 16 1 = RTS EIN 37 Formatieren von Nachrichten für ASCII-READ/WRIT-Operationen 38 31007525 12/2006 Spulen, Kontakte und Verbindungen 5 Auf einen Blick Einleitung In diesem Kapitel finden Sie Informationen zur Anweisungsgruppe Spulen, Kontakte und Verbindungen, auch Shorts genannt. Einzelheiten aller Elemente im Ladder Logic-Anweisungssatz werden in alphabetischer Folge aufgelistet. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: Thema Spulen 31007525 12/2006 Seite 40 Kontakte 42 Verbindungen (Shorts) 44 39 Spulen, Kontakte und Verbindungen Spulen Definition Spulen Eine Spule bzw. ein Ausgangs-/Merkerbit ist ein Bitausgang, der vom Signalfluss des Logikprogramms auf EIN oder AUS gestellt wird. Eine Spule ist mit einer 0xReferenz im Signalspeicher der SPS verbunden. Da Ausgangswerte im Signalspeicher durch die SPS aktualisiert werden, kann eine Spule intern im Logikprogramm verwendet werden oder extern über die E/A-Bestückung an einer Digitalausgangseinheit im Steuersystem. Wenn eine Spule auf EIN steht, aktiviert sie einen Bitausgang oder ändert den Status eines internen Relaiskontaktes im Signalspeicher. Zwei Arten von Spulen werden unterschieden. Normale Spule z Speichergepufferte oder verriegelte Spule z Normale Spule Eine normale Spule ist ein als 0x-Referenz dargestellter Bitausgang. Eine normale Spule steht je nach Stromfluss im Programm auf EIN oder AUS. Ein Ladder Logic-Netzwerk kann bis zu sieben Spulen enthalten, aber nur eine pro Zeile. Wird eine Spule in einer Zeile positioniert, dürfen in der Zeile keine weiteren logischen Elemente oder Instruktionseinträge rechts von der logischen Lösungsposition der Abschlussoperation erscheinen. Spulen sind die einzigen Ladder LogicElemente, die in Spalte 11 eines Netzwerks eingefügt werden dürfen. Um eine Digitalreferenz für die Spule zu definieren, wählen Sie sie im Editor aus, und öffnen Sie dann durch Klicken das Dialogfeld Spule. Symbol 40 31007525 12/2006 Spulen, Kontakte und Verbindungen Gepufferte Spule WARNUNG Forcierung von Spulen Wird ein Biteingang (1x) deaktiviert, haben die Signale von dessen zugeordneten Eingangsfeldgerät keine Kontrolle über dessen EIN/AUS-Status. Wird ein Bitausgang (0x) deaktiviert, hat der logische Zyklus der SPS keine Kontrolle über den EIN/AUS-Status des Ausgangs. Wenn ein Biteingang oder -ausgang gesperrt worden ist, können Sie seinen EIN/AUS-Status mit dem Befehl "Forcen" ändern. Bei der Deaktivierung von Spulen gibt es eine wichtige Ausnahme: Die Instruktionen "Verschieben von Daten" und "Datenmatrix", die Spulen im Zieleintrag verwenden, erkennen den aktuellen EIN/AUS-Status aller Spulen dieses Eintrags, egal ob diese gesperrt sind oder nicht. Wenn Sie also davon ausgehen, dass eine deaktivierte Spule in solch einer Instruktion deaktiviert bleibt, kann dies zu unerwünschten Folgen in Ihrer Applikation führen. Wurde eine Spule oder ein Relaiskontakt deaktiviert, können Sie deren Status durch den Befehl "Forcen ein" bzw. "Forcen aus" ändern. Wenn eine Spule oder Relaiskontakt aktiviert worden ist, kann sie/er nicht forciert werden. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! Wird eine gepufferte Spule eingeschaltet, wenn die SPS Energie verliert, wird die Spule den gleichen Zustand für einen Zyklus erreichen, wenn die Energie der SPS wiederhergestellt wird. Um eine Digitalreferenz für die Spule zu definieren, wählen Sie sie im Editor aus und öffnen durch Klicken das Dialogfeld Gepufferte Spule (Riegel). Symbol L 31007525 12/2006 41 Spulen, Kontakte und Verbindungen Kontakte Definition Kontakte Kontakte dienen zur Weiterleitung oder zum Sperren des Signalflusses in einem Ladder Logic-Programm. Sie sind digital, d.h. jeder nimmt einen E/A-Punkt in Ladder Logic ein. Ein Kontakt kann mit einer 0x- oder 1x-Referenz im Signalspeicher der SPS verbunden werden, in diesem Fall nimmt jeder Kontakt einen Eintrag eines Ladder-Netzwerks ein. Vier Kontakttypen können unterschieden werden. Schließerkontakte z Öffnerkontakte z Kontakte zur Erkennung von positiven Übergängen z Kontakte zur Erkennung von negativen Übergängen z Schließerkontakt Ein Schließer (NO, normally open contact) wird aktiv, wenn er auf EIN gestellt ist. Um eine Digitalreferenz für den Schließerkontakt zu definieren, wählen Sie sie im Editor aus und öffnen dann durch Klicken das Dialogfeld Schließerkontakt. Symbol Öffnerkontakt Ein Öffner (NC, normally closed contact) wird aktiv, wenn er auf AUS gestellt ist. Um eine Digitalreferenz für den Öffnerkontakt zu definieren, doppelklicken Sie auf sie im Ladder-Eintrag, um das Dialogfeld Öffnerkontakt zu öffnen. Symbol 42 31007525 12/2006 Spulen, Kontakte und Verbindungen Kontakt zur Erkennung von positiven Übergängen Wechselt ein Kontakt zur Erkennung positiver Übergänge (PT, positive transitional contact) vom AUS- in den EIN-Zustand, wird er nur für einen einzigen Zyklus aktiv. Um eine Digitalreferenz für den Kontakt zur Erkennung von positiven Übergängen zu definieren, wählen Sie sie im Editor aus und öffnen dann durch Klicken das Dialogfeld Kontakt zur Erkennung von positiven Übergängen. Symbol Kontakt zur Erkennung von negativen Übergängen Wechselt ein Kontakt zur Erkennung negativer Übergänge vom EIN- in den AUSZustand, wird er nur für einen einzigen Zyklus aktiv. Um eine Digitalreferenz für den Kontakt zur Erkennung von negativen Übergängen zu definieren, wählen Sie sie im Editor aus und öffnen dann durch Klicken das Dialogfeld Kontakt zur Erkennung von negativen Übergängen. Symbol 31007525 12/2006 43 Spulen, Kontakte und Verbindungen Verbindungen (Shorts) Definition von Verbindungen (Shorts) Verbindungen (Shorts) sind einfache, geradlinige Verbindungen zwischen Kontakten und/oder Instruktionen eines Ladder Logic-Netzwerks. Verbindungen können horizontal oder vertikal in ein Netzwerk integriert werden. Zwei Verbindungstypen werden unterschieden. Horizontale Verbindungen z Vertikale Verbindungen z Horizontale Verbindungen Eine Verbindung ist eine geradlinige Verbindung zwischen Kontakten und/oder Einträgen in einer Instruktion, über die der Stromfluss gesteuert werden kann. Eine horizontale Verbindung wird verwendet, um den Logikausgang in einem Netzwerk zu erweitern, ohne dabei den Stromfluss zu unterbrechen. Jede horizontale Verbindung beansprucht im Netzwerk einen Eintrag und verwendet in der SPS ein Speicherwort. Symbol Vertikale Verbindungen Eine vertikale Verbindung verbindet in einer Instruktion Kontakte bzw. Einträge, die in einer Spalte übereinander angeordnet sind. Um ODER-Bedingungen zu erzeugen, können vertikale Verbindungen auch Ein- oder Ausgänge in einer Instruktion verbinden. Wenn zwei Kontakte durch eine vertikale Verbindung miteinander verbunden sind, liegt ein aktiver Zustand vor, wenn einer oder beide Kontakte an Strom liegen. Die vertikale Verbindung ist in zweierlei Hinsicht spezifisch. Sie kann in einem Netzwerkknoten mit einem anderen Bauelement oder Knotenwert koexistieren z SPS-Speicherkapazität wird nicht beansprucht z Symbol 44 31007525 12/2006 Interruptverarbeitung 6 Interruptverarbeitung Interruptbezogene Leistung Die Interrupt-bezogenen Instruktionen arbeiten mit minimaler Systemverwaltung für die Verarbeitung. Die Arbeitsweise der Interrupt-bezogenen Instruktionen ist besonders kritisch. Bei Verwendung einer Intervall-Timer-Interrupt (ITMR) Instruktion, wird etwa 6 % zur Zykluszeit der verwalteten Ladder Logic addiert dieser Anstieg beinhaltet nicht die Zeit, die zur Durchführen des zum Interrupt gehörenden Interruptverarbeitungsroutine-Unterprogramms erforderlich ist. InterruptVerzögerungszeit Die folgende Tabelle zeigt die niedrigsten und höchsten zu erwartenden InterruptWartezeiten an. ITMRSystemverwaltung Antwortzeit Keine Arbeit durchzuführen 60 ms/ms Minimum 98 ms Maximum während Logikausführung und ModbusBefehlsempfang 400 ms Gesamtsystemverwaltung (die normale Logikausführungszeit wird nicht gezählt) 155 ms Diese Verzögerungszeiten setzen immer nur ein Interrupt voraus. 31007525 12/2006 45 Interruptverarbeitung InterruptPrioritäten Die SPS geht bei der Entscheidung, welcher Interrupt-Verarbeitungsblock auszuführen ist, wenn mehrere Interrupts gleichzeitig empfangen werden, wie folgt vor. z Ein von einer Interrupt-Baugruppe generiertes Interrupt hat eine höhere Priorität als ein von einem Zeitgeber generiertes Interrupt. z Die in den unteren Steckplätzen des lokalen Baugruppenträgers befindlichen Interrupt-Baugruppen haben Vorrang vor den Baugruppen der höheren Steckplätze. Führt die SPS eine Unterprogramm-Interrupt-Verarbeitungsroutine durch, wenn ein Interrupt höherer Priorität empfangen wird, wird die aktuelle Interrupt-Verarbeitungsroutine abgeschlossen, bevor die neue Interrupt-Verarbeitungsroutine angefangen wird. Instruktionen, die in einer InterruptVerarbeitungsroutine nicht verwendet werden können Die folgenden (nicht rückverzweigenden) Ladder Logic-Instruktionen können in einem Interruptverarbeitungs-Unterprogramm nicht verwendet werden. z MSTR z READ / WRIT z PCFL / EMTH z T1,0, T0,1, T,01, und T1MS Zeitgeber (setzen nicht Fehlerbit 2, Ergebnisse des Zeitgebers ungültig) z Gleichungsnetzwerke z Benutzer-Loadables (setzen nicht Fehlerbit 2) Wenn eine dieser Instruktionen in einer Interrupt-Verarbeitungsroutine gesetzt wird, wird das Unterprogramm abgebrochen, der Fehlerausgang der ITMR- oder IMODInstruktion (je nachdem, welche das Interrupt generiert hat) wird auf EIN gestellt, und Bit 2 im Statusregister wird gesetzt. 46 31007525 12/2006 Interruptverarbeitung Interrupt mit BMDI/ID/IE Die drei zu Ihrer Verfügung stehenden Interrupt-Maskier-/Demaskiersteuerungsinstruktionen helfen Ihnen, die Daten sowohl in der normalen (verwalteten) Ladder Logic als auch in der (nicht verwalteten) Unterprogrammlogik für die Verarbeitung der Interrupts zu schützen. Es handelt sich dabei um die Instruktionen Sperren eines Interrupts (ID), Freigeben eines Interrupts (IE) und Block Verschieben mit gesperrten Interrupts (BMDI). Ein Interrupt, der in der Zeitspanne nach Durchführung einer ID-Instruktion und vor dem nächsten IE-Instruktion ausgeführt wird, wird gepuffert. Die Durchführung eines gepufferten Interrupts findet dann statt, wenn die Instruktion IE ausgeführt wird. Wenn zwei oder mehrere Interrupts desselben Typs innerhalb der Ausführung von ID ... IE auftreten, wird das Fehlerbit "Masken-Interrupt-Überlauf" gesetzt, und das Unterprogramm, das von den Interrupts initiiert wird, wird nur einmal ausgeführt. Die BMDI-Instruktion kann sowohl für das Maskieren eines von einem Zeitgeber generierten Interrupts als auch eines lokalen E/A-generierten Interrupts verwendet werden, eine Einzelblock-Datenverschiebung durchführen und dann die Interrupts demaskieren. Sie ermöglicht den Austausch eines Datenblocks im Unterprogramm oder an einer oder mehreren Positionen des verwalteten Logikprogramms. BMDI-Instruktionen können zur Reduzierung der Zeitspanne zwischen Aktivierung und Sperren eines Interrupts verwendet werden. BMDI-Instruktionen können zum Beispiel zum Schutz der vom Interrupt-Verarbeitungsblock verwendeten Daten benutzt werden, wenn die Daten von Modbus, Modbus Plus, dem Peer Cop oder den dezentralisierten E/A (DIO) aktualisiert oder gelesen werden. 31007525 12/2006 47 Interruptverarbeitung 48 31007525 12/2006 Verarbeitung eines Unterprogramms 7 Verarbeitung eines Unterprogramms JSR/LABMethode Das untenstehende Beispiel zeigt eine Serie von drei logischen Netzwerken für den Benutzer, wovon das letzte Netzwerk für ein hochzählendes Unterprogramm verwendet wird. Segment 32 wurde im Segmentverwalter aus der Tabelle der Ausführungsreihenfolge entfernt. Scheduled Logic Flow Segment 001 Network 00001 Subroutine Segment Segment 032 Network 00001 Network 00002 00001 JSR 10001 00001 LAB 00001 40256 40256 00001 ADD 40256 40256 SUB 40256 RET 00001 40256 00010 SUB 40999 00001 JSR 00001 Segment 002 Network 00001 31007525 12/2006 49 Verarbeitung eines Unterprogramms Wenn Eintrag 100001 zum JSR-Block in Netzwerk 2 von Segment 1 von AUS zu EIN übergeht, springt die logische Abtastung zum Unterprogramm Nr. 1 in Netzwerk 1 von Segment 32. Das Unterprogramm führt intern eine zehnfache Schleife aus, die vom ADD-Block gezählt wird. Die ersten neun Schleifen enden mit dem JSR-Block im Unterprogramm (Netzwerk 1 von Segment 32) und senden den Zyklus an den LABBlock zurück. Bei Vollendung der zehnten Schleife sendet der RET-Block den Logikzyklus zurück an die vom JSR-Eintrag verwaltete Logik in Netzwerk 2 von Segment 1. 50 31007525 12/2006 Installation der DX Loadables 8 Installation der DX Loadables So installieren Sie DX Loadables Sie können nur auf die ladbaren DX-Instruktionen zugreifen, wenn Sie diese zuvor installiert haben. Bei Installation der Concept-Software befinden sich die DXLoadables auf Ihrer Festplatte. Packen Sie nun die gewünschten Loadables aus, und installieren Sie sie wie folgt. Schritt 31007525 12/2006 Aktion 1 Mit dem Menübefehl Projekt → Konfigurator öffnen Sie den Konfigurator. 2 Mit Konfigurieren → Loadables... öffnen Sie das Dialogfeld Loadables. 3 Drücken Sie die Befehlsschaltfläche Auspacken... zur Öffnung des Windows Dialogfeldes Loadable-Datei auspacken, wo die Mehrdatei-Loadables (DX Loadables) ausgewählt werden können. Wählen Sie die gewünschte Loadable-Datei, klicken Sie auf die Schaltfläche OK, und das Loadable wird in das Listenfeld Verfügbar: eingefügt. 4 Drücken Sie nun die Befehlsschaltfläche Installieren=>, um das Loadable zu installieren, das Sie im Listenfeld Verfügbar: ausgewählt haben. Das installierte Loadable wird im Listenfeld Installed: angezeigt. 5 Drücken Sie die Befehlsschaltfläche Bearbeiten... um das Dialogfeld Loadable-Konfigurationzu öffnen. Ändern Sie den Opcode, falls erforderlich, oder übernehmen Sie den Standardwert. Im Listenfeld Opcodekönnen Sie dem Loadable einen Opcode zuordnen, mit dem Sie durch diesen Code auf das Anwenderprogramm zugreifen können. Ein Opcode, der bereits einem Loadable zugeordnet ist, wird durch ein * gekennzeichnet. Klicken Sie auf die Schaltfläche OK. 6 Klicken Sie auf die Schaltfläche OK im Dialogfeld Loadables. Der Zähler für die Konfigurations-Loadables wird aktualisiert. Das installierte Loadable ist verfügbar für die Programmierung über das Menü Objekte → Instruktionen wählen → DX Loadable. 51 Installation der DX Loadables 52 31007525 12/2006 Instruktionsbeschreibungen (A bis D) II Auf einen Blick Einleitung In diesem Abschnitt werden Instruktionsbeschreibungen in alphabetischer Folge von A bis D aufgeführt. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: Kapitel 9 31007525 12/2006 Kapitelname Seite 1X3X - Eingangssimulation 55 10 AD16: Ad 16 Bit 59 11 ADD: Addition 63 12 UND: Logisches Und 67 13 BCD: Binärwert in BCD-Code 73 14 BLKM: Block verschieben 77 15 BLKT: Block zur Tabelle 81 16 BMDI: Block verschieben mit gesperrten Interrupts 85 17 BROT: Bitrotation 89 18 CALL: Aktivieren der direkten oder verzögerten DX-Funktion 19 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks 101 93 20 CCPF – Nockenprofil mit variablen Instrumenten konfigurieren 109 21 CCPV – Nockenprofil mit variablen Inkrementen konfigurieren 113 22 CFGC - Koordinatensatz konfigurieren 117 23 CFGF - Kopplungssatz konfigurieren 121 24 CFGI – Imaginäre Achse konfigurieren 125 25 CFGR – Dezentrale Achse konfigurieren 129 26 CFGS – SERCOS-Achse konfigurieren 133 27 CHS: Konfiguration der Hot Standby-Funktion 137 53 Instruktionsbeschreibungen (A bis D) Kapitel 54 Kapitelname Seite 28 CKSM: Prüfsumme 145 29 CMPR: Registervergleich 151 30 Spulen 155 31 COMM - ASCII-Kommunikationsfunktion 159 32 COMP: Komplementbildung einer Matrix 163 33 Kontakte 169 34 CONV - Daten konvertieren 173 35 CTIF – Zähler-, Zeitgeber- und Interruptfunktion 177 36 DCTR: Abwärtszähler 185 37 DIOH: Funktionsfähigkeit dezentrale E/A 189 38 DISA - Deaktivierte diskrete Überwachung 195 39 DIV: Dividieren 199 40 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Schreibunterstützung 205 41 DMTH - Mathematische Funktionen mit doppelter Genauigkeit 213 42 DRUM: Schrittfolgensteuerung 221 43 DV16: 16-Bit-Division 227 31007525 12/2006 1X3X - Eingangssimulation 9 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung 1X3X beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 56 Darstellung 57 55 1X3X - Eingangssimulation Kurzbeschreibung Funktionsbeschreibung 56 Die Anweisung Eingangssimulation stellt eine einfache Methode zum Simulieren von 1xxxx- und 3xxx-Eingangsdatenwerten bereit. Dieser Block ähnelt der Anweisung BLKM (Block verschieben). Wenn der Steuereingang Energie erhält, wird die Quelltabelle in die Zieltabelle kopiert. 31007525 12/2006 1X3X - Eingangssimulation Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Zieltabelle Quelltabelle 1X3X Tabellenlänge: 1 - 100 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher-Referenz Datentyp Oberer Eingang 0x, 1x Keine Zieltabelle (oberer Knoten) 1x, 3x INT Quelltabelle (mittlerer Knoten) 4x INT Enthält die Quelle, die zum Ziel verschoben wird INT (Länge: NNN wenn 3X) Länge: 16*, wenn 4x Keine Wird aktiv, wenn der obere Eingang Energie erhält. Länge (unterer Knoten) Oberer Ausgang 31007525 12/2006 Länge 0x Bedeutung 57 1X3X - Eingangssimulation 58 31007525 12/2006 AD16: Ad 16 Bit 10 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung AD16 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 60 Darstellung 61 59 AD16: Ad 16 Bit Kurzbeschreibung Funktionsbeschreibung 60 Die Anweisung AD16 führt eine 16-Bit-Addition mit oder ohne Vorzeichen von Wert 1 (oberer Knoten) und Wert 2 (mittlerer Knoten) aus und legt anschließend die Summe in einem 4x-Ausgangsregister im unteren Knoten ab. 31007525 12/2006 AD16: Ad 16 Bit Darstellung Symbol Darstellung der Anweisung Steuereingang Erfolgreiche Ausführung Wert 1 Maximalwert 65535 Wert 2 Maximalwert 65535 Wert mit Vorzeichen AD16 Summe Parameterbeschreibung 31007525 12/2006 Überlauf ohne Vorzeichen = 65535 mit Vorzeichen = 32767 oder < -32768 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Wert 1 und Wert 2 addieren Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Wert 1 (oberer Knoten) 3x, 4x INT, UINT Summand, kann explizit als Ganzzahl (Bereich 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Summand, kann explizit als Ganzzahl (Bereich 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Summe (unterer Knoten) 4x INT, UINT Summe der 16-Bit-Addition Oberer Ausgang 0x Keine EIN = erfolgreiche Ausführung der Operation Unterer Ausgang 0x Keine EIN = Überlauf in der Summe 61 AD16: Ad 16 Bit 62 31007525 12/2006 ADD: Addition 11 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ADD beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 64 Darstellung 65 63 ADD: Addition Kurzbeschreibung Funktionsbeschreibung 64 Die Instruktion ADD addiert den Wert ohne Vorzeichen 1 (oberer Eintrag) zum Wert ohne Vorzeichen 2 (mittlerer Eintrag) und legt die Summe in einem Ausgangsregister im unteren Eintrag ab. 31007525 12/2006 ADD: Addition Darstellung Symbol Darstellung der Anweisung Steuereingang Überlauf Maximalwerte: 999 – 16-Bit SPS 9999 – 24-Bit SPS 65535 - 785L SPS Wert 1 Summe > 999 - 16-Bit SPS Summe > 9999 - 24-Bit SPS 65535 - 785L SPS Wert 2 ADD Summe Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Wert 1 und Wert 2 addieren Wert 1 (oberer Knoten) 3x, 4x INT, UINT Summe > 999 - 16-Bit-SPS Summe > 9999 - 24-Bit-SPS 65535 - 785L SPS Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Summe > 999 - 16-Bit-SPS Summe > 9999 - 24-Bit-SPS 65535 - 785L SPS Summe (unterer Knoten) 4x INT, UINT Summe Oberer Ausgang 0x Keine EIN = Überlauf in der Summe Summe > 999 in 16-Bit-SPS Summe > 9999 in 24-Bit-SPS 65535 in 785L SPS 65 ADD: Addition 66 31007525 12/2006 UND: Logisches Und 12 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung UND beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 68 Darstellung 69 Parameterbeschreibung 71 67 UND: Logisches UND Kurzbeschreibung Funktionsbeschreibung Die Anweisung UND führt eine boolesche UND-Operation mit den Bitmustern der Quell- und der Zielmatrix durch. Das durch eine UND-Operation verknüpfte Bitmuster wird dann in der Zielmatrix gespeichert, wobei der vorherige Inhalt überschrieben wird. Quelle Bits 0 0 1 1 0 UND UND UND UND 0 0 0 1 1 1 Ziel Bits 0 WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung AND auf deaktivierte Spulen. UND überschreibt alle gesperrten Spulen innerhalb der Zielmatrix, ohne sie freizugeben. Dies kann zu Verletzungen führen, wenn eine Spule eine Operation zwecks Wartung oder Reparatur gesperrt hat, da der Zustand der Spule durch die UNDOperation geändert werden kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 68 31007525 12/2006 UND: Logisches UND Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellmatrix Zielmatrix Länge: 1 - 100 Register (16 bis 1600 Bits) UND Länge Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine Initiiert UND Quellmatrix (oberer Knoten) 0x, 1x, 3x, 4x BOOL, WORD Erste Referenz in der Quellmatrix Zielmatrix (mittlerer Knoten) 0x, 4x BOOL, WORD Erste Referenz in der Zielmatrix Länge (unterer Knoten) Oberer Ausgang 31007525 12/2006 INT, UINT Matrixlänge; Bereich 1 ... 100. 0x Keine Gibt den Status des oberen Eingangs an 69 UND: Logisches UND UND-Beispiel Wenn Kontakt 10001 aktiv ist, wird die Quellmatrix, die durch das Bitmuster in den Registern 40600 und 40601 gebildet wird, durch UND mit der Zielmatrix verknüpft, die durch das Bitmuster in den Registern 40604 und 40605 gebildet wird. Die durch UND verknüpften Bits werden dann in die Register 40604 und 40605 kopiert, wodurch das vorherige Bitmuster in der Zielmatrix überschrieben wird. Quellmatrix 40600 = 1111111100000000 40601 = 1111111100000000 40600 10001 40604 UND 00002 Ursprüngliche Zielmatrix 40604 = 1111111111111111 40605 = 0000000000000000 Durch UND verknüpfte Zielmatrix 40604 = 1111111100000000 40605 = 0000000000000000 Hinweis: Wenn Sie das ursprüngliche Zielbitmuster der Register 40604 und 40605 beibehalten möchten, kopieren Sie die Informationen in eine andere Tabelle, indem Sie vor dem Ausführen der UND-Operation die Anweisung BLKM verwenden. 70 31007525 12/2006 UND: Logisches UND Parameterbeschreibung Matrixlänge (unterer Eintrag) 31007525 12/2006 Der im unteren Eintrag eingegebene Ganzzahlwert gibt die Matrixlänge an, d.h. die Anzahl der Register oder 16-Bit-Wörter der beiden Matrizen. Die Matrixlänge kann im Bereich von 1 ... 100 liegen. Die Länge 2 gibt an, dass 32 Bits in jeder Matrix durch UND verknüpft werden. 71 UND: Logisches UND 72 31007525 12/2006 BCD: Binärwert in BCD-Code 13 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung BCD beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 74 Darstellung 75 73 BCD: Binärwert in Binärcode Kurzbeschreibung Funktionsbeschreibung 74 Die Instruktion BCD kann zur Konvertierung eines Binärwerts in einen BCD-Wert (Binary Coded Decimal, binär verschlüsselter Dezimalwert) oder eines BCD-Werts in einen Binärwert verwendet werden. Der auszuführende Konvertierungstyp wird durch den Status des unteren Eingangs bestimmt. 31007525 12/2006 BCD: Binärwert in Binärcode Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellregister Zielregister Binär/BCD Fehler BCD EIN = BCD in binär AUS = binär in BCD Parameterbeschreibung 31007525 12/2006 #1 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Konvertierung freigeben Unterer Eingang 0x, 1x Keine EIN = Konvertierung BCD-Wert → Binärwert AUS = Konvertierung Binärwert → BCDWert Quellregister (oberer Knoten) 3x, 4x INT, UINT Quell-Register, in dem der zu konvertierende Zahlenwert abgelegt wird Zielregister 4x (mittlerer Knoten) INT, UINT Zielregister, in dem der konvertierte Zahlenwert abgelegt wird #1 (unterer Knoten) INT, UINT Konstanter Wert, kann nicht geändert werden Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Unterer Ausgang 0x Keine EIN = Fehler in der Konvertierungsoperation 75 BCD: Binärwert in Binärcode 76 31007525 12/2006 BLKM: Block verschieben 14 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung BLKM beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 78 Darstellung 79 77 BLKM: Block verschieben Kurzbeschreibung Funktionsbeschreibung Die Anweisung BLKM (Block verschieben) kopiert in einem Zyklus den Gesamtinhalt einer Quelltabelle in eine Zieltabelle. WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung BLKM auf deaktivierte Spulen. BLKM überschreibt alle gesperrten Spulen innerhalb einer Zieltabelle, ohne sie freizugeben. Dies kann zu Verletzungen führen, wenn eine Spule zwecks Reparatur oder Wartung gesperrt worden ist, da sich der Zustand der Spule im Ergebnis der Anweisung BLKM ändern kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 78 31007525 12/2006 BLKM: Block verschieben Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Tabelle mit 16-BitPositionen oder Registern Tabelle mit 16-BitPositionen oder Registern Quelltabelle Zieltabelle BLKM Länge: 1 - 100 Register (16 - 1600 Bits) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datenty Referenz p Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert das Verschieben des Blocks Quelltabelle (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Quelltabelle, deren Inhalt beim Verschieben des Blocks kopiert werden soll Zieltabelle (mittlerer Knoten) 0x, 4x ANY_BIT Zieltabelle, in die der Inhalt der Quelltabelle beim Verschieben des Blocks kopiert wird Tabellenlänge (unterer Knoten) Oberer Ausgang 31007525 12/2006 Tabellenlänge 0x INT, UINT Tabellengröße (Anzahl der Register oder 16-Bit-Wörter) sowohl für die Quelltabelle als auch für die Zieltabelle; diese haben dieselbe Länge. Bereich: 1 ... 100 Keine Liefert Rückmeldung des Zustands des oberen Eingangs 79 BLKM: Block verschieben 80 31007525 12/2006 BLKT: Block zur Tabelle 15 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung BLKT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 82 Darstellung 83 Parameterbeschreibung 84 81 BLKT: Block zur Tabelle Kurzbeschreibung Funktionsbeschreibung Die Anweisung BLKT (Block-zur-Tabelle) vereinigt die Funktionen von R→T und BLKM in einer einzigen Anweisung. Sie ermöglicht Ihnen, die Daten eines Quellblocks in einem Zyklus an den Zielblock in einer Tabelle zu kopieren. Der Quellblock hat eine feste Länge. Der Tabellenblock hat dieselbe Länge, die Gesamtlänge der Tabelle ist nur durch die Anzahl der Register Ihrer Systemkonfiguration beschränkt. WARNUNG BESCHÄDIGUNG VON 4x-REGISTERN Verwenden Sie externe Logik in Verbindung mit dem mittleren oder unteren Eingang, um den Wert im Zeiger auf einen sicheren Bereich zu begrenzen. BLKT ist eine sehr mächtige Anweisung, die alle 4x-Register in Ihrer SPS mit Daten beschädigen kann, die vom Quellblock kopiert wurden. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 82 31007525 12/2006 BLKT: Block zur Tabelle Darstellung Symbol Darstellung der Anweisung Steuereingang Verschiebung abgeschlossen Quellblock Zeiger halten Zeiger Zeiger zurücksetzen Länge: 1 - 100 Register (16 - 1600 Bits) Parameterbeschreibung 31007525 12/2006 Fehler BLKT Blocklänge Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die DX-Verschiebung mittlerer Eingang 0x, 1x Keine EIN = Zeiger halten unterer Eingang 0x, 1x Keine EIN = Zeiger auf Null zurücksetzen Quellblock (oberer Knoten) 4x BYTE, WORD Erstes Ausgangsregister im Block benachbarter Register, dessen Inhalt in einen Registerblock in der Zieltabelle kopiert wird Zeiger 4x (mittlerer Knoten) BYTE, WORD Zeiger zur Zieltabelle Blocklänge (unterer Knoten) INT, UINT Blocklänge (Anzahl von 4x-Registern) des Quellblocks und des Zielblocks Bereich: 1 ... 100 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Fehler/Verschieben nicht möglich 83 BLKT: Block zur Tabelle Parameterbeschreibung Mittlerer und unterer Eingang Der mittlere und untere Eingang kann zur Überwachung des Zeigers verwendet werden, so dass keine Quelldaten in Register kopiert werden können, die in der Programmlogik für andere Zwecke vorgesehen sind. Wenn der mittlere Eingang auf EIN steht, ist der Wert des Zeigerregisters blockiert, während die BLKT-Funktion weiterläuft. Dies hat zur Folge, dass die neu in den Zielblock kopierten Daten die beim vorherigen Zyklus kopierten Daten überschreiben. Wenn der untere Eingang auf EIN steht, wird der Wert des Zeigerregisters auf Null gesetzt. Dies hat zur Folge, dass die BLKT-Operation Quelldaten in den ersten Registerblock der Zieltabelle kopiert. Zeiger (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist der Zeiger der Zieltabelle. Das erste Register der Zieltabelle ist das auf den Zeiger folgende Register. Wenn beispielsweise das Zeigerregister die Adresse 400107 hat, liegt das erste Register der Zieltabelle bei 400108. Hinweis: Die Zieltabelle ist in verschiedene Registerblöcke unterteilt, von denen jeder dieselbe Länge wie der Quellblock besitzt. Die Größe der Zieltabelle ist daher ein Vielfaches der Länge des Quellblocks, ihre Gesamtgröße ist jedoch nicht speziell durch die Instruktion definiert. Wenn keine Überwachung erfolgt, ist es möglich, dass die Zieltabelle alle in der SPS-Konfiguration verfügbaren 4xRegister einnimmt. Der im Zeigerregister enthaltene Wert gibt an, ab welcher Stelle in der Zieltabelle mit dem Kopieren der Quelldaten begonnen wird. Dieser Wert gibt die Blocknummer innerhalb der Zieltabelle an. 84 31007525 12/2006 BMDI: Block verschieben mit gesperrten Interrupts 16 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung BMDI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 86 Darstellung 87 85 BMDI: Block verschieben mit gesperrten Interrupts Kurzbeschreibung Funktionsbeschreibung 86 Die Anweisung BMDI maskiert die Interrupts, initiiert eine BLKM-Operation (Block verschieben) und demaskiert danach die Interrupts. 31007525 12/2006 BMDI: Block verschieben mit gesperrten Interrupts Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Tabelle mit 16-BitPositionen oder Registern Tabelle mit 16-BitPositionen oder Registern Quelltabelle Zieltabelle BMDI Länge: 1 - 100 Register (16 - 1600 Bits) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = maskiert Interrupts, initiiert eine Blockverschiebung und demaskiert anschließend die Interrupts Quelltabelle (oberer Knoten) 0x, 1x, 3x, 4x INT, UINT, WORD Quelltabelle, deren Inhalt beim Verschieben des Blockes kopiert werden soll Zieltabelle (mittlerer Knoten) 0x, 4x INT, UINT, WORD Zieltabelle, in die der Inhalt der Quelltabelle beim Verschieben des Blockes kopiert wird Tabellenlänge (unterer Knoten) Oberer Ausgang 31007525 12/2006 Tabellenlänge INT, UINT Ganzzahlwert, spezifiziert die Tabellengröße, d.h. die Anzahl der Register in der Quell- und in der Zieltabelle (diese haben dieselbe Länge) Bereich: 1 ... 100 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs 87 BMDI: Block verschieben mit gesperrten Interrupts 88 31007525 12/2006 BROT: Bitrotation 17 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung BROT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 90 Darstellung 91 Parameterbeschreibung 92 89 BROT: Bitrotation Kurzbeschreibung Funktionsbeschreibung Die Anweisung BROT (Bitrotation) verschiebt das Bitmuster einer Quellmatrix und legt das verschobene Bitmuster dann in einer Zielmatrix ab. Das Bitmuster verschiebt sich um eine Stelle pro Zyklus nach links oder rechts. WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung BROT, ob Spulen deaktiviert sind. BROT überschreibt alle gesperrten Spulen innerhalb einer Zielmatrix, ohne sie freizugeben. Dies kann zu Verletzungen führen, wenn eine Spule zwecks Reparatur oder Wartung gesperrt worden ist, wenn BROT unerwartet den Zustand der Spule ändert. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 90 31007525 12/2006 BROT: Bitrotation Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellmatrix Richtung (links/rechts) Verschieben/Rotieren Länge: 1 - 100 Register (16 - 1600 Bits) Parameterbeschreibung 31007525 12/2006 Zielmatrix Bitabfrage (EIN/AUS) BROT Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = verschiebt das Bitmuster in der Quellmatrix um eins Mittlerer Eingang 0x, 1x Keine EIN = Verschiebung nach links AUS = Verschiebung nach rechts Unterer Eingang 0x, 1x Keine AUS = Ausgangsbit fällt aus der Zielmatrix heraus EIN = Ausgangsbit wird zum Anfang der Zielmatrix bewegt Quellmatrix (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Erste Referenz in der Quellmatrix, d.h. in der Matrix, deren Bitmuster verschoben werden soll Zielmatrix (mittlerer Knoten) 0x, 4x ANY_BIT Erste Referenz in der Zielmatrix, d.h. in der Matrix, die das verschobene Bitmuster zeigt Länge (unterer Knoten) 0x INT, UINT Matrixlänge; Bereich: 1 ... 100 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine AUS = Ausgangsbit ist 0 EIN = Ausgangsbit ist 1 91 BROT: Bitrotation Parameterbeschreibung Matrixlänge (unterer Eintrag) Der Ganzzahlwert im unteren Eintrag gibt die Matrixlänge an, d.h. die Anzahl an Merker- oder 16-Bit-Wörtern in jeder der beiden Matrizen. Quell- und Zielmatrix haben die gleiche Länge. Die Matrixlänge kann im Bereich von 1 ... 100 liegen, z.B. gibt eine Matrixlänge von 100 an, dass 1600 Binärstellen vorhanden sind. Ergebnis der Verschiebung (mittlerer Ausgang) Der mittlere Ausgang gibt die Richtung des Bits an (d.h. das Bit links oder rechts außen), das die Quellmatrix infolge der Verschiebung verläßt. 92 31007525 12/2006 CALL: Aktivieren der direkten oder verzögerten DX-Funktion 18 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CALL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 94 Darstellung 95 Darstellung 98 93 CALL: Aktivieren der DX-Funktion Kurzbeschreibung Funktionsbeschreibung Eine CALL-Anweisung aktiviert eine direkte oder verzögerte DX-Funktion von einer Bibliothek von Funktionen, die durch Funktionscodes definiert sind. Der Koprozessor kopiert Daten und Funktionscode in seinen lokalen Speicher, verarbeitet die Daten und kopiert die Ergebnisse zurück in den Speicher der Steuerung. Funktionscodes: 0-499: benutzerdefinierte direkte/verzögerte DXs z 500-9999: systemeigene direkte/verzögerte DXs z Die zwei MSBs des oberen Registers sind die Kopro# in einem System mit mehreren Koprozessoren. 94 31007525 12/2006 CALL: Aktivieren der DX-Funktion Darstellung Übersicht Der Inhalt dieses Abschnitts bezieht sich auf die direkte DX-Funktion der Anweisung CALL. Symbol Darstellung der Anweisung für einen direkten DX CALL Steuereingang beendet Funktionscode Quellcode Fehler Zyklusaufruf AUFRUF Länge: 1 - 255 31007525 12/2006 Länge 95 CALL: Aktivieren der DX-Funktion Parameterbeschreibung Darstellung der Anweisungsparameter für einen direkten DX CALL Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN initiiert den CALL. Unterer Eingang 0x, 1x Keine Der Eingang zum unteren Knoten wird in Verbindung mit einer direkten DX-Funktion verwendet, um die Anweisung unabhängig vom Status des oberen Eingangs weiter abzutasten. Eine Liste von Codes sowie deren Namen und Funktionen werden in der nachstehenden Tabelle mit der Bezeichnung "Direkte DXFunktionen" aufgeführt. Wert (oberer Knoten) 0x, 3x INT, UINT Der obere Knoten dient zum Festlegen des auszuführenden Funktionscodes. Er kann explizit als Konstante oder als ein Wert in einem 4xxxx-Ausgangsregister eingegeben werden. Die Codes sind in zwei Bereiche aufgeteilt: z 0 bis 499 für benutzerdefinierte DXs z 500 bis 9999 für System-DXs Benutzerdefinierte und systemdefinierte Codes gelten sowohl für direkten als auch verzögerten Zugriff. Funktionen für sowohl benutzerdefinierte als auch systemdefinierte Codes werden von Schneider Electric bereitgestellt. Register (mittlerer Knoten) 4x Länge (unterer Knoten) 96 INT, UINT Das 4xxxx-Register im mittleren Knoten ist das erste in einem Block von Registern, die an den Koprozessor zur Verarbeitung weitergeleitet werden. INT, UINT Die Anzahl von Registern im Block wird im unteren Knoten festgelegt. Oberer Ausgang 0x Keine EIN, wenn die Funktion erfolgreich ausgeführt wird. Unterer Ausgang 0x Keine Der Ausgang vom unteren Knoten wird aktiviert (EIN), wenn ein Fehler in der Funktion erkannt wird. 31007525 12/2006 CALL: Aktivieren der DX-Funktion Direkte DXFunktionen 31007525 12/2006 In der folgenden Tabelle werden die direkten DX-Funktionen aufgeführt. Name Code Funktion f_config 500 Koprozessor-Konfigurationsdaten holen f_2md_fl 501 Eine zwei Register lange Ganzzahl in einen 64-Bit-Gleitkommawert konvertieren f_fl_2md 502 Einen Gleitkommawert in eine zwei Register lange Ganzzahl konvertieren f_4md_fl 503 Eine vier Register lange Ganzzahl in einen Gleitkommawert konvertieren f_fl_4md 504 Einen Gleitkommawert in eine vier Register lange Ganzzahl konvertieren f_1md_fl 505 Eine ein Register lange Ganzzahl in einen Gleitkommawert konvertieren f_fl_1m 506 Einen Gleitkommawert in eine ein Register lange Ganzzahl konvertieren f_exp 507 Exponentialfunktion f_log 508 Natürlicher Logarithmus f_log10 509 Logarithmus zur Basis 10 f_pow 510 Potenzieren f_sqrt 511 Quadratwurzel f_cos 512 Cosinus f_sin 513 Sinus f_tan 514 Tangens f_atan 515 Arcus-Tangens x f_atan2 516 Arcus-Tangens y/x f_asin 517 Arcus-Sinus f_acos 518 Arcus-Cosinus f_add 519 Add f_sub 520 Subtrahieren f_mult 521 Multiplizieren f_div 522 Dividieren f_deg_rad 523 Grad in Bogenmaß konvertieren f_rad_deg 524 Grad in Bogenmaß konvertieren f_swap 525 Bytepositionen innerhalb eines Registers tauschen f_comp 526 Gleitkomma vergleichen f_dbwrite 527 Koprozessor-Registerdatenbank von SPS schreiben f_dbread 528 Koprozessor-Registerdatenbank von SPS lesen 97 CALL: Aktivieren der DX-Funktion Darstellung Übersicht Der Inhalt dieses Abschnitts bezieht sich auf die verzögerte DX-Funktion der Anweisung CALL. Symbol Darstellung der Anweisung für einen verzögerten DX CALL Steuereingang beendet Funktionscode Verzögerter DX-Modus ausgewählt aktiv Quelltabelle Fehler AUFRUF Länge: 1 - 255 98 Länge 31007525 12/2006 CALL: Aktivieren der DX-Funktion Parameterbeschreibung Darstellung der Anweisungsparameter für einen verzögerten DX CALL Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN initiiert den CALL. Mittlerer Eingang 0x, 1x Keine Die Anweisung ruft einen verzögerten DX auf, wenn der Eingang zum mittleren Knoten aktiviert ist. Eine Liste von Codes sowie deren Namen und Funktionen werden in der nachstehenden Tabelle mit der Bezeichnung "Verzögerte DX-Funktionen" aufgeführt. Wert (oberer Knoten) 0x, 3x INT, UINT Der obere Knoten dient zum Festlegen des auszuführenden Funktionscodes. Er kann explizit als Konstante oder als ein Wert in einem 4xxxx-Ausgangsregister eingegeben werden. Die Codes sind in zwei Bereiche aufgeteilt: z 0 bis 499 für benutzerdefinierte DXs z 500 bis 9999 für System-DXs Benutzerdefinierte und systemdefinierte Codes gelten sowohl für direkten als auch verzögerten Zugriff. Funktionen für sowohl benutzerdefinierte als auch systemdefinierte Codes werden von Schneider Electric bereitgestellt. INT, UINT Das 4xxxx-Register im mittleren Knoten ist das erste in einem Block von Registern, die an den Koprozessor zur Verarbeitung weitergeleitet werden. Länge (unterer Knoten) INT, UINT Die Anzahl von Registern im Block wird im unteren Knoten festgelegt. Oberer Ausgang 0x Keine EIN, wenn die Funktion erfolgreich ausgeführt wird. Mittlerer Ausgang 0x Keine Der Ausgang vom mittleren Knoten, der nur mit verzögerten DX-Funktionen verwendet wird, wird auf EIN gestellt, um anzuzeigen, dass die Funktion verarbeitet wird. Unterer Ausgang 0x Keine Der Ausgang vom unteren Knoten wird aktiviert (EIN), wenn ein Fehler in der Funktion erkannt wird. Register (mittlerer Knoten) 31007525 12/2006 4x 99 CALL: Aktivieren der DX-Funktion Verzögerte DXFunktionen 100 In der folgenden Tabelle werden die verzögerten DX-Funktionen aufgeführt. Name Code Funktion f_config 500 Koprozessor-Konfigurationsdaten holen f_d_dbwr 501 Koprozessor-Registerdatenbank von SPS schreiben f_d_dbrd 502 Koprozessor-Registerdatenbank von SPS lesen f_dgets 515 Ausgabe dgets() über Kommunikationsleitung f_dputs 516 Ausgabe dputs() über Kommunikationsleitung f_sprintf 518 Eine Zeichenkette generieren f_sscanf 519 Eine Zeichenkette interpretieren f_egets 520 IEEE-488 gets() Funktion f_eputs 521 IEEE-488 puts() Funktion f_ectl 522 IEEE-488 Fehlerüberwachungsfunktion 31007525 12/2006 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks 19 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CANT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 102 Darstellung 103 Parameterbeschreibung 105 101 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks Kurzbeschreibung Funktionsbeschreibung Dieser DX Loadable-Funktionsbaustein analysiert nach dem Initialisieren eines Auslösekontakts Ihre Ladder Logic, um die spezifische Spalte und die entsprechenden Kontakt-IDs zu extrahieren, wo der Energiefluss gestoppt wurde. Der CANT-Block enthält 20 Register. Ein MSTR-Block wird verwendet, um Daten aus den 20 Registern von CANT in einen PC zu exportieren, auf dem das "Aktionsüberwachungsprogramm" läuft. Der CANT-Block dient insbesondere zum Interpretieren von Spulen, Zeitgebern, Zählern und des SUB-Blocks. Sie können keine anderen Typen von Ladder LogicAnweisungen in einem Netzwerk verwenden. Anderenfalls erhalten Sie unrichtige Ergebnisse. Wenn Sie jedoch eine der anderen Ladder Logic-Anweisungen verwenden müssen, können Sie sie in einem separaten Netzwerk ablegen, das mit einer Spule verbunden ist, die das Netzwerk referenziert, in dem der CANT-Block enthalten ist. Hinweis: Nur 24-Bit-Logik-Quantum- und 984-Steuerungen unterstützen den DXLoadable-Funktionsbaustein. 16-Bit-Steuerungen arbeiten nicht mit diesem Funktionsbaustein zusammen. 102 31007525 12/2006 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern Darstellung Symbol Darstellung der Anweisung Aktionskontakt 3 Register Nr. Aktionskontakt 2 Datenregister Aktionskontakt 1 CANT Verzögerung 31007525 12/2006 103 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeic herReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Aktionskontakt 3 Siehe nachstehende Anmerkung. Mittlerer Eingang 0x, 1x Keine Aktionskontakt 2 Siehe nachstehende Anmerkung. Unterer Eingang 0x, 1x Keine Aktionskontakt 1 Siehe nachstehende Anmerkung. Register Nr. oberer Knoten 4x INT, UINT Jeder CANT-Block enthält einen Block von 10 Installationsregistern, die diese 10 Register automatisch mit internen Daten füllen. Datenregister 4x mittlerer Knoten INT, UINT Dieser Knoten ist der Beginn der 4xAusgangsdatenregister. (Ausführliche Informationen finden Sie S. 105.) Verzögerung unterer Knoten INT, UINT Ein Verzögerungszeitgeberwert mit Inkrementen von 10 ms. Der Wert 1 wird AUS zugeordnet. Hinweis: Wenn einer der obigen Eingänge aktiviert wird, beginnt der CANTFunktionsblock, die Routine zu auszuführen. Der untere Knoten gibt eine Verzögerungszeit in Inkrementen von 10 ms an, die vom Block verwendet werden, um den Start der Routineausführung zu verzögern. 104 31007525 12/2006 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern Parameterbeschreibung Ausgangsdatenregister-Tabelle (mittlerer Knoten) 31007525 12/2006 Ausgangsdatenregister Beschreibung (Zweck) 4x Enthält die Adresse der Nummer der Spule "CANT in use flag" (CANT-inVerwendung-Flag). Die Spule muss im letzten Netzwerk Ihrer Ladder Logic mit NO POWER CONNECTED FROM THE LEFT (KEINE STROMVERBINDUNG VON LINKS) programmiert werden. 4x + 01 CANT-Versionsnummer in Hexadezimalformat (beispielsweise 0105 für v1.05) 4x + 02 Höherwertiges Byte = Interne Operationsflags Niederwertiges Byte = MB+-Adresse einer SPS 4x + 03 Ausgangsspulennummer (eine Variable, die vom Blockstatus abhängt) 4x + 04 Die ID des Auslösekontakts oder der Spule Bit 15 → 0 - bei einer Spule; 1 - bei einem Kontakt Bit 14-00 → Spulen- oder Kontaktnummer (Basis 1) 4x + 05 Höherwertige 12 Bits = Netzwerknummer, wo die Logik versagt (Basis 1) Niederwertige 4 Bits = Spaltennummer, wo die Logik versagt (Basis 1) 4x + 06 Netzwerk Nr. 1: Höherwertiges Byte = Knotenstatus Niederwertiges Byte = Knotentyp (Opcode aus der Knotendatenbank) 4x + 07 Netzwerk Nr. 1: Kontaktnummer (Basis 1) 4x + 08 Netzwerk Nr. 2: Siehe 4x + 06 4x + 09 Netzwerk Nr. 2: Siehe 4x + 07 4x +10 Netzwerk Nr. 3: Siehe 4x + 06 4x + 11 Netzwerk Nr. 3: Siehe 4x + 07 4x + 12 Netzwerk Nr. 4: Siehe 4x + 06 4x + 13 Netzwerk Nr. 4: Siehe 4x + 07 4x + 14 Netzwerk Nr. 5: Siehe 4x + 06 4x + 15 Netzwerk Nr. 5: Siehe 4x + 07 4x + 16 Netzwerk Nr. 6: Siehe 4x + 06 4x + 17 Netzwerk Nr. 6: Siehe 4x + 07 4x + 18 Netzwerk Nr. 7: Siehe 4x + 06 4x + 19 Netzwerk Nr. 7: Siehe 4x + 07 105 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks Programmierung Jedes Netzwerk kann nur eine SPULE und einen CANT-Block enthalten, der sich in Spalte 10, Zeile 5 befinden muss. Spalte 9 des unteren Netzwerks enthält den Stromeingang für die Auslöser (Aktionskontakte) zum CANT-Block, wodurch mehr Platz für Ihre Ladder Logic-Programmierung bereitgestellt wird. Hinweis: Dies geschieht nicht am oberen Teil des Blocks, wie normalerweise bei DX-Funktionsbausteinen. In jeder der verfügbaren Zeilenpositionen 5, 6 oder 7 können Sie bis zu 3 Auslöser haben, die ein Übergangstyp von entweder [P] oder [N] sein müssen. Die CANTBlockknotennummer wird standardmäßig auf 22 (hexadezimal) gesetzt und nicht geändert. Einrichten eines Ladder-Knotens Spalte 10 ][ Zeile 6 ][ 106 4xxxx Start 10 eindeutige Installationsregister 4xxxx Start allgemeiner Ausgangsregisterblock CANT 1 Verzögerungszeitwert in 1ΦmsInkrementen (Wert von 1 ist aus) ]P[ ]P[ Zeile 7 () ]P[ 31007525 12/2006 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern MSTRInstallation zum Schreiben von Daten Der Zweck des MSTR-Blocks ist es, die 20 4x-CANT-Register an ein PC-basiertes Aktionsüberwachungsprogramm. Diese Übertragung der Register erfolgt mit Modbus Plus oder Ethernet-TCP/IP-Modbus. Beispiel: MSTR-Statistiküberwachungsregister Register Wert Beschreibung 400121 1 Funktion "Daten schreiben" 400122 ? MSTR-Fehlerregister 400123 20 Anzahl von zu sendenden Datenregistern 400124 40001 Start von Datenregistern 400125 22 Empfänger-MB+-Adresse 400126 1 MB+-Routing 400127 0 MB+-Routing 400128 0 MB+-Routing 400129 0 MB+-Routing Hinweis: Ein MSTR-Block muss für jede Empfängeradresse (PC) programmiert werden, wenn Sie Daten an mehr als einen PC übertragen möchten, auf dem die Aktionsüberwachung läuft. MSTRInstallation ]P[ 40121 MSTR-Steuerregister (z.B. 40121) 40001 CANTAusgangsregisterbasis (z.B. 40001) MSTR 20 20 Register sind auszugeben 1530 -()1530 31007525 12/2006 <-- Siehe 4xxx1-Register in CANT DX-Blockkonfiguration oben 107 CANT - Interpretieren von Spulen, Kontakten, Zeitgebern, Zählern und des SUB-Blocks 108 31007525 12/2006 CCPF – Nockenprofil mit variablen Instrumenten konfigurieren 20 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CCPF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 110 Darstellung 111 109 CCPF Kurzbeschreibung Funktionsbeschreibung Der Funktionsblock CCPF konfiguriert ein Nockenprofil mit festgelegten MasterInkrementen. Ein Nockenprofil bezeichnet die Position einer Kopplungsachse für eine bestimmte Position einer Master-Achse. Das Nockenprofil ist eine Tabelle mit Positionskoordinaten von Master und Kopplung. Positionspunkte, die in der Tabelle nicht explizit aufgeführt sind, werden durch Interpolation zwischen vorgegebenen Punkten abgeleitet. Es werden lineare und kubische Interpolationen unterstützt. NockenprofilTyp Der Nockenprofil-Typ wird dazu verwendet, elektronische Nocken in der Bewegungssteuerung auszuführen. Elektronische Nocken vereinfachen die Programmierung komplexer Bewegungen. Sie können in Transportvorrichtungen, fliegenden Abschaltvorrichtungen, Thermoform-Maschinen, Pressenbeschickungen und vielen weiteren komplexen Steuersituationen zum Einsatz kommen. Hinweis: Ein Konfigurationsblock für Nockenprofile kann erneut ausgeführt werden, um das Profil zu ändern. Ein Fehler vom Typ CMD_NOT_ALLOWED wird erzeugt, wenn ein Kopplungssatz bereits das Nockenprofil verwendet und die Kopplung aktiviert ist. Verwandte Informationen 110 In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 31007525 12/2006 CCPF Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der Anweisung. EIN startet Konfig. nicht verwendet nicht verwendet Parameterbeschreibung 31007525 12/2006 MMFSTART Register 4X Konfiguration ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt mit Fehler (siehe Fehlerregister) Tabelle Länge (18) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente und Rückgabewerte für einen generischen Unterprogrammaufruf definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. 111 CCPF Register 112 Parameter Signalspeicher- Datentyp Referenz Bedeutung Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 18 betragen. Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Konfigurationsaufruf abgeschlossen ist und im Register 4xxx15 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 18 gesetzt wurde. Die folgende Tabelle zeigt die Register. Register Datentyp Beschreibung 4xxxxx Kurz Die zu konfigurierende Nockenprofil-ID 4xxxx1 Kurz Anzahl der Punkte in der Nockentabelle 4xxxx2 Ohne Vorzeichen Interpolationstyp: Linear = 1 oder Kubisch = 2 4xxxx4 Ohne Vorzeichen Positionseinheiten des Masters (Umdr., Grad usw.) 4xxxx6 Gleitkommanotierung Erste Masterposition 4xxxx8 Gleitkommanotierung Festes Inkrement der Masterposition 4xxx10 Ohne Vorzeichen Positionseinheiten der Kopplung (Zoll, Umdr. usw.) 4xxx12 Gleitkommanotierung Zeiger auf erstes Register der Nockenkopplungstabelle 4xxx14 Registerblock Zeiger auf Adresse des Nockenkonfigurationsblocks 4xxx15 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx16 Kurz Nummer des aktuellen Betriebszustands 4xxx17 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 CCPV – Nockenprofil mit variablen Inkrementen konfigurieren 21 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CCPV beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 114 Darstellung 115 113 CCPV Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CCPV wird ein Nockenprofil mit variablen MasterInkrementen konfiguriert. Ein Nockenprofil bezeichnet die Position einer Kopplungsachse für eine bestimmte Position einer Master-Achse. Das Nockenprofil ist eine Tabelle mit Positionskoordinaten von Master und Kopplung. Positionspunkte, die in der Tabelle nicht explizit aufgeführt sind, werden durch Interpolation zwischen vorgegebenen Punkten abgeleitet. Es werden lineare und kubische Interpolationen unterstützt. Weitere Informationen zu Nockenprofiltypen finden Sie S. 110. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 114 31007525 12/2006 CCPV Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der CCPV-Anweisung. EIN startet Nocke in nicht verwendet 31007525 12/2006 Nockenkonfiguration ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler Tabelle Länge (16) nicht verwendet Parameterbeschreibung MMFSTART Register 4X (siehe Fehlerregister) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x Keine Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente und Rückgabewerte für einen generischen Unterprogrammaufruf definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. 115 CCPV Register 116 Parameter SignalspeicherReferenz Datentyp Bedeutung Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 16 betragen. Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Konfigurationsaufruf abgeschlossen ist und im Register 4xxx13 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 16 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Die zu konfigurierende Nockenprofil-ID 4xxxx1 Kurz Die Anzahl der Punkte in der Nockentabelle 4xxxx2 Ohne Vorzeichen Interpolationstyp: Linear = 1 oder Kubisch = 2 4xxxx4 Ohne Vorzeichen Positionseinheiten des Masters (Umdr., Grad usw.) 4xxxx6 Gleitkommanotierung Zeiger auf erstes Register der Master-Nockentabelle 4xxxx8 Ohne Vorzeichen 4xxx10 Gleitkommanotierung Zeiger auf erstes Register der Nockenkopplungstabelle Positionseinheiten der Kopplung (Zoll, Umdr. usw.) 4xxx12 Registerblock Zeiger auf erstes Register der NockenKonfigurationsblocks 4xxx13 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx14 Kurz Nummer des aktuellen Betriebszustands 4xxx15 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 CFGC Koordinatensatz konfigurieren 22 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CFGC beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 118 Darstellung 119 117 CFGC Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CFGC wird ein Koordinatensatz konfiguriert. Jedes Objekt einer Bewegungsachse verfügt über einen Satz von Bewegungsparametern, die konfiguriert werden müssen, bevor das Bewegungsachsenobjekt verwendet werden kann. Mit der Konfigurationsfunktion werden die Standardwerte für diese Parameter voreingestellt. Die Standardwerte werden in einer bestimmten Reihenfolge in einem Block von Halteregistern abgelegt. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 118 31007525 12/2006 CFGC Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der CFGC-Anweisung. EIN startet Konfiguration nicht verwendet 31007525 12/2006 Nockenkonfiguration ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler Tabelle Länge (13) nicht verwendet Parameterbeschreibung MMFSTART Register 4X (siehe Fehlerregister) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente und Rückgabewerte für einen generischen Unterprogrammaufruf definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 13 betragen. 119 CFGC Parameter Signalspeicher- Datentyp Bedeutung Referenz Register Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Konfigurationsaufruf abgeschlossen ist und im Register 4xxx10 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 13 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp 120 Beschreibung 4xxxxx Kurz Achsen-ID des zu konfigurierenden Konfigurationssatzes 4xxxx1 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx2 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx3 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx4 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx5 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx6 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx7 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx8 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx9 Registerblock Zeiger auf Registeradresse des Konfigurationsblocks 4xxx10 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx11 Kurz Nummer des aktuellen Betriebszustands 4xxx12 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 CFGF Kopplungssatz konfigurieren 23 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CFGF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 122 Darstellung 123 121 CFGF Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CFGF wird ein Kopplungssatz konfiguriert. Jedes Objekt einer Bewegungsachse verfügt über einen Satz von Bewegungsparametern, die konfiguriert werden müssen, bevor das Bewegungsachsenobjekt verwendet werden kann. Mit der Konfigurationsfunktion werden die Standardwerte für diese Parameter voreingestellt. Die Standardwerte werden in einer bestimmten Reihenfolge in einem Block von Halteregistern abgelegt. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 122 31007525 12/2006 CFGF Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der DFGF-Anweisung. EIN startet Konfiguration nicht verwendet 31007525 12/2006 Konfig. ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler Tabelle Länge (14) nicht verwendet Parameterbeschreibung MMFSTART Register 4X (siehe Fehlerregister) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Konfiguration definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 14 betragen. 123 CFGF Parameter Signalspeicher- Datentyp Bedeutung Referenz Register 124 Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx11 ein Fehlercode erzeugt wurde. Unterer Ausgang 4x Keine Eingeschaltet, wenn die Registerlänge nicht auf 14 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID des zu konfigurierende Kopplungssatzes 4xxxx1 Kurz Achsen-ID der Master-Achse des Kopplungssatzes 4xxxx2 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx3 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx4 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx5 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx6 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx7 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx8 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxxx9 Kurz Achsen-ID eines Achsenmitglieds, das in den Satz eingeschlossen werden soll 4xxx10 Registerblock Zeiger auf Registeradresse des Konfigurationsblocks 4xxx11 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx12 Kurz Nummer des aktuellen Betriebszustands 4xxx13 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 CFGI – Imaginäre Achse konfigurieren 24 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CFGI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 126 Darstellung 127 125 CFGI Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CFGI wird eine imaginäre Achse konfiguriert. Jedes Objekt einer Bewegungsachse verfügt über einen Satz von Bewegungsparametern, die konfiguriert werden müssen, bevor das Bewegungsachsenobjekt verwendet werden kann. Mit der Konfigurationsfunktion werden die Standardwerte für diese Parameter voreingestellt. Die Standardwerte werden in einer bestimmten Reihenfolge in einem Block von Halteregistern abgelegt. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 126 31007525 12/2006 CFGI Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der CFGI-Anweisung. EIN startet Konfiguration nicht verwendet 31007525 12/2006 Konfig. ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler Tabelle Länge (20) nicht verwendet Parameterbeschreibung MMFSTART Register 4X (siehe Fehlerregister) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Konfiguration definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 20 betragen. 127 CFGI Parameter Signalspeicher- Datentyp Bedeutung Referenz Register Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx17 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 20 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID der zu konfigurierenden imaginären Achse 4xxxx1 Ohne Vorzeichen Geschwindigkeitseinheiten für die Achse 4xxxx2 Gleitkommanotierung Zähler des Übersetzungsverhältnisses 4xxxx4 Gleitkommanotierung Nenner des Übersetzungsverhältnisses1 4xxxx6 Gleitkommanotierung Positiver Positionsgrenzwert (optional) 4xxxx8 Gleitkommanotierung Negativer Positionsgrenzwert (optional) 4xxx10 Gleitkommanotierung Geschwindigkeitsgrenzwert (optional) 4xxx12 Gleitkommanotierung Standardbeschleunigung (optional) 4xxx14 Gleitkommanotierung Standardverzögerung (optional) 4xxx16 Registerblock Zeiger auf Register des Achsen-Konfigurationsblocks 4xxx17 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx18 Kurz Nummer des aktuellen Betriebszustands 4xxx19 Kurz Eintragszahl des aktuellen Status 1Die mit diesem Wert verknüpften Einheiten sind Umdrehungen des Rückkopplungsgeräts. Normalerweise ist das Rückkopplungsgerät direkt an die Antriebswelle des Motors gekoppelt. Daher gibt dieser Parameter die Anzahl der erforderlichen Motorumdrehungen an, um den vom Nenner angegebenen physikalischen Weg zu erzeugen. 128 31007525 12/2006 CFGR – Dezentrale Achse konfigurieren 25 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CFGF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 130 Darstellung 131 129 CFGR Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CFGR wird eine dezentrale Achse konfiguriert. Jedes Objekt einer Bewegungsachse verfügt über einen Satz von Bewegungsparametern, die konfiguriert werden müssen, bevor das Bewegungsachsenobjekt verwendet werden kann. Mit der Konfigurationsfunktion werden die Standardwerte für diese Parameter voreingestellt. Die Standardwerte werden in einer bestimmten Reihenfolge in einem Block von Halteregistern abgelegt. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 130 31007525 12/2006 CFGR Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der CFGR-Anweisung. EIN startet Konfiguration nicht verwendet 31007525 12/2006 Konfig. ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler (siehe Fehlerregister) Tabelle Länge (13) nicht verwendet Parameterbeschreibung MMFSTART Register 4X Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datenty Referenz p Bedeutung Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Konfiguration definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 13 betragen. 131 CFGR Register 132 Parameter Signalspeicher- Datenty Referenz p Bedeutung Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx10 ein Fehlercode erzeugt wurde. Unterer Ausgang 4x Keine Eingeschaltet, wenn die Registerlänge nicht auf 13 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID der zu konfigurierenden entfernten Achse 4xxxx1 Kurz Geschwindigkeitseinheiten für die Achse 4xxxx2 Kurz Anzahl Positionseinheiten pro 4xxxx4 Kurz Anzahl der Motorumdrehungen 4xxxx6 Kurz Achsen-ID der SERCOS-Achse mit sekundärer Rückkopplungsbasis 4xxxx7 Kurz SERCOS-Identifikationsnummer des sekundären Rückkopplungsgeräts, Voreinstellung ist 53 4xxxx9 Kurz Zeiger auf Register des Achsen-Konfigurationsblocks 4xxx10 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx11 Kurz Nummer des aktuellen Betriebszustands 4xxx12 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 CFGS – SERCOS-Achse konfigurieren 26 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CFGS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 134 Darstellung 135 133 CFGS Kurzbeschreibung Funktionsbeschreibung Mit dem Funktionsblock CFGS wird eine Sercos-Achse konfiguriert. Jedes Objekt einer Bewegungsachse verfügt über einen Satz von Bewegungsparametern, die konfiguriert werden müssen, bevor das Bewegungsachsenobjekt verwendet werden kann. Mit der Konfigurationsfunktion werden die Standardwerte für diese Parameter voreingestellt. Die Standardwerte werden in einer bestimmten Reihenfolge in einem Block von Halteregistern abgelegt. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführlichere Informationen zur Verwendung von Bewegungs-Loadables. 134 31007525 12/2006 CFGS Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung der CFGS-Anweisung. EIN startet Konfiguration nicht verwendet 31007525 12/2006 Konfig. ausgeführt ohne Fehler Tabelle Block Adresse Konfiguration ausgeführt, mit Fehler Tabelle Länge (20) nicht verwendet Parameterbeschreibung MMFSTART Register 4X (siehe Fehlerregister) Tabellenlänge falsch/Timeout/ Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN löst die Konfigurationsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Konfiguration definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 20 betragen. 135 CFGS Parameter Signalspeicher- Datentyp Bedeutung Referenz Register Oberer Ausgang 0x Keine Eingeschaltet, wenn der Aufruf der Nockenkonfiguration ohne Fehler abgeschlossen ist. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx17 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 20 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID der zu konfigurierenden SERCOS-Achse 4xxxx1 Ohne Vorzeichen Geschwindigkeitseinheiten für die Achse 4xxxx2 Gleitkommanotierung Zähler des Übersetzungsverhältnisses 4xxxx4 Gleitkommanotierung Nenner des Übersetzungsverhältnisses1 4xxxx6 Gleitkommanotierung Positiver Positionsgrenzwert (optional) 4xxxx8 Gleitkommanotierung Negativer Positionsgrenzwert (optional) 4xxx10 Gleitkommanotierung Geschwindigkeitsgrenzwert (optional) 4xxx12 Gleitkommanotierung Standardbeschleunigung (optional) 4xxx14 Gleitkommanotierung Standardverzögerung (optional) 4xxx16 Registerblock Zeiger auf Register des Achsen-Konfigurationsblocks 4xxx17 Kurz Durch Konfigurationsblock erzeugter Fehlercode 4xxx18 Kurz Nummer des aktuellen Betriebszustands 4xxx19 Kurz Eintragszahl des aktuellen Status 1Die mit diesem Wert verknüpften Einheiten sind Umdrehungen des Rückkopplungsgeräts. Normalerweise ist das Rückkopplungsgerät direkt an die Antriebswelle des Motors gekoppelt. Daher gibt dieser Parameter die Anzahl der erforderlichen Motorumdrehungen an, um den vom Nenner angegebenen physikalischen Weg zu erzeugen. 136 31007525 12/2006 CHS: Konfiguration der Hot Standby-Funktion 27 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CHS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 138 Darstellung 139 Parameterbeschreibung 141 137 CHS: Konfiguration der Hot Standby-Funktion Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar, wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Logik des Loadable CHS bestimmt die Leistungsfähigkeit des Hot Standby einer Quantum-SPS. Im Gegensatz zur Funktion HSBY ist der Einsatz der Instruktion CHS im Ladder-Logic-Programm optional. Die Software der Loadables muss jedoch in der Quantum-SPS installiert sein, da das Hot Standby-System sonst nicht implementiert werden kann. 138 31007525 12/2006 CHS: Konfiguration der Hot Standby-Funktion Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Befehlsregister Befehlsregister 31007525 12/2006 nicht zu übertragende r Nicht zu übertragenden Bereich aktivieren CHS Länge: 4 - 8000 Register Länge Fehler Konfig ext. vorhanden 139 CHS: Konfiguration der Hot Standby-Funktion Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Hot Standby ausführen (ohne Bedingung) Mittlerer Eingang 0x, 1x Keine EIN = Befehlsregister freigeben Unterer Eingang 0x, 1x Keine EIN = Nicht zu übertragenden Bereich aktivieren AUS = nicht zu übertragender Bereich wird nicht verwendet, und das Hot Standby-Zustandsregister wird nicht vorhanden sein Befehlsregister (oberer Knoten) 4x INT, UINT, Hot Standby-Befehlsregister WORD (Ausführliche Informationen finden Sie S. 142.) nicht zu übertragender Bereich (mittlerer Knoten) 4x INT, UINT, Erstes Register im nicht zu übertragenden WORD Bereich des Signalspeichers (Ausführliche Informationen finden Sie S. 143.) Länge (unterer Knoten) 140 Keine INT, UINT Anzahl der Register des nicht zu übertragenden Bereichs von Hot Standby im Signalspeicher, Bereich von 4 ... 8000 Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang 0x Keine EIN = System erkennt Schnittstellenfehler Unterer Ausgang 0x Keine EIN = Systemkonfiguration eingestellt durch Konfigurationserweiterung 31007525 12/2006 CHS: Konfiguration der Hot Standby-Funktion Parameterbeschreibung Systemkonfiguration des Hot Standby über die CHS-Funktion Programmieren Sie die Anweisung CHS in Netzwerk 1, Segment 1 Ihres Ladder Logic-Programms, und schließen Sie den oberen Eingang ohne Bedingung direkt über eine horizontale Verbindung an die Stromschiene an (da die HSBY-Anweisung in einem 984 Hot Standby-System programmiert wird). Diese Methode ist insbesondere dann sinnvoll, wenn Sie den Code des Hot Standby von einer 984-Anwendung auf eine Quantum-Anwendung umstellen. Die Struktur der CHS-Funktion entspricht fast vollständig der HSBY-Funktion. Sie entnehmen einfach die HSBY-Anweisung aus der 984LL und ersetzen sie durch eine CHSAnweisung aus der Quantum-Logik. Wenn Sie die CHS-Anweisung in Ladder Logic benutzen, besteht der einzige Unterschied zwischen dieser Anweisung und der HSBY-Anweisung in der Verwendung des unteren Ausgangs. Dieser Ausgang liest ab, ob Methode 2 angewandt worden ist oder nicht. Wenn die Bildschirme der Hot Standby-Konfigurationserweiterung zur Definition der Hot Standby-Konfiguration herangezogen worden sind, haben die Bildschirm-Konfigurationsparameter Vorrang vor allen anderen Parametern, die von der CHS-Anweisung bei Systemstart definiert worden sind. Eine detaillierte Erläuterung von Problemen, die mit den Möglichkeiten der Konfigurationserweiterung eines Quantum Hot Standby-Systems zusammenhängen, finden Sie im Modicon Quantum Hot Standby System Planning and Installation Guide. Parameterbeschreibung Durchführung Hot Standby (oberer Eingang) WARNUNG ANORMALES VERHALTEN IM HOT STANDBY-SYSTEM Aktivieren oder deaktivieren Sie den nicht zu übertragenden Bereich nicht während des Betriebs des Hot Standby-Systems. Obwohl dies zulässig ist, raten wir von dieser Verfahrensweise ausdrücklich ab, weil es zu fehlerhaftem Verhalten im Hot Standby-System führen kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! Wenn die CHS-Anweisung zur Steuerung der Hot Standby-Konfigurationsparameter in Ladder Logic eingegeben wird, muss ihr oberer Eingang direkt über eine horizontale Verbindung an die Stromschiene angeschlossen werden. Zwischen der Stromschiene und dem Eingang des oberen Knotens darf sich keine Steuerlogik (beispielsweise Kontakte) befinden. 31007525 12/2006 141 CHS: Konfiguration der Hot Standby-Funktion Parameterbeschreibung Befehlsregister (oberer Knoten) Das im oberen Knoten eingegebene 4x-Register ist das Befehlsregister des Hot Standby; acht Bits dieses Registers werden verwendet, um die Hot StandbySystemparameter zu konfigurieren und zu steuern: Befehlswortverwendung: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit Funktion 1-5 Nicht verwendet 6 0 = Modbus Port 3 Adresse bei Umschaltung austauschen 1 = kein Austauschen 7 0 = Modbus Port 2 Adresse bei Umschaltung austauschen 1 = kein Austauschen 8 0 = Modbus Port 1 Adresse bei Umschaltung austauschen 1 = kein Austauschen 16 9 - 11 Nicht verwendet 12 0 = Ausführungs-Upgrade erst nach Stopp der Anwendung zulassen 1 = Upgrade ohne Stoppen der Anwendung möglich 13 0 = Forcen von Standby offline bei Logik-Unterschied 1 = nicht Forcen 14 0 = Regler B ist im OFFLINE-Modus 1 = Steuerung B ist im RUN-Modus 15 0 = Regler A ist im OFFLINE-Modus 1 = Steuerung A ist im RUN-Modus 16 0 = Überschreiben mit Schlüsselschalter deaktivieren 1 = Überschreiben aktivieren Hinweis: Das Hot Standby-Befehlsregister muss sich außerhalb des nicht zu übertragenden Bereichs des Signalspeichers befinden. 142 31007525 12/2006 CHS: Konfiguration der Hot Standby-Funktion Parameterbeschreibung nicht zu übertragender Bereich (mittlerer Knoten) Das im mittleren Knoten eingegebene 4x-Register ist das erste Register des nicht zu übertragenden Bereichs des Signalspeichers. Der nicht zu übertragende Bereich muss mindestens vier Register enthalten, von denen die ersten drei für einen vordefinierten Zweck verwendet werden: Register Inhalt Angezeigtes und erstes impliziertes Register Umgekehrte Transfer-Register zur Übermittlung von Informationen vom Standby zur primären SPS Zweites impliziertes Reg. CHS Status-Register Der Inhalt der restlichen Register ist anwendungsspezifisch, die Länge ist im Parameter "Länge" definiert (unterer Knoten). Die 4x-Register im nicht zu übertragenden Bereich werden während der LogikZyklen niemals von der primären zur Standby-SPS übertragen. Ein Grund für die Programmierung zusätzlicher Register im nicht zu übertragenden Bereich besteht in der Reduzierung des Einflusses der Signalspeicherübertragung auf die gesamte Zykluszeit des Systems. CHS StatusRegister Verwendung des Statusworts: 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 1 = der obere Ausgang ist auf EIN gestellt (zeigt an, dass das Hot StandbySystem aktiv ist) 2 1 = der mittlere Ausgang ist auf EIN gestellt (Anzeige einer Fehlerbedingung) 3 - 10 Nicht verwendet 11 0 = SPS-Schalter ist auf A gestellt 1 = SPS-Schalter ist auf B gestellt 12 0 = SPS-Logik ist angepasst 1 = Logik-Unterschied vorhanden 13 - 14 Der 2-Bit-Wert ist: z 0 1 , wenn sich die andere SPS im OFFLINE-Modus befindet z 1 0 , wenn die andere SPS im Primärmodus läuft z 1 1 , wenn die andere SPS im Standby-Modus läuft 15 - 16 Der 2-Bit-Wert ist: z 0 1 , wenn sich diese SPS im OFFLINE-Modus befindet z 1 0 , wenn diese SPS im Primärmodus läuft z 1 1 , wenn diese SPS im Standby-Modus läuft 143 CHS: Konfiguration der Hot Standby-Funktion 144 31007525 12/2006 CKSM: Prüfsumme 28 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CKSM beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 146 Darstellung 147 Parameterbeschreibung 149 145 CKSM: Prüfsumme Kurzbeschreibung Funktionsbeschreibung 146 Verschiedene SPS-Systeme, die Modbus Plus nicht unterstützen, enthalten standardmäßig eine Instruktion Prüfsumme (CKSM). CKSM hat denselben Operationscode wie die Instruktion MSTR und ist in der Betriebssoftware für Modbus Plus unterstützende SPS-Systeme nicht enthalten. 31007525 12/2006 CKSM: Prüfsumme Darstellung Symbol Darstellung der Anweisung Steuereingang Prüfsumme gebildet Quelle CKSM 1 auswählen CKSM 2 auswählen Länge: 1 - 255 Register 31007525 12/2006 Ergebnis/ Zählung Zählwert der implizierten Register > Länge oder Zählwert der implizierten Register = 0 CKSM Länge 147 CKSM: Prüfsumme Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Oberer Eingang 0x, 1x Keine Initiiert Prüfsummenberechnung der Quelltabelle (Ausführliche Anweisung finden Sie S. 149.) Mittlerer Eingang 0x,1x Keine CKSM 1 auswählen (Ausführliche Anweisung finden Sie S. 149.) Unterer Eingang 0x, 1x Keine CKSM 2 auswählen (Ausführliche Anweisung finden Sie S. 149.) Quelle 4x (oberer Knoten) INT, UINT Erstes Ausgangsregister in der Quelltabelle. Die Berechnung der Prüfsumme erfolgt in den Registern dieser Tabelle. Ergebnis/ Zählung (mittlerer Knoten) INT, UINT Erstes von zwei benachbarten Registern (Ausführliche Informationen finden Sie S. 149.) 4x Länge (unterer Knoten) 148 Datentyp Bedeutung INT Anzahl der 4x-Register in der Quelltabelle; Bereich: 1 ... 255 Oberer Ausgang 0x Keine EIN = Prüfsummenberechnung erfolgreich Mittlerer Ausgang 0x Keine EIN = Zählwert der implizierten Register > Länge oder Zählwert der implizierten Register = 0 31007525 12/2006 CKSM: Prüfsumme Parameterbeschreibung Eingänge Ergebnis/ Zählung (mittlerer Eintrag) 31007525 12/2006 Die Statusangaben der Eingänge geben den Typ der auszuführenden Prüfsummenberechnung an: Berechnung von CKSM Oberer Eingang Mittlerer Eingang Unterer Eingang Gerade Prüfung EIN AUS EIN Binäradditionsprüfung EIN EIN EIN CRC-16 EIN EIN AUS LRC EIN AUS AUS Das im mittleren Eintrag eingegebene 4x-Register ist das erste von zwei benachbarten 4x-Registern. Register Inhalt Angezeigt Enthält das Ergebnis der Prüfsummenberechnung Erstes impliziertes Register Legt einen Wert ab, welcher die Anzahl der aus der Quelltabelle als Eingang für die Berechnung ausgewählten Register festlegt. Der in dem implizierten Register abgelegte Wert muss ≤ Länge der Quelltabelle sein. 149 CKSM: Prüfsumme 150 31007525 12/2006 CMPR: Registervergleich 29 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CMPR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 152 Darstellung 153 Parameterbeschreibung 154 151 CMPR: Registervergleich Kurzbeschreibung Funktionsbeschreibung 152 Die Instruktion CMPR vergleicht das Bitmuster der Matrix A mit dem der Matrix B zur Auffinden von Vergleichsfehlern. In einem einzigen Zyklus werden die beiden Matrizen Bit für Bit verglichen, bis ein Vergleichsfehler gefunden wird oder das Ende der Matrizen erreicht ist (ohne Vergleichsfehler). 31007525 12/2006 CMPR: Registervergleich Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Erstes Register oder diskrete Adresse der Matrix Zeiger zurücksetzen Matrix A Zeigerregiste r (Matrix b) CMPR Länge: 1 bis 100 Register (16 bis 1600 Bits) Parameterbeschreibung Vergleichsfehlerstatus Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert Vergleichsoperation Mittlerer Eingang 0x, 1x Keine AUS = Neustart beim letzten Vergleichsfehler EIN = Neustart am Anfang Matrix A (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Erste Referenz in Matrix A, einer der beiden zu vergleichenden Matrizen Zeigerregister (mittlerer Knoten) 4x WORD Zeiger auf Matrix B: Das erste Register in Matrix B ist das nächste auf das Zeigerregister folgende zusammenhängende 4x-Register. Länge (unterer Knoten) 31007525 12/2006 Vergleichsfehler INT, UINT Matrixlänge; Bereich: 1 ... 100 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Vergleichsfehler erkannt Unterer Ausgang 0x Keine EIN = unterschiedliches Bit in Matrix A ist 1 AUS = unterschiedliches Bit in Matrix A ist 0 153 CMPR: Registervergleich Parameterbeschreibung Zeigerregister (mittlerer Eintrag) Das im mittleren Eintrag eingegebene Zeigerregister muss ein 4x-Ausgangsregister sein. Es ist der Zeiger von Matrix B, die andere Matrix ist zu vergleichen. Das erste Register in Matrix B ist das nächste auf das Zeigerregister folgende 4x-Register. Der im Zeigerregister abgelegte Wert wird mit jeder verglichenen Bitposition in beiden Matrizen inkrementiert. Wenn Bitposition 1 in Matrix A und B verglichen wird, enthält das Zeigerregister den Wert 1; wenn Bitposition 2 in den Matrizen verglichen wird, wird das Zeigerregister auf 2 inkrementiert; usw. Wenn die Ausgänge einen Vergleichsfehler anzeigen, können Sie die Summe des Zeigerregisters überprüfen und so die Bitposition in den Matrizen feststellen, wo der Vergleichsfehler aufgetreten ist. Matrixlänge (unterer Eintrag) 154 Der im unteren Eintrag eingegebene Ganzzahlwert gibt die Länge der beiden Matrizen an, d.h. die Anzahl der Merkerwörter oder 16-Bit-Wörter jeder Matrix. (Matrix A und B haben dieselbe Länge.) Die Matrixlänge kann im Bereich von 1 ... 100 liegen, d.h. eine Länge von 2 bedeutet, dass Matrix A und Matrix B 32 Bits enthalten. 31007525 12/2006 Spulen 30 Auf einen Blick Einleitung In diesem Kapitel wird das Anweisungselement Spulen beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 156 Allgemeine Verwendungsrichtlinien 157 155 Spulen Kurzbeschreibung Funktionsbeschreibung Arten von Spulen Eine Spule ist ein Bitausgang, der vom Signalfluss des Logikprogramms auf EIN oder AUS gestellt wird. Eine Spule ist mit einer 0xxxx-Referenz im Signalspeicher der SPS verbunden. Da Ausgangswerte im Signalspeicher durch die SPS aktualisiert werden, kann eine Spule intern im Logikprogramm verwendet werden oder extern über die E/A-Bestückung an einer Digitalausgangseinheit im Steuersystem. Wenn eine Spule auf EIN steht, aktiviert sie einen Bitausgang oder ändert den Status eines internen Relaiskontaktes im Signalspeicher. Zwei Arten von Spulen werden unterschieden: Normale Spule -( )Eine normale oder nicht gepufferte Spule verliert ihren Zustand, wenn die Energie zur SPS verloren geht. Wenn die Energieversorgung einer SPS abgeschaltet wird, wird eine normale Spule abgeschaltet. Wenn die Energie wiederhergestellt wird, befindet sich die Spule beim ersten Zyklus immer im Zustand AUS. z Speichergepufferte oder gesperrte Spule -(M)- oder -(L)Eine speichergepufferte oder gesperrte Spule verliert ihren Zustand NICHT, wenn die Energie zur SPS verloren geht. Befindet sich eine speichergepufferte (oder gesperrte) Spule im Zustand EIN, wenn eine SPS die Energie verliert, kehrt die Spule wieder in einen EIN-Zustand zurück, wenn die Energie wiederhergestellt ist. Die Spule behält den Zustand EIN für den ersten Zyklus, danach übernimmt das Logikprogramm die Steuerung. z Spulen werden als 0xxxx referenziert. Sie können gesperrt oder auf EIN oder AUS geschaltet werden. Durch Sperren einer Spule wird unterbunden, dass die programmierte Logik den Zustand der Spule ändert. Hinweis: Der Zustand gesperrter Spulen, die als Ziele in DX-Funktionsblöcken eingesetzt werden, kann durch die Funktion übersteuert werden. 156 31007525 12/2006 Spulen Allgemeine Verwendungsrichtlinien Übersicht Sobald eine 0x-Referenznummer einer Spule zugewiesen ist, kann sie keinen anderen Abschlussoperationen im Logikprogramm zugewiesen werden. Eine 0x-Referenznummer kann auf eine beliebige Anzahl von Relaiskontakten verweisen, die dann über den Status der Spule mit derselben Referenznummer gesteuert werden können. Die meisten Steuerungssoftwarepakete haben eine Funktion namens Ablaufverfolgung, mit der Sie die Positionen der Kontakte, die durch eine Spule gesteuert werden, in Ladder Logic bestimmen können. Weitere Informationen finden Sie in den entsprechenden Softwarehandbüchern. Aktivieren/ deaktivieren von Eigenschaften für Bitwerte Über die Steuerungssoftware können Sie eine logische Spule oder einen Biteingang in Ihrem Logikprogramm deaktivieren. Ein Deaktivierungszustand bewirkt Folgendes: z Eingangsfeldgeräte haben keine Kontrolle über ihre zugeordnete 1x-Logik z Die Logik hat keine Kontrolle über den 9x-Wert Der Speicherschutz in der SPS muss auf AUS gestellt sein, bevor Sie eine Spule oder einen Biteingang deaktivieren oder aktivieren. Hinweis: Beachten Sie eine wichtige Ausnahme, wenn Sie Spulen deaktivieren: Die Datenübertragungsfunktionen ermöglichen Spulen in ihren Zieleinträgen, den aktuellen EIN/AUS-Status ALLER Spulen zu erkennen, unabhängig davon, ob diese Spulen deaktiviert sind oder nicht, und diese Erkennung veranlasst die Logik, entsprechend zu reagieren - was zu unvorhergesehenen und unerwünschten Auswirkungen führen kann. Wenn Sie davon ausgehen, dass eine deaktivierte Spule in der DX-Funktion deaktiviert bleibt, können unvorhergesehene und unerwünschte Auswirkungen auf Ihre Anwendung auftreten. Forcierung von Bits auf EIN und AUS Die meisten Steuerungssoftwarepakete stellen die Funktionen FORCE ON (Forcen ein) und FORCE OFF (Forcen aus) bereit. Wenn eine Spule oder ein Biteingang deaktiviert ist, können Sie den Status mit FORCE ON von EIN auf AUS ändern, und mit FORCE OFF von EIN auf AUS. Wenn eine Spule oder ein Biteingang aktiviert ist, kann der Status nicht durch Forcen auf EIN oder AUS geändert werden. 31007525 12/2006 157 Spulen 158 31007525 12/2006 COMM - ASCIIKommunikationsfunktion 31 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung COMM beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 160 Darstellung 161 159 COMM - ASCII-Kommunikationsfunktion Kurzbeschreibung Funktionsbeschreibung Der Baustein für die ASCII-Kommunikationsfunktion (COMM) dient zum Übertragen/Empfangen von ASCII-Daten (in Form eines einzelnen ASCII-Zeichens, 1 bis 4 Ganzzahlen oder 1 bis 4 Hexadezimalzahlen) an den/vom einfachen ASCIIPort. Mit der COMM-Anweisung können Sie Standardmeldungen an/von ASCIIZeichen-E/A-Geräte(n) über einen der integrierten Kommunikationsports an einer Micro-Steuerung oder, wenn die Steuerung ein übergeordnetes Geräte ist, über einen Kommunikationsport an einer der untergeordneten Steuerungen an der Erweiterungsverbindung lesen und schreiben. Hinweis: Verfügbar nur bei den Micro-Steuerungen 311, 411, 512 und 612. 160 31007525 12/2006 COMM - ASCII-Kommunikationsfunktion Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Steuerblock Fehler Quelle für Schreibvorgänge/ Ziel für Lesevorgänge Datenblock abbrechen erfolgreich COMM (Größe des Datenbereichs 3 - 255) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN startet die COMM-Operation Unterer Eingang 0x, 1x Keine EIN annulliert die Operation und setzt den mittleren Ausgang. Steuerblock 4x (oberer Knoten) INT, UINT Das im oberen Knoten eingegebene 4xxxxRegister ist das erste von 10 benachbarten Ausgangsregistern im Steuerblock. (Informationen zum Gebrauch des Registers finden Sie in der nachstehenden Tabelle der Registerverwendungen. 4x INT, UINT Der mittlere Knoten enthält die ersten 4xxxx-Register des Datenblocks - eine Tabelle, in der variable Nachrichtendaten untergebracht werden. Bei einem Lesevorgang ist der Datenblock eine Zieltabelle. Bei einem Schreibvorgang ist der Datenblock eine Quelltabelle. Datenblock (mittlerer Knoten) 31007525 12/2006 Länge (3 ... 255) 161 COMM - ASCII-Kommunikationsfunktion Parameter SignalspeicherReferenz Länge (unterer Knoten) Tabelle der Registerverwendungen 162 Datentyp Bedeutung INT, UINT Der im unteren Knoten eingegebene Ganzzahlwert gibt die Länge an, die der Anzahl von Registern im Datenfeld entspricht. Die Länge kann einem Wert von 3 bis 255 entsprechen. (Oberer Ausgang) 0x Keine Gibt Rückmeldung des Zustands des oberen Eingangs. Mittlerer Ausgang 0x Keine EIN = Fehler erkannt (für einen Zyklus). Unterer Ausgang 0x Keine EIN = Operation abgeschlossen (für einen Zyklus). In der folgenden Tabelle werden die Registerverwendungen für den oberen Knoten aufgeführt. Register Verwendung 4xxxx + 0 Operationscode 4xxxx + 1 Fehlerstatus 4xxxx + 2 Anzahl der bereitgestellten/erwarteten Datenfelder 4xxxx + 3 Anzahl der verarbeiteten Datenfelder 4xxxx + 4 Reserviert 4xxxx + 5 Portnummer (1 für lokalen Port, 2 für untergeordneten Port Nr. 1, 3 für untergeordneten Port Nr. 2, usw. 4xxxx + 6 Reserviert 4xxxx + 7 Reserviert 4xxxx + 8 Reserviert 4xxxx + 9 Zeitgeber für aktiven Status 31007525 12/2006 COMP: Komplementbildung einer Matrix 32 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung COMP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 164 Darstellung 165 Parameterbeschreibung 167 163 COMP: Komplementbildung einer Matrix Kurzbeschreibung Funktionsbeschreibung Die Anweisung COMP komplementiert das Bitmuster, d.h. ändert alle Nullen einer Quellmatrix in Einsen und alle Einsen in Nullen, und kopiert dann das komplementierte Bitmuster in eine Zielmatrix. Die gesamte COMP-Operation wird in einem Zyklus durchgeführt. WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung COMP auf deaktivierte Spulen. COMP überschreibt alle gesperrten Spulen in der Zielmatrix, ohne sie freizugeben. Dies kann zu Verletzungen führen, wenn eine Spule zwecks Reparatur oder Wartung gesperrt worden ist, da der Zustand der Spule durch die Operation COMP verändert werden kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 164 31007525 12/2006 COMP: Komplementbildung einer Matrix Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Erstes Register oder diskrete Adresse der Matrix Quelle Ziel Erstes Register oder diskrete Adresse der Matrix Länge: 1 bis 100 Register (16 bis 1600 Bits) Parameterbeschreibung 31007525 12/2006 COMP Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Quelle (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Erste Referenz in der Quellmatrix, welche das ursprüngliche Bitmuster vor der Operation der Komplementbildung enthält Ziel (mittlerer Knoten) 0x, 4x ANY_BIT Erste Referenz in der Zielmatrix, wo das komplementierte Bitmuster abgelegt werden soll EIN = initiiert die Operation der Komplementbildung Länge (unterer Knoten) INT, UINT Matrixlänge; Bereich: 1 ... 100. Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an 165 COMP: Komplementbildung einer Matrix COMP-Beispiel Wenn Kontakt 10001 aktiv wird, wird das Bitmuster in der Quellmatrix (Register 40600 und 40601) komplementiert, und dann wird das komplementierte Bitmuster in der Zielmatrix (Register 40602 und 40603) abgelegt. Das ursprüngliche Bitmuster verbleibt in der Quellmatrix. Quellmatrix 40600 = 1111111100000000 40601 = 1111111100000000 40600 10001 40602 Komplementierte Zielmatrix 40602 = 000000011111111 40603 = 0000000011111111 COMP 00002 166 31007525 12/2006 COMP: Komplementbildung einer Matrix Parameterbeschreibung Matrixlänge (unterer Eintrag) 31007525 12/2006 Der Ganzzahlwert im unteren Eintrag gibt die Matrixlänge an, d.h. die Anzahl Merker- oder 16-Bit-Wörter der Matrizen. Die maximale Länge kann im Bereich von 1 ... 100 liegen. Eine Länge von 2 gibt an, dass 32 Bits in jeder Matrix komplementiert werden. 167 COMP: Komplementbildung einer Matrix 168 31007525 12/2006 Kontakte 33 Auf einen Blick Einleitung In diesem Kapitel wird das Anweisungselement Kontakte beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 170 Darstellung 171 169 Kontakte Kurzbeschreibung Funktionsbeschreibung 170 Kontakte dienen zur Weiterleitung oder zum Sperren des Signalflusses in einem Ladder Logic-Programm. 31007525 12/2006 Kontakte Darstellung Funktionsbeschreibung Sie sind digital, d.h. jeder nimmt einen E/A-Punkt in Ladder Logic ein. Ein Kontakt kann mit einer 0x- oder 1x-Referenz im Signalspeicher der SPS verbunden werden, in diesem Fall nimmt jeder Kontakt einen Knoten eines Ladder-Netzwerks ein. Vier Kontakttypen können unterschieden werden: z Schließerkontakte z Öffnerkontakte z Kontakte zur Erkennung von positiven Übergängen z Kontakte zur Erkennung von negativen Übergängen Referenzieren von Schließer-/ Öffnerkontakten Schließer- -| |- und Öffnerkontakte -|\|- können durch Eingänge (1xxxx) oder Spulen (0xxxx) referenziert werden. Feldgerätzustand im Vergleich zum programmierten Kontaktfluss Feldgerät Programmierter Kontakt Feldkontakt geschlossen -| |- wird aktiv -| |-|\|- -|\|- Feldkontakt offen wird aktiv -| |- wird aktiv wird aktiv Referenzieren von Übergangskontakten Kontakte zur Erkennung von positiven Übergängen -| ↑ |- und negativen -| ↓ |Übergängen können durch Eingänge (1xxxx) oder Spulen (0xxxx) referenziert werden. Zustandstabelle Transition Signalfluss bei Transition -|↑|- Aus auf Ein Ein Aktivierung für 1 Zyklus -|↓|- Ein auf Aus Aus Flussimpuls Hinweis: Ein Übergangskontakt leitet kontinuierlich Strom weiter, wenn die betreffende Spule durch eine SKP-Anweisung oder den Segmentverwalter übersprungen wird. Ein Übergangskontakt kann nicht kontinuierlich Strom weiterleiten, wenn er für einen Eingang referenziert wird, der von der E/A-Station aus mehr als einmal pro Zyklus über den Segmentverwalter lesen soll. 31007525 12/2006 171 Kontakte 172 31007525 12/2006 CONV - Daten konvertieren 34 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CONV beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 174 Darstellung 175 173 CONV - Daten konvertieren Kurzbeschreibung Funktionsbeschreibung Der Konvertierungsblock ist eine 484-Ersetzungsanweisung von vier Ersetzungsanweisungen. Der CONV-Block dient zum Konvertieren von: z z Diskreten Daten in ein Ausgangsregister Halteregisterdaten in digitale Daten Die Konvertierung kann wie folgt erfolgen: z z z Binärwert in Binärwert BCD-Wert in Binärwert (digitale Daten in Register) Binärwert in BCD-Wert (Register in digitale Daten) Dieser Block verwendet 12 Bits in 12 Ausgangsbits, wenn jedoch die Konvertierung von Binärwert in Binärwert erfolgt, werden die Bits 11 und 12 abgeschaltet. Bei der Konvertierung von Bits in ein Ausgangsregister wird die Quelle als Konstante angegeben, die 1xxxx impliziert, und das Ziel als Konstante, die 4xxxx impliziert (Beispiel: 00049 impliziert 40049). Bei der Konvertierung eines Registers in Ausgangsbits wird die Quelle als Ausgangsregister (4xxxx) angegeben, und das Ziel als Konstante, die 0xxxx impliziert. Beispiel: 00032 impliziert 12 Spulen mit 00032. Hinweis: Beim Konvertieren von Registerdaten in Bits ist Vorsicht angebracht, da die Spulen versehentlich aktiviert werden können. Hinweis: Verfügbar nur bei den Steuerungen 984-351 und 984-455. 174 31007525 12/2006 CONV - Daten konvertieren Darstellung Symbol Darstellung der Anweisung Steuereingang beendet Quelle Konvertierung CONV EIN = binär AUS = BCD Parameterbeschreibung 31007525 12/2006 Register Nr. Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert den angegebenen Vorgang Unterer Eingang 0x, 1x Keine EIN = Binär AUS = BCD Quelle (oberer Knoten) 4x INT, UINT Konvertiert den Inhalt des Registers Register (unterer Knoten) 3x INT, UINT Oberer Ausgang 0x Keine Operation erfolgreich 175 CONV - Daten konvertieren 176 31007525 12/2006 CTIF – Zähler-, Zeitgeber- und Interruptfunktion 35 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung CTIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 178 Darstellung 179 Parameterbeschreibung 180 177 CTIF - Zähler-, Zeitgeber- und Interruptfunktion Kurzbeschreibung Funktionsbeschreibung Der CTIF-Baustein dient als übergeordnete SPS für den Zugriff auf untergeordnete Funktionen über einen E/A-Erweiterungsbaustein. Der übergeordnete Funktionsbaustein wird in einem Zyklus ausgeführt. Wenn mehrere Bausteine vorhanden sind, wird der zuletzt ausgeführte verwendet. Die Anweisung CTIF wird in Verbindung mit den Micro-Steuerungen verwendet, um die Eingänge für fest verdrahtete Interrupt- und/oder fest verdrahtete Zähler-/ Zeitgeberoperationen einzurichten. Diese Anweisung startet und endet immer im gleichen Zyklus. Die Anweisung CTIF ist ein Konfigurations-/Operationstool für Modicon Micro-Steuerungen, die Hardware-Interrupts enthalten (alle Modelle außer 110CPU311-Modelle). Der Zähler/Zeitgeber und die Interrupts befinden sich in der Hardware der Steuerung, und die Anweisung CTIF wird verwendet, um diese Hardware zu installieren. Hinweis: Die Zähler-, Zeitgeber-, Interruptfunktion (CTIF) ist nur bei den MicroSteuerungen 311, 411, 512 und 612 verfügbar. 178 31007525 12/2006 CTIF - Zähler-, Zeitgeber- und Interruptfunktion Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register Nr. Fehler CTIF Bereich: 1 ... 5 Parameterbeschreibung Stationsnummer Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert den angegebenen Vorgang Register Nr. (oberer Knoten) 4x INT Das im oberen Knoten eingegebene 4xxxx-Register ist das erste von vier benachbarten Ausgangsregistern im CTIF-Parameterblock. (Ausführliche Informationen zu den vier Registern finden Sie S. 180.) INT Der in den unteren Knoten eingegebene Ganzzahlwert zeigt die Stationsnummer an, wo die Operation ausgeführt wird. Die Stationsnummer liegt im Bereich von 1 bis 5. 0x Keine Gibt den Status des oberen Eingangs an Unterer Ausgang 0x Keine Fehler Stationsnummer (unterer Knoten) Oberer Ausgang 31007525 12/2006 179 CTIF - Zähler-, Zeitgeber- und Interruptfunktion Parameterbeschreibung Übersicht Der obere Knoten enthält vier zusammenhängende Register, 4x bis 4x+3. In diesem Abschnitt wird beschrieben, wie diese Register verwendet und im oberen Knoten konfiguriert werden. Verwendung des ersten Registers (4x) Das erste Register, 4x, enthält Informationen zum Typ von generierten Fehlern oder zum Typ der ausgeführten Operation. Beim Konfigurieren des Registers müssen Sie die Bitverwendung und die Ergebnisse von EIN/AUS-Kombinationen berücksichtigen. Es folgt eine Grafik zur Demonstration der Bitverwendung für das erste Register (4x), 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 und in der folgenden Tabelle wird die Bitverwendung für das erste Register (4x) beschrieben. 180 Bit Verwendung 1-4 Reserviert 5-8 Fehler-/Operationstypmeldungen 9 - 14 Reserviert 15 Set Mode (Modus festlegen) 16 Get Mode (Modus laden) 31007525 12/2006 CTIF - Zähler-, Zeitgeber- und Interruptfunktion In der folgenden Tabelle werden die EIN/AUS-Kombinationen für die Bits 5 bis 8 und die durch das erste Register (4x) generierte Fehler-/Operationstypmeldung beschrieben. Bit 5 6 7 8 Beschreibung 0 0 0 0 Kein Fehler gefunden 0 0 0 1 Nicht unterstützter Operationstyp angegeben 0 0 1 0 Interrupt 2 wird in diesem Modell nicht unterstützt 0 0 1 1 Interrupt 3 wird nicht unterstützt, während der Zähler aktiviert ist 0 1 0 0 Zählerwert 0 angegeben 0 1 0 1 Zählerwert zu groß (Zählerwert > 16.383) 0 1 1 0 Operationstyp wird nur auf lokaler Station unterstützt 0 1 1 1 Angegebene Station nicht in E/A-Bestückung 1 0 0 0 Kein Unterprogramm für aktivierten Interrupt 1 0 0 1 Dezentrale Station ist nicht funktionsfähig 1 0 1 0 Funktion wird nicht dezentral unterstützt In der folgenden Tabelle werden die Bitverwendung und die EIN/AUSKombinationen für die Bits 15 und 16 des ersten Registers (4x) beschrieben. Bit Verwendung des zweiten Registers (4x+1) 15 16 Beschreibung 0 0 Set Mode (Modus festlegen) 0 1 Get Mode (Modus laden) Das zweite Register, 4x+1, ermöglicht Ihnen, das Einrichten der Operation Set Mode (Modus festlegen) zu steuern. Beim Konfigurieren des Registers müssen Sie die Bitverwendung und die Ergebnisse der EIN/AUS-Kombinationen berücksichtigen. Es folgt eine Grafik zur Demonstration der Bitverwendung für das zweite Register (4x+1). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 In den folgenden Tabellen werden die Bitverwendung und die EIN/AUSKombinationen für die Bits 1 bis 16 des zweiten Registers (4x+1) beschrieben. 31007525 12/2006 181 CTIF - Zähler-, Zeitgeber- und Interruptfunktion In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 1 und 2 des zweiten Registers (4x+1) beschrieben. Bit Verwendung 1 Laden des Endwerts 0 - Deaktivieren 1 - Aktivieren 2 Reserviert In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 3 und 4 des zweiten Registers (4x+1) beschrieben. Bit 3 4 Beschreibung 0 1 Interrupt-Dienst für Interrupt 3 deaktivieren 1 0 Interrupt-Dienst für Interrupt 3 aktivieren In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 5 und 6 des zweiten Registers (4x+1) beschrieben. Bit 5 6 Beschreibung 0 1 Interrupt-Dienst für Interrupt 2 deaktivieren 1 0 Interrupt-Dienst für Interrupt 2 aktivieren In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 7 und 8 des zweiten Registers (4x+1) beschrieben. Bit 7 8 Beschreibung 0 1 Interrupt-Dienst für Interrupt 1 deaktivieren 1 0 Interrupt-Dienst für Interrupt 1 aktivieren In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 9 und 10 des zweiten Registers (4x+1) beschrieben. Bit 9 10 Beschreibung 0 1 Interrupt-Dienst für Zeitgeber-/Zähler-Interrupt deaktivieren 1 0 Interrupt-Dienst für Zeitgeber-/Zähler-Interrupt aktivieren In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 11 und 12 des zweiten Registers (4x+1) beschrieben. Bit 182 11 12 Beschreibung 0 1 Automatischen Neustart deaktivieren 1 0 Automatischen Neustart aktivieren 31007525 12/2006 CTIF - Zähler-, Zeitgeber- und Interruptfunktion In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 13 und 14 des zweiten Registers (4x+1) beschrieben. Bit 13 14 Beschreibung 0 1 Zähler-/Zeitgeberoperation stoppen 1 0 Zähler-/Zeitgeberoperation starten In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 15 und 16 des zweiten Registers (4x+1) beschrieben. Bit Verwendung des dritten Registers (4x+2) 15 16 Beschreibung 0 1 Zählermodus 1 0 Zeitgebermodus Das dritte Register, 4x+2, stellt den Status für die Operation Get Mode (Modus laden) für Sie bereit. Beim Konfigurieren des Registers müssen Sie die Bitverwendung und die Ergebnisse der EIN/AUS-Kombinationen berücksichtigen. Es folgt eine Grafik zur Demonstration der Bitverwendung für das dritte Register (4x+2). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 In der folgenden Tabelle werden die Bitverwendung und EIN/AUSKombinationen für die Bits 1 bis 16 des dritten Registers (4x+2) beschrieben. 31007525 12/2006 Bit Verwendung 1 Kein Unterprogramm für Interrupt 3 2 Kein Unterprogramm für Interrupt 2 3 Kein Unterprogramm für Interrupt 1 4 Kein Unterprogramm für Zeitgeber-/Zähler-Interrupt 5-9 Reserviert 10 Interrupt 3 0 - Deaktiviert 1 - Aktiviert 11 Interrupt 2 0 - Deaktiviert 1 - Aktiviert 12 Interrupt 1 0 - Deaktiviert 1 - Aktiviert 183 CTIF - Zähler-, Zeitgeber- und Interruptfunktion Verwendung des vierten Registers (4x+3) 184 Bit Verwendung 13 Interrupt für Zeitgeber-/Zählereingang 0 - Deaktiviert 1 - Aktiviert 14 Automatischer Neustart 0 - Deaktiviert 1 - Aktiviert 15 Zähler-/Zeitgeberoperation 0 - Angehalten 1 - Gestartet 16 0 - Zählermodus 1 - Zeitgebermodus Das vierte Register markiert den aktuellen Zählwert des Zähler-/ZeitgeberInterrupts. Der Zählwert kann entweder durch den Anweisungsblock (automatisch) oder durch den Benutzer festgelegt werden. z Get Mode (Modus laden) Anweisungsblock legt den aktuellen Zähler fest z Set Mode (Modus festlegen) Benutzer legt den Zähler/Zeitgeber fest 31007525 12/2006 DCTR: Abwärtszähler 36 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DCTR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 186 Darstellung 187 185 DCTR: Abwärtszähler Kurzbeschreibung Funktionsbeschreibung 186 Die Instruktion DCTR zählt die Änderungen des Steuereingangs von AUS zu EIN von einem voreingestellten Zählerwert abwärts bis Null. 31007525 12/2006 DCTR: Abwärtszähler Darstellung Symbol Darstellung der Anweisung Steuern Voreinstellung: max. 999-16-Bit SPS max. 9999- 24-Bit SPS max. 65535- *SPS Zurücksetzen aktivieren Zählervoreinstellung DCTR Ausgangsbedingung DCTR: Zählwert = Null Ausgangsbedingung Zählwert > Null Zählwert *Verfügbar für Folgendes: z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe 31007525 12/2006 187 DCTR: Abwärtszähler Parameterbeschreibung 188 Beschreibung der Anweisungsparameter Parameter Signalspeich Datentyp er-Referenz Bedeutung Oberer Eingang 0x, 1x Keine AUS → EIN = initiiert den Betriebs des Zählers Unterer Eingang Keine AUS = Zählersumme wird auf Voreinstellwert zurückgesetzt EIN = Zähler zählt 0x, 1x Zählervoreinste 3x, 4x llung (oberer Knoten) INT, UINT Voreinstellwert, kann explizit als Ganzzahl (Bereich von 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Voreinstellwert: Max. 999 - 16-Bit-SPS Max. 9999 - 24-Bit-SPS Max. 65535 *SPS Zählersumme (unterer Knoten) 4x INT, UINT Zählerwert (Istwert), der bei jedem Übergang des oberen Eingangs von AUS zu EIN um eins dekrementiert wird, bis er Null erreicht. Oberer Ausgang 0x Keine EIN = Zählersumme = 0 Unterer Ausgang 0x Keine EIN = Zählersumme > 0 31007525 12/2006 DIOH: Funktionsfähigkeit dezentrale E/A 37 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DIOH beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 190 Darstellung 191 Parameterbeschreibung 193 189 DIOH: Funktionsfähigkeit dezentrale E/A Kurzbeschreibung Funktionsbeschreibung 190 Die Instruktion DIOH ermöglicht Ihnen, Healthdaten von einer vorgebbaren Stationsgruppe im verteilten E/A-Netzwerk abzufragen. Sie greift auf die DIOHealthstatustabelle zu, wo die Healthdaten für bis zu 189 verteilten Stationen abgelegt sind. 31007525 12/2006 DIOH: Funktionsfähigkeit dezentrale E/A Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quelle Ziel DIOFunktionsfähigkeitstabelle Anzahl von Stationen (1 - 64) DIOH Fehler (1 ... 64) 31007525 12/2006 191 DIOH: Funktionsfähigkeit dezentrale E/A Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang Keine EIN = initiiert den Abruf der festgelegten Statuswörter aus der DIOFunktionsfähigkeitstabelle in die Zieltabelle INT, UINT Der im oberen Knoten eingegebene Quellwert ist eine vierstellige Konstante in der Form xxyy, wobei: z xx ist ein Dezimalwert im Bereich von 00 ... 16, der die Nummer des Steckplatzes angibt, in dem der betreffende DIO-Prozessor enthalten ist. Der Wert 00 kann immer zur Angabe der Modbus Plus-Ports der SPS verwendet werden, unabhängig von der Steckplatznummer. z yy ist ein Dezimalwert im Bereich von 1 ... 64, welcher die Stationsnummer im entsprechenden Token-Ring angibt. 0x, 1x Quelle (oberer Knoten) Wenn Sie z.B. den Stationsstatus ab der verteilten Station 1 eines Netzwerks abfragen möchten, das über einen DIO-Prozessor im Steckplatz 3 gesteuert wird, geben Sie 0301 in den oberen Knoten ein. Ziel (mittlerer Knoten) 4x Länge (unterer Knoten) 192 INT, UINT, WORD Erstes Ausgangsregister in der Zieltabelle, d.h. in einem Block zusammenhängender Register, in dem die abgefragten FunktionsfähigkeitsStatusinformationen abgelegt werden INT, UINT Länge der Zieltabelle, Bereich von 1 ... 64 Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Unterer Ausgang 0x Keine EIN = ungültiger Quelleintrag 31007525 12/2006 DIOH: Funktionsfähigkeit dezentrale E/A Parameterbeschreibung Quellwert (oberer Eintrag) Der im oberen Eintrag eingegebene Quellwert ist eine vierstellige Konstante in der Form xxyy, wobei: Ziffern Bedeutung xx Dezimalwert im Bereich von 00 ... 16, der die Nummer des Steckplatzes angibt, in dem der betreffende DIO-Prozessor enthalten ist. Der Wert 00 kann immer zur Angabe der Modbus Plus-Ports der SPS verwendet werden, unabhängig von der Steckplatznummer. yy Dezimalwert im Bereich von 1 ... 64, welcher die Stationsnummer im entsprechenden Token-Ring angibt Wenn Sie z.B. den Stationsstatus ab der verteilten Station 1 eines Netzwerks abfragen möchten, das über einen DIO-Prozessor im Steckplatz 3 gesteuert wird, geben Sie 0301 im oberen Eintrag ein. Länge der Zieltabelle (unterer Eintrag) Der im unteren Eintrag eingegebene Ganzzahlwert legt die Länge fest, d.h. die Anzahl der 4x-Register in der Zieltabelle. Die Länge liegt im Bereich von 1 ... 64. Hinweis: Wenn Sie eine Länge festlegen, die die Zahl der verfügbaren Stationen übersteigt, wird die Instruktion nur Statusinformationen für die verfügbaren Stationen angeben. Wenn Sie z.B. die 63. Stationsnummer (yy) im Register im oberen Eintrag vorgeben und dann eine Länge von 5 abfragen, wird die Instruktion Ihnen nur zwei Register (63. und 64. Stationsstatuswort) in der Zieltabelle angeben. 31007525 12/2006 193 DIOH: Funktionsfähigkeit dezentrale E/A 194 31007525 12/2006 DISA - Deaktivierte diskrete Überwachung 38 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DISA beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 196 Darstellung 197 195 DISA - Deaktivierte diskrete Überwachung Kurzbeschreibung Funktionsbeschreibung 196 DISA (Disabled Discrete Monitor) ist ein Funktionsbaustein bzw. eine Anweisung zur Überwachung von gesperrten Spulen und Eingängen. DISA überwacht die Sperrzustände aller 0xxxx- und 1xxxx-Adressen. 31007525 12/2006 DISA - Deaktivierte diskrete Überwachung Darstellung Symbol Darstellung der Anweisung Steuereingang Deaktivierte Spule Spulen Deaktivierte Eingänge Eingänge aktiv DISA Länge: 1 - 100 Register Länge Hinweis: Das NSUP-Loadable muss vor dem Laden des DISA-Loadable geladen werden. 31007525 12/2006 197 DISA - Deaktivierte diskrete Überwachung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Tabelle der gesperrten Spulen Spulen 4x (oberer Knoten) INT, UINT Anzahl von gefundenen gesperrten Spulen (auch wenn > NNN) 4x+# INT, UINT Adresse von ‘#’ gefundene gesperrte Spulen 4y INT, UINT Anzahl von gefundenen gesperrten Eingangsbits (auch wenn > NNN) 4y+# INT, UINT Adresse von ‘#’ gefundene gesperrte Eingangsbits INT, UINT Wird aktiv, wenn der obere Eingang Energie erhält. Eingänge (mittlerer Knoten) Signalspeic herReferenz Länge (unterer Knoten) 198 Oberer Ausgang 0x Keine EIN, wenn gesperrte Spulen gefunden wurden Mittlerer Ausgang 0x Keine EIN, wenn gesperrte Eingänge gefunden wurden Unterer Ausgang 0x Keine Gibt den Status des oberen Eingangs an 31007525 12/2006 DIV: Dividieren 39 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DIV beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 200 Darstellung 201 Beispiel 203 199 DIV: Dividieren Kurzbeschreibung Funktionsbeschreibung 200 Die Instruktion DIV dividiert den vorzeichenlosen Wert 1 (oberer Eintrag) durch den vorzeichenlosen Wert 2 (mittlerer Eintrag) und legt den Quotienten sowie den Rest in zwei benachbarten Ausgangsregistern im unteren Eintrag ab. 31007525 12/2006 DIV: Dividieren Darstellung Symbol Darstellung der Anweisung Steuereingang Dividende max. 999 – 16-Bit max. 9999 – 24-Bit max. 65535 - *SPS Rest als Dezimalzahl Divisor max. 999 – 16-Bit max. 9999 – 24-Bit max. 65535 - *SPS Erfolgreiche Ausführung Wert 1 Wert 2 DIV Quotient > 9999 max. 999 – 16-Bit max. 9999 – 24-Bit max. 65535 - *SPS Mittlerer Wert = 0 Ergebnis/ Divisionsrest *Verfügbar für Folgendes: z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe 31007525 12/2006 201 DIV: Dividieren Parameterbeschreibung 202 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Wert 1 dividiert durch Wert 2 Mittlerer Eingang Keine EIN = Rest als Dezimalzahl dargestellt AUS = Rest als Bruch dargestellt 0x, 1x Wert 1 3x, 4x (oberer Knoten) INT, UINT Dividend, kann explizit als Ganzzahl (Bereich von 1 ... 9999)* angezeigt oder in zwei benachbarten Registern abgelegt werden (angezeigt für höherwertige Hälfte, impliziert für niederwertige Hälfte) *Max. 999 - 16 Bit Max. 9999 - 24 Bit Max. 65535 - *SPS (siehe obige Verfügbarkeitsliste) Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Divisor, kann explizit als Ganzzahl (Bereich von 1 ... 9999) angezeigt oder in einem Register abgelegt werden *Max. 999 - 16 Bit Max. 9999 - 24 Bit Max. 65535 - *SPS (siehe obige Verfügbarkeitsliste) Ergebnis/Rest (unterer Knoten) 4x INT, UINT Erstes von zwei benachbarten Ausgangsregistern: angezeigt: Ergebnis der Division impliziert: Rest (entweder als Dezimalzahl oder als Bruch dargestellt, in Abhängigkeit vom Status des mittleren Eingangs) Oberer Ausgang 0x Keine EIN = Division erfolgreich Mittlerer Ausgang 0x Keine EIN = Überlauf falls Ergebnis > 9999*, wird ein Wert 0 ausgegeben *Max. 999 - 16 Bit Max. 9999 - 24 Bit Max. 65535 - *SPS (siehe obige Verfügbarkeitsliste) Unterer Ausgang 0x Keine EIN = Wert 2 = 0 31007525 12/2006 DIV: Dividieren Beispiel Quotient der Instruktion DIV 31007525 12/2006 Der Status des mittleren Eingangs gibt an, ob der Rest dezimal oder als Bruch angezeigt wird. Wenn z.B. Wert 1 = 8 und Wert 2 = 3 ist, ist der Rest als Dezimalzahl (mittlerer Eingang EIN) 6666; der Rest als Bruch dargestellt (mittlerer Eingang AUS) ist 2. 203 DIV: Dividieren 204 31007525 12/2006 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Schreibunterstützung 40 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DLOG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 206 Darstellung 207 Parameterbeschreibung 209 Laufzeitfehler-Behandlung 211 205 DLOG: Datenprotokollierung für PCMCIA-Lese-/Schreibunterstützung Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion steht nur bei der SPS-Familie TSX Compact zur Verfügung. Die Lese-/Schreibunterstützung bei PCMCIA besteht aus einer Konfigurationserweiterung, die mit einer DLOG-Instruktion eingerichtet wird. Mit der Instruktion DLOG erhält eine Anwendung die Fähigkeit, Daten auf eine bzw. von einer PCMCIA-Flashkarte zu kopieren, einzelne Speicherblöcke auf einer PCMCIAFlashkarte zu löschen sowie eine ganze PCMCIA-Flashkarte zu löschen. Das Datenformat und die Häufigkeit der Datenspeicherung werden von der Anwendung gesteuert. Hinweis: Die DLOG-Instruktion kann nur mit linearen PCMCIA-Flashkarten arbeiten, die AMD-Flashgeräte einsetzen. 206 31007525 12/2006 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Darstellung Symbol Darstellung der Anweisung uereingang aktiv Steuerblock nden von aktiver G-Operation Datenbereich DLOG Operation nicht erfolgreich beendet Operation erfolgreich Länge 31007525 12/2006 207 DLOG: Datenprotokollierung für PCMCIA-Lese-/Schreibunterstützung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Operation DLOG freigegeben; muss EIN bleiben, bis die Operation erfolgreich abgeschlossen ist oder ein Fehler aufgetreten ist. Mittlerer Eingang 0x, 1x Keine EIN = stoppt die derzeit aktive Operation Steuerblock (oberer Knoten) 4x INT, UINT Erstes von fünf benachbarten Registern im DLOG-Steuerblock (Ausführliche Informationen finden Sie S. 209.) Datenbereich (mittlerer Knoten) 4x INT, UINT Erstes 4x-Register in einem Datenbereich, der für die Quelle oder das Ziel der spezifizierten Operation verwendet wird (Ausführliche Informationen finden Sie S. 210.) Länge (unterer Knoten) 208 INT, UINT Maximale Anzahl der für den Datenbereich reservierten Register, Bereich: 0 ... 100. Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Fehler während der DLOGOperation (Operation nicht erfolgreich abgeschlossen) Unterer Ausgang 0x Keine EIN = DLOG-Operation wird erfolgreich abgeschlossen (Operation erfolgreich) 31007525 12/2006 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Parameterbeschreibung Steuerblock (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste von fünf benachbarten Registern im DLOG-Steuerblock. Mit dem Steuerblock wird die Funktion des DLOG-Befehls, das PCMCIA-Flashkartenfenster und -Offset, ein zurückgegebenes Statuswort, und ein Datenwortzählerwert definiert. Register Funktion Inhalt Angezeigt Fehlerstatus Zeigt DLOG-Fehler in HEX-Werten an Erstes impliziertes Register Operationstyp 1 = Schreiben auf PCMCIA-Karte 2 = Lesen auf PCMCIA-Karte 3 = Einen Block löschen 4 = Gesamten Inhalt der Karte löschen Zweites impliziertes Register Fenster (Blockkennung) Dieses Register gibt einen bestimmten Block an (PCMCIA-Speicherfenster), der sich auf der PCMCIAKarte befindet (1 Block = 128 KB) Die Anzahl der Blöcke ist von der Speichergröße der PCMCIA-Karte abhängig. (z.B. 0 ... 31 Max. für eine 4Meg PCMCIA-Karte). Drittes impliziertes Register Offset (Byte-Adresse innehalb des Blocks) Bestimmter Byte-Bereich, der sich innerhalb eines bestimmten Blocks auf der PCMCIA-Karte befindet. Bereich: 1 ... 128 KB Viertes impliziertes Register Schreiben Anzahl der 4x-Register, die auf die PCMCIA-Karte geschrieben bzw. gelesen werden. Bereich: 0 ... 100. Hinweis: PCMCIA-Flashkarten-Adressen sind Adressen mit einer Fenster:OffsetBasis. Fenster haben eine festgesetzte Größe von 128 KB (65 535 Wörter (16-BitWerte)). Kein Schreib-/Lesevorgang kann die Grenze von einem Fenster zum nächsten überschreiten. Daher muss Offset (drittes impliziertes Register) plus Länge (viertes impliziertes Register) immer kleiner oder gleich 128 KB (65 535 Wörter) sein. 31007525 12/2006 209 DLOG: Datenprotokollierung für PCMCIA-Lese-/Schreibunterstützung Datenfeld (mittlerer Eintrag) Länge (unterer Eintrag) 210 Das im mittleren Eintrag eingegebene 4x-Register ist das erste Register in einem benachbarten Block von 4x-Wortregistern, das die DLOG-Instruktion als Quelle DLOG 79 20 oder Ziel des Vorgangs verwenden wird, der im Steuerblock des oberen Eintrags festgelegt ist. Betrieb Signalspeicher-Referenz Funktion Anz. 4x Quelladresse Lesen 4x Zieladresse Block löschen keine Keine Karte löschen keine Keine Der im unteren Eintrag eingegebene Ganzzahlwert entspricht der Länge des Datenbereiches, d.h. der maximalen Anzahl von Wörtern (Registern), die bei einer Übertragung zu/von der PCMCIA-Flashkarte zulässig ist. Die Länge kann im Bereich von 0 ... 100 liegen. 31007525 12/2006 DLOG: Datenprotokollierung für PCMCIA-Lese-/ Laufzeitfehler-Behandlung Fehlercodes 31007525 12/2006 Das angezeigte Register des Steurerblocks enthält folgende DLOG-Fehler in HexCode. Fehlercode in Hex Inhalt 1 Zählparameter des Steuerblocks > DLOG-Block-Länge während einer WRITE-Operation (01) 2 PCMCIA-Karten-Operation beim Starten misslungen (Schreiben/ Lesen/Löschen) 3 PCMCIA-Karten-Operation während der Ausführung misslungen (Schreiben/Lesen/Löschen) 211 DLOG: Datenprotokollierung für PCMCIA-Lese-/Schreibunterstützung 212 31007525 12/2006 DMTH - Mathematische Funktionen mit doppelter Genauigkeit 41 Auf einen Blick Einleitung In diesem Kapitel werden die vier mathematischen Operationen mit doppelter Genauigkeit beschrieben, die durch die Anweisung DMTH ausgeführt werden. Die vier Funktionen sind Addition, Subtraktion, Multiplikation und Division. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 214 Darstellung 215 213 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Kurzbeschreibung Funktionsbeschreibung Die Anweisung DMTH (mathematische Funktionen mit doppelter Genauigkeit ) führt Addition, Subtraktion, Multiplikation oder Division (festgelegt durch den unteren Knoten) mit doppelter Genauigkeit aus. DMTH verwendet zwei zusammenhängende Register, um einen Operanden zu bilden. Jede DMTH-Anweisung operiert mit den gleichen zwei Operanden. OP1 = 4x, 4x + 1 (oberer Knoten) z OP2 = 4y, 4y + 1 (mittlerer Knoten) z Funktionscodes Die Anweisung DMTH führt eine von vier möglichen mathematischen Operationen mit doppelter Genauigkeit aus. DMTH führt die Operation durch Aufrufen einer Funktion aus. Um die gewünschte Funktion aufzurufen, geben Sie einen Funktionscode in den unteren Knoten ein. Funktionscodes reichen von 1 ... 4. Code DMTH-Funktion Ausgeführte Funktion 1 Addition mit doppelter Genauigkeit Addieren (OP1) + (OP 2) (4y + 3, 4y + 4) 2 Subtraktion mit doppelter Subtrahieren (OP1) Genauigkeit (OP 2) (4y + 2, 4y + 3) 3 Multiplikation mit doppelter Genauigkeit Multiplizieren (OP1) * (OP 2) (4y + 2, 4y + 3) Division mit doppelter Genauigkeit Dividieren (OP1)\(OP 2) 4 Ergebnisregister (4y + 4, 4y + 5) (4y + 2, 4y + 3) Quotient (4y + 4, 4y + 5) Rest Hinweise: Bei Zahlen, die über mehr als ein Register verteilt sind, werden die niederwertigsten vier Ziffern im höchstwertigen Ausgangsregister abgelegt. z Ergebnisse, Flags und Restwerte werden in den Registern abgelegt, die OP2 folgen. z Register, die von der gewählten mathematischen Funktion nicht verwendet werden, können für andere Zwecke verwendet werden. z Die Subtraktionsfunktion verwendet die Ausgänge, um das Ergebnis des Vergleichs zwischen den Operanden OP1 und OP2 anzuzeigen. z 214 31007525 12/2006 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Darstellung Übersicht In diesem Abschnitt werden die vier Operationen Addition, Subtraktion, Multiplikation und Division beschrieben, die durch die Anweisung DMTH ausgeführt werden. Jede Operation hat ein Symbol, das eine grafische Darstellung der Anweisung ist, und eine Parameterbeschreibung, die eine TabellenformatDarstellung der Anweisung ist. Symbol Addition Darstellung der Anweisung für die Addition Steuereingang Operand 1 Operation erfolgreich Fehler Operand 2 und Summe DMTH 1 Parameterbeschreibung Addition 31007525 12/2006 Beschreibung der Anweisungsparameter für die Addition Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN addiert die Operanden und legt die Summe in vorbezeichneten Registern ab. Operand 1 (oberer Knoten) 4x INT, UINT Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. 215 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Symbol Subtraktion Parameter Signalspeicher- Datentyp Referenz Bedeutung Operand 2 und Summe (mittlerer Knoten) 4x INT, UINT Das erste von sechs benachbarten 4xRegistern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z Der im zweiten Register enthaltene Wert gibt an, ob eine Überlaufbedingung vorliegt (Wert 1 = Überlauf). z Im dritten und vierten implizierten Register sind die höher- und niederwertigen Hälften der Summe mit doppelter Genauigkeit enthalten. z Das fünfte implizierte Register wird bei der Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Operand außerhalb des Bereichs oder ungültig Darstellung der Anweisung für die Subtraktion Steuereingang Operand 1 > Operand 2 Operand 1 Operand 1 = Operand 2 Operand 2/ Differenz Operand 1 < Operand 2 DMTH 2 216 31007525 12/2006 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Parameterbeschreibung Subtraktion 31007525 12/2006 Beschreibung der Anweisungsparameter für die Subtraktion Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN subtrahiert Operand 2 von Operand 1 und legt die Differenz in vorbezeichneten Registern ab. Operand 1 (oberer Knoten) 4x INT, UINT Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. Operand 2 Differenz (mittlerer Knoten) 4x INT, UINT Das erste von sechs benachbarten 4xxxxRegistern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z Der im zweiten Register enthaltene Wert gibt an, ob eine Überlaufbedingung vorliegt (Wert 1 = Überlauf). z Im dritten und vierten implizierten Register sind die höher- und niederwertigen Hälften der Summe mit doppelter Genauigkeit enthalten. z Das fünfte implizierte Register wird bei der Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. Oberer Ausgang 0x Keine EIN = Operand 1 > Operand 2 Mittlerer Ausgang 0x Keine EIN = Operand 1 = Operand 2 Unterer Ausgang 0x Keine EIN = Operand 1 < Operand 2 217 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Symbol Multiplikation Darstellung der Anweisung für die Multiplikation Steuereingang EIN = Operation erfolgreich Operand 1 Fehler Operand 2/ Produkt DMTH 3 Parameterbeschreibung Multiplikation 218 Beschreibung der Anweisungsparameter für die Multiplikation Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = Operand 1 x Operand 2, und das Produkt wird in vorbezeichneten Registern abgelegt. Operand 1 4x (oberer Knoten) INT, UINT Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Das zweite 4x-Register ist impliziert. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. 31007525 12/2006 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Symbol Division Parameter Signalspeicher- Datentyp Bedeutung Referenz Operand 2/ Produkt (mittlerer Knoten) 4x INT, UINT Das erste von sechs benachbarten 4xxxxRegistern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z In den letzten vier implizierten Registern ist das Produkt mit doppelter Genauigkeit im Bereich von 0 bis 9.999.999.999.999.999 enthalten. Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Operand außerhalb des Bereichs Darstellung der Anweisung für die Division Steuereingang Operation erfolgreich Operand 1 Rest Fehler Operand 2 Quotient Divisionsrest Versuchte Division durch 0 DMTH 4 31007525 12/2006 219 DMTH - Mathematische Funktionen mit doppelter Genauigkeit Parameterbeschreibung Division Beschreibung der Anweisungsparameter für die Division Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Operand 1 dividiert durch Operand 2, und das Ergebnis wird in vorbezeichneten Registern abgelegt. Mittlerer Eingang 0x, 1x Keine EIN = Rest als Dezimalzahl dargestellt AUS = Rest als Bruch dargestellt Operand 1 (oberer Knoten) 4x INT, UINT Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Das zweite 4x-Register ist impliziert. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. Operand 2 4x Quotient Rest (mittlerer Knoten) INT, UINT Das erste von sechs benachbarten 4x-Registern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Hinweis: Da eine Division durch 0 unzulässig ist, wird beim Wert 0 ein Fehler signalisiert; eine Fehlerbehandlungsroutine setzt in diesem Fall die restlichen Register im mittleren Knoten auf 0000 und stellt den unteren Ausgang auf EIN. z Die zweiten und dritten implizierten Register enthalten einen achtstelligen Quotienten. z Im vierten und fünften implizierten Register ist der Restwert enthalten. Wenn der Restwert als Bruch ausgedrückt ist, ist er acht Stellen lang und beide Register werden verwendet. Wenn der Restwert als Dezimalzahl ausgedrückt ist, ist er vier Stellen lang und nur das vierte implizierte Register wird verwendet. Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Operand außerhalb des Bereichs Unterer Ausgang Keine EIN = Operand 2 ist 0 220 0x 31007525 12/2006 DRUM: Schrittfolgensteuerung 42 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DRUM beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 222 Darstellung 223 Parameterbeschreibung 225 221 DRUM: Schrittfolgensteuerung Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Instruktion DRUM verwendet eine 4x-Registertabelle, die die jeweiligen Schrittdaten einer Sequenz enthält. Die Anzahl der dieser Schrittdatentabelle zugeordneten Register ist abhängig von der für die Sequenz erforderlichen Schrittanzahl. Sie können Register im voraus zuweisen und so Daten für jeden Sequenzschritt speichern, was Ihnen ermöglicht, der Schrittfolgensteuerung weitere Schritte hinzuzufügen, ohne die Anwenderlogik ändern zu müssen. DRUM enthält eine Ausgangsmaske, die Ihnen ermöglicht, Bits in den Registerdaten selektiv zu maskieren, bevor Sie diese an Ausgangs-/Merkerbits übertragen. Dies ist insbesondere dann sinnvoll, wenn die physikalischen Ausgänge der Schrittfolgensteuerung des Ausgangsmoduls nicht aufeinanderfolgen. Die maskierten Bits werden durch die DRUM-Instruktion nicht geändert und können von einer von der Schrittfolgensteuerung unabhängigen Logik verwendet werden. 222 31007525 12/2006 DRUM: Schrittfolgensteuerung Darstellung Symbol Darstellung der Anweisung Steuereingang Aktuelle Schrittnummer Nächster Schritt reset Länge: Max. 255 - 16-Bit SPS max. 999 - 24-Bit SPS max. 65535 - *SPS aktiv Schrittzeiger Schrittdatentabelle DRUM Letzter Schritt Fehler Länge *Verfügbar für Folgendes z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe 31007525 12/2006 223 DRUM: Schrittfolgensteuerung Parameterbeschreibung 224 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert Schrittfolgensteuerung Mittlerer Eingang 0x, 1x Keine EIN = Schrittzeiger wird auf den nächsten Schritt inkrementiert Unterer Eingang 0x, 1x Keine EIN = Zeiger auf 0 zurücksetzen Schrittzeiger (oberer Knoten) 4x INT, UINT Aktuelle Schrittnummer Schrittdatentabelle (mittlerer Knoten) 4x INT, UINT Erstes Register in einer Tabelle von Schrittdateninformationen (Ausführliche Informationen finden Sie S. 225.) Länge (unterer Knoten) INT, UINT Anzahl der in der Schrittdatentabelle verwendeten anwendungsspezifischen Register, Bereich: 1 .. 999 Länge: max. 255 - 16-Bit SPS Max. 999 24-Bit SPS Max. 65535 - *SPS Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Schrittzeiger-Wert = Länge Unterer Ausgang 0x Keine EIN = Fehler 31007525 12/2006 DRUM: Schrittfolgensteuerung Parameterbeschreibung Schrittzeiger (oberer Eintrag) Das im oberen Eintrag gespeicherte 4x-Register beinhaltet die aktuelle Schrittnummer. Der Wert dieses Registers wird bei jeder Ausführung der Instruktion DRUM referenziert. Wenn der mittlere Eingang des Blocks auf EIN gestellt ist, wird der Registerinhalt im oberen Eintrag auf den nächsten Schritt der Schrittfolge inkrementiert, bevor der Block ausgeführt wird. Schrittdatentabelle (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste Register in einer Schrittdatentabelle. Die ersten sechs Register der Schrittdatentabelle enthalten konstante und variable Daten, die zur Ausführung des Blocks erforderlich sind: Register Name Inhalt Angezeigt maskierte Ausgangsdaten Wird vom DRUM bei jeder Ausführung des Blocks geladen; enthält den Inhalt des Registers der aktuellen Schrittdaten, maskiert mit dem Ausgangsmaskenregister Erstes impliziertes Register aktuelle Schrittdaten Wird von DRUM jedesmal geladen, wenn der Block ausgeführt wird; enthält Daten vom Schrittzeiger; bringt die Bausteinlogik dazu, automatisch die Register-Offsets zu berechnen, wenn auf die Schrittdaten in der Schrittdatentabelle zugegriffen wird. Zweites impliziertes Register Ausgangsmaske Wird vom Benutzer vor der Verwendung des Bausteins geladen; DRUM verändert nicht den Inhalt der Ausgangsmaske während der logischen Ausführung; enthält eine Maske, die für jeden Schritt der Schrittfolgensteuerung auf die Daten anzuwenden ist Drittes impliziertes Register Maschinen-IDNummer Gibt DRUM/ICMP-Bausteine an, die zu einer spezifischen Maschine gehören; Wertebereich: 0 ... 9 999 (0 = Baustein nicht konfiguriert); alle Bausteine, die zu derselben Maschinenkonfiguration gehören, haben dieselbe Maschinen-ID-Nummer. Viertes impliziertes Register Profil-IDNummer Kennzeichnet Profildaten, die gerade in das Ablaufsteuerglied geladen werden; Wertebereich: 0... 9 999 (0 = Baustein nicht konfiguriert); alle Bausteine mit derselben Maschinen-IDNummer müssen dieselbe Profil-ID-Nummer haben Fünftes impliziertes Register verwendete Schritte Werden vom Benutzer vor der Verwendung des Bausteins geladen; DRUM verändert nicht den Inhalt der verwendeten Schritte während der logischen Lösung; enthält zwischen 1 ... 999 für 24-Bit-CPUs mit Spezifizierung der tatsächlichen Anzahl der auszuführenden Schritte; die Anzahl muss größer oder kleiner als die Tabellenlänge im unteren Knoten sein Die übrigen Register enthalten Daten für jeden Schritt in der Folge. 31007525 12/2006 225 DRUM: Schrittfolgensteuerung Länge (unterer Eintrag) Der im unteren Eintrag eingegebene Ganzzahlwert entspricht der Länge, d.h. der Anzahl der applikationsspezifischen Register, die in der Schrittdatentabelle verwendet werden. Die Länge kann in einer 24-Bit-CPU im Bereich von 1 ... bis 999 liegen. Die Gesamtanzahl der für die Schrittdatentabelle erforderlichen Register ist die Länge + 6. Die Länge muss größer als der im Register "Verwendete Schritte" im mittleren Eintrag abgelegte Wert sein oder diesem entsprechen. 226 31007525 12/2006 DV16: 16-Bit-Division 43 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung DV16 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 228 Darstellung 229 Beispiel 231 227 DV16: 16-Bit-Division Kurzbeschreibung Funktionsbeschreibung 228 Die Instruktion DV16 führt eine Division mit oder ohne Vorzeichen mit den 16-BitWerten des oberen und mittleren Eintrags durch (Wert 1/Wert 2) und legt dann den Quotienten sowie den Rest in zwei benachbarten 4x-Ausgangsregistern im unteren Eintrag ab. 31007525 12/2006 DV16: 16-Bit-Division Darstellung Symbol Darstellung der Anweisung Steuereingang Erfolgreiche Ausführung Wert 1 EIN = Divisionsrest als Dezimalzahl AUS = Divisionsrest als Bruch EIN = mit Vorzeichen AUS= ohne Vorzeichen Überlauf Wert 2 ohne Vorzeichen: > 65535 mit Vorzeichen: > 32767 oder < -32767 Fehler DV16 Mittlerer Knoten = 0 Quotient 31007525 12/2006 229 DV16: 16-Bit-Division Parameterbeschreibung 230 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt Wert 1/Wert 2 frei Mittlerer Eingang 0x, 1x Keine EIN = Rest als Dezimalzahl dargestellt AUS = Rest als Bruch dargestellt Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Wert 1 3x, 4x (oberer Knoten) INT, UINT Dividend, kann explizit als Ganzzahl (Bereich von 1 ... 65.535) angezeigt oder in zwei benachbarten Registern abgelegt werden (angezeigt für höherwertige Hälfte, impliziert für niederwertige Hälfte) Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Divisor, kann explizit als Ganzzahl (Bereich von 1 ... 65 535, z.B. #65535 eingeben) angezeigt oder in einem Register abgelegt werden Quotient (unterer Knoten) 4x INT, UINT Erstes von zwei benachbarten Ausgangsregistern: angezeigt: Ergebnis der Division impliziert: Rest (entweder als Dezimalzahl oder als Bruch dargestellt, in Abhängigkeit vom Status des mittleren Eingangs) Oberer Ausgang 0x Keine EIN = Operation "Dividieren" erfolgreich abgeschlossen Mittlerer Ausgang 0x Keine EIN = Überlauf Quotient > 65 535 in Operation ohne Vorzeichen -32 768 > Quotient > 32 767 in Operation mit Vorzeichen Unterer Ausgang 0x Keine Fehler 31007525 12/2006 DV16: 16-Bit-Division Beispiel Quotient der Anweisung DV16 31007525 12/2006 Der Status des mittleren Eingangs gibt an, ob der Rest dezimal oder als Bruch angezeigt wird. Sind z.B. der mittlere Eingang EIN und Wert 1 = 8 und Wert 2 = 3, hat der Quotient einen Wert von 2 im Ergebnisregister und einen Wert von 6666 im Divisionsrestregister. 231 DV16: 16-Bit-Division 232 31007525 12/2006 Instruktionsbeschreibungen (E) III Auf einen Blick Einleitung In diesem Abschnitt beginnen alle Instruktionsbeschreibungen mit E. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: 31007525 12/2006 Kapitel Kapitelname Seite 44 EARS - Ereignis-/Alarmaufzeichnungssystem 235 45 EMTH: Erweiterte mathematische Funktionen 245 46 EMTH-ADDDP: Addition mit doppelter Genauigkeit 253 47 EMTH-ADDFP: Gleitkomma-Addition 259 48 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl 265 49 EMTH-ANLOG: Antilogarithmus zur Basis 10 271 50 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Bogenmaß) 277 51 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Bogenmaß) 283 52 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Bogenmaß) 289 53 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl 295 54 EMTH-CMPFP: Vergleich von Gleitkommawerten 301 55 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich 307 56 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Bogenmaß 313 57 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung 319 58 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung 325 59 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad 331 233 Instruktionsbeschreibungen (E) Kapitel 60 234 Kapitelname Seite EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) 337 61 EMTH-DIVDP: Division mit doppelter Genauigkeit 343 62 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl 349 63 EMTH-DIVFP: Gleitkomma-Division 355 64 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl 361 65 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten 367 66 EMTH-EXP: Exponentialfunktion mit Gleitkomma 373 67 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma 379 68 EMTH-LOG: Logarithmus zur Basis 10 385 69 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma 391 70 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit 397 71 EMTH-MULFP: Gleitkomma-Multiplikation 403 72 EMTH-MULIF: Multiplikation von Ganzzahl und Gleitkommazahl 409 73 EMTH-PI: Laden des Gleitkommawerts von "Pi" 415 74 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten 421 75 EMTH-SINE: Gleitkomma–Sinus eines Winkels (im Bogenmaß) 427 76 EMTH-SQRFP: Gleitkomma-Quadratwurzel 433 77 EMTH-SQRT: Gleitkomma-Quadratwurzel 439 78 EMTH-SQRTP: Prozess-Quadratwurzel 445 79 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit 451 80 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl 457 81 EMTH-SUBFP: Gleitkomma-Subtraktion 463 82 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl 469 83 EMTH-TAN: Gleitkomma–Tangens eines Winkels (im Bogenmaß) 475 84 ESI: Unterstützung des ESI-Moduls 481 85 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung 499 31007525 12/2006 EARS - Ereignis-/ Alarmaufzeichnungssystem 44 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung EARS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 236 Darstellung 237 Parameterbeschreibung 240 235 EARS - Ereignis-/Alarmaufzeichnungssystem Kurzbeschreibung Funktionsbeschreibung Der EARS-Block wird in eine SPS geladen, die in einem Ereignis-/Alarmaufzeichnungssystem eingesetzt wird. Ein EARS-System erfordert, dass die SPS in Verbindung mit einem Mensch-Maschine-Schnittstelle (HMI)-Hostgerät arbeitet, auf dem eine spezielle Offline-Software läuft. Die SPS überwacht eine bestimmte Gruppe von Ereignissen auf Zustandsänderungen und protokolliert die Änderungsdaten in einem Puffer. Die Daten werden anschließend vom Host über ein Hochgeschwindigkeitsnetzwerk wie beispielsweise Modbus Plus gelöscht. Beide Geräte sind kompatibel mit einem definierten Quittierungsaustauschprotokoll, das sicherstellt, dass alle von der SPS erkannte Daten genau im Host dargestellt werden. SPS-Funktionen in einem Ereignis-/ Alarmaufzeichnungssystem In einer EARS-Umgebung wird eine SPS eingesetzt, um zwei Tabellen von 4xxxxRegistern zu verwalten und zu überwachen. Eine Tabelle enthält den aktuellen Status einer Gruppe von benutzerdefinierten Ereignissen und die andere den Verlauf des aktuellsten Status dieser Ereignisse. Ereignisstatus werden als Bitdarstellungen in den 4xxxx-Registern gespeichert; ein Bitwert von 1 entspricht einem EIN-Status und ein Bitwert von 0 einem AUS-Status. Jede Tabelle kann bis zu 62 Register enthalten, wodurch der Status von bis zu 992 Ereignissen überwacht werden kann. Wenn die SPS eine Änderung zwischen dem aktuellen Statusbit und dem Verlaufsbit eines Ereignisses erkennt, bereitet die Anweisung EARS eine aus zwei Wörtern bestehende Meldung vor und legt diese in einem Puffer ab, wo sie in ein Host-HMI geladen werden kann. Diese Meldung enthält: z Einen Zeitstempel, welcher die Zeitspanne von Mitternacht bis 24:00 Uhr in Zehntelsekunden darstellt, z Ein Übergangs-Flag, das anzeigt, dass es sich bei dem Ereignis um einen positiven oder negativen Übergang in Bezug auf den Ereignisstatus handelt, z Eine Nummer, die anzeigt, welches Ereignis aufgetreten ist. Dialog zwischen Host und SPS 236 Das Host-HMI-Gerät muss SPS-Datenregister über das Modbus-Protokoll lesen und schreiben können. Ein Quittierungsaustauschprotokoll sorgt für die Integrität zwischen dem Host und dem Ringpuffer, der in der SPS läuft. Dadurch kann der Host Ereignisse vom Puffer mit einer für den Host angemessenen Geschwindigkeit asynchron empfangen, während die SPS Ereignisänderungen erkennt und den Puffer mit seiner schnelleren Zyklusrate lädt. 31007525 12/2006 EARS - Ereignis-/Alarmaufzeichnungssystem Darstellung Symbol Darstellung der Anweisung Steuereingang Altwerttabelle (4xxxx-4xxxx + 63) Warteschlangeninfo und Warteschlange (Ereignis/Alarm Tabellenlänge 5+NNN) Warteschlange nicht leer Zeiger der Zustandstabelle/ Altwerttabelle Sendebereitschaft Puffertabelle reset Warteschlange voll EARS Länge: 1 - 1000 Parameterbeschreibung 31007525 12/2006 Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Quittierungsaustausch ausgeführt (sofern erforderlich), Bestätigungsprüfung ausgeführt und EARS-Operationen fortgesetzt AUS = Quittierungsaustausch (sofern erforderlich) und ausstehende Transaktionen ausgeführt Unterer Eingang 0x, 1x Keine Puffer-Reset: Zeiger der Ereignistabelle und des oberen Knotens auf 0 gesetzt 237 EARS - Ereignis-/Alarmaufzeichnungssystem Parameter SignalspeicherReferenz Datentyp Bedeutung Zeiger der Zustandstabelle/ Altwerttabelle (oberer Knoten) 4x INT, UINT Das in den oberen Knoten eingegebene 4xxxx-Register ist das erste von 64 benachbarten Registern. Die ersten zwei Register enthalten Werte, die den Standort und die Größe der aktuellen Zustandstabelle angeben. (Ausführliche Informationen finden Sie S. 240.) Die übrigen 61 Register dienen zur Aufnahme von Verlaufsdaten. Wenn sämtliche übrigen Register nicht für die Altwerttabelle benötigt werden, können diese Register an anderer Stelle im Programm für andere Zwecke verwendet werden, jedoch sind sie weiterhin (durch eine Modbus-Suche) im oberen Knoten des EARS-Blocks zu finden. Puffertabelle (mittlerer Knoten) 4x INT, UINT Das in den mittleren Knoten eingegebene 4xxxx-Register ist das erste in einer Reihe von benachbarten Registern, das als Puffertabelle verwendet wird. Die ersten fünf Register werden wie folgt verwendet, und den Rest enthält der Ringpuffer. Der Ringpuffer verwendet eine gerade Zahl von Registern im Bereich von 2 bis 100. (Ausführliche Informationen finden Sie S. 241.) Der Zeitstempel ist in 20 Bits als binär gewichteter Wert codiert, der die Zeit in einem Inkrement von 0,1 s darstellt, beginnend an Mitternacht des Tages, an dem die Statusänderung erkannt wurde: z 1 Stunde = 3.600 Sekunden = 36.000 Zehntelsekunden z 24 Stunden = 86.400 Sekunden = 864.000 Zehntelsekunden Hinweis: Die Echtzeituhr der am Chassis angebrachten Regler hat eine Zehntelsekunden-Auflösung, die anderen 984s besitzen jedoch Echtzeituhr-Chips, die nur auf eine Sekunde auflösen. In EARS wird ein Algorithmus zum Bereitstellen einer bestmöglichen Schätzung der Zehntelsekunden-Auflösung verwendet, der in den relativen Zeitintervallen zwischen den Ereignissen genau ist, aber leicht von der Echtzeituhr abweichen kann. 238 31007525 12/2006 EARS - Ereignis-/Alarmaufzeichnungssystem Parameter SignalspeicherReferenz INT, UINT Der im unteren Knoten eingegebene Ganzzahlwert entspricht der Länge, d.h. der Anzahl von Registern, die für den Ringpuffer zugeordnet sind. Die Länge kann sich im Bereich von 2 bis 100 befinden. Jedes Ereignis benötigt zwei Register für die Datenspeicherung. Aus diesem Grunde weisen Sie eine Länge von 50 im unteren Knoten zu, wenn Sie jederzeit bis zu 25 Ereignisse im Puffer auffangen möchten. Länge (unterer Knoten) 31007525 12/2006 Datentyp Bedeutung Oberer Ausgang 0x Keine EIN = Daten im Puffer Wird aktiv, wenn Daten in der Warteschlange stehen. Mittlerer Ausgang 0x Keine EIN für einen Zyklus nach Kommunikationsbestätigung vom Host Wird aktiv für einen Zyklus nach Erhalt einer Antwort vom Host. Unterer Ausgang 0x Keine Puffer voll: Es können erst dann wieder Ereignisse hinzugefügt werden, wenn der Host einige Ereignisse ablädt oder der Puffer zurückgesetzt wird. Wird aktiv, wenn die Warteschlange voll ist. Weitere Ereignisse können nicht hinzugefügt werden. 239 EARS - Ereignis-/Alarmaufzeichnungssystem Parameterbeschreibung Übersicht Dieser Abschnitt enthält ausführliche Informationen in Tabellenform für die oberen und mittleren Einträge, und der mittlere Knoten enthält weitere Informationen, die in drei zusätzlichen Tabellen aufgeführt werden. Folglich enthält dieser Abschnitt fünf Tabellen. Registertabelle (oberer Knoten) z Datenregistertabelle (mittlerer Knoten) z Status-/Fehlercodetabelle z Ereignisänderungsdatentabelle z Tabelle der binär gewichteten Werte z Registertabelle (oberer Knoten) 240 Dies ist die Registertabelle für den oberen Knoten von EARS. Register Inhalt 4x Indirekter Zeiger auf die aktuelle Statustabelle; wenn beispielsweise das Register einen Wert von 5 enthält, beginnt die Statustabelle am Register 40005; das Register für den indirekte Zeiger muss vom Programmierer festcodiert werden. 4x+1 Enthält einen Wert im Bereich von 1 bis 62, der die Anzahl von Register in der aktuellen Statustabelle angibt; dieser Wert muss vom Programmierer festcodiert werden. 4x+2 Erstes Register der Altwerttabelle; die übrigen Register, die dem oberen Knoten zugeordnet sind, können in der Tabelle je nach Bedarf verwendet werden; mit der Altwerttabelle können bis zu 992 zusammenhängende Ereignisse überwacht werden (wenn 16 Bits in allen 62 verfügbaren Registern verwendet werden.) 31007525 12/2006 EARS - Ereignis-/Alarmaufzeichnungssystem Datenregistertabelle (mittlerer Knoten) Dies ist die Datenregistertabelle für den mittleren Knoten von EARS. Register Inhalt 4x Ein Wert, der die maximale Anzahl von Registern definiert, die vom Ringpuffer belegt werden können 4x+1 Q_take-Zeiger - der Zeiger auf das nächste Register, wo der Host Daten löscht 4x+2 Das niederwertige Byte enthält den Q-put-Zeiger - dies ist der Zeiger auf das Register im Ringpuffer, wo der EARS-Block beginnt, die nächsten Statutsänderungsdaten abzulegen. Das höherwertige Byte enthält die zuletzt empfangene Transaktionsnummer. 4x+3 Q+count ist ein Wert, der die Anzahl von Wörtern angibt, die gerade im Ringpuffer enthalten sind. 4x+4 Das 4x+4-Register stellt Status-/Fehlerinformationen bereit. Eine Erläuterung der Codes und der durch den Code dargestellten Status-/ Fehlermeldungen finden Sie in der nachstehenden Status-/Fehlercodetabelle. 4x+5 Das 4x+5-Register z stellt Ereignisänderungsdaten bereit z ist das erste Register im Ringpuffer z dient zum Ablegen von Ereignisänderungsdaten. Durch jede Änderung des Ereignisstatus werden zwei zusammenhängende Register ausgegeben, die in der nachstehenden Ereignisänderungsdatentabelle erläutert werden. Status-/ Fehlercodetabelle 31007525 12/2006 Dies ist die Status-/Fehlercodetabelle für das 4x+4-Register des mittleren Knotens. Es folgen ausführliche Informationen zum 4x+4-Register des mittleren Knotens. Die angezeigte Codenummer stellt eine vorhandene Bedingung dar. Code Zustand 1 Ungültige Blocklänge 2 Ungültiger Uhr-Request 3 Ungültige Uhrkonfiguration 4 Ungültige Statuslänge 5 Ungültige Warteschlangenausgabe 6 Ungültige Warteschlangenannahme 7 Ungültiger Status 8 Ungültige Warteschlangenzählung 9 Ungültige Folgenummer 10 Zählung entfernt 255 Ungültiger Uhrchip 241 EARS - Ereignis-/Alarmaufzeichnungssystem Ereignisänderungsdatentabelle Wenn im 4x+5-Register eine Änderung auftritt, gibt dieses Register zwei zusammenhängende Register aus. In diesem Abschnitt wird erläutert, wie diese benachbarten Register verwendet werden. Ereignisdatenregister 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 In der folgenden Tabelle wird die Bitverwendung beschrieben. Bit Verwendung 1-4 Vier höchstwertige Bits des Ereigniszeitstempels 5 Übergangsereignistyp 0 = Negativ 1 = Positiv 6 Reserviert 7 - 16 Ereignisnummer (1 ... 992) Ereignisdatenregister 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 In der folgenden Tabelle wird die Bitverwendung beschrieben. Bit Verwendung 1 - 16 16 niederwertigste Bits des Ereigniszeitstempels Der Zeitstempel ist in 20 Bits als binär gewichteter Wert codiert, der die Zeit in einem Inkrement von 0,1 s (Zehntelsekunden) darstellt, beginnend an Mitternacht des Tages, an dem die Statusänderung erkannt wurde. z 1 Stunde = 3600 Sekunden = 36000 Zehntelsekunden z 24 Stunden = 86.400 Sekunden = 864.000 Zehntelsekunden Ausführliche Informationen zu binär gewichteten Werten für den Zeitstempel finden Sie in der nachstehenden Tabelle der binär gewichteten Werte. 242 31007525 12/2006 EARS - Ereignis-/Alarmaufzeichnungssystem Tabelle der binär gewichteten Werte Ereignisdatenregister 1 (höchstwertiges Halbbyte (4 Bits)) 19 18 17 16 Ereignisdatenregister 2 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Die folgende Tabelle enthält binär gewichtete Werte für den Zeitstempel, wobei n die relative Bitposition im 20-Bit-Zeitschema ist. 2n n 2n n 2n n 1 0 256 8 65536 16 2 1 512 9 131072 17 4 2 1024 10 262144 18 8 3 2048 11 524288 19 16 4 4096 12 32 5 8192 13 64 6 16384 14 128 7 32768 15 Hinweis: Die Echtzeituhr der am Chassis angebrachten Regler hat eine Zehntelsekunden-Auflösung, die anderen 984s besitzen jedoch Echtzeituhr-Chips, die nur auf eine Sekunde auflösen. In EARS wird ein Algorithmus zum Bereitstellen einer bestmöglichen Schätzung der Zehntelsekunden-Auflösung verwendet. Die algorithmische Schätzung ist in den relativen Zeitintervallen zwischen den Ereignissen genau, jedoch kann die Schätzung leicht von der Echtzeituhr abweichen. 31007525 12/2006 243 EARS - Ereignis-/Alarmaufzeichnungssystem 244 31007525 12/2006 EMTH: Erweiterte mathematische Funktionen 45 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung EMTH beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 246 Darstellung 247 Parameterbeschreibung 249 EMTH-Gleitkommafunktionen 251 245 EMTH: Erweiterte mathematische Funktionen Kurzbeschreibung Funktionsbeschreibung Diese Instruktion greift auf eine Bibliothek mathematischer Funktionen mit doppelter Genauigkeit, Quadratwurzel- und Logarithmus-Berechnungen sowie arithmetischer Funktionen mit Gleitkomma zu. Die Instruktion EMTH stellt Ihnen eine Bibliothek zur Verfügung mit Wahlmöglichkeit zwischen 38 erweiterten mathematischen Funktionen. Jeder dieser Funktionen ist eine alphabetische Bezeichnung variabler Unterfunktionen zugeordnet, die Sie in einem Pulldownmenü in Ihrer Steuerungssoftware auswählen können und die im unteren Eintrag erscheint. Die Ein- und Ausgänge von EMTH sind funktionsabhängig. 246 31007525 12/2006 EMTH: Erweiterte mathematische Funktionen Darstellung Symbol Darstellung der Anweisung oberer Eingang oberer Ausgang oberer Knoten mittlerer Eingang unterer Eingang mittlerer Knoten EMTH mittlerer Ausgang unterer Ausgang Unterfunktion 31007525 12/2006 247 EMTH: Erweiterte mathematische Funktionen Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Von der gewählten EMTH-Funktion abhängig, siehe S. 249" Mittlerer Eingang 0x, 1x Keine Von der gewählten EMTH-Funktion abhängig Unterer Eingang 0x, 1x Keine Von der gewählten EMTH-Funktion abhängig oberer Knoten 3x, 4x DINT, UDINT, REAL Zwei benachbarte Register, gewöhnlich 4xAusgangsregister, jedoch in den Fällen mathematischer Funktionen mit Ganzzahlen entweder 3x- oder 4xRegister. DINT, UDINT, REAL Zwei, vier oder sechs benachbarte Register, in Abhängigkeit von der Funktion, die Sie implementieren. mittlerer Knoten 4x Unterfunktion (unterer Knoten) 248 Eine alphabetische Bezeichnung, welche die EMTH-Funktion kennzeichnet, siehe S. 249" Oberer Ausgang 0x Keine Von der gewählten EMTH-Funktion abhängig, siehe S. 249" Mittlerer Ausgang 0x Keine Von der gewählten EMTH-Funktion abhängig Unterer Ausgang 0x Keine Von der gewählten EMTH-Funktion abhängig 31007525 12/2006 EMTH: Erweiterte mathematische Funktionen Parameterbeschreibung Eingänge, Ausgänge und unterer Eintrag Die Realisierung der Ein- und Ausgänge des Blocks ist von der von Ihnen gewählten EMTH-Unterfunktion abhängig. Eine alphabetische Bezeichnung erscheint am unteren Eintrag mit Angabe der EMTH-Funktion, die Sie in der Bibliothek ausgewählt haben. In den folgenden Tabellen sind die Unterfunktionen von EMTH aufgeführt. z Mathematische Funktion mit doppelter Genauigkeit z Mathematische Funktionen mit Ganzzahlen z Mathematische Funktionen mit Gleitkomma Unterfunktionen für mathematische Funktionen mit doppelter Genauigkeit Unterfunktionen für mathematische Operationen mit Ganzzahlen 31007525 12/2006 Mathematische Funktion mit doppelter Genauigkeit EMTH-Funktion Unterfunktion Aktive Eingänge Aktive Ausgänge Addition ADDDP Oben Oben und Mitte Subtraktion SUBDP Oben Oben, Mitte und unten Multiplikation MULDP Oben Oben und Mitte Division DIVDP Oben und Mitte Oben, Mitte und unten Mathematische Funktionen mit Ganzzahlen EMTH-Funktion Unterfunktion Aktive Eingänge Aktive Ausgänge Quadratwurzel SQRT Oben Oben und Mitte Prozess-Quadratwurzel SQRTP Oben Oben und Mitte Logarithmus LOG Oben Oben und Mitte Antilogarithmus ANLOG Oben Oben und Mitte 249 EMTH: Erweiterte mathematische Funktionen Unterfunktionen für mathematische Operationen mit Gleitkommazahlen 250 EMTH-Funktion Unterfunktion Aktive Eingänge Aktive Ausgänge Ganzzahl-GleitkommazahlKonvertierung CNVIF Oben Ganzzahl + Gleitkommazahl ADDIF Oben Oben Ganzzahl - Gleitkommazahl SUBIF Oben Oben Ganzzahl x Gleitkommazahl MULIF Oben Oben Ganzzahl / Gleitkommazahl DIVIF Oben Oben Gleitkommazahl - Ganzzahl SUBFI Oben Oben Oben Gleitkommazahl / Ganzzahl DIVFI Oben Oben Vergleich GanzzahlGleitkommazahl CMPIF Oben Oben Gleitkommazahl-GanzzahlKonvertierung CNVFI Oben Oben und Mitte Addition ADDFP Oben Oben Subtraktion SUBFP Oben Oben Multiplikation MULFP Oben Oben Division DIVFP Oben Oben Vergleich CMPFP Oben Oben, Mitte und unten Quadratwurzel SQRFP Oben Oben Vorzeichen ändern CHSIN Oben Oben Laden des Werts von p PI Oben Oben Sinus im Bogenmaß SINE Oben Oben Cosinus im Bogenmaß COS Oben Oben Tangens im Bogenmaß TAN Oben Oben Arcus-Sinus im Bogenmaß ARSIN Oben Oben Arcus-Cosinus im Bogenmaß ARCOS Oben Oben Arcus-Tangens im Bogenmaß ARTAN Oben Oben Bogenmaß in Grad CNVRD Oben Oben Grad in Bogenmaß CNVDR Oben Oben Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten POW Oben Oben Exponentialfunktion EXP Oben Oben Natürlicher Logarithmus LNFP Oben Oben Zehnerlogarithmus LOGFP Oben Oben Fehlerprotokollierung ERLOG Oben Oben und Mitte 31007525 12/2006 EMTH: Erweiterte mathematische Funktionen EMTH-Gleitkommafunktionen Verwendung von Gleitkommafunktionen Um sich des Gleitkommas bedienen zu können, müssen die in mathematischen Standardinstruktionen verwendeten vierstelligen Ganzzahlwerte in dass IEEEGleitkommaformat konvertiert werden. Alle Berechnungen werden dann im Gleitkommaformat durchgeführt, die Ergebnisse müssen in das Ganzzahlformat zurück konvertiert werden. Der IEEEGleitkommaStandard EMTH-Gleitkommafunktionen benötigen Werte im 32-Bit IEEE-Gleitkommaformat. Jedem Wert sind zwei Register zugeordnet, die acht höherwertigen Bits stellen den Exponenten, die anderen 23 Bits (plus ein angenommenes Bit) stellen die Mantisse und das Vorzeichen des Werts dar. Hinweis: Gleitkommarechnungen besitzen eine Mantissengenauigkeit von 24 Bits, was die Genauigkeit der sieben höherwertigen Stellen garantiert. Die Genauigkeit der achten Stelle in einer Gleitkommarechnung ist nicht garantiert. Es ist fast unmöglich, eine Gleitkommadarstellung auf dem Programmiergerät zu erkennen. Daher sollten alle Zahlen in das Ganzzahlformat zurück konvertiert werden, bevor Sie versuchen, sie zu lesen. Umgang mit negativen Gleitkommazahlen 31007525 12/2006 Mathematische Standard-Ganzzahlrechnungen behandeln negative Zahlen nicht explizit. Die einzige Art, negative Werte zu identifizieren, besteht in der Feststellung, dass der Funktionsblock SUB den unteren Ausgang auf EIN gestellt hat. Wenn ein solcher negativer Wert in einen Gleitkommawert konvertiert wird, führen Sie eine Ganzzahl-Gleitkommazahl-Konvertierung durch (EMTH-Unterfunktion CNVIF). Verwenden Sie dann die Funktion "Vorzeichen ändern" (EMTHUnterfunktion CHSIN), um ein negatives Vorzeichen zu erhalten, bevor Sie irgendwelche anderen Gleitkommarechnungen durchführen. 251 EMTH: Erweiterte mathematische Funktionen 252 31007525 12/2006 EMTH-ADDDP: Addition mit doppelter Genauigkeit 46 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ADDDP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 254 Darstellung 255 Parameterbeschreibung 257 253 EMTH-ADDDP: Addition mit doppelter Genauigkeit Kurzbeschreibung Funktionsbeschreibung 254 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit doppelter Genauigkeit." 31007525 12/2006 EMTH-ADDDP: Addition mit doppelter Genauigkeit Darstellung Symbol Darstellung der Anweisung Addieren von Operanden Operation erfolgreich Operand 1 Operand 2 und Summe Operand außerhalb des Bereichs oder ungültig EMTH ADDDP 31007525 12/2006 255 EMTH-ADDDP: Addition mit doppelter Genauigkeit Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = addiert die Operanden und legt die Summe in vorbezeichneten Registern ab Operand 1 (oberer Knoten) 4x DINT, UDINT Operand 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. Operand 2 und Summe (mittlerer Knoten) 4x DINT, UDINT Operand 2 und Summe (erstes von sechs benachbarten Registern) Das erste von sechs benachbarten 4xxxx-Registern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z Der im zweiten Register enthaltene Wert gibt an, ob eine Überlaufbedingung vorliegt (Wert 1 = Überlauf). z Im dritten und vierten implizierten Register sind die höher- und niederwertigen Hälften der Summe mit doppelter Genauigkeit enthalten. z Das fünfte implizierte Register wird bei der Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. ADDDP (unterer Knoten) Auswahl der Unterfunktion ADDDP Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Operand außerhalb des Bereichs oder ungültig 256 31007525 12/2006 EMTH-ADDDP: Addition mit doppelter Genauigkeit Parameterbeschreibung Operand 1 (oberer Eintrag) Operand 2 und Summe (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite 4x-Register ist impliziert. Hier wird der Operand 1 abgelegt. Register Inhalt Angezeigt Register enthält die niederwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Erstes impliziertes Register Register enthält die höherwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Das erste von sechs benachbarten 4x-Registern wird im mittleren Eintrag abgelegt. Die restlichen fünf Register sind impliziert: Register Inhalt Angezeigt Das Register enthält jeweils die niederwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Erstes impliziertes Register Das Register enthält jeweils die höherwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Zweites impliziertes Register Der in diesem Register abgelegte Wert gibt an, ob eine Überlaufbedingung vorliegt (Wert 1 = Überlauf) Drittes impliziertes Register In dem Register ist die niederwertige Hälfte der Summe mit doppelter Genauigkeit abgelegt. Viertes impliziertes Register In dem Register ist die höherwertige Hälfte der Summe mit doppelter Genauigkeit abgelegt. Fünftes impliziertes Register Register wird bei der Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. 257 EMTH-ADDDP: Addition mit doppelter Genauigkeit 258 31007525 12/2006 EMTH-ADDFP: Gleitkomma-Addition 47 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ADDFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 260 Darstellung 261 Parameterbeschreibung 263 259 EMTH-ADDFP: Gleitkomma-Addition Kurzbeschreibung Funktionsbeschreibung 260 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ADDFP: Gleitkomma-Addition Darstellung Symbol Darstellung der Anweisung Initiiert GleitkommazahlAddition Operation erfolgreich Wert 1 Wert 2 und Summe EMTH ADDFP 31007525 12/2006 261 EMTH-ADDFP: Gleitkomma-Addition Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = aktiviert die Gleitkomma-Addition Wert 1 4x (oberer Knoten) REAL Gleitkommawert 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert 1in der Addition wird hier abgelegt. Wert 2 und Summe (mittlerer Knoten) REAL Gleitkommawert 2 und Summe (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert 2 wird im angezeigten Register und im ersten implizierten Register abgelegt. Die Summe der Addition wird im Gleitkommaformat im zweiten und dritten implizierte Register abgelegt. 4x ADDFP (unterer Knoten) Oberer Ausgang 262 Bedeutung Auswahl der Unterfunktion ADDFP 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-ADDFP: Gleitkomma-Addition Parameterbeschreibung Gleitkommawert 1 (oberer Eintrag) Gleitkommawert 2 und Summe (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register In den Registern ist der Gleitkommawert 1 abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register In den Registern ist der Gleitkommawert 2 abgelegt. Zweites impliziertes Register In den Registern ist das Ergebnis der Addition im Drittes impliziertes Register Gleitkommaformat abgelegt. 31007525 12/2006 263 EMTH-ADDFP: Gleitkomma-Addition 264 31007525 12/2006 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl 48 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ADDIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 266 Darstellung 267 Parameterbeschreibung 269 265 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 266 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Initiiert die Operation Ganzzahl + Gleitkommazahl Operation erfolgreich Ganzzahl Gleitkommaz ahl und Summe EMTH ADDIF 31007525 12/2006 267 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = Initiiert die Operation Ganzzahl + Gleitkommazahl Ganzzahl 4x (oberer Knoten) DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Hier wird der Ganzzahlwert mit doppelter Genauigkeit abgelegt, der zum Gleitkommawert addiert wird. Gleitkommazah 4x l und Summe (mittlerer Knoten) REAL Gleitkommawert und Summe (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Gleitkommawert enthalten, der in der Operation addiert wird, und die Summe wird im zweiten und dritten implizierten Register abgelegt. Die Summe wird hier im Gleitkommaformat abgelegt. ADDIF (unterer Knoten) Oberer Ausgang 268 Bedeutung Auswahl der Unterfunktion ADDIF 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Gleitkommawert und Summe (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Hier wird der Ganzzahlwert mit doppelter Genauigkeit abgelegt, der zum Gleitkommawert addiert wird. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register enthalten den Gleitkommawert, der in der Operation hinzugefügt werden soll. Zweites impliziertes Register Drittes impliziertes Register Die Summe wird hier im Gleitkommaformat abgelegt. 269 EMTH-ADDIF: Addition Ganzzahl + Gleitkommazahl 270 31007525 12/2006 EMTH-ANLOG: Antilogarithmus zur Basis 10 49 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ANALOG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 272 Darstellung 273 Parameterbeschreibung 275 271 EMTH-ANLOG: Antilogarithmus zur Basis 10 Kurzbeschreibung Funktionsbeschreibung 272 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Ganzzahlen." 31007525 12/2006 EMTH-ANLOG: Antilogarithmus zur Basis 10 Darstellung Symbol Darstellung der Anweisung Gibt Antilog(X)Operation frei Operation erfolgreich Quelle Ergebnis Fehler oder Wert außerhalb des Bereichs EMTH ANLOG 31007525 12/2006 273 EMTH-ANLOG: Antilogarithmus zur Basis 10 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine Quelle 3x, 4x (oberer Knoten) INT, UINT Quellwert Der obere Knoten ist ein einziges 4xxxxAusgangsregister oder ein 3xEingangsregister. Der Quellwert (Wert, auf dessen Grundlage die Antilogarithmusberechnung ausgeführt wird) wird hier im festen Dezimalformat 1.234 gespeichert. Er muss im Bereich von 0 bis 7999 liegen, um einen Quellwert bis maximal 7.999 darzustellen. Ergebnis (mittlerer Knoten) DINT, UDINT 4x ANLOG (unterer Knoten) 274 Bedeutung EIN = Gibt Antilog(x) Operation frei Ergebnis (erstes von zwei benachbarten Registern) Das erste der beiden 4xxxx-Register wird im mittleren Knoten eingegeben. Das zweite Register ist impliziert. Das Ergebnis der Antilogarithmusberechnung wird hier im festen Dezimalformat 12345678 abgelegt. Die höchstwertigen Bits werden im angezeigten Register abgelegt und die niederwertigsten Bits im implizierten Register. Der größte berechenbare Antilogarithmuswert ist 99770006 (9977 wird im angezeigten Register und 0006 im implizierten Register abgelegt). Auswahl der Unterfunktion ANALOG Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Fehler oder Wert außerhalb des Bereichs 31007525 12/2006 EMTH-ANLOG: Antilogarithmus zur Basis 10 Parameterbeschreibung Quellwert (oberer Eintrag) Der obere Eintrag ist ein einziges 4x-Ausgangsregister oder ein 3x-Eingangsregister. Der Quellwert, d.h. der Wert mit dem die Antilogarithmusberechnung ausgeführt wird, wird hier im festen Dezimalformat gespeichert1.234. Er muss im Bereich von 0 ... 7 999 liegen und stellt somit einen Quellwert bis zu einem Maximum von 7.999 dar. Ergebnis (mittlerer Eintrag) Das erste der beiden 4x-Register wird im mittleren Eintrag eingegeben. Das zweite Register ist impliziert. Das Ergebnis der Antilogarithmusberechnung wird hier im festen Dezimalformat 12345678 abgelegt: Register Inhalt Angezeigt Höchstwertige Bits Erstes impliziertes Register Niederwertigste Bits Der größte berechenbare Antilogarithmuswert ist 99770006 (9977 wird im angezeigten Register und 0006 im implizierten Register abgelegt). 31007525 12/2006 275 EMTH-ANLOG: Antilogarithmus zur Basis 10 276 31007525 12/2006 EMTH-ARCOS: GleitkommaArcuscosinus eines Winkels (im Bogenmaß) 50 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ARCOS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 278 Darstellung 279 Parameterbeschreibung 281 277 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 278 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Darstellung Symbol Darstellung der Anweisung Berechnet den ArcusConsinus des Gleitkommawerts Operation erfolgreich Wert ArcusCosinus des Werts EMTH ARCOS 31007525 12/2006 279 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Bogenmaß) Parameterbeschreibung Parameter Beschreibung der Anweisungsparameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Berechnet den Arcus-Cosinus des Werts Wert 4x (oberer Knoten) REAL Gleitkommawert zeigt den Cosinus eines Winkels an (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Hier wird ein Gleitkommawert abgelegt, der den Cosinus eines Winkels zwischen 0 und Pi in Bogenmaß angibt. Dieser Wert muss zwischen -1,0 bis +1,0 liegen, anderenfalls z wird der Arcus-Cosinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Arcus-Cosinus des Werts (mittlerer Knoten) REAL Arcus-Cosinus im Bogenmaß des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxx-Registern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Arcus-Cosinus im Bogenmaß des Gleitkommawerts im oberen Knoten wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. 4x ARCOS (unterer Knoten) Oberer Ausgang 280 Auswahl der Unterfunktion ARCOS 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Hier wird ein Gleitkommawert abgelegt, der den Cosinus eines Winkels zwischen 0 und p in Bogenmaß angibt. Dieser Wert muss zwischen -1,0 ... +1,0 liegen; Liegt der Wert nicht im Bereich -1,0 ... +1,0: z wird der Arcus-Cosinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Arcus-Cosinus des Werts (Mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Arcus-Cosinus im Bogenmaß des Gleitkommawerts im oberen Eintrag wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 281 EMTH-ARCOS: Gleitkomma-Arcuscosinus eines Winkels (im Bogenmaß) 282 31007525 12/2006 EMTH-ARSIN: Gleitkomma-ArcusSinus eines Winkels (im Bogenmaß) 51 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ARSIN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 284 Darstellung 285 Parameterbeschreibung 287 283 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 284 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Darstellung Symbol Darstellung der Anweisung Berechnet den ArcusSinus des Gleitkommawerts Operation erfolgreich Wert Arcus-Sinus des Werts EMTH ARSIN 31007525 12/2006 285 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Bogenmaß) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeich Datenty er-Referenz p Oberer Eingang 0x, 1x Keine EIN = Berechnet den Arcus-Sinus des Werts Wert 4x (oberer Knoten) REAL Gleitkommawert zeigt den Sinus eines Winkels an (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Hier wird ein Gleitkommawert abgelegt, der den Sinus eines Winkels zwischen -Pi/2 und +Pi/2 in Bogenmaß angibt. Dieser Wert (der Sinus eines Winkels) muss im Bereich von -1,0 bis +1,0 liegen, anderenfalls z wird der Arcus-Sinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Arcus-Sinus des Werts (mittlerer Knoten) REAL Arcus-Sinus des Werts im oberen Knoten (erstes von vier benachbarten Registern) 4x ARSIN (unterer Knoten) Oberer Ausgang 286 Bedeutung Auswahl der Unterfunktion ARSIN 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Hier wird ein Gleitkommawert abgelegt, der den Sinus eines Winkels zwischen -π/2 ... π/2 Bogenmaß angibt. Dieser Wert (der Sinus eines Winkels) muss im Bereich von -1,0 ... +1,0 liegen; Liegt der Wert nicht im Bereich -1,0 ... +1,0: z wird der Arcus-Sinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Arcus-Sinus des Werts (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Arcus-Sinus des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 287 EMTH-ARSIN: Gleitkomma-Arcus-Sinus eines Winkels (im Bogenmaß) 288 31007525 12/2006 EMTH-ARTAN: GleitkommaArcustangens eines Winkels (im Bogenmaß) 52 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-ARTAN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 290 Darstellung 291 Parameterbeschreibung 293 289 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 290 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Darstellung Symbol Darstellung der Anweisung Berechnet den ArcusTangens des Gleitkommawerts Operation erfolgreich Wert ArcusTangens des Werts EMTH ARTAN 31007525 12/2006 291 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Bogenmaß) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Berechnet den Arcus-Tangens des Werts Wert (oberer Knoten) 4x REAL Gleitkommawert zeigt den Tangens eines Winkels an (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Hier wird ein Gleitkommawert abgelegt, der den Tangens eines Winkels zwischen -Pi/2 und +Pi/2 in Bogenmaß angibt. Jeder gültige Gleitkommawert ist zulässig. 4x ArcusTangens des Werts (mittlerer Knoten) REAL Arcus-Tangens des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Arcus-Tangens im Bogenmaß des Gleitkommawerts im oberen Knoten wird hier abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. ARTAN (unterer Knoten) Oberer Ausgang 292 Auswahl der Unterfunktion ARTAN 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Parameterbeschreibung Wert (oberer Eintrag) Arcus-Tangens des Werts (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Hier wird ein Gleitkommawert abgelegt, der den Tangens eines Winkels zwischen -π/2 ... π/2 Bogenmaß angibt. Jeder gültige Gleitkommawert ist zulässig. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Arcus-Tangens im Bogenmaß des Gleitkommawerts im oberen Eintrag wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 293 EMTH-ARTAN: Gleitkomma-Arcustangens eines Winkels (im Bogenmaß) 294 31007525 12/2006 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl 53 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CHSIN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 296 Darstellung 297 Parameterbeschreibung 299 295 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 296 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Ändert das Vorzeichen einer Gleitkommazahl Operation erfolgreich Wert -(Wert) EMTH CHSIN 31007525 12/2006 297 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Ändert das Vorzeichen des Gleitkommawerts Wert (oberer Knoten) 4x REAL Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert, dessen Vorzeichen geändert werden soll, wird hier abgelegt. -(Wert) (mittlerer Knoten) 4x REAL Gleitkommawert mit geändertem Vorzeichen (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert des oberen Knotens im oberen Knoten wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register im mittleren Knoten werden nicht in der Operation verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. CHSIN (unterer Knoten) Oberer Ausgang 298 Auswahl der Unterfunktion CHSIN 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl Parameterbeschreibung Gleitkommawert (oberer Eintrag) Gleitkommawert mit geändertem Vorzeichen (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert, dessen Vorzeichen geändert werden soll, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Gleitkommawert des oberen Eintrags mit geändertem Vorzeichen wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 299 EMTH-CHSIN: Änderung des Vorzeichens einer Gleitkommazahl 300 31007525 12/2006 EMTH-CMPFP: Vergleich von Gleitkommawerten 54 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CMPFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 302 Darstellung 303 Parameterbeschreibung 305 301 EMTH-CMPFP: Vergleich von Gleitkommawerten Kurzbeschreibung Funktionsbeschreibung 302 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CMPFP: Vergleich von Gleitkommawerten Darstellung Symbol Darstellung der Anweisung Initiiert Vergleich Operation erfolgreich Wert 1 Wert 1 >= Wert 2 Wert 2 EMTH Wert 1 <= Wert 2 CMPFP 31007525 12/2006 303 EMTH-CMPFP: Vergleich von Gleitkommawerten Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = Initiiert Vergleich Wert 1 4x (oberer Knoten) DINT, UDINT Erster Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der erste zu vergleichende Gleitkommawert (Wert 1) wird hier abgelegt. REAL Zweiter Gleitkommawert (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der zweite Gleitkommawert (Wert 2), der verglichen werden soll, wird in das angezeigte Register und das erste implizierte Register eingegeben. Das zweite und dritte implizierte Register werden nicht im Vergleich verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Wert 2 (mittlerer Knoten) 4x CMPFP (unterer Knoten) 304 Bedeutung Auswahl der Unterfunktion CMPFP Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine Sehen Sie S. 305 an, in der die Beziehung aufgezeigt wird, die aufgebaut wird, wenn CMFIF zwei Gleitkommawerte vergleicht. Unterer Ausgang 0x Keine Sehen Sie S. 305 an, in der die Beziehung aufgezeigt wird, die aufgebaut wird, wenn CMFIF zwei Gleitkommawerte vergleicht. 31007525 12/2006 EMTH-CMPFP: Vergleich von Gleitkommawerten Parameterbeschreibung Wert 1 (oberer Eintrag) Wert 2 (mittlerer Eintrag) Mittlerer und unterer Ausgang 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der erste zu vergleichende Gleitkommawert (Wert 1) wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der zweite zu vergleichende Gleitkommawert (Wert 2) wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Wenn die EMTH-Funktion CMPFP ihre beiden Gleitkommawerte vergleicht, zeigen die kombinierten Zustände des mittleren und unteren Ausgangs ihr Verhältnis zueinander an: Mittlerer Ausgang Unterer Ausgang Beziehung EIN AUS Wert 1 > Wert 2 AUS EIN Wert 1 < Wert 2 EIN EIN Wert 1 = Wert 2 305 EMTH-CMPFP: Vergleich von Gleitkommawerten 306 31007525 12/2006 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich 55 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CMPIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 308 Darstellung 309 Parameterbeschreibung 311 307 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich Kurzbeschreibung Funktionsbeschreibung 308 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich Darstellung Symbol Darstellung der Anweisung Initiieren des Vergleichs Operation erfolgreich Ganzzahl Gleitkommaz ahl EMTH Ganzzahl >= Gleitkommazahl Ganzzahl <= Gleitkommazahl CMPIF 31007525 12/2006 309 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = Initiiert Vergleich Ganzzahl 4x (oberer Knoten) DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der zu vergleichende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Gleitkommazah 4x l (mittlerer Knoten) REAL Gleitkommawert (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert, der verglichen werden soll, wird in das angezeigte Register und das erste implizierte Register eingegeben. Das zweite und dritte implizierte Register werden nicht im Vergleich verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. CMPIF (unterer Knoten) 310 Bedeutung Auswahl der Unterfunktion CMPIF Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine Sehen Sie S. 311 an, in der die Beziehung aufgezeigt wird, die aufgebaut wird, wenn CMPIF zwei Gleitkommawerte vergleicht. Unterer Ausgang 0x Keine Sehen Sie S. 311 an, in der die Beziehung aufgezeigt wird, die aufgebaut wird, wenn CMPIF zwei Gleitkommawerte vergleicht. 31007525 12/2006 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Gleitkommawert (mittlerer Eintrag) Mittlerer und unterer Ausgang 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der zu vergleichende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der zu vergleichende Gleitkommawert wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Wenn die EMTH-Funktion CMPIF den Ganzzahlwert und den Gleitkommawert vergleicht, geben die kombinierten Zustände des mittleren und unteren Ausgangs ihr Verhältnis zueinander an: Mittlerer Ausgang Unterer Ausgang Beziehung EIN AUS Ganzzahl > Gleitkommazahl AUS EIN Ganzzahl < Gleitkommazahl EIN EIN Ganzzahl = Gleitkommazahl 311 EMTH-CMPIF: Ganzzahl-Gleitkommazahl-Vergleich 312 31007525 12/2006 EMTH-CNVDR: GleitkommaKonvertierung von Grad in Bogenmaß 56 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CNVDR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 314 Darstellung 315 Parameterbeschreibung 317 313 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Bogenmaß Kurzbeschreibung Funktionsbeschreibung 314 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Darstellung Symbol Darstellung der Anweisung Initiieren der Konvertierung Operation erfolgreich Wert Ergebnis EMTH CNVDR 31007525 12/2006 315 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Bogenmaß Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = Initiiert Konvertierung von Wert 1 in Wert 2 (Ergebnis) Wert 4x (oberer Knoten) REAL Winkelwert in Grad in Gleitkommaformat (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Wert im Gleitkommaformat eines in Grad ausgedrückten Winkels wird hier abgelegt. Ergebnis (mittlerer Knoten) REAL Konvertiertes Ergebnis (im Bogenmaß) in Gleitkommaformat (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das konvertierte Ergebnis im Gleitkommaformat des oberen Knotenwerts (im Bogenmaß) wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. 4x CNVDR (unterer Knoten) Oberer Ausgang 316 Auswahl der Unterfunktion CNVDR 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Parameterbeschreibung Wert (oberer Eintrag) Ergebnis in Bogenmaß (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Wert im Gleitkomma Format eines in Grad ausgedrückten Winkels wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Das konvertierte Ergebnis im Gleitkommaformat des oberen Eintragswerts (im Bogenmaß) wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 317 EMTH-CNVDR: Gleitkomma-Konvertierung von Grad in Bogenmaß 318 31007525 12/2006 EMTH-CNVFI: GleitkommazahlGanzzahl-Konvertierung 57 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CNVFI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 320 Darstellung 321 Parameterbeschreibung 323 Laufzeitfehler-Behandlung 324 319 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung Kurzbeschreibung Funktionsbeschreibung 320 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung Darstellung Symbol Darstellung der Anweisung Initiiert Gleitkomma-inGanzzahlKonvertierung Operation erfolgreich Gleitkommaz ahl Ganzzahl EMTH AUS = positiver Ganzzahlwert EIN = negativer Ganzzahlwert CNVFI 31007525 12/2006 321 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Konvertierung von Gleitkomma in Ganzzahl Gleitkommazahl 4x (oberer Knoten) REAL Zu konvertierender Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der in das 32-Bit-Gleitkommaformat zu konvertierende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Hinweis: Wenn ein ungültiger Ganzzahlwert ( > 9999) in einem der beiden Register des oberen Knotens eingegeben wird, wird die Gleitkommakonvertierung zwar durchgeführt, jedoch wird in der Funktion EMTH ERLOG (siehe Seite 138) ein Fehler gemeldet und protokolliert. Das Ergebnis der Konvertierung kann in diesem Fall falsch sein. Ganzzahl (mittlerer Knoten) DINT, UDINT Ganzzahlwert (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxx-Registern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das Gleitkommaergebnis der Konvertierung wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht in der Funktion verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. 4x CNVFI (unterer Knoten) Auswahl der Unterfunktion CNVFI Oberer Ausgang 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG Unterer Ausgang Keine AUS = positiver Ganzzahlwert EIN = negativer Ganzzahlwert 322 0x 31007525 12/2006 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung Parameterbeschreibung Ganzzahlwert (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Das ganzzahlige Ergebnis der Konvertierung mit doppelter Genauigkeit wird hier abgelegt. Dieser Wert sollte der größte mö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: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 323 EMTH-CNVFI: Gleitkommazahl-Ganzzahl-Konvertierung Laufzeitfehler-Behandlung Laufzeitfehler 324 Wenn der Ganzzahlwert im Ergebnis für das Ganzzahlformat mit doppelter Genauigkeit zu groß ist (> 99 999 999), wird die Konvertierung zwar durchgeführt, es wird jedoch in der Funktion EMTH_ERLOG ein Fehler angezeigt. 31007525 12/2006 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung 58 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CNVIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 326 Darstellung 327 Parameterbeschreibung 329 Laufzeitfehler-Behandlung 330 325 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung Kurzbeschreibung Funktionsbeschreibung 326 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung Darstellung Symbol Darstellung der Anweisung Initiiert Ganzzahl-inGleitkommakonvertierung Operation erfolgreich Ganzzahl Ergebnis EMTH CNVIF 31007525 12/2006 327 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die Konvertierung von Gleitkomma in Ganzzahl Ganzzahl (oberer Knoten) 4x DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der zu konvertierende Gleitkommawert wird hier abgelegt. Ergebnis (mittlerer Knoten) 4x REAL Ergebnis (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxx-Registern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das Ganzzahlergebnis der Konvertierung wird im zweiten und dritten implizierten Register abgelegt. Dieser Wert sollte der größte mögliche Ganzzahlwert sein, der <= 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 der Ganzzahlwert im Ergebnis für das Ganzzahlformat mit doppelter Genauigkeit zu groß ist (>99.999.999), wird die Konvertierung zwar durchgeführt, es wird jedoch in der Funktion EMTH ERLOG (siehe Seite 138) ein Fehler angezeigt. Das angezeigte Register und das erste implizierte Register im mittleren Knoten werden nicht in der Konvertierung verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxxReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. CNVIF (unterer Knoten) Oberer Ausgang 328 Auswahl der Unterfunktion CNVIF 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Ergebnis (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der in das 32-Bit-Gleitkommaformat zu konvertierende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die übrigen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Konvertierung im Gleitkommaformat wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 329 EMTH-CNVIF: Ganzzahl-Gleitkommazahl-Konvertierung Laufzeitfehler-Behandlung Laufzeitfehler 330 Wenn ein ungültiger Ganzzahlwert ( > 9 999) in einem der beiden Register des oberen Eintrags eingegeben wird, wird die Gleitkommakonvertierung zwar durchgeführt, in der Funktion EMTH_ERLOG wird jedoch ein Fehler gemeldet und protokolliert. Das Ergebnis der Konvertierung kann in diesem Fall falsch sein. 31007525 12/2006 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad 59 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-CNVRD beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 332 Darstellung 333 Parameterbeschreibung 335 331 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad Kurzbeschreibung Funktionsbeschreibung 332 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Darstellung Symbol Darstellung der Anweisung Initiiert die Konvertierung Operation erfolgreich Wert Ergebnis EMTH CNVRD 31007525 12/2006 333 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Konvertierung von Wert 1 in Wert 2 Wert (oberer Knoten) 4x REAL Wert eines Winkels im Bogenmaß im Gleitkommaformat (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Wert eines Winkels im Bogenmaß im Gleitkommaformat wird hier abgelegt. Ergebnis (mittlerer Knoten) 4x REAL Konvertiertes Ergebnis (in Grad) im Gleitkommaformat (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das konvertierte Ergebnis im Gleitkommaformat des oberen Knotenwerts (in Grad) wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxxReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. Auswahl der Unterfunktion CNVRD CNVRD (unterer Knoten) Oberer Ausgang 334 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Parameterbeschreibung Wert (oberer Eintrag) Ergebnis in Grad (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Wert eines Winkels im Bogenmaß im Gleitkommaformat wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die übrigen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Das konvertierte Ergebnis im Gleitkommaformat des Werts im oberen Eintrag (in Grad) wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 335 EMTH-CNVRD: Gleitkomma-Konvertierung von Bogenmaß in Grad 336 31007525 12/2006 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) 60 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-COS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 338 Darstellung 339 Parameterbeschreibung 341 337 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 338 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) Darstellung Symbol Darstellung der Anweisung Berechnet den Cosinus des Gleitkommawerts Operation erfolgreich Wert Cosinus des Werts EMTH COS 31007525 12/2006 339 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = berechnet den Cosinus des Werts Wert 4x (oberer Knoten) REAL Gleitkommawert, der den Wert eines Winkels im Bogenmaß angibt (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Gleitkommawert, der den Wert eines Winkels in Bogenmaß angibt, wird hier abgelegt. Dieser Wert muss < 65536.0 sein, anderenfalls z wird der Cosinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Cosinus des Werts (mittlerer Knoten) REAL Cosinus des Werts im oberen Knoten (erstes von vier benachbarten Registern) 4x Auswahl der Unterfunktion COS COS (unterer Knoten) Oberer Ausgang 340 Bedeutung 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Ein Gleitkommawert, der den Wert eines Winkels in Bogenmaß Erstes impliziertes Register angibt, wird hier abgelegt. Dieser Wert muss < 65 536,0 sein. Falls dieser Wert ≥ 65 536,0 ist: z wird der Cosinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Cosinus des Werts (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Cosinus des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 341 EMTH-COS: Gleitkomma-Cosinus eines Winkels (im Bogenmaß) 342 31007525 12/2006 EMTH-DIVDP: Division mit doppelter Genauigkeit 61 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-DIVDP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 344 Darstellung 345 Parameterbeschreibung 347 Laufzeitfehler-Behandlung 348 343 EMTH-DIVDP: Division mit doppelter Genauigkeit Kurzbeschreibung Funktionsbeschreibung 344 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit doppelter Genauigkeit." 31007525 12/2006 EMTH-DIVDP: Division mit doppelter Genauigkeit Darstellung Symbol Darstellung der Anweisung Oberer Knoten dividiert durch mittleren Knoten Operand 1 Operation erfolgreich EIN = Divisionsrest als Dezimalzahl AUS = Divisionsrest als Bruch Operand 2 Quotient Divisionsrest EMTH Operand außerhalb des Bereichs oder ungültig Operand 2 ist 0 DIVDP Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = Operand 1 dividiert durch Operand 2, und das Ergebnis wird in vorbezeichneten Registern abgelegt. Mittlerer Eingang 0x, 1x Keine EIN = Rest als Dezimalzahl dargestellt AUS = Rest als Bruch dargestellt Operand 1 oberer Knoten 4x DINT, UDINT Operand 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der obere Knoten wird hier abgelegt. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. 345 EMTH-DIVDP: Division mit doppelter Genauigkeit Parameter Signalspeicher- Datentyp Bedeutung Referenz 4x Operand 2 Quotient Rest mittlerer Knoten DINT, UDINT Operand 2, Quotient und Rest (erstes von sechs benachbarten Registern) Das erste von sechs benachbarten 4xxxxRegistern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Hinweis: Da eine Division durch 0 nicht zulässig ist, wird durch einen Wert 0 ein Fehler verursacht. Eine Fehlerbehandlungsroutine setzt die übrigen Register des mittleren Knotens auf 0000 und stellt den unteren Ausgang auf EIN. z Die zweiten und dritten implizierten Register enthalten einen achtstelligen Quotienten. z Im vierten und fünften implizierten Register ist der Restwert enthalten. Wenn der Restwert als Bruch ausgedrückt ist, ist er acht Stellen lang und beide Register werden verwendet. Wenn der Restwert als Dezimalzahl ausgedrückt ist, ist er vier Stellen lang und nur das vierte implizierte Register wird verwendet. Auswahl der Unterfunktion DIVDP" DIVDP (unterer Knoten) 346 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = ein Operand außerhalb des Bereichs oder ungültig Unterer Ausgang 0x Keine EIN = Operand 2 = 0 31007525 12/2006 EMTH-DIVDP: Division mit doppelter Genauigkeit Parameterbeschreibung Operand 1 (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Die niederwertige Hälfte von Operand 1 wird hier abgelegt. Erstes impliziertes Register Die höherwertige Hälfte von Operand 1 wird hier abgelegt. Jedes Register enthält einen Wert im Bereich von 0000 bis 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999. Operand 2, Quotient und Rest (mittlerer Eintrag) 31007525 12/2006 Das erste von sechs benachbarten 4x-Registern wird im mittleren Eintrag abgelegt. Die restlichen fünf Register sind impliziert Register Inhalt Angezeigt Das Register enthält jeweils die niederwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Erstes impliziertes Register Das Register enthält jeweils die höherwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999. Zweites impliziertes Register Drittes impliziertes Register Die Register enthalten einen achtstelligen Quotienten. Viertes impliziertes Register Fünftes impliziertes Register Die Register enthalten den Rest. z Falls er als Dezimalzahl dargestellt ist, besteht er aus vier Ziffern, und es wird nur das vierte implizierte Register verwendet. z Falls er als Bruch dargestellt ist, besteht er aus acht Ziffern, und beide Register werden verwendet. 347 EMTH-DIVDP: Division mit doppelter Genauigkeit Laufzeitfehler-Behandlung Laufzeitfehler 348 Da eine Division durch 0 unzulässig ist, wird beim Wert 0 ein Fehler signalisiert; eine Fehlerbehandlungsroutine setzt in diesem Fall die restlichen Register im mittleren Eintrag auf 0000 und stellt den unteren Ausgang auf EIN. 31007525 12/2006 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl 62 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-DIVFI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 350 Darstellung 351 Parameterbeschreibung 353 349 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl Kurzbeschreibung Funktionsbeschreibung 350 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl Darstellung Symbol Darstellung der Anweisung Initiiert Gleitkomma / Ganzzahl-Operation Operation erfolgreich Gleitkommaz ahl Ganzzahl und Quotient EMTH DIVFI 31007525 12/2006 351 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Gleitkommazahl/Ganzzahl Gleitkommazahl (oberer Knoten) 4x REAL Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der durch den Ganzzahlwert zu teilende Gleitkommawert wird hier abgelegt. Ganzzahl und Quotient (mittlerer Knoten) 4x DINT, UDINT Ganzzahlwert und Quotient (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Ganzzahlwert mit doppelter Genauigkeit, der den Gleitkommawert dividiert, wird im angezeigten und ersten implizierten Register abgelegt und der Quotient im zweiten und dritten implizierten Register. Der Quotient wird im Gleitkommaformat abgelegt. DIVFI (unterer Knoten) Oberer Ausgang 352 Auswahl der Unterfunktion DIVFI 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl Parameterbeschreibung Gleitkommawert (oberer Eintrag) Ganzzahlwert und Quotient (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der durch den Ganzzahlwert zu teilende Gleitkommawert wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die übrigen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Ganzzahlwert mit doppelter Genauigkeit, durch den der Gleitkommawert dividiert wird, wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Der Quotient wird hier im Gleitkommaformat abgelegt. 353 EMTH-DIVFI: Gleitkommazahl dividiert durch Ganzzahl 354 31007525 12/2006 EMTH-DIVFP: Gleitkomma-Division 63 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisungen EMTH-DIVFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 356 Darstellung 357 Parameterbeschreibung 359 355 EMTH-DIVFP: Gleitkomma-Division Kurzbeschreibung Funktionsbeschreibung 356 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-DIVFP: Gleitkomma-Division Darstellung Symbol Darstellung der Anweisung Aktiviert GleitkommaDivision Operation erfolgreich Wert 1 Wert 2 und Quotient EMTH DIVFP 31007525 12/2006 357 EMTH-DIVFP: Gleitkomma-Division Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Wert 1/Wert 2 Wert 1 4x (oberer Knoten) REAL Gleitkommawert 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert 1, der durch den Wert 2 dividiert wird, wird hier abgelegt. Wert 2 und Quotient (mittlerer Knoten) REAL Gleitkommawert 2 und Quotient (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert 2, durch den der Wert 1 dividiert wird, wird im angezeigten und im ersten implizierten Register abgelegt. Der Quotient wird im Gleitkommaformat im zweiten und dritten implizierten Register abgelegt. 4x DIVFP (unterer Knoten) Oberer Ausgang 358 Auswahl der Unterfunktion DIVFP 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-DIVFP: Gleitkomma-Division Parameterbeschreibung Gleitkommawert 1 (oberer Eintrag) Gleitkommawert 2 und Quotient (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert 1, der durch den Wert 2 dividiert wird, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Gleitkommawert 2, der Wert, durch den Wert 1 dividiert wird, wird hier abgelegt Zweites impliziertes Register Drittes impliziertes Register Der Quotient wird hier im Gleitkommaformat abgelegt. 359 EMTH-DIVFP: Gleitkomma-Division 360 31007525 12/2006 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl 64 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung EMTH-DIVIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 362 Darstellung 363 Parameterbeschreibung 365 361 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 362 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Initiiert Ganzzahl/ Gleitkomma-Operation Operation erfolgreich Ganzzahl Gleitkommaza hl und Quotient EMTH DIVIF 31007525 12/2006 363 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Ganzzahl/ Gleitkommazahl Ganzzahl 4x (oberer Knoten) DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der durch den Gleitkommawert zu teilende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Gleitkommazah 4x l und Quotient (mittlerer Knoten) REAL Gleitkommawert und Quotient (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Gleitkommawert enthalten, der in der Operation dividiert wird, und der Quotient wird im zweiten und dritten implizierten Register abgelegt. Der Quotient wird im Gleitkommaformat abgelegt. DIVIF (unterer Knoten) Oberer Ausgang 364 Bedeutung Auswahl der Unterfunktion DIVIF 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Gleitkommawert und Quotient (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der durch den Gleitkommawert zu teilende Ganzzahlwert mit doppelter Genauigkeit wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die übrigen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert, durch den in der Operation zu dividieren ist, wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Der Quotient wird hier im Gleitkommaformat abgelegt. 365 EMTH-DIVIF: Ganzzahl dividiert durch Gleitkommazahl 366 31007525 12/2006 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten 65 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisungen EMTH-ERLOG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 368 Darstellung: EMTH - ERLOG - mathematische Funktionen mit Gleitkomma Fehlerprotokollierung 369 Parameterbeschreibung 371 367 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten Kurzbeschreibung Funktionsbeschreibung 368 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten Darstellung: EMTH - ERLOG - mathematische Funktionen mit Gleitkomma Fehlerprotokollierung Symbol Darstellung der Anweisung FORDERT EIN PROTOKOLL DER FEHLERTYPEN SEIT DEM LETZTEN AUFRUF AN ABRUF ERFOLGREICH nicht verwendet Fehlerdaten EMTH ERLOG 31007525 12/2006 EIN = WERTE UNGLEICH NULL IM FEHLERPROTOKOLLREGISTER AUS = ALLES NULLEN IM FEHLERPROTOKOLLREGISTER 369 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten Parameterbeschreibung Parameter Beschreibung der Anweisungsparameter Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = fordert ein Protokoll der Fehlertypen seit dem letzten Aufruf an nicht verwendet 4x (oberer Knoten) INT, UINT, DINT, UDINT, REAL In der Operation nicht verwendet (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Diese beiden Register werden bei der Operation nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen sein. 4x INT, UINT, DINT, UDINT, REAL Fehlerprotokoll-Register (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxx-Registern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das zweite implizierte Register dient als Fehlerprotokollregister. (Ausführliche Informationen zur Fehlerprotokollierung finden Sie S. 371 im Abschnitt Parameterbeschreibung. Alle Bits des dritten implizierten Registers sind auf Null gesetzt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und das erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenzadressen vergeben wie für die Register des oberen Knotens, die zwar zugeordnet werden müssen, aber nicht verwendet werden. Fehlerdaten (mittlerer Knoten) SignalspeicherReferenz ERLOG (unterer Knoten) Auswahl der Unterfunktion ERLOG Oberer Ausgang 0x Keine EIN = Abruf erfolgreich Mittlerer Ausgang 0x Keine EIN = Werte ungleich Null im Fehlerprotokollregister AUS = Fehlerprotokollregister enthält nur Nullen 370 31007525 12/2006 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten Parameterbeschreibung Nicht verwendet (oberer Eintrag) Fehlerdaten (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese beiden Register werden bei der Operation nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen sein. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die übrigen drei Register sind impliziert. Register Inhalt Angezeigt Fehlerprotokoll-Register, siehe Tabelle. Erstes impliziertes Register Alle Bits dieses Registers sind auf Null gesetzt. Zweites impliziertes Register Drittes impliziertes Register Diese beiden Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Hinweis: Um Register einzusparen, können Sie für das angezeigte und das erste implizierte Register des mittleren Eintrags dieselben 4x-Referenzadressen vergeben wie für die Register des oberen Eintrags, die zwar zugeordnet werden müssen, aber nicht verwendet werden. FehlerprotokollRegister Verwendung des Fehlerprotokoll-Registers: 1 2 3 4 5 6 7 8 9 10 11 12 13 Bit Funktion 1-8 Funktionscode des letzten protokollierten Fehlers 9 - 11 Nicht verwendet 14 12 Ganzzahl/Gleitkommazahl-Konvertierungsfehler 13 Potenz der Exponentialfunktion zu groß 14 Ungültiger Gleitkommawert oder ungültige Operation 15 Gleitkomma-Überlauf 16 Gleitkomma-Unterlauf 15 16 Falls das Bit auf 1 gesetzt ist, liegt die spezifische Fehlerbedingung für dieses Bit vor. 31007525 12/2006 371 EMTH-ERLOG: Fehlerprotokollierung von Gleitkommawerten 372 31007525 12/2006 EMTH-EXP: Exponentialfunktion mit Gleitkomma 66 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-EXP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 374 Darstellung 375 Parameterbeschreibung 377 373 EMTH-EXP: Exponentialfunktion mit Gleitkomma Kurzbeschreibung Funktionsbeschreibung 374 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-EXP: Exponentialfunktion mit Gleitkomma Darstellung Symbol Darstellung der Anweisung Berechnet die Exponentialfunktion des Werts Operation erfolgreich Wert Ergebnis EMTH EXP 31007525 12/2006 375 EMTH-EXP: Exponentialfunktion mit Gleitkomma Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = berechnet die Exponentialfunktion des Werts Wert (oberer Knoten) 4x REAL Wert im Gleitkommaformat (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Wert im Gleitkommaformat im Bereich von -87,34 bis +88,72 wird hier abgelegt. Wenn der Wert außerhalb des Bereichs liegt, ist das Ergebnis entweder 0 oder der Maximalwert. Es erfolgt keine Fehlermeldung. Ergebnis (mittlerer Knoten) 4x REAL Potenz des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Potenz des Werts im oberen Knoten wird im Gleitkommaformat im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxxReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. Auswahl der Unterfunktion EXP EXP (unterer Knoten) Oberer Ausgang 376 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-EXP: Exponentialfunktion mit Gleitkomma Parameterbeschreibung Wert (oberer Eintrag) Ergebnis (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Ein Wert im Gleitkommaformat im Bereich von -87,34 ... +88,72 wird hier abgelegt. Wenn der Wert außerhalb des Bereichs liegt, ist das Ergebnis entweder 0 oder der Maximalwert. Es erfolgt keine Fehlermeldung. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Die Potenz des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 377 EMTH-EXP: Exponentialfunktion mit Gleitkomma 378 31007525 12/2006 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma 67 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-LNFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 380 Darstellung 381 Parameterbeschreibung 383 379 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma Kurzbeschreibung Funktionsbeschreibung 380 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma Darstellung Symbol Darstellung der Anweisung Berechnet den natürlichen Logarithmus des Werts Operation erfolgreich Wert Ergebnis EMTH LNFP 31007525 12/2006 381 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = berechnet den natürlichen Logarithmus des Werts Wert (oberer Knoten) 4x REAL Wert > 0 im Gleitkommaformat (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Wert > 0 wird hier im Gleitkommaformat abgelegt. Wenn der Wert <= 0 ist, wird im mittleren Knoten ein ungültiges Ergebnis ausgegeben, und in der Funktion EMTH ERLOG wird ein Fehler protokolliert. Ergebnis (mittlerer Knoten) 4x REAL Natürlicher Logarithmus des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der natürliche Logarithmus des Werts im oberen Knoten wird im Gleitkommaformat im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxxReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. Auswahl der Unterfunktion LNFP LNFP (unterer Knoten) Oberer Ausgang 382 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma Parameterbeschreibung Wert (oberer Eintrag) Ergebnis (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Ein Wert > 0 wird hier im Gleitkommaformat abgelegt. Wenn der Wert ≤ 0 ist, wird im mittleren Eintrag ein ungültiges Ergebnis ausgegeben, und in der Funktion EMTH-ERLOG wird ein Fehler protokolliert. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der natürliche Logarithmus des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 383 EMTH-LNFP: Natürlicher Logarithmus mit Gleitkomma 384 31007525 12/2006 EMTH-LOG: Logarithmus zur Basis 10 68 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-LOG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 386 Darstellung 387 Parameterbeschreibung 389 385 EMTH-LOG: Logarithmus zur Basis 10 Kurzbeschreibung Funktionsbeschreibung 386 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Ganzzahlen." 31007525 12/2006 EMTH-LOG: Logarithmus zur Basis 10 Darstellung Symbol Darstellung der Anweisung Aktiviert die Operation log(x) Operation erfolgreich Quelle Ergebnis Fehler oder Wert außerhalb des Bereichs EMTH LOG 31007525 12/2006 387 EMTH-LOG: Logarithmus zur Basis 10 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die Operation log(x) frei Quelle (oberer Knoten) 3x, 4x DINT, UDINT Quellwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert, auf den sich die logarithmische Berechnung stützt, wird in diesen Registern abgelegt. Wenn Sie ein 4xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 99.999.99 liegen. Die niederwertige Hälfte des Werts wird im implizierten Register abgelegt und die höherwertige im angezeigten Register. Wenn Sie ein 3xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 9.999 liegen. Die Berechnung der Quadratwurzel erfolgt nur für den Wert im angezeigten Register, das implizierte Register ist erforderlich, wird aber nicht verwendet. Ergebnis (mittlerer Knoten) 4x INT, UINT Ergebnis Der mittlere Knoten enthält ein einziges 4xxxxAusgangsregister, wo das Ergebnis der logarithmischen Berechnung zur Basis 10 abgelegt wird. Das Ergebnis wird im festen Dezimalformat 1.234 dargestellt und nach der dritten Dezimalstelle abgeschnitten. Das größtmögliche berechenbare Ergebnis ist 7.999. Dieses Ergebnis würde im mittleren Register als 7999 abgelegt werden. LOG (unterer Knoten) 388 Auswahl der Unterfunktion LOG Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Fehler oder Wert außerhalb des Bereichs 31007525 12/2006 EMTH-LOG: Logarithmus zur Basis 10 Parameterbeschreibung Quellwert (oberer Eintrag) Das erste von zwei benachbarten 3x- oder 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Der Quellwert, auf den sich die logarithmische Berechnung stützt, wird in diesen Registern abgelegt. Wenn Sie ein 4x-Register spezifizieren, kann der Quellwert im Bereich von 0 ... 99 999 99 liegen: Register Inhalt Angezeigt Die höherwertige Hälfte des Werts wird hier abgelegt. Erstes impliziertes Register Die niederwertige Hälfte des Werts wird hier abgelegt. Wenn Sie ein 3x-Register spezifizieren, kann der Quellwert im Bereich von 0 ... 9 999 liegen: Register Inhalt Angezeigt Der Quellwert, mit dem die Berechnung des Logarithmus durchgeführt wird, wird hier abgelegt. Erstes impliziertes Register Dieses Register ist erforderlich, wird aber nicht verwendet. Ergebnis (mittlerer Eintrag) Der mittlere Eintrag enthält ein einziges 4x-Ausgangsregister, wo das Ergebnis der logarithmischen Berechnung zur Basis 10 abgelegt wird. Das Ergebnis wird im festen Dezimalformat 1.234 dargestellt und nach der dritten Dezimalstelle abgeschnitten. Das größtmögliche errechenbare Ergebnis ist 7.999; dieses Ergebnis würde im mittleren Register in der Form 7999 abgelegt werden. 31007525 12/2006 389 EMTH-LOG: Logarithmus zur Basis 10 390 31007525 12/2006 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma 69 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-LOGFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 392 Darstellung 393 Parameterbeschreibung 395 391 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma Kurzbeschreibung Funktionsbeschreibung 392 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma Darstellung Symbol Darstellung der Anweisung Berechnet den allgemeinen Logarithmus des Werts Operation erfolgreich Wert Ergebnis EMTH LOGFP 31007525 12/2006 393 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = berechnet den Zehnerlogarithmus des Werts Wert (oberer Knoten) 4x REAL Wert > 0 im Gleitkommaformat (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Wert > 0 wird hier im Gleitkommaformat abgelegt. Wenn der Wert <= 0 ist, wird im mittleren Knoten ein ungültiges Ergebnis ausgegeben, und in der Funktion EMTH ERLOG wird ein Fehler protokolliert. Ergebnis (mittlerer Knoten) 4x REAL Zehnerlogarithmus des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der allgemeine Logarithmus des Werts im oberen Knoten wird im Gleitkommaformat im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxxReferenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. Auswahl der Unterfunktion LOGFP LOGFP (unterer Knoten) Oberer Ausgang 394 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Ein Wert > 0 wird hier im Gleitkommaformat abgelegt. Erstes impliziertes Wenn der Wert ≤ 0 ist, wird im mittleren Eintrag ein ungültiges Ergebnis Register ausgegeben, und in der Funktion EMTH-ERLOG wird ein Fehler protokolliert. Ergebnis (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Zehnerlogarithmus des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 395 EMTH-LOGFP: Zehnerlogarithmus mit Gleitkomma 396 31007525 12/2006 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit 70 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-MULDP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 398 Darstellung 399 Parameterbeschreibung 401 397 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit Kurzbeschreibung Funktionsbeschreibung 398 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit doppelter Genauigkeit." 31007525 12/2006 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit Darstellung Symbol Darstellung der Anweisung Oberer Knoten multipliziert mit mittlerem Knoten Operation erfolgreich Operand 1 Operand 2/ Produkt Operand außerhalb des Bereichs oder ungültig EMTH MULDP 31007525 12/2006 399 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Operand 1 x Operand 2 Das Produkt wird in vorbezeichneten Registern abgelegt. Operand 1 (oberer Knoten) 4x DINT, UDINT Operand 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4x-Registern wird im oberen Knoten eingegeben. Das zweite 4x-Register ist impliziert. Hier wird der Operand 1 abgelegt. Das zweite 4x-Register ist impliziert. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die höherwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die niederwertige im implizierten Register. Operand 2/ Produkt (mittlerer Knoten) 4x DINT, UDINT Operand 2 und Produkt (erstes von sechs benachbarten Registern) Das erste von sechs benachbarten 4xxxxRegistern wird im mittleren Knoten abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z In den letzten vier implizierten Registern ist das Produkt mit doppelter Genauigkeit im Bereich von 0 bis 9.999.999.999.999.999 enthalten. MULDP (unterer Knoten) 400 Auswahl der Unterfunktion MULDP Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Operand außerhalb des Bereichs 31007525 12/2006 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit Parameterbeschreibung Operand 1 (oberer Eintrag) Operand 2 und Produkt (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite 4x-Register ist impliziert. Hier wird der Operand 1 abgelegt. Register Inhalt Angezeigt Register enthält die niederwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Erstes impliziertes Register Register enthält die höherwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Das erste von sechs benachbarten 4x-Registern wird im mittleren Eintrag abgelegt. Die restlichen fünf Register sind impliziert: Register Inhalt Angezeigt Das Register enthält jeweils die niederwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Erstes impliziertes Register Das Register enthält jeweils die höherwertige Hälfte von Operand 2, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Zweites impliziertes Register Drittes impliziertes Register Viertes impliziertes Register Fünftes impliziertes Register Diese Register enthalten das Produkt mit doppelter Genauigkeit im Bereich von 0 ... 9 999 999 999 999 999 401 EMTH-MULDP: Multiplikation mit doppelter Genauigkeit 402 31007525 12/2006 EMTH-MULFP: Gleitkomma-Multiplikation 71 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-MULFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 404 Darstellung 405 Parameterbeschreibung 407 403 EMTH-MULFP: Gleitkomma-Multiplikation Kurzbeschreibung Funktionsbeschreibung 404 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-MULFP: Gleitkomma-Multiplikation Darstellung Symbol Darstellung der Anweisung Aktiviert GleitkommaMultiplikation Wert 1 Operation erfolgreich Wert 2 und Produkt EMTH MULFP 31007525 12/2006 405 EMTH-MULFP: Gleitkomma-Multiplikation Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die Multiplikation von Gleitkommazahlen Wert 1 4x (oberer Knoten) REAL Gleitkommawert 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert 25.400000 mm der Multiplikationsoperation wird hier abgelegt. Wert 2 und Produkt (mittlerer Knoten) REAL Gleitkommawert 2 und Produkt (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert 2 in der Multiplikationsoperation wird im angezeigten Register und im ersten implizierten Register abgelegt. Das Produkt der Multiplikation wird im Gleitkommaformat im zweiten und dritten implizierte Register abgelegt. 4x MULFP (unterer Knoten) Oberer Ausgang 406 Bedeutung Auswahl der Unterfunktion MULFP 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-MULFP: Gleitkomma-Multiplikation Parameterbeschreibung Gleitkommawert 1 (oberer Eintrag) Gleitkommawert 2 und Produkt (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert 25.400000 mm der Multiplikationsoperation wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert 2 der Multiplikationsoperation wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Multiplikation wird hier im Gleitkommaformat abgelegt. 407 EMTH-MULFP: Gleitkomma-Multiplikation 408 31007525 12/2006 EMTH-MULIF: Multiplikation von Ganzzahl und Gleitkommazahl 72 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-MULIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 410 Darstellung 411 Parameterbeschreibung 413 409 EMTH-MULIF: Multiplikation Ganzzahl x Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 410 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-MULIF: Multiplikation Ganzzahl x Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Initiiert Integer X Gleitkomma-Operation Operation erfolgreich Ganzzahl Gleitkomma und Produkt EMTH MULIF 31007525 12/2006 411 EMTH-MULIF: Multiplikation Ganzzahl x Gleitkommazahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Ganzzahl x Gleitkommazahl Ganzzahl (oberer Knoten) 4x DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Ganzzahlwert mit doppelter Genauigkeit, der mit dem Gleitkommawert zu multiplizieren ist, wird hier abgelegt. Gleitkomm azahl und Produkt (mittlerer Knoten) 4x REAL Gleitkommawert und Produkt (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Gleitkommawert enthalten, der in der Operation multipliziert wird, und das Produkt wird im zweiten und dritten implizierten Register abgelegt. Das Produkt wird im Gleitkommaformat abgelegt. Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Gleitkommawert enthalten, der in der Operation multipliziert wird, und das Produkt wird im zweiten und dritten implizierten Register abgelegt. Das Produkt wird im Gleitkommaformat abgelegt. Auswahl der Unterfunktion MULIF MULIF (unterer Knoten) Oberer Ausgang 412 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-MULIF: Multiplikation Ganzzahl x Gleitkommazahl Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Gleitkommazahl und Produkt (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Ganzzahlwert mit doppelter Genauigkeit, der mit dem Gleitkommawert zu multiplizieren ist, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert, der in der Operation zu multiplizieren ist, wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Multiplikation wird hier im Gleitkommaformat abgelegt. 413 EMTH-MULIF: Multiplikation Ganzzahl x Gleitkommazahl 414 31007525 12/2006 EMTH-PI: Laden des Gleitkommawerts von "Pi" 73 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-PI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 416 Darstellung 417 Parameterbeschreibung 419 415 EMTH-PI: Laden des Gleitkommawerts von "Pi" Kurzbeschreibung Funktionsbeschreibung 416 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-PI: Laden des Gleitkommawerts von "Pi" Darstellung Symbol Darstellung der Anweisung Lädt den Gleitkommawert von Pi in die Register des mittleren Knotens Operation erfolgreich nicht verwendet Gleitkommawe rt von π EMTH PI 31007525 12/2006 417 EMTH-PI: Laden des Gleitkommawerts von "Pi" Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = lädt den Gleitkommawert von π in das Register des mittleren Knotens nicht verwendet 4x (oberer Knoten) REAL Erstes von zwei benachbarten Registern Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Gleitkommawer 4x t von π (mittlerer Knoten) REAL Gleitkommawert von π (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert von p wird im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. PI (unterer Knoten) Oberer Ausgang 418 Auswahl der Unterfunktion PI 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-PI: Laden des Gleitkommawerts von "Pi" Parameterbeschreibung Nicht verwendet (oberer Eintrag) Gleitkommawert von π (mittlerer Eintrag) Das erste der beiden 4x-Register wird im mittleren Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Diese Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Gleitkommawert von π wird hier abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 419 EMTH-PI: Laden des Gleitkommawerts von "Pi" 420 31007525 12/2006 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten 74 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-POW beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 422 Darstellung: EMTH - POW - Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten 423 Parameterbeschreibung 425 421 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten Kurzbeschreibung Funktionsbeschreibung 422 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem Darstellung: EMTH - POW - Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten Symbol Darstellung der Anweisung BERECHNET DAS ERGEBNIS DER POTENZIERUNG DES GLEITKOMMAWERTS MIT DEM GANZZAHLIGEN EXPONENTEN Gleitkomma wert OPERATION ERFOLGREICH Ganzzahl und Ergebnis EMTH POW 31007525 12/2006 423 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = berechnet das Ergebnis der Potenzierung des Gleitkommawerts mit dem ganzzahligen Exponenten Gleitkommawert 4x (oberer Knoten) REAL Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der mit dem ganzzahligen Exponenten zu potenzierende Gleitkommawert wird hier abgelegt. Ganzzahl und Ergebnis (mittlerer Knoten) INT, UINT Ganzzahlwert und Ergebnis (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Die Bitwerte im angezeigten Register müssen alle auf Null gesetzt werden. Ein Ganzzahlwert, der den Exponenten darstellt, mit dem der Wert im oberen Knoten potenziert werden soll, wird im ersten implizierten Register abgelegt. Das Ergebnis der Potenzierung des Gleitkommawerts mit dem ganzzahligen Exponenten wird im zweiten und dritten implizierten Register abgelegt. 4x POW (unterer Knoten) Oberer Ausgang 424 Auswahl der Unterfunktion POW 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem Parameterbeschreibung Gleitkommawert (oberer Eintrag) Ganzzahl und Ergebnis (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert: Register Inhalt Angezeigt Erstes impliziertes Register Der mit dem ganzzahligen Exponenten zu potenzierende Gleitkommawert wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert: Register Inhalt Angezeigt Die Bitwerte in diesem Register müssen alle auf Null gesetzt werden. Erstes impliziertes Register Ein Ganzzahlwert, der den Exponenten darstellt, mit dem der Wert im oberen Eintrag potenziert werden soll, wird hier abgelegt. Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Potenzierung des Gleitkommawerts mit dem ganzzahligen Exponenten wird hier abgelegt. 425 EMTH-POW: Potenzieren einer Gleitkommazahl mit einem ganzzahligen Exponenten 426 31007525 12/2006 EMTH-SINE: Gleitkomma–Sinus eines Winkels (im Bogenmaß) 75 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SINE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 428 Darstellung: EMTH - SINE - mathematische Funktionen mit Gleitkomma Sinus eines Winkels (im Bogenmaß) 429 Parameterbeschreibung 431 427 EMTH-SINE: Gleitkomma-Sinus eines Winkels (im Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 428 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-SINE: Gleitkomma-Sinus eines Winkels (im Bogenmaß) Darstellung: EMTH - SINE - mathematische Funktionen mit Gleitkomma - Sinus eines Winkels (im Bogenmaß) Symbol Darstellung der Anweisung BERECHNET DEN SINUS DES WERTS OPERATION ERFOLGREICH Wert Sinus des Werts EMTH SINE 31007525 12/2006 429 EMTH-SINE: Gleitkomma-Sinus eines Winkels (im Bogenmaß) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = berechnet den Sinus des Werts Wert (oberer Knoten) 4x REAL Gleitkommawert, der den Wert eines Winkels im Bogenmaß angibt (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Gleitkommawert, der den Wert eines Winkels in Bogenmaß angibt, wird hier abgelegt. Dieser Wert muss < 65536.0 sein, anderenfalls z wird der Sinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Sinus des Werts (mittlerer Knoten) 4x REAL Sinus des Werts im oberen Knoten (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Sinus des Werts im oberen Knoten wird im zweiten und dritten implizierten Register im Gleitkommaformat abgelegt. Das angezeigte Register und das erste implizierte Register werden nicht verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. Auswahl der Unterfunktion SINE SINE (unterer Knoten) Oberer Ausgang 430 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-SINE: Gleitkomma-Sinus eines Winkels (im Bogenmaß) Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Ein Gleitkommawert, der den Wert eines Winkels in Bogenmaß angibt, wird hier abgelegt. Dieser Wert muss < 65 536,0 sein. Falls der Wert ≥ 65 536,0 ist: z wird der Sinus nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Sinus des Werts (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Sinus des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 431 EMTH-SINE: Gleitkomma-Sinus eines Winkels (im Bogenmaß) 432 31007525 12/2006 EMTH-SQRFP: Gleitkomma-Quadratwurzel 76 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SQRFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 434 Darstellung 435 Parameterbeschreibung 437 433 EMTH-SQRFP: Gleitkomma-Quadratwurzel Kurzbeschreibung Funktionsbeschreibung 434 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-SQRFP: Gleitkomma-Quadratwurzel Darstellung Symbol Darstellung der Anweisung Initiiert die Berechnung der Quadratwurzel aus einem Gleitkommawert Wert Operation erfolgreich Ergebnis EMTH SQRFP 31007525 12/2006 435 EMTH-SQRFP: Gleitkomma-Quadratwurzel Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert die Berechnung der Quadratwurzel aus einem Gleitkommawert Wert 4x (oberer Knoten) REAL Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert, dessen Quadratwurzel bestimmt wird, wird hier abgelegt. Ergebnis (mittlerer Knoten) REAL Ergebnis im Gleitkommaformat (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Das Ergebnis des Ziehens der Quadratwurzel wird im Gleitkommaformat im zweiten und dritten implizierten Register abgelegt. Das angezeigte Register und das erste implizierte Register im mittleren Knoten werden nicht in der Operation verwendet, jedoch müssen sie im Signalspeicher zugewiesen werden. Tipp: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Knotens dieselben 4xxxx-Referenznummern vergeben wie für die Register des oberen Knotens, da die zwei ersten Register des mittleren Knotens nicht benutzt werden. 4x Auswahl der Unterfunktion SQRFP SQRFP (unterer Knoten) Oberer Ausgang 436 Bedeutung 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-SQRFP: Gleitkomma-Quadratwurzel Parameterbeschreibung Gleitkommawert (oberer Eintrag) Ergebnis (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert, dessen Quadratwurzel bestimmt wird, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Operation des Ziehens der Quadratwurzel wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 437 EMTH-SQRFP: Gleitkomma-Quadratwurzel 438 31007525 12/2006 EMTH-SQRT: Gleitkomma-Quadratwurzel 77 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SQRT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 440 Darstellung 441 Parameterbeschreibung 443 439 EMTH-SQRT: Gleitkomma-Quadratwurzel Kurzbeschreibung Funktionsbeschreibung 440 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Ganzzahlen." 31007525 12/2006 EMTH-SQRT: Gleitkomma-Quadratwurzel Darstellung Symbol Darstellung der Anweisung Initiiert eine StandardSQRT-Operation Operation erfolgreich Quelle Ergebnis Wert des oberen Knotens außerhalb des Bereichs EMTH SQRT 31007525 12/2006 441 EMTH-SQRT: Gleitkomma-Quadratwurzel Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert eine standardmäßige Operation des Ziehens der Quadratwurzel Quelle (oberer Knoten) 3x, 4x DINT, UDINT Quellwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert (Wert, dessen Quadratwurzel abgeleitet wird) wird hier abgelegt. Wenn Sie ein 4xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 99.999.99 liegen. Die niederwertige Hälfte des Werts wird im implizierten Register abgelegt und die höherwertige im angezeigten Register. Wenn Sie ein 3xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 9.999 liegen. Die Berechnung der Quadratwurzel erfolgt nur für den Wert im angezeigten Register, das implizierte Register ist erforderlich, wird aber nicht verwendet. Ergebnis (mittlerer Knoten) 4x DINT, UDINT Ergebnis (erstes von zwei benachbarten Registern) Geben Sie das erste von zwei benachbarten 4xxxx-Registern im mittleren Knoten ein. Das zweite Register ist impliziert. Das Ergebnis des standardmäßigen Ziehens der Quadratwurzel wird hier abgelegt. Das Ergebnis wird im festen Dezimalformat abgelegt: 1234.5600. Das angezeigte Register speichert den vierstelligen Wert links neben der ersten Dezimalstelle, und das implizierte Register speichert den vierstelligen Wert rechts neben der ersten Dezimalstelle. Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. Auswahl der Unterfunktion SQRT SQRT (unterer Knoten) 442 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Quellwert außerhalb des Bereichs 31007525 12/2006 EMTH-SQRT: Gleitkomma-Quadratwurzel Parameterbeschreibung Quellwert (oberer Eintrag) Das erste von zwei benachbarten 3x- oder 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Der Quellwert, d.h. der Wert, dessen Quadratwurzel abgeleitet wird, wird hier abgelegt. Wenn Sie ein 4x-Register spezifizieren, kann der Quellwert im Bereich von 0 ... 99 999 99 liegen: Register Inhalt Angezeigt Die höherwertige Hälfte des Werts wird hier abgelegt. Erstes impliziertes Register Die niederwertige Hälfte des Werts wird hier abgelegt. Wenn Sie ein 3x-Register spezifizieren, kann der Quellwert im Bereich von 0 ... 9 999 liegen: Ergebnis (mittlerer Eintrag) Register Inhalt Angezeigt Die Berechnung der Quadratwurzel wird nur für den Wert im angezeigten Register ausgeführt Erstes impliziertes Register Dieses Register ist erforderlich, wird aber nicht verwendet. Geben Sie das erste von zwei benachbarten 4x-Registern im mittleren Eintrag ein. Das zweite Register ist impliziert. Das Ergebnis der Standardoperation des Ziehens der Quadratwurzel wird hier im festen Dezimalformat abgelegt: 1234.5600.:. Register Inhalt Angezeigt In diesem Register wird der vierstellige Wert links vom ersten Dezimalkomma abgelegt. Erstes impliziertes Register In diesem Register wird der vierstellige Wert rechts vom ersten Dezimalkomma abgelegt. Hinweis: Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. 31007525 12/2006 443 EMTH-SQRT: Gleitkomma-Quadratwurzel 444 31007525 12/2006 EMTH-SQRTP: ProzessQuadratwurzel 78 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SQRTP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 446 Darstellung 447 Parameterbeschreibung 449 Beispiel 450 445 EMTH-SQRTP: Prozess-Quadratwurzel Kurzbeschreibung Funktionsbeschreibung Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Ganzzahlen." Die Funktion Prozess-Quadratwurzel schneidert die Standard-Quadratwurzelfunktion auf geschlossene analoge Regelungsapplikationen zu. Grundlage der Funktion ist das Ergebnis der Standard-Quadratwurzel, dieses wird mit 63.9922 multipliziert (der Quadratwurzel von 4095) und das linearisierte Ergebnis wird dann im mittleren Eintrag abgelegt. Die Prozess-Quadratwurzel wird häufig verwendet, um Signale von DifferenzdruckDurchfluss-Gebern zu linearisieren, so dass diese bei Regelungsoperationen im geschlossenen Kreis als Eingänge verwendet werden können. 446 31007525 12/2006 EMTH-SQRTP: Prozess-Quadratwurzel Darstellung Symbol Darstellung der Anweisung Initiiert einen Prozess QuadratwurzelOperation Operation erfolgreich Quelle linearisiertes Ergebnis Wert des oberen Knotens außerhalb des Bereichs EMTH SQRTP 31007525 12/2006 447 EMTH-SQRTP: Prozess-Quadratwurzel Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert eine Operation des Ziehens der Prozess-Quadratwurzel Quelle (oberer Knoten) 3x, 4x DINT, UDINT Quellwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert (Wert, dessen Quadratwurzel abgeleitet wird) wird in diesen zwei Registern abgelegt. Damit Werte generiert werden, die eine Bedeutung haben, darf der Quellwert nicht größer sein als 4095. In einer 4xxxxRegistergruppe wird der Quellwert darum im implizierten Register abgelegt und in einer 3xxxx-Registergruppe im angezeigten Register. linearisiert es Ergebnis (mittlerer Knoten) 4x DINT, UDINT Linearisiertes Ergebnis (erstes von zwei benachbarten Registern) Das erste der beiden 4xxxx-Register wird im mittleren Knoten eingegeben. Das zweite Register ist impliziert. Das linearisierte Ergebnis des Ziehens der Prozess-Quadratwurzel wird hier abgelegt. Das Ergebnis wird im festen Dezimalformat abgelegt: 1234.5600. Das angezeigte Register speichert den vierstelligen Wert links neben der ersten Dezimalstelle, und das implizierte Register speichert den vierstelligen Wert rechts neben der ersten Dezimalstelle. Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. Auswahl der Unterfunktion SQRTP SQRTP (unterer Knoten) 448 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = Quellwert außerhalb des Bereichs 31007525 12/2006 EMTH-SQRTP: Prozess-Quadratwurzel Parameterbeschreibung Quellwert (oberer Eintrag) Das erste von zwei benachbarten 3x- oder 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Der Quellwert, d.h. der Wert, dessen Quadratwurzel abgeleitet wird, wird hier abgelegt. Damit Werte generiert werden, die eine Bedeutung haben, darf der Quellwert nicht größer sein als 4 095. Wenn Sie ein 4x-Register spezifizieren: Register Inhalt Angezeigt Nicht verwendet Erstes impliziertes Register Der Quellwert wird hier abgelegt Wenn Sie ein 3x-Register spezifizieren: Linearisiertes Ergebnis (mittlerer Eintrag) Register Inhalt Angezeigt Der Quellwert wird hier abgelegt Erstes impliziertes Register Nicht verwendet. Das erste der beiden 4x-Register wird im mittleren Eintrag eingegeben. Das zweite Register ist impliziert. Das linearisierte Ergebnis der Operation des Ziehens der Prozess-Quadratwurzel wird hier im festen Dezimalformat abgelegt 1234.5600.. Register Inhalt Angezeigt In diesem Register wird der vierstellige Wert links vom ersten Dezimalkomma abgelegt. Erstes impliziertes Register In diesem Register wird der vierstellige Wert rechts vom ersten Dezimalkomma abgelegt. Hinweis: Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. 31007525 12/2006 449 EMTH-SQRTP: Prozess-Quadratwurzel Beispiel Funktion ProzessQuadratwurzel Dieses Beispiel gibt Ihnen einen raschen Überblick darüber, wie die ProzessQuadratwurzel berechnet wird. Instruktion 300030 400030 EMTH SQRTP Angenommen, im Register 300030 der EMTH-Funktion SQRTP wird ein Quellwert von 2000 abgelegt. Zunächst wird eine Standard-Quadratwurzeloperation durchgeführt: 2000 = 0044.72 Dieses Ergebnis wird dann mit 63.9922 multipliziert, was ein linearisiertes Ergebnis von 2861,63 liefert. 0044.72 × 63.9922 = 2861.63 Das linearisierte Ergebnis wird in den zwei Registern im mittleren Eintrag abgelegt: 450 Register Teil des Ergebnisses 400030 2861 (vierstelliger Wert links vom ersten Dezimalkomma) 400031 6300 (vierstelliger Wert rechts vom ersten Dezimalkomma) 31007525 12/2006 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit 79 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SUBDP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 452 Darstellung: EMTH - SUBDP - mathematische Funktionen mit doppelter Genauigkeit - Subtraktion 453 Parameterbeschreibung 455 451 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit Kurzbeschreibung Funktionsbeschreibung 452 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit doppelter Genauigkeit." 31007525 12/2006 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit Darstellung: EMTH - SUBDP - mathematische Funktionen mit doppelter Genauigkeit - Subtraktion Symbol Darstellung der Instruktion SUBTRAHIERT DEN MITTLEREN EINTRAG VOM OBEREN EINTRAG Operand 1 Operand 2/ Differenz EMTH OBERER EINTRAG > MITTLERER EINTRAG OBERER EINTRAG = MITTLERER EINTRAG OBERER EINTRAG < MITTLERER EINTRAG SUBDP 31007525 12/2006 453 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit Parameterbeschreibung Beschreibung der Instruktionsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keiner EIN = subtrahiert Operand 2 von Operand 1 und legt die Differenz in vorbezeichneten Registern ab Operand 1 (oberer Eintrag) 4x DINT, UDINT Operand 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxx-Registern wird im oberen Eintrag eingegeben. Das zweite 4xxxx-Register ist impliziert. Hier wird der Operand 1 abgelegt. Jedes Register hält einen Wert im Bereich von 0000 bis 9999 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. Die niederwertige Hälfte des Operanden 1 wird im angezeigten Register abgelegt und die höherwertige im implizierten Register. Operand 2/ 4x Differenz (mittlerer Eintrag) DINT, UDINT Operand 2 und Differenz (erstes von sechs benachbarten Registern) Das erste von sechs benachbarten 4xxxx-Registern wird im mittleren Eintrag abgelegt. Die restlichen fünf Register sind impliziert: z Im angezeigten Register bzw. im ersten implizierten Register sind die höher- und niederwertigen Hälften des Operanden 2 enthalten, für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 bis 99.999.999. z Im zweiten und dritten implizierten Register sind die höher- und niederwertigen Hälften der absoluten Differenz im Format mit doppelter Genauigkeit enthalten. z Der im vierten implizierten Register abgelegte Wert zeigt an, ob die Operanden sich im gültigen Bereich befinden oder nicht (1 = außerhalb des Bereichs, 0 = innerhalb des Bereich) z Das fünfte implizierte Register wird in dieser Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. Auswahl der Unterfunktion SUBDP SUBDP (unterer Eintrag) Oberer Ausgang 0x Keiner EIN = Operand 1 > Operand 2 Mittlerer Ausgang 0x Keiner EIN = Operand 1 = Operand 2 Unterer Ausgang 0x Keiner EIN = Operand 1 < Operand 2 454 31007525 12/2006 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit Parameterbeschreibung Operand 1 (oberer Eintrag) Operand 2 und Produkt (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite 4x-Register ist impliziert. Hier wird der Operand 1 abgelegt. Register Inhalt Angezeigt Register enthält die niederwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Erstes impliziertes Register Register enthält die höherwertige Hälfte von Operand 1 Bereich von 0 000 ... 9 999, der kombinierte Wert mit doppelter Genauigkeit liegt im Bereich von 0 bis 99 999 999 Das erste von sechs benachbarten 4x-Registern wird im mittleren Eintrag abgelegt. Die restlichen fünf Register sind impliziert: Register Inhalt Angezeigt Das Register enthält die niederwertige Hälfte von Operand 2 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Erstes impliziertes Register Das Register enthält die höherwertige Hälfte von Operand 2 für einen kombinierten Wert mit doppelter Genauigkeit im Bereich von 0 ... 99 999 999 Zweites impliziertes Register In diesem Register wird die niederwertige Hälfte der absoluten Differenz im Format mit doppelter Genauigkeit abgelegt Drittes impliziertes Register In diesem Register wird die höherwertige Hälfte der absoluten Differenz im Format mit doppelter Genauigkeit abgelegt Viertes impliziertes Register 0 = Operanden innerhalb des Bereichs 1 = Operanden außerhalb des Bereichs Fünftes impliziertes Register Dieses Register wird bei der Berechnung nicht verwendet, muss jedoch im Signalspeicher vorhanden sein. 455 EMTH-SUBDP: Subtraktion mit doppelter Genauigkeit 456 31007525 12/2006 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl 80 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SUBFI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 458 Darstellung 459 Parameterbeschreibung 461 457 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl Kurzbeschreibung Funktionsbeschreibung 458 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl Darstellung Symbol Darstellung der Anweisung Initiiert Gleitkomma Integer-Operation Gleitkommaz ahl Operation erfolgreich Ganzzahl und Differenz EMTH SUBFI 31007525 12/2006 459 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Gleitkommazahl - Ganzzahl Gleitkommazahl (oberer Knoten) 4x REAL Gleitkommawert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert, von dem der Ganzzahlwert abgezogen wird, wird hier abgelegt. Ganzzahl und Differenz (mittlerer Knoten) 4x DINT, UDINT Ganzzahlwert und Differenz (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Ganzzahlwert mit doppelter Genauigkeit enthalten, der vom Gleitkommawert subtrahiert wird, und die Differenz wird im zweiten und dritten implizierten Register abgelegt. Die Differenz wird im Gleitkommaformat abgelegt. SUBFI (unterer Knoten) Oberer Ausgang 460 Auswahl der Unterfunktion SUBFI 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl Parameterbeschreibung Gleitkommawert (oberer Eintrag) Sinus des Werts (mittlerer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert, von dem der Ganzzahlwert abgezogen wird, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Die Register enthalten den Ganzzahlwert mit doppelter Genauigkeit, der von dem Gleitkommawert subtrahiert werden soll. Zweites impliziertes Register Die Differenz wird hier im Gleitkommaformat abgelegt. Drittes impliziertes Register 31007525 12/2006 461 EMTH-SUBFI: Subtraktion Gleitkommazahl - Ganzzahl 462 31007525 12/2006 EMTH-SUBFP: Gleitkomma-Subtraktion 81 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SUBFP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 464 Darstellung 465 Parameterbeschreibung 467 463 EMTH-SUBFP: Gleitkomma-Subtraktion Kurzbeschreibung Funktionsbeschreibung 464 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-SUBFP: Gleitkomma-Subtraktion Darstellung Symbol Darstellung der Anweisung Aktiviert GleitkommaSubtraktion Operation erfolgreich Wert 1 Wert 2 und Differenz EMTH SUBFP 31007525 12/2006 465 EMTH-SUBFP: Gleitkomma-Subtraktion Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Subtraktion Gleitkommawert 1 - Gleitkommawert 2 Wert 1 4x (oberer Knoten) REAL Gleitkommawert 1 (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Gleitkommawert 1 (der Wert, von dem Wert 2 subtrahiert werden soll) wird hier abgelegt. Wert 2 und Differenz (mittlerer Knoten) REAL Gleitkommawert 2 und Differenz (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Der Gleitkommawert 2 (der vom Wert 1 subtrahiert wird) wird im angezeigten und im ersten implizierten Register abgelegt. Die Differenz der Subtraktion wird im Gleitkommaformat im zweiten und dritten implizierte Register abgelegt. 4x SUBFP (unterer Knoten) Oberer Ausgang 466 Auswahl der Unterfunktion SUBFP 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-SUBFP: Gleitkomma-Subtraktion Parameterbeschreibung Gleitkommawert 1 (oberer Eintrag) Gleitkommawert 2 (oberer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert 1 (der Wert, von dem Wert 2 subtrahiert werden soll) wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Gleitkommawert 2 (der Wert, der von Wert 1 subtrahiert werden soll) wird in diesen Registern abgelegt Zweites impliziertes Register Drittes impliziertes Register Das Ergebnis der Subtraktion wird hier im Gleitkommaformat abgelegt. 467 EMTH-SUBFP: Gleitkomma-Subtraktion 468 31007525 12/2006 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl 82 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-SUBIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 470 Darstellung 471 Parameterbeschreibung 473 469 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 470 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Initiiert Integer Gleitkomma-Operation Ganzzahl Operation erfolgreich FP und Differenz EMTH SUBIF 31007525 12/2006 471 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Operation Ganzzahl Gleitkommazahl Ganzzahl (oberer Knoten) 4x DINT, UDINT Ganzzahlwert (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Ganzzahlwert mit doppelter Genauigkeit, von dem der Gleitkommawert subtrahiert wird, wird hier abgelegt. Gleitkomm azahl und Differenz (mittlerer Knoten) 4x REAL Gleitkommawert und Differenz (erstes von vier benachbarten Registern) Das erste von vier benachbarten 4xxxxRegistern wird im mittleren Knoten eingegeben. Die übrigen drei Register sind impliziert. Im angezeigten und ersten implizierten Register ist der Gleitkommawert enthalten, der vom Ganzzahlwert subtrahiert wird, und die Differenz wird im zweiten und dritten implizierten Register abgelegt. Die Differenz wird im Gleitkommaformat abgelegt. Auswahl der Unterfunktion SUBIF SUBIF (unterer Knoten) Oberer Ausgang 472 0x Keine EIN = Operation erfolgreich 31007525 12/2006 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl Parameterbeschreibung Ganzzahlwert (oberer Eintrag) Gleitkommawert und Differenz (mittlerer Eintrag) 31007525 12/2006 Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Der Ganzzahlwert mit doppelter Genauigkeit, von dem der Gleitkommawert subtrahiert wird, wird hier abgelegt. Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Die Register enthalten den Gleitkommawert, der von dem Ganzzahlwert subtrahiert werden soll. Zweites impliziertes Register Drittes impliziertes Register Die Differenz wird hier im Gleitkommaformat abgelegt. 473 EMTH-SUBIF: Subtraktion Ganzzahl - Gleitkommazahl 474 31007525 12/2006 EMTH-TAN: Gleitkomma–Tangens eines Winkels (im Bogenmaß) 83 Auf einen Blick Einleitung In diesem Kapitel wird die EMTH-Unterfunktion EMTH-TAN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 476 Darstellung 477 Parameterbeschreibung 479 475 EMTH-TAN: Gleitkomma–Tangens eines Winkels (in Bogenmaß) Kurzbeschreibung Funktionsbeschreibung 476 Diese Instruktion ist eine Unterfunktion der EMTH-Instruktion. Sie gehört zur Kategorie "Mathematische Funktionen mit Gleitkomma." 31007525 12/2006 EMTH-TAN: Gleitkomma–Tangens eines Winkels (in Bogenmaß) Darstellung Symbol Darstellung der Anweisung Berechnet den Tangens des Gleitkommawerts Operation erfolgreich Wert Tangens des Werts EMTH TAN 31007525 12/2006 477 EMTH-TAN: Gleitkomma–Tangens eines Winkels (in Bogenmaß) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = berechnet den Tangens des Werts Wert 4x (oberer Knoten) REAL Gleitkommawert, der den Wert eines Winkels im Bogenmaß angibt (erstes von zwei benachbarten Registern) Das erste von zwei benachbarten 4xxxxRegistern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Ein Wert im Gleitkommaformat, der den Wert eines Winkels in Bogenmaß angibt, wird hier abgelegt. Dieser Wert muss < 65536.0 sein, anderenfalls z wird der Tangens nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Tangens des Werts (mittlerer Knoten) REAL Tangens des Werts im oberen Knoten (erstes von vier benachbarten Registern) 4x Auswahl der Unterfunktion TAN TAN (unterer Knoten) Oberer Ausgang 478 0x Keine EIN = Operation erfolgreich* *Signalisierung eines Fehlers in der Funktion EMTH ERLOG 31007525 12/2006 EMTH-TAN: Gleitkomma–Tangens eines Winkels (in Bogenmaß) Parameterbeschreibung Wert (oberer Eintrag) Das erste von zwei benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Ein Gleitkommawert, der den Wert eines Winkels in Bogenmaß Erstes impliziertes Register angibt, wird hier abgelegt. Dieser Wert muss < 65 536,0 sein. Falls der Wert ≥ 65 536,0 ist: z wird der Tangens nicht berechnet z wird ein unzulässiges Ergebnis ausgegeben z Signalisierung eines Fehlers in der Funktion EMTH-ERLOG Tangens des Werts (mittlerer Eintrag) Das erste von vier benachbarten 4x-Registern wird im mittleren Eintrag eingegeben. Die restlichen drei Register sind impliziert. Register Inhalt Angezeigt Erstes impliziertes Register Register werden nicht verwendet, sie müssen jedoch im Signalspeicher zugewiesen werden. Zweites impliziertes Register Drittes impliziertes Register Der Tangens des Werts im oberen Eintrag wird hier im Gleitkommaformat abgelegt. Hinweis: Um Register einzusparen, können Sie für das angezeigte und erste implizierte Register des mittleren Eintrags dieselben 4x-Referenznummern vergeben wie für die Register des oberen Eintrags, da die zwei ersten Register des mittleren Eintrags nicht benutzt werden. 31007525 12/2006 479 EMTH-TAN: Gleitkomma–Tangens eines Winkels (in Bogenmaß) 480 31007525 12/2006 ESI: Unterstützung des ESI-Moduls 84 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ESI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 482 Darstellung 483 Parameterbeschreibung 484 ASCII-Nachricht LESEN (Unterfunktion 1) 487 ASCII-Nachricht SCHREIBEN (Unterfunktion 2) 491 GET DATA (Unterfunktion 3) 492 PUT DATA (Unterfunktion 4) 493 ABBRUCH (Mittlerer Eingang EIN) 497 Laufzeitfehler 498 481 ESI: Unterstützung des ESI-Moduls Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Anweisung ist nur verfügbar, wenn Sie die DX-Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Bei der Anweisung für das ESI-Modul 140 ESI 062 10 handelt es sich um fakultative Loadable-Anweisungen, die in einem Quantum-Steuerungssystem zur Unterstützung von Operationen verwendet werden können, die ein ESI-Modul verwenden. Die Steuerung kann die Anweisung ESI zum Aufrufen des Moduls verwenden. Die Stärke des Loadables liegt in seiner Fähigkeit, eine Befehlsfolge über einen oder mehrere logische Zyklen zu veranlassen. Mit der Anweisung ESI kann die Steuerung das ESI-Modul aufrufen: Eine ASCII-Nachricht von einem seriellen Port auf dem ESI-Modul zu lesen, dann eine Folge von GET DATA-Übertragungen vom Modul auf die Steuerung durchzuführen. z Eine ASCII-Nachricht an einen seriellen Port auf dem ESI-Modul zu schreiben, nachdem eine Folge von PUT DATA-Übertragungen auf die variablen Datenregister im Modul durchgeführt wurde. z Eine Folge von GET DATA-Übertragungen durchzuführen (bis zu 16.384 Datenregister vom ESI-Modul zur Steuerung). Jedesmal, wenn die Anweisung ausgeführt wird, verschiebt eine Get Data-Übertragung bis zu 10 Datenregister. z Eine PUT DATA-Folge durchzuführen (bis zu 16.384 Datenregister von der Steuerung zum ESI-Modul). Eine PUT DATA-Übertragung verschiebt jedesmal, wenn die Anweisung ausgeführt wird, bis zu 10 Datenregister. z Die laufende ESI-Loadable-Befehlsfolge abzubrechen. z Hinweis: Wenn Sie die Anweisung ESI in Ihrem Ladder-Diagramm gesetzt haben, müssen Sie die oberen, mittleren und unteren Parameter eingeben. Doppelklicken Sie dann auf die Anweisung. Dadurch erscheint ein Eingabeformular für die drei Parameter. Dieser Parameter muss abgeschlossen sein, damit die DX-ZoomFunktion im Editieren Pull-Down-Menü aktiviert wird. 482 31007525 12/2006 ESI: Unterstützung des ESI-Moduls Darstellung Symbol Darstellung der Instruktion subfunction # (1 ... 4) subfunction parameters ESI length Parameterbeschreibung Beschreibung der Instruktionsparameter Parameter SignalspeicherReferenz Bedeutung Oberer Eingang 0x, 1x Keiner EIN = Aktiviert die Unterfunktion Mittlerer Eingang 0x, 1x Keiner Abbruch der aktuellen Nachricht Unterfunktion (Oberer Eintrag 4x INT, UINT, Anzahl der möglichen Unterfunktion, WORD Bereich 1 ... 4 Unterfunktionsparameter (mittlerer Eintrag) 4x INT, UINT, Erstes von achtzehn benachbarten 4xWORD Ausgangsregistern, das die Unterfunktionsparameter enthalten Länge unterer Eintrag 31007525 12/2006 Datentyp INT, UINT Anzahl der UnterfunktionsparameterRegister, d.h. Länge der Tabelle im mittleren Eintrag Oberer Ausgang 0x Keiner Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keiner ON = Operation durchgeführt Unterer Ausgang 0x Keiner EIN = Fehler festgestellt 483 ESI: Unterstützung des ESI-Moduls Parameterbeschreibung Oberer Eingang Wenn der Eingang zum oberen Eintrag auf EIN geschaltet ist, ist die Instruktion ESI aktiviert und der Befehl, der vom Unterfunktionscode im oberen Eintrag angezeigt ist, wird durchgeführt. Mittlerer Eingang Ist der Eingang zum mittleren Eintrag auf EIN geschaltet, wird ein Abbruchbefehl gegeben. Läuft bei Erhalt des ABBRUCH-Befehls eine Nachricht, wird die Instruktion abgeschlossen, findet gerade eine Datenübertragung statt, wenn der ABBRUCH-Befehl erhalten wird, wird die Übertragung gestoppt und die Instruktion abgeschlossen. Unterfunktion # (Oberer Eintrag) Der obere Eintrag kann entweder ein 4x-Register oder eine Ganzzahl enthalten. Die Ganzzahl oder der Wert im Register müssen im Bereich von 1 ... 4 liegen. Dadurch wird eine von vier möglichen Unterfunktions-Befehlsfolgen dargestellt, die von der Instruktion durchgeführt werden: Unterfunktion Befehlsfolge 1 Ein Befehl (S. 487), gefolgt von mehrfachen GET DATA-Befehlen 2 Mehrfache PUT DATA-Befehle, gefolgt von einem Befehl (S. 491) 3 Null oder mehr Befehle (S. 492) 4 Null oder mehr Befehle (S. 493) Hinweis: Ein fünfter Befehl, (ABBRUCH ASCII-Nachricht (siehe S. 497)), kann durch Aktivierung des mittleren Eintrags zur Instruktion ESI initiiert werden. Unterfunktionsparameter (mittlerer Eintrag) 484 Das erste von achtzehn benachbarten 4x-Registern wird in den mittleren Eintrag eingegeben. Die restlichen siebzehn Register sind impliziert. Die folgenden Unterfunktionsparameter stehen zur Verfügung: Register Parameter Inhalt Angezeigt ESI-Status-Register Zurückgesendete Fehlercodes Erstes impliziertes Register Adresse des ersten 4xRegisters in der Befehlsstruktur Registeradresse minus führende 4 und alle führenden Nullen, wie in der Bestückungsliste festgelegt (z.B. steht 1 für das Register 400001) 31007525 12/2006 ESI: Unterstützung des ESI-Moduls Register Parameter Inhalt Zweites impliziertes Register Adresse des ersten 3xRegisters in der Befehlsstruktur Registeradresse minus führende 3 und alle führenden Nullen, wie in der Bestückungsliste festgelegt (z.B. steht 7 für das Register 300007) Drittes impliziertes Register Adresse des ersten 4xRegisters im Datenregisterbereich der Steuerung. Registeradresse minus führende 4 und alle führenden Nullen (z.B. steht 100 für das Register 400100) Viertes impliziertes Register Adresse des ersten 3xRegisters im Datenregisterbereich der Steuerung Registeradresse minus führende 3 und alle führenden Nullen (z.B. steht 1000 für das Register 301000) Fünftes impliziertes Register Startregister für den Datenregisterbereich im Modul. Zahl im Bereich von 0 ... 3FFF hex Sechstes Datenübertragungszähler Zahl im Bereich von 0 ... 4000 hex impliziertes Register Siebentes ESI-Timout-Wert, in Zahl im Bereich von 0 ... FFFF hex, wobei impliziertes Register Inkrementen von 100 ms. 0 für kein Timeout steht. Achtes impliziertes Register ASCIINachrichtennummer Neuntes impliziertes ASCII-Portnummer Register Zahl im Bereich von 1 ... 255 dez 1 oder 2 Hinweis: Die nachstehenden Register werden intern vom ESI-Loadable verwendet. Schreiben Sie keine Register, während das ESI Loadable läuft. Es ist am besten, wenn Sie diese Register auf 0 (Null) initialisieren, wenn das Loadable in die Logik eingefügt wird. Zehntes impliziertes ESI-Loadable vorheriger Zyklus Einschaltzustand Register Elftes impliziertes Register Daten für Transfer Zwölftes impliziertes Aktueller ASCII-Modul-Befehl läuft Register 31007525 12/2006 13. impliziertes Register ESI-Loadable Sequenznummer 14. impliziertes Register ESI-Loadable Flags 15. impliziertes Register ESI-Loadable Timeout-Wert (MSW) 485 ESI: Unterstützung des ESI-Moduls Register Parameter Inhalt 16. impliziertes Register ESI-Loadable Timeout-Wert (LSW) 17. impliziertes Register Parametertabelle Prüfsumme, vom ESI-Loadable erzeugt Hinweis: Wurde am oberen Eingang Strom angelegt, startet das ESI-Loadable. Die Parameter der Unterfunktion sollten nicht geändert werden, bis das ESILoadable kompiliert wurde (erfolgreich oder mit einem Fehler). Wenn das ESILoadable eine Änderung erkennt, kompiliert das Loadable einen Fehler (Parametertabelle). Länge (unterer Eintrag) Der untere Eintrag enthält die Länge der Tabelle im mittleren Eintrag, d.h. die Anzahl der Unterfunktionsparameter-Register. Für LESEN/SCHREIBEN-Befehle muss die Länge 10 Register betragen. Für SETZEN/ABFRAGEN- PUT/GET-Befehle beträgt die erforderliche Länge acht Register; 10 können festgelegt werden, und die letzten zwei Register werden nicht verwendet. Ausgänge Hinweis: Damit das Loadable richtig funktionieren kann, muss NSUP vor ESI geladen werden. Wird ESI vor NSUP geladen oder wird ESI allein geladen, werden alle drei Ausgänge auf EIN geschaltet. Mittlerer Ausgang Der mittlere Ausgang geht für einen Zyklus auf EIN, wenn die im oberen Eintrag festgelegte Unterfunktionsoperation abgeschlossen, unterbrochen oder abgebrochen wird. Unterer Ausgang Der untere Ausgang geht für einen Zyklus auf EIN, wenn ein Fehler festgestellt wurde. Wenn die Instruktion freigegeben ist, wird als erstes eine Fehlerprüfung durchgeführt, sie ist abgeschlossen, bevor die Unterfunktion durchgeführt wird. Näheres finden Sie S. 498. 486 31007525 12/2006 ESI: Unterstützung des ESI-Moduls ASCII-Nachricht LESEN (Unterfunktion 1) ASCII-Nachricht LESEN Ein ASCII-LESEN-Befehl veranlasst das ESI-Modul, eingehende Daten aus einem seiner seriellen Ports zu lesen und die Daten in internen variablen Datenregistern zu speichern. Die serielle Portnummer ist im zehnten Register (als neuntes impliziert) von der Unterfunktionsparameter-Tabelle festgelegt. Die zu lesende ASCII-Nachrichtennummer ist im neunten Register (als achtes impliziert) von der Unterfunktionsparameter-Tabelle festgelegt. Die erhaltenen Daten werden im variablen 16K-Datenplatz in benutzerprogrammierten Formaten gespeichert. Webb der obere Eintrag der Instruktion ESI 1 ist, ruft die Steuerung das Modul auf und veranlasst es, einen ASCII LESE-Befehl durchzuführen, gefolgt von einer Folge von GET DATA-Befehlen (wobei bis zu 16 364 Datenregister übertragen werden) vom Modul zur Steuerung. Befehlsstruktur Antwortstruktur 31007525 12/2006 Befehlsstruktur Wort Inhalt (hex) Bedeutung 0 01PD P = Portnummer (1 oder 2); D = Datenzähler 1 xxxx Startregisternummer, im Bereich von 0 ... 3FFF 2 00xx Nachrichtennummer, xx liegt im Bereich von 1 ... FF (1 ... 255 dez) 3 ... 11 Nicht verwendet Befehlsstruktur Wort Inhalt (hex) Bedeutung 0 01PD Gibt Befehlswort 0 an 1 xxxx Gibt Startregisternummer aus Befehlswort 1 an 2 00xx Gibt Nachrichtennummer aus Befehlswort 2 an 3 xxxx Datenwort 1 4 xxxx Datenwort 2 ... ... ... 11 xxxx Modulstatus oder Datenwort 9 487 ESI: Unterstützung des ESI-Moduls Eine Vergleichsnachricht ASCII LESEN/Put DataBeispiel Es folgt ein Beispiel, wie eine ESI-Loadable-Instruktion Ihre Logikprogrammierungsaufgabe in einer ASCII Leseanwendung vereinfachen kann. Angenommen, das bidirektionale 12-Punkt-ESI-Modul hat eine E/A-Bestückung von 400001 ... 400012 Ausgangsregistern und 300001 ... 300012 Eingangsregistern. Es soll die ASCIINachricht Nr. 10 aus Port 1 gelesen werden, und dann sollen vier Datenwörter zu den Registern 400501 ... 400504 in der Steuerung übertragen werden. Parametrieren der Instruktion ESI: #0001 401000 ESI #0018 Die Unterfunktionsparameter-Tabelle beginnt bei Register 401000. Geben Sie folgende Parameter in die Tabelle ein: Register Parameterwert Beschreibung 401000 nnnn ESI-Status-Register 401001 1 Ausgangsstartregister mit zugewiesener E/A-Bestückung (400001) 401002 1 Eingangsstartregister mit zugewiesener E/A-Bestückung (300001) 401003 501 Startregister für die Datenübertragung (400501) 401004 0 Kein 3x-Startregister für die Datenübertragung 401005 100 Modul-Startregister 401006 4 Anzahl der zu übertragenden Register 401007 600 Timeout = 60 s 401008 10 ASCII-Nachrichtennummer 401009 1 ASCII-Portnummer 401010-17 N/A Interne Loadable-Variablen Sind diese Parameter in die Tabelle eingegeben, erledigt die Instruktion ESI die Lese- und Datenübertragungen automatisch in einem Zyklus. 488 31007525 12/2006 ESI: Unterstützung des ESI-Moduls Lese- und Datenübertragungen ohne die Instruktion ESI Die gleiche Aufgabe kann in Ladder Logic ohne das ESI-Loadable durchgeführt werden, allerdings müssen dann die folgenden drei Netzwerke die Befehls- und Übertragungsparameter einstellen und dann die Daten kopieren. Die Register 400101 ... 400112 werden als Arbeitsbereich für die Ausgangswerte verwendet. Die Register 400201 ... 400212 sind anfängliche Werte des Befehls ASCII-Nachricht LESEN. Die Register 400501 ... 400504 sind der Datenraum für die vom Modul erhaltenen Daten. Erstes Netzwerk 000011 000011 000011 400201 400101 400101 400001 BLKM #0012 BLKM #0012 Inhalt der Register Register Wert (hexadezimal) Beschreibung 400201 0114 Befehl ASCII-Nachricht LESEN, Port 1, vier Register 400202 0064 Startregister des Moduls 400203 nnnn Nicht gültig: Datenwort 1 ... ... ... 400212 nnnn Nicht gültig: Datenwort 10 Das erste Netzwerk startet den Befehl ASCII-Nachricht LESEN, indem Spule 000011 ständig auf EIN gestellt wird. Es verschiebt den Befehl ASCII-Nachricht LESEN in den Arbeitsbereich und verschiebt dann den Arbeitsbereich in die Ausgangsregister für das Modul. Zweites Netzwerk 000011 31007525 12/2006 300001 400088 400098 400098 400098 400101 300002 BLKM #0001 AND #0001 TEST #0001 400102 400099 400089 TEST #0001 #32768 300001 400099 400099 BLKM #0001 AND #0001 TEST #0001 000020 000012 489 ESI: Unterstützung des ESI-Moduls Inhalt der Register Register Wert (hexadezimal) Beschreibung 400098 nnnn Arbeitsbereich für Antwort-Wort 400099 nnnn Arbeitsbereich für Antwort-Wort 400088 7FFF Antwort-Wort-Maske 400089 8000 Gültiges Statuswort Bit-Maske Solange Spule 000011 auf EIN ist, wird ASCII-Nachricht LESEN Antwort-Wort 0 im Eingangsregister geprüft, um sicherzustellen, dass es gleich ist mit Befehlswort 0 im Arbeitsbereich. Dies geschieht durch eine UND-Verknüpfung von Antwort-Wort 0 im Eingangsregister mit 7FFF hex, um das Statuswort-Gültig-Bit (Bit 15) in AntwortWort 0 loszuwerden. Das Modul-Startregister im Eingangsregister wir ebenfalls im Vergleich zum ModulStartregister im Arbeitsbereich geprüft, damit sichergestellt ist, dass sie gleich sind. Ergeben beide Prüfungen Übereinstimmungen, prüfen Sie das Statuswort-Gültig-Bit in Antwort-Wort 0. Dafür stellen Sie eine UND-Verknüpfung von Antwort-Wort 0 im Eingangsregister mit 8000 hex her, um das angegebene Befehlswort 0 loszuwerden. Wenn das Ergebnis mit der UND-Verknüpfung dem StatuswortGültig-Bit entspricht, wird Spule 000020 auf EIN gestellt und zeigt einen Fehler und/ oder Status im Modulstatus-Wort an. Ist das Ergebnis mit der UND-Verknüpfung nicht das Statuswort-Gültig-Bit, wird Spule 000012 auf EIN gestellt und zeigt an, dass die Nachricht durchgeführt wurde und Sie einen anderen Befehl im Modul starten können. Drittes Netzwerk 300012 000020 #0001 000099 TEST #0001 Ist Spule 000020 auf EIN, prüft dieses dritte Netzwerk das Modulstatuswort auf den Status "beschäftigt". Ist das Modul beschäftigt, unternehmen Sie nichts. Ist das Modulstatus-Wort größer als 1 (beschäftigt), wurde ein festgestellter Fehler im höherwertigen Byte protokolliert, und Spule 000099 wird auf EIN gestellt. Jetzt stellen Sie fest, wo der Fehler liegt, indem Sie Fehlerbehandlungslogik verwenden, die Sie entwickelt haben. 490 31007525 12/2006 ESI: Unterstützung des ESI-Moduls ASCII-Nachricht SCHREIBEN (Unterfunktion 2) ASCII-Nachricht SCHREIBEN In einem ASCII-Nachricht-SCHREIBEN-Befehl schreibt das ESI-Modul eine ASCIINachricht an einen seiner seriellen Ports. Die serielle Portnummer ist im zehnten (als neuntes impliziert) Register von der Unterfunktionsparameter-Tabelle festgelegt. Die zu schreibende ASCII-Nachrichtennummer ist im neunten (als achtes impliziert) Register von der Unterfunktionsparameter-Tabelle festgelegt. Wenn der obere Eintrag der Instruktion ESI 2 ist, ruft die Steuerung das Modul auf und veranlasst es, einen ASCII-Schreib-Befehl durchzuführen. Bevor der SCHREIB-Befehl gestartet wird, führt Unterfunktion 2 eine Folge von PUT DATA Übertragungen von der Steuerung zum Modul durch (wobei bis zu 16 384 Datenregister übertragen werden). Befehlsstruktur Antwortstruktur 31007525 12/2006 Befehlsstruktur Wort Inhalt (hex) Bedeutung 0 02PD P = Portnummer (1 oder 2); D = Datenzähler 1 xxxx Startregisternummer, im Bereich von 0 ... 3FFF 2 00xx Nachrichtennummer, xx liegt im Bereich von 1 ... FF (1 ... 255 dez) 3 xxxx Datenwort 1 4 xxxx Datenwort 2 ... ... ... 11 xxxx Datenwort 9 Antwortstruktur Wort Inhalt (hex) Bedeutung 0 02PD Gibt Befehlswort 0 an 1 xxxx Gibt Startregisternummer aus Befehlswort 1 an 2 00xx Gibt Nachrichtennummer aus Befehlswort 2 an 3 0000 Gibt eine Null aus ... ... ... 10 0000 Gibt eine Null aus 11 xxxx Modulstatus 491 ESI: Unterstützung des ESI-Moduls GET DATA (Unterfunktion 3) GET DATA Jedesmal, wenn die Instruktion ESI in Ladder Logic ausgeführt wird, überträgt ein GET DATA-Befehl bis zu 10 Datenregister vom ESI-Modul zur Steuerung. Die Gesamtanzahl der zu lesenden Wörter ist in Wort 0 der GET DATA-Befehlsstruktur festgelegt (der Datenzähler). Zurückgesendet werden die Daten in Inkrementen von 10 in den Wörtern 2 ... 11 in der GET DATA-Antwortstruktur. Bei Durchführung einer Folge von GET DATA-Befehlen zusammen mit einem ASCIINachricht-LESE-Befehl (über Unterfunktion 1) werden bis zu neun Register übertragen, wenn die Instruktion zum ersten Mal ausgeführt wird. Zusätzliche Daten werden in Gruppen von zehn Registern bei anschließenden Ausführungen der Instruktion zurückgesendet, bis alle Daten übertragen sind. Ist ein Fehlerzustand zu melden (außer einem Befehlssyntaxfehler), wird er in Wort 11 der GET DATA-Antwortstruktur gemeldet. Hat der Befehl 10 Register angefordert und muss der Fehler gemeldet werden, werden nur neun Datenregister in den Wörtern 2 ... 10 zurückgesendet, und Wort 11 wird für den Fehlerstatus verwendet. Hinweis: Sind der Datenzähler und die Startregisternummer, die Sie festlegen, gültig, sind aber einige der zu lesenden Register außerhalb des gültigen Registerbereichs, werden nur Daten aus den Registern im gültigen Bereich gelesen. Der in Wort 0 der Antwortstruktur zurückgesendete Datenzähler spiegelt die Anzahl der zurückgesendeten gültigen Datenregister wieder, und eine Fehlernummer (1280 hex) wird im Modulstatuswort (Wort 11 in der Antworttabelle) zurückgesendet. Befehlsstruktur Antwortstruktur 492 Befehlsstruktur Wort Inhalt (hex) Bedeutung 0 030D D = Datenzähler 1 xxxx Startregisternummer, im Bereich von 0 ... 3FFF 2 ... 11 Nicht verwendet Antwortstruktur Wort Inhalt (hex) Bedeutung 0 030D Gibt Befehlswort 0 an 1 xxxx Gibt Startregisternummer aus Befehlswort 1 an 2 xxxx Datenwort 1 3 xxxx Datenwort 2 ... ... ... 11 xxxx Modulstatus oder Datenwort 10 31007525 12/2006 ESI: Unterstützung des ESI-Moduls PUT DATA (Unterfunktion 4) PUT DATA Jedesmal, wenn die Instruktion ESI in Ladder Logic ausgeführt wird, schreibt ein PUT DATA-Befehl bis zu 10 Datenregister von der Steuerung zum ESI-Modul. Die Gesamtanzahl der zu schreibenden Wörter ist in Wort 0 der PUT DATABefehlsstruktur festgelegt (der Datenzähler). Zurückgesendet werden die Daten in Inkrementen von 10 in den Wörtern 2 ... 11 in der PUT DATA Befehlsstruktur. Der Befehl wird sequentiell ausgeführt, bis Befehlswort 0 zu einem anderen Befehl außer PUT DATA (040D hex) wechselt. Hinweis: Sind der Datenzähler und die Startregisternummer, die Sie festlegen, gültig, sind aber einige der zu schreibenden Register außerhalb des gültigen Registerbereichs, werden nur Daten aus den Registern im gültigen Bereich geschrieben. Der in Wort 0 der Antwortstruktur zurückgesendete Datenzähler spiegelt die Anzahl der zurückgesendeten gültigen Datenregister wieder, und eine Fehlernummer (1280 hex) wird im Modulstatuswort (Wort 11 in der Antworttabelle) zurückgesendet. Befehlsstruktur Antwortstruktur 31007525 12/2006 Befehlsstruktur Wort Inhalt (hex) Bedeutung 0 040D D = Datenzähler 1 xxxx Startregisternummer, im Bereich von 0 ... 3FFF 2 xxxx Datenwort 1 3 xxxx Datenwort 2 ... ... ... 11 xxxx Datenwort 10 Antwortstruktur Wort Inhalt (hex) Bedeutung 0 040D Gibt Befehlswort 0 an 1 xxxx Gibt Startregisternummer aus Befehlswort 1 an 2 0000 Gibt eine Null aus ... ... ... 10 0000 Gibt eine Null aus 11 xxxx Modulstatus 493 ESI: Unterstützung des ESI-Moduls Ein PUT DATAVergleichsbeispiel Unten folgt ein Beispiel, wie eine ESI-Loadable-Instruktion Ihre Logikprogrammierungsaufgabe in einer PUT DATA-Anwendung vereinfachen kann. Angenommen, das bidirektionale 12-Punkt-ESI-062-Modul hat eine E/A-Bestückung von 400001 ... 400012 Ausgangsregistern und 300001 ... 300012 Eingangsregistern. Es sollen 30 Steuerungsdatenregister, beginnend mit Register 400501, im ESI-Modul abgelegt werden, das bei Position 100 beginnt. Parametrieren der Instruktion ESI: #0004 401000 ESI #0018 Die Unterfunktionsparameter-Tabelle beginnt bei Register 401000. Geben Sie folgende Parameter in die Tabelle ein: Register Parameterwert Beschreibung 401000 nnnn ESI-Status-Register 401001 1 Ausgangsstartregister mit zugewiesener E/A-Bestückung (400001) 401002 1 Eingangsstartregister mit zugewiesener E/A-Bestückung (300001) 401003 501 Startregister für die Datenübertragung (400501) 401004 0 Kein 3x-Startregister für die Datenübertragung 401005 100 Modul-Startregister 401006 30 Anzahl der zu übertragenden Register 401007 0 Timeout = Niemals 401008 N/A ASCII-Nachrichtennummer 401009 N/A ASCII-Portnummer 401009 N/A Interne Loadable-Variablen Sind diese Parameter in die Tabelle eingegeben, erledigt die Instruktion ESI die Datenübertragungen automatisch über drei ESI-Logikausführungen. 494 31007525 12/2006 ESI: Unterstützung des ESI-Moduls Behandlung der Datenübertragung ohne die Instruktion ESI Die gleiche Aufgabe kann in Ladder Logic ohne das ESI-Loadable durchgeführt werden, allerdings müssen dann die folgenden vier Netzwerke die Befehls- und Übertragungsparameter einstellen und dann Daten mehrfach kopieren, bis die Operation abgeschlossen ist. Die Register 400101 ... 400112 werden als Arbeitsbereich für die Ausgangswerte verwendet. Die Register 400201 ... 400212 sind ursprüngliche PUT DATA-Befehlswerte. Die Register 400501 ... 400530 sind die Datenregister, die zum Modul gesendet werden sollen. Erstes Netzwerk - Befehlsregisternetzwerk 000011 000011 000011 400201 400501 400101 400101 400103 400001 BLKM #0012 BLKM #0010 BLKM #0012 Inhalt der Register Register Wert (hexadezimal) Beschreibung 400201 040A A PUT DATA-Befehl, 10 Register 400202 0064 Startregister des Moduls 400203 nnnn Nicht gültig: Datenwort 1 ... ... ... 400212 nnnn Nicht gültig: Datenwort 10 Das erste Netzwerk startet die Übertragung der ersten 10 Register, indem Spule 000011 ständig auf EIN gestellt wird. Es verschiebt den anfänglichen PUT DATABefehl in den Arbeitsbereich, verschiebt die ersten 10 Register (400501 ... 400510) in den Arbeitsbereich und dann den Arbeitsbereich in die Ausgangsregister für das Modul. Zweites Netzwerk - Befehlsregisternetzwerk 000020 000020 300001 000011 000020 400101 300002 TEST #0001 400102 400102 TEST #0001 #0120 TEST #0001 31007525 12/2006 000012 495 ESI: Unterstützung des ESI-Moduls Solange Spule 000011 auf EIN und Spule 000020 auf AUS gestellt ist, wird PUT DATA-Antwort-Wort 0 im Eingangsregister geprüft, um sicherzustellen, dass es gleich ist mit dem Befehlswort im Arbeitsbereich. Das Modul-Startregister im Eingangsregister wird ebenfalls geprüft, um sicherzustellen, dass es mit dem Modul-Startregister im Arbeitsbereich übereinstimmt. Ergeben beide Prüfungen Übereinstimmungen, wird das aktuelle ModulStartregister im Vergleich zu dem Modul-Startregister des letzten PUT DATA Befehls für diese Übertragung geprüft. Ergibt die Prüfung, dass das aktuelle ModulStartregister größer als der letzte PUT DATA-Befehl ist oder mit diesem übereinstimmt, geht Spule 000020 auf EIN und zeigt die Durchführung der Übertragung an. Ergibt die Prüfung, dass das aktuelle Modul-Startregister kleiner als der letzte PUT DATA-Befehl ist, zeigt Spule 000012 an, dass die nächsten 10 Register übertragen werden sollen. Drittes Netzwerk - Befehlsregisternetzwerk 000012 400102 400102 #0100 #0110 TEST #0001 TEST #0001 400511 400521 400103 400103 BLKM #0010 BLKM #0010 Solange Spule 000012 auf EIN ist, gibt es noch zu übertragende Daten. Das ModulStartregister muss von der letzten Befehlsausführung geprüft werden, um zu bestimmen, welche Reihe von 10 Registern als nächste übertragen wird. Begann zum Beispiel der letzte Befehl mit Modulregister 400110, dann ist das ModulStartregister für diesen Befehl 400120. Viertes Netzwerk - Befehlsregisternetzwerk 400101 000012 #0010 400102 400001 BLKM #0012 AD16 400102 Solange Spule 000012 auf EIN ist, fügen Sie 10 zum Modul-Startregisterwert im Arbeitsbereich hinzu, und verschieben Sie den Arbeitsbereich zu den Ausgangsregistern für das Modul für den Beginn der nächsten Übertragung von 10 Registern. 496 31007525 12/2006 ESI: Unterstützung des ESI-Moduls ABBRUCH (Mittlerer Eingang EIN) ABBRUCH Wenn der mittlere Eintrag zur Instruktion ESI auf EIN geschaltet ist, bricht die Instruktion eine laufende ASCII-SCHREIB- oder LESE-Nachricht ab. Die seriellen Portpuffer des Moduls werden durch den ABBRUCH nicht beeinflusst, sondern nur die Nachricht, die gerade läuft. Befehlsstruktur Befehlsstruktur Antwortstruktur 31007525 12/2006 Wort Inhalt (hex) 0 0900 1 ... 11 nicht verwendet Antwortstruktur Wort Inhalt (hex) Bedeutung 0 0900 Gibt Befehlswort 0 an 1 0000 Gibt eine Null aus ... ... ... 10 0000 Gibt eine Null aus 11 xxxx Modulstatus 497 ESI: Unterstützung des ESI-Moduls Laufzeitfehler Laufzeitfehler Die vom ESI-Modul ausgeführte Befehlsfolge (festgelegt vom Unterfunktionswert im oberen Eintrag der Instruktion ESI) muss erst eine Reihe von Fehlerprüfungsprogrammen durchlaufen, bevor die eigentliche Befehlsdurchführung beginnt. Bei Feststellung eines Fehlers wird eine Nachricht im Register abgelegt, das im mittleren Eintrag angezeigt wird. In der folgenden Tabelle werden mögliche Fehlercodes und ihre Bedeutungen aufgelistet: Fehlernummer (dez) Bedeutung 0001 Im oberen Eintrag unbekannte Unterfunktion festgelegt 0010 Instruktion ESI unterbrochen (Zeit überschritten, die im achten Register der Unterfunktionsparameter-Tabelle festgelegt wurde 0101 Fehler in der Folge ASCII-Nachricht LESEN 0102 Fehler in der Folge ASCII-Nachricht SCHREIBEN 0103 Fehler in der GET DATA-Folge 0104 Fehler in der PUT DATA-Folge 1000 Länge (Unterer Eintrag) ist zu kurz 1001 Von Null verschiedene Werte in den 4x- und 3x-Datenoffset-Parametern 1002 Nullwert in den 4x- und 3x-Datenoffset-Parametern 1003 4x- und 3x-Datenoffset-Parameter außerhalb des Bereichs 1004 4x- und 3x-Datenoffset plus Übertragungszähler außerhalb des Bereichs 1005 3x-Datenoffset-Parameter gesetzt für GET DATA 1006 Parametertabelle Prüfsummenfehler 1101 Ausgangsregister aus dem Offset-Parameter außerhalb des Bereichs 1102 Eingangsregister aus dem Offset-Parameter außerhalb des Bereichs 2001 Fehler gemeldet aus dem ESI-Modul Ist die Parameter-Fehlerprüfung abgeschlossen, ohne dass ein Fehler festgestellt wurde, beginnt das ESI-Modul mit der Durchführung der Befehlsfolge. 498 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung 85 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung EUCA beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 500 Darstellung 501 Parameterbeschreibung 503 Beispiele 505 499 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion steht nur zur Verfügung, wenn Sie die DX Loadables entpackt und installiert haben; weitere Informationen finden Sie S. 51. Die Verwendung der Ladder Logic zur Konvertierung von binären analogen Daten in Dezimaleinheiten kann speicherintensiv und zykluszeitintensiv sein. Das Loadable "Konvertierung von physikalischen Einheiten und Alarmgenerierung" (EUCA) ermöglicht, den zur Durchführung dieser Konvertierungen normalerweise bestehenden Bedarf an zusätzlicher Anwenderlogik einzusparen. EUCA skaliert 12 Binärdatenbits (hierbei kann es sich um Analogsignale oder andere Variablen handeln) in physikalische Einheiten um, die in dieser Form zur Anzeige, automatischen Messwerterfassung oder Alarmerzeugung verwendet werden können. Unter Verwendung einer linearen Konvertierung Y = mX + b werden Binärwerte im Bereich von 0 ... 4095 in eine skalierte Prozessvariable (SPV) konvertiert. Die SPV wird ausgedrückt in physikalischen Einheiten im Bereich von 0 ... 9 999. Eine Instruktion EUCA kann bis zu vier separate Konvertierungen physikalischer Einheiten ausführen. Sie verfügt darüber hinaus über vier Alarmstufen für jede der vier Konvertierungen: 500 Stufe Bedeutung HA Oberer Absolutwert HW Obere Warnung LW Untere Warnung LA Unterer Absolutwert 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und Darstellung Symbol Darstellung der Anweisung aktiv Steuereingang Alarmstatus Alarm Alarmeingang Parametertabelle Fehler Fehlereingang EUCA Halbbyte # (1 ... 4) 31007525 12/2006 501 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN initiiert die Konvertierung Mittlerer Eingang 0x, 1x Keine Alarmeingang Unterer Eingang 0x, 1x Keine Fehlereingang Alarmstatus (oberer Knoten) 4x INT, UINT Alarmstatus für bis zu vier EUCAKonvertierungen (Weitere Informationen finden Sie S. 503.) Parametertabelle 4x (mittlerer Knoten) INT, UINT, Erstes von neun benachbarten Ausgangsregistern in der EUCAParametertabelle (Weitere Informationen finden Sie S. 504.) Halbbyte Nr. (1...4) (unterer Knoten) INT, UINT Ganzzahlwert, der angibt, welches der vier Halbbytes im Alarmstatusregister zu verwenden ist 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang 0x Keine EIN, falls der mittlere Eingang aktiv (EIN) ist, oder falls das Ergebnis der EUCA-Konvertierung eine Warnstufe übersteigt Unterer Ausgang Keine EIN, falls der untere Eingang aktiv (EIN) ist, oder falls ein Parameter außerhalb des Bereichs ist Oberer Ausgang 502 0x 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und Parameterbeschreibung Alarmstatus (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register gibt den Alarmstatus für vier EUCA-Konvertierungen an, die von der Instruktion durchgeführt werden können. Das Register ist in vier Halbbytes zu je vier Bits segmentiert. Jedes Halbbyte stellt vier mögliche Alarmbedingungen für eine individuelle EUCA-Konvertierung dar. Das höherwertige Halbbyte stellt die erste Konvertierung dar und das niederwertige Halbbyte die vierte Konvertierung: HA1 HW1 LW1 LA1 HA2 HW2 LW2 LA2 HA3 HW3 LW3 LA3 HA4 HW4 LW4 LA4 Nibble 1 (first conversion) Alarmeinstellung Nibble 2 (second conversion) Nibble 3 (third conversion) Nibble 4 (fourth conversion) Bedingung der Alarmeinstellung Alarmtyp Bedingung HA Ein HA-Alarm wird ausgegeben, wenn SPV den anwenderdefinierten, in physikalischen Einheiten ausgedrückten oberen Alarmgrenzwert überschreitet HW Ein HW-Alarm wird ausgegeben, wenn SPV den benutzerdefinierten, in physikalischen Einheiten ausgedrückten oberen Warngrenzwert überschreitet LW Ein LW-Alarm wird ausgegeben, wenn SPV unter dem anwenderdefinierten, in physikalischen Einheiten ausgedrückten, unteren Warngrenzwert liegt LA Ein LA-Alarm wird ausgegeben, wenn SPV unter einem benutzerdefinierten, in physikalischen Einheiten ausgedrückten unteren Alarmgrenzwert liegt Bei jeder EUCA-Konvertierung kann zu einem beliebigen gegebenen Zeitpunkt nur eine Alarmbedingung vorhanden sein. Wenn SPV die obere Warnstufe übersteigt, wird das HW-Bit gesetzt. Wenn HA überschritten wird, wird das HW-Bit gelöscht und das HA-Bit gesetzt. Nach der Rückkehr zum Normalzustand ändert sich das Alarmbit erst, wenn die Totzone (DB) ebenfalls unterschritten wurde. 31007525 12/2006 503 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Parametertabelle (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste von neun benachbarten Ausgangsregistern in der EUCA-Parametertabelle: Register Inhalt Bereich Angezeigt Vom Benutzer eingegebener Binärwert 0 ... 4 095 Erstes impliziertes Register Vom EUCA-Block berechnete SPV Zweites impliziertes Register Obere physikalische Einheit (HEU), maximale benötigte und vom Benutzer gesetzte SPV (oberes Skalenende) LEU < HEU ≤ 99 999 Drittes impliziertes Register Untere physikalische Einheit (LEU), minimale benötigte und vom Benutzer gesetzte SPV (unteres Skalenende) 0 ≤ LEU < HEU Viertes impliziertes Register Totzonenbereich unterhalb der HA-Stufen und oberhalb der LA-Stufen, der durchquert werden muss, bevor das Alarmstatusbit zurückgesetzt wird 0 ≤ DB < (HEU - LEU) Fünftes impliziertes Register HA-Alarmwert in SPV-Einheiten HW < HA ≤ HEU Sechstes impliziertes Register HW-Alarmwert in SPV-Einheiten LW < HW < HA Siebentes impliziertes LW-Alarmwert in SPV-Einheiten Register LA < LW < HW Achtes impliziertes Register LEU ≤ LA < LW LA-Alarmwert in SPV-Einheiten Hinweis: Falls irgendein Wert außerhalb des oben definierten Bereichs liegt, wird ein Fehler generiert 504 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und Beispiele Übersicht Folgende Beispiele sind dargestellt. z Prinzipien der EUCA-Operation (1. Beispiel) z Verwendung in einem Antriebssystem (2. Beispiel) z Vier EUCA-Konvertierungen zusammen (3. Beispiel) 1. Beispiel In diesem Beispiel wird das Prinzip einer EUCA-Operation gezeigt. Der Binärwert wird manuell in das angezeigte Register im mittleren Eintrag eingegeben, das Ergebnis kann im SPV-Register eingesehen werden (erstes impliziertes Register im mittleren Eintrag). Auf der nachfolgende Abbildung wird ein Eingabebereich von 0 bis 100 V gezeigt, was dem gesamten binären 12-Bit-Bereich entspricht: MSB 100V 90 80 70 60 50 40 30 20 LSB 1 1 1 1 1 1 1 1 1 1 1 1 = 4095 or FFF hex (Displayed register in the middle node) 10 0V 0 0 0 0 0 0 0 0 0 0 0 0 = 0 or 000 hex unused Ein Bereich von 0 bis 100 V legt 50 V für den Nennbetrieb fest. EUCA verfügt in der Nominalzone über eine gewisse Toleranz an Warn- und Alarmstufen (Totzone). Wenn eine Alarmschwelle überschritten worden ist, wird das Alarmbit aktiv und bleibt so lange aktiv, bis das Signal größer (oder kleiner) als der TotzonenEinstellwert ist, in diesem Beispiel -5 V. Programmieren Sie den EUCA-Block, indem Sie das EUCA-Loadable wählen und die entsprechenden Daten wie in nachfolgendem Bild beschrieben eintragen: 400440 400450 EUCA # 0001 31007525 12/2006 505 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Referenzdaten Register Bedeutung Inhalt 400440 STATUS 0000000000000000 400450 INPUT 1871 DEZ 400451 SPV 46 DEZ 400452 HIGH_unit 100 DEZ 400453 LOW_unit 0 DEC 400454 Dead_band 5 DEZ 400455 HIGH_ALARM 70 DEZ 400456 HIGH_WARN 60 DEZ 400457 LOW_ALARM 40 DEZ 400458 LOW_WARN 30 DEZ Die neun Register des mittleren Eintrags werden mit Hilfe des ReferenzdatenEditors gesetzt. Die Totzone beträgt 5 V, gefolgt von oberen und unteren Warngrenzwerten, die in Inkrementen von 10 V inkrementiert werden. Der tatsächliche obere und untere Alarmgrenzwert wird auf 20 V über und unter nominal eingestellt. In Balkendiagramm-Darstellung sieht dies wie folgt aus: 100V 90 80 70 60 50 46 40 30 20 10 0V * High Alarm High Warning Normal Low Warning Low Alarm = Dead Band Hinweis: Der Beispielwert zeigt den Dezimalwert 46, der sich im normalen Bereich befindet. Es wird kein Alarm ausgegeben, d.h. Register 400440 = 0. Sie können nun die Instruktion in einer in Betrieb befindlichen SPS prüfen, indem Sie im Register 400450 Werte eingeben, die sich in den definierten Bereichen befinden. Die Prüfung erfolgt durch Beobachtung der Bitänderung im Register 400440, wobei gilt: 1 = Low alarm 1 = Low warning 1 = High warning 1 = High alarm 506 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und 2. Beispiel Wenn der Eingang 0 bis 4095 die Drehzahl eines Antriebssystems von 0 bis 5000 U/min angibt, können Sie eine EUCA-Instruktion wie folgt einstellen: Der Binärwert im Register 400210 ergibt eine skalierte Prozessvariable mit dem Dezimalwert 4835, die die absolute obere Alarmstufe übersteigt, das HA-Bit im Register 400209 setzt und die EUCA-Alarm-Instruktion aktiviert. Parameter Übertragungsgeschwindigkeit Maximale Drehzahl 5000 U/min Minimale Drehzahl 0 U/min DB 100 U/min HA Alarm 4800 U/min HW Alarm 4450 U/min LW Alarm 2000 U/min LA-Alarm 1200 U/min Instruktion 400209 400210 EUCA # 0001 Referenzdaten 31007525 12/2006 Register Bedeutung Inhalt 400209 STATUS 1000000000000000 400210 INPUT 3960 DEZ 400211 SPV 4835 DEZ 400212 MAX_SPEED 5000 DEZ 400213 MIN_SPEED 0 DEZ 400214 Dead_band 100 DEZ 400215 HIGH_ALARM 4800 DEZ 400216 HIGH_WARN 4450 DEZ 400217 LOW_ALARM 2000 DEZ 400218 LOW_WARN 1200 DEZ 507 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Der Schließerkontakt wird verwendet, um Alarmprüfungen zu unterdrücken, wenn das Antriebssystem abgeschaltet wird, oder während des Anlaufs zu Beginn, um dem System das Hochlaufen über den Drehzahlwert zu ermöglichen, bei dem der untere Alarm ausgegeben wird. 5000 rqm 4950 * 4900 * * 4850 4800 4750 * 4700 4650 4600 * 4550 High Warning 4500 * 400209 = 4000 hex 4450 4400 * 4350 4300 * 4250 4200 * High Absolute 400209 = 8000 hex * * * * * Warning - DB 400209 = 4000 hex * * * Return to normal 400209 = 0000 hex * 0 Eine Änderung des Binärwerts in Register 400210 würde bewirken, dass die Bits im Halbbyte 1 von Register 400209 den oben dargestellten Änderungen entsprechen. Die Totzone wird dann wirksam, wenn der Alarm oder die Warnung ausgegeben wurde; das Signal fällt dann in die Totzone. Der Alarmzustand wird aufrecht erhalten, und nimmt somit eine Störbedingung an, die sich außerhalb des Signaltoleranzbereichs befindet. Dieser Punkt wird im obigen Diagramm erläutert, wo das Signal die Warnstufen-Totzone (bei 4450) mehrmals kreuzt, nachdem der HA-Alarm gesetzt und zur Warnstufe bei 4700 zurückgekehrt wird, das Warnbit im Register 400209 jedoch auf EIN gesetzt bleibt. Der Graph würde ebenso verlaufen, wenn das Signal durch die unteren Grenzwerte generiert werden würde. 508 31007525 12/2006 EUCA: Konvertierung von physikalischen Einheiten und 3. Beispiel Sie können bis zu vier EUCA-Konvertierungen miteinander verketten, um ein Alarmstatusregister zu erstellen. Jede Konvertierung wird in das im unteren Blockeintrag definierte Halbbyte eingetragen. Im folgenden Programmierbeispiel wird der Status jedes EUCA-Blocks (basierend auf den Tabellenwerten für diesen Block) in ein Halbbyte des Statusregisters 400209 eingetragen. 400209 400209 400209 400209 400210 400220 400230 400240 000023 EUCA EUCA EUCA EUCA # 0001 # 0002 # 0003 # 0004 400209 000002 000003 000004 000023 000033 BLKM #1 Referenzdaten Register Bedeutung Inhalt 400209 STATUS 0000001001001000 Das Statusregister kann nun mit Hilfe einer BLKM-Instruktion zu einer Gruppe von Bits übertragen werden, die so verdrahtet sind, dass sie Signallampen einer Alarmmeldeanzeige zum Aufleuchten bringen. Wenn Sie den Statusinhalt von Register 400209 betrachten, stellen Sie folgendes fest: Kein Alarm in Block 1, ein LW-Alarm in Block 2, ein HW-Alarm in Block 3 und ein HA-Alarm in Block 4. 31007525 12/2006 509 EUCA: Konvertierung von physikalischen Einheiten und Alarmgenerierung Die Alarmbedingungen der vier Blocks können mit folgenden Tabelleneinstellungen dargestellt werden: Konvertierung 1 510 Konvertierung 2 Konvertierung 3 Konvertierung 4 Eingang 400210 = 2048 400220 = 1220 400230 = 3022 400240 = 3920 Skaliert Nr. 400211 = 2501 400221 = 1124 400231 = 7379 400241 = 0770 HEU 400212 = 5000 400222 = 3300 400232 = 9999 400242 = 0800 LEU 400213 = 0000 400223 = 0200 400233 = 0000 400243 = 0100 DB 400214 = 0015 400224 = 0022 400234 = 0100 400244 = 0006 Hi Alarm 400215 = 40000 400225 = 2900 400235 = 8090 400245 = 0768 Hi Warn 400216 = 3500 400226 = 2300 400236 = 7100 400246 = 0680 Lo Warn 400217 = 2000 400227 = 1200 400237 = 3200 400247 = 0280 Lo Alarm 400218 = 1200 400228 = 0430 400238 = 0992 400248 = 0230 31007525 12/2006 Instruktionsbeschreibungen (F bis N) IV Auf einen Blick Einleitung In diesem Abschnitt werden Instruktionsbeschreibungen in alphabetischer Folge von F bis N aufgeführt. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: 31007525 12/2006 Kapitel Kapitelname Seite 86 FIN: First In 513 87 FOUT: First Out 519 88 FTOI: Gleitkommazahl in Ganzzahl 525 89 GD92 – Gasdurchfluss-Funktionsblock 529 90 GFNX AGA#3 ‘85 und NX19 ‘68 GasdurchflussFunktionsblock 541 91 GG92 AGA #3 1992 Gesamtmethode des DurchflussFunktionsblocks 555 92 GM92 AGA #3 und #8 1992 Detailmethode GasdurchflussFunktionsblock 567 93 G392 AGA #3 1992 Gasdurchfluss-Funktionsblock 579 94 HLTH: Verlaufs- und Statusmatrizen 591 95 HSBY - Hot Standby 607 96 IBKR: Indirektes Lesen eines Blockes 613 97 IBKW: Indirektes Schreiben eines Blockes 617 98 ICMP: Eingangsvergleich 621 99 ID: Sperren eines Interrupts 627 100 IE: Freigeben eines Interrupts 631 101 IMIO: Direkte E/A 635 102 IMOD: Anweisung für Interrupt-Modul 643 511 Instruktionsbeschreibungen (F bis N) Kapitel 512 Kapitelname Seite 103 INDX – Unmittelbare inkrementelle Bewegung 653 104 ITMR: Interrupt-Zeitgeber 657 105 ITOF: Ganzzahl-Gleitkommazahl 663 106 JOGS – JOG-Bewegung 667 107 JSR: Sprung in ein Unterprogramm 671 108 LAB: Markierung eines Unterprogramms 675 109 LOAD: Flash laden 679 110 MAP3: MAP-Transaktion 683 111 MATH - Ganzzahloperationen 691 112 MBIT: Bit-Veränderung 699 113 MBUS: MBUS-Transaktion 705 114 MMFB – Modicon Motion Framework Bitblock 715 115 MMFE – Modicon Motion Framework, erweitertes ParameterUnterprogramm 719 116 MMFI – Modicon Motion Framework Initialisierungsblock 723 117 MMFS – Modicon Motion Framework Unterprogrammblock 729 118 MOVE – Absolute Bewegung 733 119 MRTM: Mehrfachregister-Transfermodul 737 120 MSPX (Seriplex) 743 121 MSTR: Master 747 122 MU16: 16-Bit-Multiplikation 795 123 MUL: Multiplikation 799 124 NBIT: Bit-Steuerung 805 125 NCBT: Öffner-Bit 809 126 NOBT: Schließer-Bit 813 127 NOL: Netzwerk-Optionsmodul für LonWorks 817 31007525 12/2006 FIN: First In 86 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung FIN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 514 Darstellung 515 Parameterbeschreibung 517 513 FIN: First In Kurzbeschreibung Funktionsbeschreibung 514 Die Instruktion FIN wird zur Erzeugung einer FIRST-IN-Warteschlange verwendet. Verwenden Sie die Instruktion FOUT, um das Register am unteren Ende der Warteschlange zu löschen. Die Instruktion FIN hat einen Steuereingang und kann drei Ausgänge generieren. 31007525 12/2006 FIN: First In Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quelldaten Warteschlange ist voll Warteschlangenzeiger FIN Länge: 1 - 100 31007525 12/2006 Warteschlange ist leer Warteschlangenlänge 515 FIN: First In Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeich Datentyp er-Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = kopiert das Quellbitmuster in die Warteschlange Quelldaten (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Quelldaten, werden im aktuellen Logikzyklus zum oberen Ende der Zielwarteschlange kopiert Warteschlangenzeiger (mittlerer Knoten) 4x WORD Erstes Register einer Warteschlange von 4x-Registern, enthält den Warteschlangenzeiger; das nächste zusammenhängende Register ist das erste Register in der Warteschlange Warteschlangenlänge (unterer Knoten) 516 INT, UINT Anzahl der 4x-Register in der Zielwarteschlange. Bereich: 1 ... 100 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Warteschlange voll, es können keine Quelldaten mehr in die Warteschlange kopiert werden Unterer Ausgang 0x Keine EIN = Warteschlange leer (Wert im Warteschlangenzeiger-Register = 0) 31007525 12/2006 FIN: First In Parameterbeschreibung Funktionsweise Die Instruktion FIN wird zur Erzeugung einer FIRST-IN-Warteschlange verwendet. Sie kopiert die Eingangsdaten vom oberen Eintrag in das erste Register einer Warteschlange von Ausgangsregistern. Die Eingangsdaten werden immer in das Register am oberen Ende der Warteschlange kopiert. Wenn eine Warteschlange voll ist, können keine weiteren Quelldaten mehr hineinkopiert werden. FIN 1111 FIN FIN 1111 Source 2222 2222 3333 3333 Source 1111 Source 2222 1111 Queue Queue Queue Quelldaten (oberer Eintrag) Wenn Sie die Registertypen 0x oder 1x verwenden: z Erste 0x-Referenz in einer Reihe von 16 benachbarten Ausgangs-/Merkerbits oder Ausgangsbits z Erste 1x-Referenz in einer Zeichenkette von 16 Biteingängen Warteschlangenzeiger (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist ein Warteschlangenzeiger. Das erste Register in der Warteschlange ist das auf den Zeiger folgende 4xRegister. Wenn z.B. der mittlere Eintrag eine Zeigerreferenz von 400100, angibt, hat das erste Register in der Warteschlange die Adresse 400101. Der im Warteschlangenzeiger abgelegte Wert entspricht der Anzahl von Registern in der Warteschlange, die aktuell Eingangsdaten enthalten. Der Zeigerwert kann den im unteren Eintrag spezifizierten ganzzahligen maximalen WarteschlangenLängenwert nicht übersteigen. Wenn der Wert im Warteschlangenzähler der im unteren Eintrag festgelegten Ganzzahl entspricht, wird der mittlere Ausgang aktiv und es können solange keine weiteren Eingangsdaten in die Warteschlange eingetragen werden, bis eine FOUTInstruktion das Register am unteren Ende der Warteschlange löscht. 31007525 12/2006 517 FIN: First In 518 31007525 12/2006 FOUT: First Out 87 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung FOUT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 520 Darstellung 521 Parameterbeschreibung 523 519 FOUT: First Out Kurzbeschreibung Funktionsbeschreibung Die Anweisung FOUT generiert im Zusammenwirken mit der Anweisung FIN eine Warteschlange des Typs "first-in/first-out" (FIFO). Er kopiert das Bitmuster des Ausgangsregisters am unteren Ende der vollen Warteschlange in ein Zielregister oder Wort mit 16 Ausgangsbits. Eine FOUT-Anweisung hat einen Steuereingang und kann drei Ausgänge generieren. GEFAHR GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung FOUT auf deaktivierte Spulen. FOUT überschreibt alle gesperrten Spulen innerhalb eines Zielregisters, ohne sie freizugeben. Dies kann zu Verletzungen führen, wenn eine Spule zwecks Reparatur oder Wartung gesperrt worden ist, da sich der Zustand der Spule im Ergebnis der Operation FOUT ändern kann. Die Nichtbeachtung dieser Anweisung wird Tod oder schwere Körperverletzung zur Folge haben. 520 31007525 12/2006 FOUT: First Out Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellzeiger Quelle: Einzelne 16-BitPosition Warteschlange ist voll Zielregister FOUT Warteschlange ist leer Warteschlangenlänge Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = löscht Quellbitmuster aus der Warteschlange 521 FOUT: First Out Parameter 522 Signalspeicher- Datentyp Referenz Bedeutung Quellzeiger 4x (oberer Knoten) WORD Erstes Register einer Warteschlange von 4xRegistern, enthält den Quellzeiger; das nächste zusammenhängende Register ist das erste Register in der Warteschlange In der Anweisung FOUT stammen die Quelldaten vom 4xxxx-Register am unteren Ende einer vollen Warteschlange. Das auf das Quellzeigerregister im oberen Knoten folgende 4xxxx-Register ist das erste Register in der Warteschlange. Wenn z.B. der obere Knoten das Zeigerregister 40100 anzeigt, hat das erste Register in der Warteschlange die Adresse 40101. Der im Quellzeiger eingegebene Wert entspricht der Zahl der Register in der Warteschlange, die aktuell gefüllt sind. Der Zeigerwert kann den im unteren Knoten spezifizierten ganzzahligen maximalen Warteschlangen-Längenwert nicht übersteigen. Wenn der Wert im Quellzeiger dem im unteren Knoten spezifizierten Ganzzahlwert entspricht, ist der mittlere Ausgang aktiv, und es können so lange keine weiteren FIN-Daten in die Warteschlange geschrieben werden, bis die Anweisung FOUT das Register am unteren Ende der Warteschlange an das Zielregister übergibt. Zielregister 0x, 4x (mittlerer Knoten) ANY_BIT Zielregister Das im mittleren Knoten spezifizierte Zielregister kann eine 0xxxx-Referenz oder ein 4xxxxRegister sein. Wenn die Warteschlange Daten enthält und der obere Steuereingang der Anweisung FOUT aktiv ist, werden die Quelldaten aus dem unteren Register der Warteschlange gelöscht und in das Zielregister übertragen. Warteschla ngenlänge (unterer Knoten) INT, UINT Anzahl der 4x-Register in der Warteschlange. Bereich: 1 ... 100 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Warteschlange voll, es können keine Quelldaten mehr in die Warteschlange kopiert werden Unterer Ausgang 0x Keine EIN = Warteschlange leer (Wert im Warteschlangenzeiger-Register = 0) 31007525 12/2006 FOUT: First Out Parameterbeschreibung Funktionsweise Die Instruktion FOUT generiert im Zusammenspiel mit der Instruktion FIN eine Warteschlange des Typs "first-in/first-out" (FIFO). Sie verschiebt das Bitmuster des Ausgangsregisters am unteren Ende einer vollen Warteschlange in ein Zielregister oder Wort mit 16 Ausgangsbits. FIN FIN 3333 3333 3333 4444 4444 Source 2222 2222 Source 3333 1111 1111 1111 2222 Queue Queue Destination Queue FOUT Hinweis: Die Instruktion FOUT sollte im Ladder-Logic-FIFO vor der Instruktion FIN positioniert sein, um sicherzustellen, dass die ältesten Daten aus einer vollen Warteschlange entfernt werden, bevor die neuesten Daten eingegeben werden. Wenn der FIN-Block zuerst erscheinen würde, würden alle Versuche, neue Daten in eine volle Warteschlange einzugeben, ignoriert. Quellzeiger (oberer Eintrag) In der Instruktion FOUT stammen die Quelldaten vom 4x-Register am unteren Ende einer vollen Warteschlange. Das auf das Quellzeigerregister im oberen Eintrag folgende 4x-Register ist das erste Register in der Warteschlange. Wenn z.B. der obere Eintrag das Zeigerregister 400100 anzeigt, hat das erste Register in der Warteschlange die Adresse 400101. Der im Quellzeiger eingegebene Wert entspricht der Zahl der Register in der Warteschlange, die aktuell gefüllt sind. Der Zeigerwert kann den im unteren Eintrag spezifizierten ganzzahligen maximalen Warteschlangen-Längenwert nicht übersteigen. Wenn der Wert im Quellzeiger dem im unteren Eintrag spezifizierten Ganzzahlwert entspricht, ist der mittlere Ausgang aktiv, und es können so lange keine weiteren FIN-Daten in die Warteschlange geschrieben werden, bis die Instruktion FOUT das Register am unteren Ende der Warteschlange an das Zielregister übergibt. Zielregister (mittlerer Eintrag) Das im mittleren Eintrag spezifizierte Zielregister kann eine 0x-Referenz oder ein 4xRegister sein. Wenn die Warteschlange Daten enthält und der obere Eingang der Instruktion FOUT ist aktiv, werden die Quelldaten am unteren Register der Warteschlange gelöscht und in das Zielregister übertragen. 31007525 12/2006 523 FOUT: First Out 524 31007525 12/2006 FTOI: Gleitkommazahl in Ganzzahl 88 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung FTOI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 526 Darstellung 527 525 FTOI: Gleitkommazahl in Ganzzahl Kurzbeschreibung Funktionsbeschreibung 526 Die Instruktion FTOI konvertiert einen Gleitkommawert in eine Ganzzahl mit oder ohne Vorzeichen (wird in zwei benachbarten Registern im oberen Eintrag abgelegt) und legt dann den konvertierten Ganzzahlwert in einem 4x-Register im mittleren Eintrag ab. 31007525 12/2006 FTOI: Gleitkommazahl in Ganzzahl Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich Gleitkommazahl Konvertierte Ganzzahl Überlauf ohne Vorzeichen > 65535 mit Vorzeichen > 32767 oder < -32768 Mit Vorzeichen FTOI 1 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Konvertierung freigeben Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Gleitkommawert (oberer Knoten) 4x REAL Erstes von zwei benachbarten Ausgangsregistern, in denen der Gleitkommawert abgelegt wird konvertierte Ganzzahl (mittlerer Knoten) 4x INT, UINT Der konvertierte Ganzzahlwert wird hier abgelegt 1 (unterer Knoten) 31007525 12/2006 INT, UINT Ein konstanter Wert von 1 (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Ganzzahl-Konvertierung erfolgreich abgeschlossen Unterer Ausgang 0x Keine EIN = konvertierter Ganzzahlwert liegt außerhalb des Bereichs: Ganzzahl ohne Vorzeichen > 65 535 -32 768 > Ganzzahl mit Vorzeichen > 32 767 527 FTOI: Gleitkommazahl in Ganzzahl 528 31007525 12/2006 GD92 – GasdurchflussFunktionsblock 89 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung GD92 AGA #3 und AGA #8 1992 Detailmethode beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 530 Darstellung 531 Parameterbeschreibung - Eingänge 533 Parameterbeschreibung - Ausgänge 539 Parameterbeschreibung - Optionale Ausgänge 540 529 GD92 Gasdurchfluss-Funktionsblock Kurzbeschreibung Funktionsbeschreibung Der Gasdurchfluss-Loadable-Funktionsblock ermöglicht Ihnen, die Gleichungen AGA 3 (1992) und AGA 8 (1992) auszuführen. Die berechneten Durchflussgeschwindigkeiten stimmen innerhalb von 1 ppm mit den publizierten AGA-Normen überein. Die Anweisung GD92 verwendet die Detailmethode zur Prüfung von Eigenschaften, die umfassendes Wissen über die Gaszusammensetzung erfordert. Der GD92 Gasdurchfluss-Loadable-Funktionsblock ist nur bei bestimmten Compact- und Micro-Steuerungen verfügbar. Hinweis: GD92 unterstützt nicht den API 21.1-Prüfpfad. GD92 unterstützt nur ein einzelnes Messgerät. Hinweis: Sie müssen das LSUP-Loadable vor GD92. installieren. Weitere Informationen Ausführliche Informationen zu den Gasdurchfluss-Funktionsblock-Loadables, insbesondere z Systemwarnung/Fehlercodes (4x+0) für jede Anweisung z Programmwarnung/Fehlercodes (4x+1) für jede Anweisung z API 21.1-Prüfpfad z Dienstprogramm GET_LOGS.EXE z Dienstprogramm SET_SIZE.EXE finden Sie im Handbuch Modicon Starling Associates Gas Flow Loadable Function Block (890 USE 137). 530 31007525 12/2006 GD92 Gasdurchfluss-Funktionsblock Darstellung Symbol Darstellung der Anweisung Start der Operation Operation ist aktiv Konstante #0001 Anwenderdefinierte Warnung Register System- oder Programmwarnung Benutzerdefinierter Fehler GD92 System- oder Programmfehler Konstante #0003 Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang Keine EIN = Ausführen Dieser Eingang startet die Berechnung des Gasdurchflusses. Die Berechnungen basieren auf den von Ihnen in die Eingangsregister eingegebenen Parametern. Wichtig: Trennen Sie nie den oberen Eingang, während der Block in Betrieb ist. Dadurch wird ein Fehler des Typs 188 verursacht, und die Daten in diesem Block werden verfälscht. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 533.) 0x, 1x 531 GD92 Gasdurchfluss-Funktionsblock Parameter SignalspeicherReferenz Datentyp Bedeutung Mittlerer Eingang 0x, 1x Keine Ermöglicht Ihnen, eine Warnung zu konfigurieren. Ermöglicht Ihnen, je nach den Erfordernissen Ihrer Anwendung benutzerdefinierte Warnungen oder Fehler zu erfassen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 533.) Unterer Eingang 0x, 1x Keine Ermöglicht Ihnen, einen Fehler zu konfigurieren und die Durchflussfunktion zu stoppen. Ermöglicht Ihnen, je nach den Erfordernissen Ihrer Anwendung benutzerdefinierte Warnungen oder Fehler zu erfassen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 533.) Konstante #0001 (oberer Knoten) 4x INT, UINT Der obere Knoten muss eine Konstante, #0001, enthalten. Register (mittlerer Knoten) 4x INT, UINT Das im mittleren Knoten eingegebene 4xRegister ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die die Konfigurationsparameter und die dem Gasdurchflussblock zugeordneten Werte beinhalten. Wichtig: Versuchen Sie nicht, das 4x-Register des mittleren Knotens zu ändern, während der Gasdurchflussblock in Betrieb ist. Sie verlieren Ihre Daten, und der Fehler 302 wird generiert. Wenn Sie das 4x-Register ändern müssen, stoppen Sie zunächst die SPS. INT, UINT Der untere Knoten gibt den Berechnungstyp an und muss eine Konstante, #0003, enthalten. #0003 (unterer Knoten) 532 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = System- oder Programmwarnung Unterer Ausgang 0x Keine EIN = System- oder Programmfehler 31007525 12/2006 GD92 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Eingänge Konfigurationstabelle Sie müssen unter Verwendung des Referenzdateneditors in ProWORX oder Concept, oder in den DX Zoom-Fenstern in Modsoft, oder im Messgerät-Verwalter alle relevanten Werte in die Konfigurationstabelle eingeben. In der folgenden Tabelle werden alle Konfigurationsparameter aufgelistet, die eingegeben werden müssen. Die Ausgänge (Tabelle "Ausgangsergebnisse") und die optionalen Ausgänge (Tabelle "Optionale Ausgangsergebnisse") zeigen die Berechnungsergebnisse des Blocks. Einige dieser Parameter sind erforderlich. Hinweis: Nur gültige Einträge sind zulässig. Einträge außerhalb der gültigen Bereiche werden nicht akzeptiert. Unzulässige Einträge führen zu Fehlern oder Warnungen. Hinweis: Concept ab Version 2.1 kann verwendet werden, um die Gasblöcke zu laden. Jedoch stellen Concept und ProWORX keine Hilfe oder DX Zoom-Fenster für die Konfiguration bereit. Wenn Sie die Steuerungsoftware Concept oder ProWORX verwenden, empfiehlt sich der Messgerät-Verwalter für Ihre Konfigurationserfordernisse. Eingänge 31007525 12/2006 Es folgt eine detaillierte Beschreibung der Konfigurationsvariablen für den GD92Gasdurchfluss-Funktionsblock. Eingänge Beschreibung 4xxxx+3: 1 bis 2 Lage von Abgriffen 1 - Vorgeschaltet 2- Nachgeschaltet 4xxxx+3: 3 bis 4 Messrohrmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 5 bis 6 Öffnungsmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 7 bis 8 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 533 GD92 Gasdurchfluss-Funktionsblock 534 Eingänge Beschreibung 4xxxx+3: 9 bis 10 Optionale Ausgänge 1 - Ja 2 - Nein Hinweis: Wenn Sie nur Standardausgänge verwenden, verwendet das Loadable 157 4xxxx-Register. Wenn Sie die optionalen Ausgänge verwenden, verwendet das Loadable 181 4xxxx-Register. 4xxxx+3: 11 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 1 Absoluter Druck/Manometerdruck 0 - Statischer Druck gemessen in Grundeinheiten 1 - Statischer Druck gemessen in Manometereinheiten 4xxxx+4: 2 Abschaltung bei niedrigem Durchfluss 0 - Durchfluss-Abschaltung nicht verwenden 1 - Durchfluss-Abschaltung verwenden 4xxxx+4: 3 bis 6 Ladebefehl 0 - Bereit zur Annahme des Befehls 1 - CMD: Konfiguration zu interner Tabelle von 4xxxx senden 2 - CMD: Konfiguration aus interner Tabelle zu 4xxxx lesen 3 - CMD: API 21.1-Konfigurationänderungsprotokoll zurücksetzen 4xxxx+4: 7 bis 8 Eingangstyp 1 - 3xxxx Zeiger eingegeben in 4x+6 ... 4x+10 2 - Eingangswerte eingegeben in 4x+6 ... 4x+10 4xxxx+4: 9 bis 10 Mol % Fehlergrenzwert 1 - Aktivieren 2 - Deaktivieren 4xxxx+4: 11 bis 12 Option Dualbereich-Differentialdruck 1 - Ja 2 - Nein 4xxxx+4: 13 bis 14 Kompressibel/Inkompressibel 1 - Kompressibel 2 - Inkompressibel 4xxxx+4: 15 bis 16 Methoden für die Mittelwertbildung 0 - Zeitabhängiger, gewichteter, linearer Durchfluss 1 - Zeitabhängiger, gewichteter, auf Formeln basierender Durchfluss 2 - Gewichteter, linearer Durchfluss 3 - Gewichteter, auf Formeln basierender Durchfluss Hinweis: Für die meisten Anwendungen verwenden Sie 0. 4xxxx+5: 1 bis 2 Messeinheiten 1 - US 2 - Metrisch (SI) 4xxxx+5: 3 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+6 Temperatur 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 31007525 12/2006 GD92 Gasdurchfluss-Funktionsblock 31007525 12/2006 Eingänge Beschreibung 4xxxx+7 Druck (absolut) 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+8 Differentialdruck 1 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+9 Differentialdruck 2 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+10 Analogeingangsrohwert für Mindesttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+11 Analogeingangsrohwert für Höchsttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+12 Analogeingangsrohwert für Mindestdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+13 Analogeingangsrohwert für Höchstdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+14 Analogeingangsrohwert für Mindestdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+15 Analogeingangsrohwert für Höchstdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+16 Analogeingangsrohwert für Mindestdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+17 Analogeingangsrohwert für Höchstdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+18 bis 19 Physikalische Einheit für Mindesttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+20 bis 21 Physikalische Einheit für Höchsttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+22 bis 23 Physikalische Einheit für Mindestdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+24 bis 25 Physikalische Einheit für Höchstdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+26 bis 27 Physikalische Einheit für Mindestdifferentialdruck 1 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+28 bis 29 Physikalische Einheit für Höchstdifferentialdruck 1 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 535 GD92 Gasdurchfluss-Funktionsblock 536 Eingänge Beschreibung 4xxxx+30 bis 31 Physikalische Einheit für Mindestdifferentialdruck 2 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+32 bis 33 Physikalische Einheit für Höchstdifferentialdruck 2 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+34 bis 35 Durchmesser der Messblende , dr (0 < dr < 100 in) (0 < dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+36 bis 37 Messtemperatur am Durchmesser der Messblende, Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+38 bis 39 Messrohr-Innendurchmesser Dr (0 <Dr <100 in) (0 < Dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+40 bis 41 Am Messrohr-Innendurchmesser gemessene Temperature Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+42 bis 43 Basistemperatur, Tb (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Datentyp: Gleitkommazahl 4xxxx+44 bis 45 Basisdruck, Pb (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+46 bis 47 Bezugstemperatur für die relative Dichte, Tgr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+48 bis 49 Bezugsdruck für die relative Dichte, Pgr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+50 bis 57 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+58 bis 59 Vom Benutzer eingegebener Korrekturfaktor, Fu (0 < Fu < 2,0) Datentyp: Gleitkommazahl 4xxxx+60 bis 61 Absolute Viskosität des fließenden Fluids, μc (0,005 <= μc <= 0,5 Zentipoise) Datentyp: Gleitkommazahl 4xxxx+62 bis 63 Isentropischer Exponent, k (1,0 <= k < 2,0) Datentyp: Gleitkommazahl 31007525 12/2006 GD92 Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+64 Beginn der Tagesstunde (0 ... 23) Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+65 bis 78 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+79 bis 80 Atmosphärischer Druck Pat (3 <= Pat <30 psi) (20,684 <= Pbei < 206,843 kPa) Datentyp: Gleitkommazahl 4xxxx+81 bis 82 Abschaltpegel bei niedrigem Durchfluss (>= 0 ft3/Hr) (>= 0 m3/Hr) Verwendet, wenn aktiviert in 4x+4: 2. Datentyp: Gleitkommazahl 31007525 12/2006 4xxxx+83 bis 84 Mol % von Methan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+85 bis 86 Mol % von Stickstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+87 bis 88 Mol % von Kohlendioxid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+89 bis 90 Mol % von Äthan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl xxx+91 bis 92 Mol % von Propan, xi *(0,0 <= xi <= 12) Datentyp: Gleitkommazahl 4xxxx+93 bis 94 Mol % Wasser, xi *(0,0 <= xi <= 10) Datentyp: Gleitkommazahl 4xxxx+95 bis 96 Mol % von Wasserstoffsulfid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+97 bis 98 Mol % von Wasserstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+99 bis 100 Mol % von Kohlenmonoxid, xi *(0,0 <= xi <= 3) Datentyp: Gleitkommazahl 537 GD92 Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+101 bis 102 Mol % von Sauerstoff, xi *(0,0 <= xi <= 21) Datentyp: Gleitkommazahl 4xxxx+103 bis 104 Mol % von I-Butan, xi *(0,0 <= xi <= 6) für kombinierte Butangase Datentyp: Gleitkommazahl 4xxxx+105 bis 106 Mol % von n-Butan, xi *(0,0 <= xi <= 6) für kombinierte Butangase Datentyp: Gleitkommazahl 4xxxx+107 bis 108 Mol % von I-Pentan, xi *(0,0 <= xi <= 4) für kombinierte Pentangase Datentyp: Gleitkommazahl 4xxxx+109 bis 110 Mol % von n-Pentan, xi *(0,0 <= xi <= 4) für kombinierte Pentangase Datentyp: Gleitkommazahl 4xxxx+111 bis 112 Mol % von Hexan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+113 bis 114 Mol % von Heptan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+115 bis 116 Mol % von Oktan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+117 bis 118 Mol % von Nonan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+119 bis 120 Mol % von Dekan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+121 bis 122 Mol % von Helium, xi *(0,0 <= xi <= 30) Datentyp: Gleitkommazahl 4xxxx+123 bis 124 Mol % von Argon, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl *Gültiger Bereich 538 31007525 12/2006 GD92 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Ausgänge Tabelle "Ausgangsergebnisse" Die Ausgänge zeigen die Berechnungsergebnisse des Blocks. Ausgänge Beschreibung 4xxxx+0 Systemwarnung/Fehlercode (angezeigt im Hexadezimalmodus) 4xxxx+1 Programmwarnung/Fehlercode 4xxxx+2 Versionsnummern (angezeigt im Hexadezimalmodus) 4xxxx+125 bis 126 Temperatur unter Fließbedingungen (Tf) (°F oder °C) 4xxxx+127 bis 128 Druck (Pf) (psia oder kPa) 4xxxx+129 bis 130 Differentialdruck (hw) (in H2O oder kPa) 4xxxx+131 bis 132 Integralwert (IV) 4xxxx+133 bis 134 Integralmultiplikatorwert (IMV) 4xxxx+135 bis 136 Volumendurchfluss unter Grundbedingungen (Tb, Pb), Qb (ft3/h oder m3/h) 31007525 12/2006 4xxxx+137 bis 138 Mengendurchfluss (Qm) (lbm/h oder kg/h) 4xxxx+139 bis 140 Gesamtvolumen des aktuellen Tages 4xxxx+141 bis 142 Gesamtvolumen der letzten Stunde 4xxxx+143 bis 144 Gesamtvolumen der letzten Tages 4xxxx+145 bis 146 Durchschnittstemperatur des letzten Tages 4xxxx+147 bis 148 Durchschnittsdruck des letzten Tages 4xxxx+149 bis 150 Durchschnittsdifferentialdruck des letzten Tages 4xxxx+151 bis 152 Durchschnitt IV des letzten Tages 4xxxx+153 bis 154 Durchschnittlicher Volumendurchfluss unter Grundbedingungen (Tb, Pb) des letzten Tages 4xxxx+155: 13 4xxxx-Tabelle unterscheidet sich von der aktuellen Konfiguration 4xxxx+155: 14 Pulsation bei vollständiger Durchflussausführung 4xxxx+155: 15 Pulsation bei funktionierendem Block 4xxxx+155: 16 Tagesende-Flag 539 GD92 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Optionale Ausgänge Tabelle "Konfiguration der optionalen Ausgänge" 540 Die optionalen Ausgänge zeigen die Berechnungsergebnisse des Blocks. Diese sind nur aktiv, wenn 4x+3: 9 ... 10 ist 1. Optionale Ausgänge Beschreibung 4xxxx+156 bis 157 Kompressibilität unter Fließbedingungen (Tf, Pf), Zf 4xxxx+158 bis 159 Kompressibilität unter Grundbedingungen (Tb, Pb), Zb 4xxxx+160 bis 161 Kompressibilität unter Standardbedingungen (Ts, Ps), Zs 4xxxx+162 bis 163 Dichte unter Fließbedingungen (Pt,p) 4xxxx+164 bis 165 Fluiddichte unter Grundbedingungen (ρ) 4xxxx+166 bis 167 Überkompressibilität (Fpv) 4xxxx+168 bis 169 Relative Gasdichte (Gr) 4xxxx+170 bis 171 Durchflusskoeffizient der Messblende (Cd) 4xxxx+172 bis 173 Ausdehnungskoeffizient (Y) 4xxxx+174 bis 175 Annäherungsgeschwindigkeitsfaktor (Ev) 4xxxx+176 bis 177 Volumendurchfluss unter Fließbedingungen (Tf, Pf), Qf 4xxxx+178 bis 179 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+180 Grenzbereich-Flag für Durchflusskoeffizient der Messblende innerhalb des Iterationsschemas (Cd-f) 31007525 12/2006 GFNX AGA#3 ‘85 und NX19 ‘68 Gasdurchfluss-Funktionsblock 90 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung GFNX AGA#3 ‘85 und NX19 ‘68 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 542 Darstellung 543 Parameterbeschreibung - Eingänge 545 Parameterbeschreibung - Ausgänge 552 Parameterbeschreibung - Optionale Ausgänge 553 541 GFNX Gasdurchfluss-Funktionsblock Kurzbeschreibung Funktionsbeschreibung Der GFNX AGA #3 ‘85 und NX19 API 21.1 Gasdurchfluss-Loadable-Funktionsblock ist nur bei bestimmten Compact- und Micro-Steuerungen verfügbar. Der Gasdurchfluss-Loadable-Funktionsblock ermöglicht Ihnen, die Gleichungen AGA 3 (1992) und AGA 8 (1992) auszuführen. Die berechneten Durchflussgeschwindigkeiten stimmen innerhalb von 1 ppm mit den publizierten AGA-Normen überein. Die Anweisung GFNX verwendet die Detailmethode zur Prüfung von Eigenschaften, die umfassendes Wissen über die Gaszusammensetzung erfordert. Hinweis: Sie müssen das LSUP-Loadable vor GFNX installieren. Weitere Informationen Ausführliche Informationen zu den Gasdurchfluss-Funktionsblock-Loadables, insbesondere z Systemwarnung/Fehlercodes (4x+0) für jede Anweisung z Programmwarnung/Fehlercodes (4x+1) für jede Anweisung z API 21.1-Prüfpfad z Dienstprogramm GET_LOGS.EXE z Dienstprogramm SET_SIZE.EXE finden Sie im Handbuch Modicon Starling Associates Gas Flow Loadable Function Block (890 USE 137). 542 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock Darstellung Symbol Darstellung der Anweisung Start der Operation Operation ist aktiv Konstante #0001 Anwenderdefinierte Warnung Register System- oder Programmwarnung Benutzerdefinierter Fehler GFNX System- oder Programmfehler Methode Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang EIN = Ausführen Dieser Eingang startet die Berechnung des Gasdurchflusses. Die Berechnungen basieren auf den von Ihnen in die Eingangsregister eingegebenen Parametern. Wichtig: Trennen Sie nie den oberen Eingang, während der Block in Betrieb ist. Dadurch wird ein Fehler des Typs 188 verursacht, und die Daten in diesem Block werden verfälscht. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 545.) 0x, 1x Keine 543 GFNX Gasdurchfluss-Funktionsblock Parameter Signalspeicher- Datentyp Referenz Bedeutung Mittlerer Eingang 0x, 1x Keine Ermöglicht Ihnen, eine Warnung zu konfigurieren. Ermöglicht Ihnen, eine Warnung zu konfigurieren und Peripherieaktivitäten im PrüfpfadEreignisprotokoll zu protokollieren, ohne den Block zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 545.) Unterer Eingang 0x, 1x Keine Ermöglicht Ihnen, einen Fehler zu konfigurieren und die Durchflussfunktion zu stoppen. Ermöglicht Ihnen, einen Fehler zu konfigurieren, Peripheriefehler im Prüfpfad-Ereignisprotokoll zu protokollieren und die Durchflussfunktion zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 545.) Konstante #0001 (oberer Knoten) 4x INT, UINT Der obere Knoten muss eine Konstante, #0001, enthalten. Register (mittlerer Knoten) 4x INT, UINT Das im mittleren Knoten eingegebene 4x-Register ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die die Konfigurationsparameter und die dem Gasdurchflussblock zugeordneten Werte beinhalten. Wichtig: Versuchen Sie nicht, das 4x-Register des mittleren Knotens zu ändern, während der Gasdurchflussblock in Betrieb ist. Sie verlieren Ihre Daten, und der Fehler 302 wird generiert. Wenn Sie das 4x-Register ändern müssen, stoppen Sie zunächst die SPS. INT, UINT Der untere Knoten gibt den Berechnungstyp an und muss eine Konstante enthalten. Wichtig: Verwenden Sie nur gültige Einträge. Andere Einträge ermöglichen nicht den Zugriff auf die DX Zoom-Fenster des Blocks. Methode (unterer Knoten) 544 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = System- oder Programmwarnung Unterer Ausgang 0x Keine EIN = System- oder Programmfehler 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock Parameterbeschreibung - Eingänge Konfigurationstabelle Sie müssen unter Verwendung des Referenzdateneditors in ProWORX oder Concept, oder in den DX Zoom-Fenstern in Modsoft, oder im Messgerät-Verwalter alle relevanten Werte in die Konfigurationstabelle eingeben. In der folgenden Tabelle werden alle Konfigurationsparameter aufgelistet, die eingegeben werden müssen. Die Ausgänge (Tabelle "Ausgangsergebnisse") und die optionalen Ausgänge (Tabelle "Optionale Ausgangsergebnisse") zeigen die Berechnungsergebnisse des Blocks. Einige dieser Parameter sind erforderlich. Hinweis: Nur gültige Einträge sind zulässig. Einträge außerhalb der gültigen Bereiche werden nicht akzeptiert. Unzulässige Einträge führen zu Fehlern oder Warnungen. Hinweis: Concept ab Version 2.1 kann verwendet werden, um die Gasblöcke zu laden. Jedoch stellen Concept und ProWORX keine Hilfe oder DX Zoom-Fenster für die Konfiguration bereit. Wenn Sie die Steuerungsoftware Concept oder ProWORX verwenden, empfiehlt sich der Messgerät-Verwalter für Ihre Konfigurationserfordernisse. Eingänge 31007525 12/2006 Es folgt eine detaillierte Beschreibung der Konfigurationsvariablen für den GFNXGasdurchfluss-Funktionsblock. Eingänge Beschreibung 4xxxx+3: 1 bis 2 Lage von Abgriffen 1 - Vorgeschaltet 2- Nachgeschaltet 4xxxx+3: 3 bis 4 Messrohrmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 5 bis 6 Öffnungsmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 7 bis 8 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 545 GFNX Gasdurchfluss-Funktionsblock 546 Eingänge Beschreibung 4xxxx+3: 9 bis 10 Optionale Ausgänge 1 - Ja 2 - Nein Hinweis: Wenn Sie nur Standardausgänge verwenden, verwendet das Loadable 157 4xxxx-Register. Wenn Sie die optionalen Ausgänge verwenden, verwendet das Loadable 181 4xxxx-Register. 4xxxx+3: 11 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 1 Absoluter Druck/Manometerdruck 0 - Statischer Druck gemessen in Grundeinheiten 1 - Statischer Druck gemessen in Manometereinheiten 4xxxx+4: 2 Abschaltung bei niedrigem Durchfluss 0 - Durchfluss-Abschaltung nicht verwenden 1 - Durchfluss-Abschaltung verwenden 4xxxx+4: 3 bis 6 Ladebefehl 0 - Bereit zur Annahme des Befehls 1 - CMD: Konfiguration zu interner Tabelle von 4xxxx senden 2 - CMD: Konfiguration aus interner Tabelle zu 4xxxx lesen 3 - CMD: API 21.1-Konfigurationänderungsprotokoll zurücksetzen 4xxxx+4: 7 bis 8 Eingangstyp 1 - 3xxxx Zeiger eingegeben in 4x+6 ... 4x+10 2 - Eingangswerte eingegeben in 4x+6 ... 4x+10 4xxxx+4: 9 bis 10 Mol % Fehlergrenzwert 1 - Aktivieren 2 - Deaktivieren 4xxxx+4: 11 bis 12 Option Dualbereich-Differentialdruck 1 - Ja 2 - Nein 4xxxx+4: 13 bis 14 Kompressibel/Inkompressibel 1 - Kompressibel 2 - Inkompressibel 4xxxx+4: 15 bis 16 Methoden für die Mittelwertbildung 0 - Zeitabhängiger, gewichteter, linearer Durchfluss 1 - Zeitabhängiger, gewichteter, auf Formeln basierender Durchfluss 2 - Gewichteter, linearer Durchfluss 3 - Gewichteter, auf Formeln basierender Durchfluss Hinweis: Für die meisten Anwendungen verwenden Sie 0. 4xxxx+5: 1 bis 2 Messeinheiten 1 - US 2 - Metrisch (SI) 4xxxx+5: 3 bis 14 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+5: 15 bis 16 Reserviert für API 21.1 4xxxx+6 Temperatur 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock 31007525 12/2006 Eingänge Beschreibung 4xxxx+7 Druck (absolut) 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+8 Differentialdruck 1 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+9 Differentialdruck 2 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+10 Analogeingangsrohwert für Mindesttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+11 Analogeingangsrohwert für Höchsttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+12 Analogeingangsrohwert für Mindestdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+13 Analogeingangsrohwert für Höchstdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+14 Analogeingangsrohwert für Mindestdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+15 Analogeingangsrohwert für Höchstdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+16 Analogeingangsrohwert für Mindestdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+17 Analogeingangsrohwert für Höchstdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+18 bis 19 Physikalische Einheit für Mindesttemperatur -40 bis 240 °F (-40 bis 115,5556 °C) Datentyp: Gleitkommazahl 4xxxx+20 bis 21 Physikalische Einheit für Höchsttemperatur -40 bis 240 °F (-40 bis 115,5556 °C) Datentyp: Gleitkommazahl 4xxxx+22 bis 23 Physikalische Einheit für Mindestdruck 0 bis 5.000 psia (0 bis 34.473,785 kPa) Datentyp: Gleitkommazahl 4xxxx+24 bis 25 Physikalische Einheit für Höchstdruck 0 bis 5.000 psia (0 bis 34.473,785 kPa) Datentyp: Gleitkommazahl 4xxxx+26 bis 27 Physikalische Einheit für Mindestdifferentialdruck 1 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+28 bis 29 Physikalische Einheit für Höchstdifferentialdruck 1 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 547 GFNX Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+30 bis 31 Physikalische Einheit für Mindestdifferentialdruck 2 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+32 bis 33 Physikalische Einheit für Höchstdifferentialdruck 2 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+34 bis 35 Durchmesser der Messblende , dr (0 < dr < 100 in) (0 < dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+36 bis 37 Messtemperatur am Durchmesser der Messblende, Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+38 bis 39 Messrohr-Innendurchmesser Dr (0 <Dr <100 in) (0 < Dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+40 bis 41 Am Messrohr-Innendurchmesser gemessene Temperature Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+42 bis 43 Basistemperatur, Tb (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Datentyp: Gleitkommazahl 4xxxx+44 bis 45 Basisdruck, Pb (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+46 bis 57 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+58 bis 59 Vom Benutzer eingegebener Korrekturfaktor, Fu (0 < Fu < 2,0) Datentyp: Gleitkommazahl 4xxxx+60 bis 63 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+64 Beginn der Tagesstunde (0 ... 23) Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+65 bis 78 Reserviert für API 21.1 4xxxx+79 bis 80 Atmosphärischer Druck Pat (3 <= Pat <30 psi) (20,684 <= Pbei < 206,843 kPa) Datentyp: Gleitkommazahl 4xxxx+81 bis 82 Abschaltpegel bei niedrigem Durchfluss (>= 0 ft3/Hr) (>= 0 m3/Hr) Verwendet, wenn aktiviert in 4x+4: 2. Datentyp: Gleitkommazahl 548 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock Eingangsdetailmethode 11 Die folgenden Eingänge sind auf die Detailmethode 11 anwendbar. Eingänge Beschreibung Anwendbar, wenn die Detailmethode 11 verwendet wird 4xxxx+83 bis 84 Mol % von Methan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+85 bis 86 Mol % von Stickstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+87 bis 88 Mol % von Kohlendioxid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+89 bis 90 Mol % von Äthan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl xxx+91 bis 92 Mol % von Propan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+93 bis 94 Mol % Wasser, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+95 bis 96 Mol % von Wasserstoffsulfid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+97 bis 98 Mol % von Wasserstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+99 bis 100 Mol % von Kohlenmonoxid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+101 bis 102 Mol % von Sauerstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+103 bis 104 Mol % von I-Butan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 31007525 12/2006 549 GFNX Gasdurchfluss-Funktionsblock Eingänge Beschreibung Anwendbar, wenn die Detailmethode 11 verwendet wird 4xxxx+105 bis 106 Mol % von n-Butan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+107 bis 108 Mol % von I-Pentan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+109 bis 110 Mol % von n-Pentan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+111 bis 112 Mol % von Hexan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+113 bis 114 Mol % von Heptan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+115 bis 116 Mol % von Oktan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+117 bis 118 Mol % von Nonan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+119 bis 120 Mol % von Dekan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+121 bis 122 Mol % von Helium, xi *(0,0 <= xi <= 30) Datentyp: Gleitkommazahl 4xxxx+123 bis 124 Reserviert für den zukünftigen Gebrauch (nicht verwenden) *Gültiger Bereich 550 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock Eingangsgesamtmethoden 10, 12 und 13 Die folgenden Eingänge sind auf die Gesamtmethoden 10, 12 und 13 anwendbar. Eingänge Beschreibung Anwendbar, wenn die Gesamtmethoden 10, 12 und 13 verwendet werden 4xxxx+83 bis 84 Mol % von Methan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl (NUR bei Methode 13 erforderlich) 4xxxx+85 bis 86 Mol % von Stickstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl (bei den Methoden 10, 12 und 13 erforderlich) 4xxxx+87 bis 88 Mol % von Kohlendioxid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl (bei den Methoden 10, 12 und 13 erforderlich) 4xxxx+93 bis 94 Spezifische Dichte, Gr (0,07 <= Gr < 1,52 Datentyp: Gleitkommazahl (bei den Methoden 10, 12 und 13 erforderlich) 4xxxx+95 bis 96 Heizwert, HV (0,07 HV < 1800) Datentyp: Gleitkommazahl (NUR bei Methode 12 erforderlich) *Gültiger Bereich 31007525 12/2006 551 GFNX Gasdurchfluss-Funktionsblock Parameterbeschreibung - Ausgänge Tabelle "Ausgangsergebnisse" Die Ausgänge zeigen die Berechnungsergebnisse des Blocks. Ausgänge Beschreibung 4xxxx+0 Systemwarnung/Fehlercode (angezeigt im Hexadezimalmodus) 4xxxx+1 Programmwarnung/Fehlercode 4xxxx+2 Versionsnummern (angezeigt im Hexadezimalmodus) 4xxxx+125 bis 126 Temperatur unter Fließbedingungen (Tf) (°F oder °C) 4xxxx+127 bis 128 Druck (Pf) (psia oder kPa) 4xxxx+129 bis 130 Differentialdruck (hw) (in H2O oder kPa) 4xxxx+131 bis 132 Integralwert (IV) 4xxxx+133 bis 134 Integralmultiplikatorwert (IMV) 4xxxx+135 bis 136 Volumendurchfluss unter Grundbedingungen (Tb, Pb), Qb ft3/h oder m3/h 552 4xxxx+137 bis 138 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+139 bis 140 Gesamtvolumen des aktuellen Tages 4xxxx+141 bis 142 Gesamtvolumen der letzten Stunde 4xxxx+143 bis 144 Gesamtvolumen der letzten Tages 4xxxx+145 bis 152 Reserviert für API 21.1 4xxxx+153 Benutzerdefinierte Warnung/Fehlerwert (Verwendung für API 21.1) 4xxxx+155: 13 4xxxx-Tabelle unterscheidet sich von der aktuellen Konfiguration 4xxxx+155: 14 Pulsation bei vollständiger Durchflussausführung 4xxxx+155: 15 Pulsation bei funktionierendem Block 4xxxx+155: 16 Tagesende-Flag Hinweis: Dieses Statusbit wird nicht im DX Zoom-Fenster angezeigt, kann aber in der Programmlogik verwendet werden. 31007525 12/2006 GFNX Gasdurchfluss-Funktionsblock Parameterbeschreibung - Optionale Ausgänge Tabelle "Konfiguration der optionalen Ausgänge" 31007525 12/2006 Die optionalen Ausgänge zeigen die Berechnungsergebnisse des Blocks. Diese sind nur aktiv, wenn 4x+3: 9 ... 10 ist 1. Optionale Ausgänge Beschreibung 4xxxx+156 bis 165 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+166 bis 167 Überkompressibilität, Fpv 4xxxx+168 bis 169 Relative Gasdichte, Gr 4xxxx+170 bis 171 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+172 bis 173 Ausdehnungskoeffizient, Y 4xxxx+174 bis 180 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 553 GFNX Gasdurchfluss-Funktionsblock 554 31007525 12/2006 GG92 AGA #3 1992 Gesamtmethode des Durchfluss-Funktionsblocks 91 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung GG92 AGA #3 und AGA #8 1992 Gesamtmethode des Gasdurchfluss-Funktionsblocks beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 556 Darstellung 557 Parameterbeschreibung - Eingänge 559 Parameterbeschreibung - Ausgänge 564 Parameterbeschreibung - Optionale Ausgänge 565 555 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Kurzbeschreibung Funktionsbeschreibung Der GG92 Gasdurchfluss-Loadable-Funktionsblock ist nur bei bestimmten Compact- und Micro-Steuerungen verfügbar. Der Gasdurchfluss-Loadable-Funktionsblock ermöglicht Ihnen, die Gleichungen AGA 3 (1992) und AGA 8 (1992) auszuführen. Die berechneten Durchflussgeschwindigkeiten stimmen innerhalb von 1 ppm mit den publizierten AGA-Normen überein. Der GG92 ermöglicht die Ausführung des API 21.1-Prüfpfads. Der GG92 ermöglicht 8 Durchläufe. Die Anweisung GG92 verwendet die Detailmethode zur Prüfung von Eigenschaften, die umfassendes Wissen über die Gaszusammensetzung erfordert. Hinweis: Sie müssen das LSUP-Loadable vor GG92. installieren. Weitere Informationen Ausführliche Informationen zu den Gasdurchfluss-Funktionsblock-Loadables, insbesondere z Systemwarnung/Fehlercodes (4x+0) für jede Anweisung z Programmwarnung/Fehlercodes (4x+1) für jede Anweisung z API 21.1-Prüfpfad z Dienstprogramm GET_LOGS.EXE z Dienstprogramm SET_SIZE.EXE finden Sie im Handbuch Modicon Starling Associates Gas Flow Loadable Function Block (890 USE 137). 556 31007525 12/2006 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Darstellung Symbol Darstellung der Anweisung Start der Operation Operation ist aktiv Konstante #0001 Anwenderdefinierte Warnung Register System- oder Programmwarnung Benutzerdefinierter Fehler GG92 System- oder Programmfehler Methode Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Ausführen Dieser Eingang startet die Berechnung des Gasdurchflusses. Die Berechnungen basieren auf den von Ihnen in die Eingangsregister eingegebenen Parametern. Wichtig: Trennen Sie nie den oberen Eingang, während der Block in Betrieb ist. Dadurch wird ein Fehler des Typs 188 verursacht, und die Daten in diesem Block werden verfälscht. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 559.) Mittlerer Eingang 0x, 1x Keine Ermöglicht Ihnen, eine Warnung zu konfigurieren. Ermöglicht Ihnen, eine Warnung zu konfigurieren und Peripherieaktivitäten im PrüfpfadEreignisprotokoll zu protokollieren, ohne den Block zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 559.) 557 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Parameter SignalspeicherReferenz Datentyp Bedeutung Unterer Eingang 0x, 1x Keine Ermöglicht Ihnen, einen Fehler zu konfigurieren und die Durchflussfunktion zu stoppen. Ermöglicht Ihnen, einen Fehler zu konfigurieren, Peripheriefehler im Prüfpfad-Ereignisprotokoll zu protokollieren und die Durchflussfunktion zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 559.) Konstante #0001 (oberer Knoten) 4x INT, UINT Der obere Knoten muss eine Konstante, #0001, enthalten. Register (mittlerer Knoten) 4x INT, UINT Das im mittleren Knoten eingegebene 4x-Register ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die die Konfigurationsparameter und die dem Gasdurchflussblock zugeordneten Werte beinhalten. Wichtig: Versuchen Sie nicht, das 4x-Register des mittleren Knotens zu ändern, während der Gasdurchflussblock in Betrieb ist. Sie werden Ihre Daten verlieren. Wenn Sie das 4x-Register ändern müssen, stoppen Sie zunächst die SPS. INT, UINT Der untere Knoten gibt den Berechnungstyp an und muss eine Konstante, #0003, enthalten. Den in den unteren Knoten eingegebene Ganzzahlwert gibt die Methode zur Prüfung von Eigenschaften an: z 1 - Gesamtmethode 1 (HV-Gr-CO2) z 2 - Gesamtmethode 2 (Gr-CO2-N2) Methode (unterer Knoten) 558 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = System- oder Programmwarnung Unterer Ausgang 0x Keine EIN = System- oder Programmfehler 31007525 12/2006 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Parameterbeschreibung - Eingänge Konfigurationstabelle Sie müssen unter Verwendung des Referenzdateneditors in ProWORX oder Concept, oder in den DX Zoom-Fenstern in Modsoft, oder im Messgerät-Verwalter alle relevanten Werte in die Konfigurationstabelle eingeben. In der folgenden Tabelle werden alle Konfigurationsparameter aufgelistet, die eingegeben werden müssen. Die Ausgänge (Tabelle "Ausgangsergebnisse") und die optionalen Ausgänge (Tabelle "Optionale Ausgangsergebnisse") zeigen die Berechnungsergebnisse des Blocks. Einige dieser Parameter sind erforderlich. Hinweis: Nur gültige Einträge sind zulässig. Einträge außerhalb der gültigen Bereiche werden nicht akzeptiert. Unzulässige Einträge führen zu Fehlern oder Warnungen. Hinweis: Concept ab Version 2.1 kann verwendet werden, um die Gasblöcke zu laden. Jedoch stellen Concept und ProWORX keine Hilfe oder DX Zoom-Fenster für die Konfiguration bereit. Wenn Sie die Steuerungsoftware Concept oder ProWORX verwenden, empfiehlt sich der Messgerät-Verwalter für Ihre Konfigurationserfordernisse . Eingänge 31007525 12/2006 Es folgt eine detaillierte Beschreibung der Konfigurationsvariablen für den GG92Gasdurchfluss-Funktionsblock. Eingänge Beschreibung 4xxxx+3: 1 bis 2 Lage von Abgriffen 1 - Vorgeschaltet 2- Nachgeschaltet 4xxxx+3: 3 bis 4 Messrohrmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 5 bis 6 Öffnungsmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 7 bis 8 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 559 GG92 Gesamtmethode des Durchfluss-Funktionsblocks 560 Eingänge Beschreibung 4xxxx+3: 9 bis 10 Optionale Ausgänge 1 - Ja 2 - Nein Hinweis: Wenn Sie nur Standardausgänge verwenden, verwendet das Loadable 157 4xxxx-Register. Wenn Sie die optionalen Ausgänge verwenden, verwendet das Loadable 181 4xxxx-Register. 4xxxx+3: 11 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 1 Absoluter Druck/Manometerdruck 0 - Statischer Druck gemessen in Grundeinheiten 1 - Statischer Druck gemessen in Manometereinheiten 4xxxx+4: 2 Abschaltung bei niedrigem Durchfluss 0 - Durchfluss-Abschaltung nicht verwenden 1 - Durchfluss-Abschaltung verwenden 4xxxx+4: 3 bis 6 Ladebefehl 0 - Bereit zur Annahme des Befehls 1 - CMD: Konfiguration zu interner Tabelle von 4xxxx senden 2 - CMD: Konfiguration aus interner Tabelle zu 4xxxx lesen 3 - CMD: API 21.1-Konfigurationänderungsprotokoll zurücksetzen 4xxxx+4: 7 bis 8 Eingangstyp 1 - 3xxxx Zeiger eingegeben in 4x+6 ... 4x+10 2 - Eingangswerte eingegeben in 4x+6 ... 4x+10 4xxxx+4: 9 bis 10 Mol % Fehlergrenzwert 1 - Aktivieren 2 - Deaktivieren 4xxxx+4: 11 bis 12 Option Dualbereich-Differentialdruck 1 - Ja 2 - Nein 4xxxx+4: 13 bis 14 Kompressibel/Inkompressibel 1 - Kompressibel 2 - Inkompressibel 4xxxx+4: 15 bis 16 Methoden für die Mittelwertbildung 0 - Zeitabhängiger, gewichteter, linearer Durchfluss 1 - Zeitabhängiger, gewichteter, auf Formeln basierender Durchfluss 2 - Gewichteter, linearer Durchfluss 3 - Gewichteter, auf Formeln basierender Durchfluss Hinweis: Für die meisten Anwendungen verwenden Sie 0. 4xxxx+5: 1 bis 2 Messeinheiten 1 - US 2 - Metrisch (SI) 4xxxx+5: 3 bis 14 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+5: 15 bis 16 Reserviert für API 21.1 4xxxx+6 Temperatur 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 31007525 12/2006 GG92 Gesamtmethode des Durchfluss-Funktionsblocks 31007525 12/2006 Eingänge Beschreibung 4xxxx+7 Druck (absolut) 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+8 Differentialdruck 1 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+9 Differentialdruck 2 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+10 Analogeingangsrohwert für Mindesttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+11 Analogeingangsrohwert für Höchsttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+12 Analogeingangsrohwert für Mindestdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+13 Analogeingangsrohwert für Höchstdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+14 Analogeingangsrohwert für Mindestdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+15 Analogeingangsrohwert für Höchstdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+16 Analogeingangsrohwert für Mindestdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+17 Analogeingangsrohwert für Höchstdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+18 bis 19 Physikalische Einheit für Mindesttemperatur 14 bis 149 °F (-10 bis 65 °C) Datentyp: Gleitkommazahl 4xxxx+20 bis 21 Physikalische Einheit für Höchsttemperatur 14 bis 149 °F (-10 bis 65 °C) Datentyp: Gleitkommazahl 4xxxx+22 bis 23 Physikalische Einheit für Mindestdruck 0 bis 1.470 psia (0 bis 11.996 kPa) Datentyp: Gleitkommazahl 4xxxx+24 bis 25 Physikalische Einheit für Höchstdruck 0 bis 1.470 psia (0 bis 11.996 kPa) Datentyp: Gleitkommazahl 4xxxx+26 bis 27 Physikalische Einheit für Mindestdifferentialdruck 1 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+28 bis 29 Physikalische Einheit für Höchstdifferentialdruck 1 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+30 bis 31 Physikalische Einheit für Mindestdifferentialdruck 2 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 561 GG92 Gesamtmethode des Durchfluss-Funktionsblocks 562 Eingänge Beschreibung 4xxxx+32 bis 33 Physikalische Einheit für Höchstdifferentialdruck 2 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+34 bis 35 Durchmesser der Messblende , dr (0 < dr < 100 in) (0 < dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+36 bis 37 Messtemperatur am Durchmesser der Messblende, Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+38 bis 39 Messrohr-Innendurchmesser Dr (0 <Dr <100 in) (0 < Dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+40 bis 41 Am Messrohr-Innendurchmesser gemessene Temperature Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+42 bis 43 Basistemperatur, Tb (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Datentyp: Gleitkommazahl 4xxxx+44 bis 45 Basisdruck, Pb (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+46 bis 47 Bezugstemperatur für die relative Dichte, Tgr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+48 bis 49 Bezugsdruck für die relative Dichte, Pgr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+50 bis 51 Bezugstemperatur für Moldichte, Td (32,0 <= Td < 77,0 °F) (0 <=Td < 25 °C) Datentyp: Gleitkommazahl 4xxxx52 bis 53 Bezugsdruck für Moldichte, Pd (13,0 <= Pd < 16,0 PSIA) (89,63 <= Pd < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+54 bis 55 Bezugstemperatur für Heizwert, Th (32,0 <= Th < 77,0 °F) (0 <= Th < 25 °C) Datentyp: Gleitkommazahl 4xxxx+56 bis 57 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+58 bis 59 Vom Benutzer eingegebener Korrekturfaktor, Fu (0 < Fu < 2,0) Datentyp: Gleitkommazahl 31007525 12/2006 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Eingänge Beschreibung 4xxxx+60 bis 61 Absolute Viskosität des fließenden Fluids, μc (0,01 <= μc <= 0,1 Zentipoise) Datentyp: Gleitkommazahl 4xxxx+62 bis 63 Isentropischer Exponent, k (1,0 <= k < 2,0) Datentyp: Gleitkommazahl 4xxxx+64 Beginn der Tagesstunde (0 ... 23) Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+65 bis 78 Reserviert für API 21.1 4xxxx+79 bis 80 Atmosphärischer Druck Pat (3 <= Pat <30 psi) (20,684 <= Pbei < 206,843 kPa) Datentyp: Gleitkommazahl 4xxxx+81 bis 82 Abschaltpegel bei niedrigem Durchfluss (>= 0 ft3/Hr) (>= 0 m3/Hr) Datentyp: Gleitkommazahl 4xxxx+83 bis 84 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+85 bis 86 Mol % von Stickstoff, xi *(0,0 <= xi <= 50) (Nur bei Methode 1 erforderlich) Datentyp: Gleitkommazahl 4xxxx+87 bis 88 Mol % von Kohlendioxid, xi *(0,0 <= xi <= 30) Datentyp: Gleitkommazahl 4xxxx+89 bis 90 Mol % von Wasserstoff, xi *(0,0 <= xi <= 10) Datentyp: Gleitkommazahl 4xxxx+91 bis 92 Mol % von Kohlenmonoxid, xi *(0,0 <= xi <= 3) Datentyp: Gleitkommazahl 4xxxx+93 bis 94 Spezifische Dichte, Gr *(0,55 < Gr < 0,87)) Datentyp: Gleitkommazahl 4xxxx+95 bis 96 Heizwert, HV *(477 <= HV < 1211 BTU/Ft3) (17,7725 <= HV < 45,1206 Kj/dm3) (Nur bei Methode 1 erforderlich) Datentyp: Gleitkommazahl 4xxxx+97 bis 124 Reserviert für den zukünftigen Gebrauch (nicht verwenden) *Gültiger Bereich 31007525 12/2006 563 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Parameterbeschreibung - Ausgänge Tabelle "Ausgangsergebnisse" Die Ausgänge zeigen die Berechnungsergebnisse des Blocks. Ausgänge Beschreibung 4xxxx+0 Systemwarnung/Fehlercode (angezeigt im Hexadezimalmodus) 4xxxx+1 Programmwarnung/Fehlercode 4xxxx+2 Versionsnummern (angezeigt im Hexadezimalmodus) 4xxxx+125 bis 126 Temperatur unter Fließbedingungen (Tf) (°F oder °C) 4xxxx+127 bis 128 Druck (Pf) (psia oder kPa) 4xxxx+129 bis 130 Differentialdruck (hw) (in H2O oder kPa) 4xxxx+131 bis 132 Integralwert (IV) 4xxxx+133 bis 134 Integralmultiplikatorwert (IMV) 4xxxx+135 bis 136 Volumendurchfluss unter Grundbedingungen (Tb, Pb), Qb (ft3/h oder m3/h 564 4xxxx+137 bis 138 Mengendurchfluss (Qm) (lbm/h oder kg/h) 4xxxx+139 bis 140 Gesamtvolumen des aktuellen Tages 4xxxx+141 bis 142 Gesamtvolumen der letzten Stunde 4xxxx+143 bis 144 Gesamtvolumen der letzten Tages 4xxxx+145 bis 152 Reserviert für API 21.1 4xxxx+153 Benutzerdefinierte Warnung/Fehlerwert (Verwendung für API 21.1) 4xxxx+155: 13 4xxxx-Tabelle unterscheidet sich von der aktuellen Konfiguration 4xxxx+155: 14 Pulsation bei vollständiger Durchflussausführung 4xxxx+155: 15 Pulsation bei funktionierendem Block 4xxxx+155: 16 Tagesende-Flag 31007525 12/2006 GG92 Gesamtmethode des Durchfluss-Funktionsblocks Parameterbeschreibung - Optionale Ausgänge Tabelle "Konfiguration der optionalen Ausgänge" 31007525 12/2006 Die optionalen Ausgänge zeigen die Berechnungsergebnisse des Blocks. Diese sind nur aktiv, wenn 4x+3: 9 ... 10 ist 1. Optionale Ausgänge Beschreibung 4xxxx+156 bis 157 Kompressibilität unter Fließbedingungen (Tf, Pf), Zf 4xxxx+158 bis 159 Kompressibilität unter Grundbedingungen (Tb, Pb), Zb 4xxxx+160 bis 161 Kompressibilität unter Standardbedingungen (Ts, Ps), Zs 4xxxx+162 bis 163 Dichte unter Fließbedingungen (Pt,p) 4xxxx+164 bis 165 Fluiddichte unter Grundbedingungen (ρ) 4xxxx+166 bis 167 Überkompressibilität (Fpv) 4xxxx+168 bis 169 Relative Gasdichte (Gr) 4xxxx+170 bis 171 Durchflusskoeffizient der Messblende (Cd) 4xxxx+172 bis 173 Ausdehnungskoeffizient (Y) 4xxxx+174 bis 175 Annäherungsgeschwindigkeitsfaktor (Ev) 4xxxx+176 bis 177 Volumendurchfluss unter Fließbedingungen (Tf, Pf), Qf 4xxxx+178 bis 179 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+180 Grenzbereich-Flag für Durchflusskoeffizient der Messblende innerhalb des Iterationsschemas (Cd-f) 565 GG92 Gesamtmethode des Durchfluss-Funktionsblocks 566 31007525 12/2006 GM92 AGA #3 und #8 1992 Detailmethode GasdurchflussFunktionsblock 92 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung GM92 AGA #3 und #8 1992, Detailmethode mit API 21.1-Prüfpfad beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 568 Darstellung 569 Parameterbeschreibung - Eingänge 571 Parameterbeschreibung - Ausgänge 577 Parameterbeschreibung - Optionale Ausgänge 578 567 GM92 - Gasdurchfluss-Funktionsblock Kurzbeschreibung Funktionsbeschreibung Der GM92 Gasdurchfluss-Loadable-Funktionsblock ist nur bei bestimmten Compact- und Micro-Steuerungen verfügbar. Der Gasdurchfluss-Loadable-Funktionsblock ermöglicht Ihnen, die Gleichungen AGA 3 (1992) und AGA 8 (1992) auszuführen. Die berechneten Durchflussgeschwindigkeiten stimmen innerhalb von 1 ppm mit den publizierten AGA-Normen überein. Dieser Funktionsblock ermöglicht Ihnen das Ausführen des API 21.1-Prüfpfads. Der Block verfügt über 8 Messdurchläufe. Hinweis: Sie müssen das LSUP-Loadable vor GM92. installieren. Weitere Informationen Ausführliche Informationen zu den Gasdurchfluss-Funktionsblock-Loadables, insbesondere z Systemwarnung/Fehlercodes (4x+0) für jede Anweisung z Programmwarnung/Fehlercodes (4x+1) für jede Anweisung z API 21.1-Prüfpfad z Dienstprogramm GET_LOGS.EXE z Dienstprogramm SET_SIZE.EXE finden Sie im Handbuch Modicon Starling Associates Gas Flow Loadable Function Block (890 USE 137). 568 31007525 12/2006 GM92 - Gasdurchfluss-Funktionsblock Darstellung Symbol Darstellung der Anweisung Start der Operation Operation ist aktiv Konstante #0001 Anwenderdefinierte Warnung Register System- oder Programmwarnung Benutzerdefinierter Fehler GM92 System- oder Programmfehler Konstante #0003 Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Ausführen Dieser Eingang startet die Berechnung des Gasdurchflusses. Die Berechnungen basieren auf den von Ihnen in die Eingangsregister eingegebenen Parametern. Wichtig: Trennen Sie nie den oberen Eingang, während der Block in Betrieb ist. Dadurch wird ein Fehler des Typs 188 verursacht, und die Daten in diesem Block werden verfälscht. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 571.) 569 GM92 - Gasdurchfluss-Funktionsblock Parameter Signalspeicher- Datentyp Referenz Bedeutung Mittlerer Eingang 0x, 1x Keine Ermöglicht Ihnen, eine Warnung zu konfigurieren. Ermöglicht Ihnen, eine Warnung zu konfigurieren und Peripherieaktivitäten im PrüfpfadEreignisprotokoll zu protokollieren, ohne den Block zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 571.) Unterer Eingang 0x, 1x Keine Ermöglicht Ihnen, einen Fehler zu konfigurieren und die Durchflussfunktion zu stoppen. Ermöglicht Ihnen, einen Fehler zu konfigurieren, Peripheriefehler im Prüfpfad-Ereignisprotokoll zu protokollieren und die Durchflussfunktion zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 571.) Konstante #0001 (oberer Knoten) 4x INT, UINT Der obere Knoten muss eine Konstante, #0001, enthalten. Register (mittlerer Knoten) 4x INT, UINT Das im mittleren Knoten eingegebene 4xRegister ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die die Konfigurationsparameter und die dem Gasdurchflussblock zugeordneten Werte beinhalten. Wichtig: Versuchen Sie nicht, das 4x-Register des mittleren Knotens zu ändern, während der Gasdurchflussblock in Betrieb ist. Sie werden Ihre Daten verlieren. Wenn Sie das 4x-Register ändern müssen, stoppen Sie zunächst die SPS. INT, UINT Der untere Knoten gibt den Berechnungstyp an und muss eine Konstante, #0003, enthalten. #0003 (unterer Knoten) 570 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = System- oder Programmwarnung Unterer Ausgang 0x Keine EIN = System- oder Programmfehler 31007525 12/2006 GM92 - Gasdurchfluss-Funktionsblock Parameterbeschreibung - Eingänge Konfigurationstabelle Sie müssen unter Verwendung des Referenzdateneditors in ProWORX oder Concept, oder in den DX Zoom-Fenstern in Modsoft, oder im Messgerät-Verwalter alle relevanten Werte in die Konfigurationstabelle eingeben. In der folgenden Tabelle werden alle Konfigurationsparameter aufgelistet, die eingegeben werden müssen. Die Ausgänge (Tabelle "Ausgangsergebnisse") und die optionalen Ausgänge (Tabelle "Optionale Ausgangsergebnisse") zeigen die Berechnungsergebnisse des Blocks. Einige dieser Parameter sind erforderlich. Hinweis: Nur gültige Einträge sind zulässig. Einträge außerhalb der gültigen Bereiche werden nicht akzeptiert. Unzulässige Einträge führen zu Fehlern oder Warnungen. Hinweis: Concept ab Version 2.1 kann verwendet werden, um die Gasblöcke zu laden. Jedoch stellen Concept und ProWORX keine Hilfe oder DX Zoom-Fenster für die Konfiguration bereit. Wenn Sie die Steuerungsoftware Concept oder ProWORX verwenden, empfiehlt sich der Messgerät-Verwalter für Ihre Konfigurationserfordernisse. Eingänge 31007525 12/2006 Es folgt eine detaillierte Beschreibung der Konfigurationsvariablen für den GD92Gasdurchfluss-Funktionsblock. Eingänge Beschreibung 4xxxx+3: 1 bis 2 Lage von Abgriffen 1 - Vorgeschaltet 2- Nachgeschaltet 4xxxx+3: 3 bis 4 Messrohrmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 5 bis 6 Öffnungsmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 7 bis 8 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 571 GM92 - Gasdurchfluss-Funktionsblock 572 Eingänge Beschreibung 4xxxx+3: 9 bis 10 Optionale Ausgänge 1 - Ja 2 - Nein Hinweis: Wenn Sie nur Standardausgänge verwenden, verwendet das Loadable 157 4xxxx-Register. Wenn Sie die optionalen Ausgänge verwenden, verwendet das Loadable 181 4xxxx-Register. 4xxxx+3: 11 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 1 Absoluter Druck/Manometerdruck 0 - Statischer Druck gemessen in Grundeinheiten 1 - Statischer Druck gemessen in Manometereinheiten 4xxxx+4: 2 Abschaltung bei niedrigem Durchfluss 0 - Durchfluss-Abschaltung nicht verwenden 1 - Durchfluss-Abschaltung verwenden 4xxxx+4: 3 bis 6 Ladebefehl 0 - Bereit zur Annahme des Befehls 1 - CMD: Konfiguration zu interner Tabelle von 4xxxx senden 2 - CMD: Konfiguration aus interner Tabelle zu 4xxxx lesen 3 - CMD: API 21.1-Konfigurationänderungsprotokoll zurücksetzen 4xxxx+4: 7 bis 8 Eingangstyp 1 - 3xxxx Zeiger eingegeben in 4x+6 ... 4x+10 2 - Eingangswerte eingegeben in 4x+6 ... 4x+10 4xxxx+4: 9 bis 10 Mol % Fehlergrenzwert 1 - Aktivieren 2 - Deaktivieren 4xxxx+4: 11 bis 12 Option Dualbereich-Differentialdruck 1 - Ja 2 - Nein 4xxxx+4: 13 bis 14 Kompressibel/Inkompressibel 1 - Kompressibel 2 - Inkompressibel 4xxxx+4: 15 bis 16 Methoden für die Mittelwertbildung 0 - Zeitabhängiger, gewichteter, linearer Durchfluss 1 - Zeitabhängiger, gewichteter, auf Formeln basierender Durchfluss 2 - Gewichteter, linearer Durchfluss 3 - Gewichteter, auf Formeln basierender Durchfluss Hinweis: Für die meisten Anwendungen verwenden Sie 0. 4xxxx+5: 1 bis 2 Messeinheiten 1 - US 2 - Metrisch (SI) 4xxxx+5: 3 bis 14 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+5: 15 bis 16 Reserviert für API 21.1 4xxxx+6 Temperatur 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 31007525 12/2006 GM92 - Gasdurchfluss-Funktionsblock 31007525 12/2006 Eingänge Beschreibung 4xxxx+7 Druck (absolut) 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+8 Differentialdruck 1 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+9 Differentialdruck 2 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+10 Analogeingangsrohwert für Mindesttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+11 Analogeingangsrohwert für Höchsttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+12 Analogeingangsrohwert für Mindestdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+13 Analogeingangsrohwert für Höchstdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+14 Analogeingangsrohwert für Mindestdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+15 Analogeingangsrohwert für Höchstdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+16 Analogeingangsrohwert für Mindestdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+17 Analogeingangsrohwert für Höchstdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+18 bis 19 Physikalische Einheit für Mindesttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+20 bis 21 Physikalische Einheit für Höchsttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+22 bis 23 Physikalische Einheit für Mindestdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+24 bis 25 Physikalische Einheit für Höchstdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+26 bis 27 Physikalische Einheit für Mindestdifferentialdruck 1 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+28 bis 29 Physikalische Einheit für Höchstdifferentialdruck 1 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 573 GM92 - Gasdurchfluss-Funktionsblock 574 Eingänge Beschreibung 4xxxx+30 bis 31 Physikalische Einheit für Mindestdifferentialdruck 2 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+32 bis 33 Physikalische Einheit für Höchstdifferentialdruck 2 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+34 bis 35 Durchmesser der Messblende , dr (0 < dr < 100 in) (0 < dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+36 bis 37 Messtemperatur am Durchmesser der Messblende, Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+38 bis 39 Messrohr-Innendurchmesser Dr (0 <Dr <100 in) (0 < Dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+40 bis 41 Am Messrohr-Innendurchmesser gemessene Temperature Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+42 bis 43 Basistemperatur, Tb (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Datentyp: Gleitkommazahl 4xxxx+44 bis 45 Basisdruck, Pb (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+46 bis 47 Bezugstemperatur für die relative Dichte, Tgr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+48 bis 49 Bezugsdruck für die relative Dichte, Pgr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+50 bis 57 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+58 bis 59 Vom Benutzer eingegebener Korrekturfaktor, Fu (0 < Fu < 2,0) Datentyp: Gleitkommazahl 4xxxx+60 bis 61 Absolute Viskosität des fließenden Fluids, μc (0,005 <= μc <= 0,5 Zentipoise) Datentyp: Gleitkommazahl 4xxxx+62 bis 63 Isentropischer Exponent, k (1,0 <= k < 2,0) Datentyp: Gleitkommazahl 31007525 12/2006 GM92 - Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+64 Beginn der Tagesstunde (0 ... 23) Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+65 bis 78 Reserviert für API 21.1 4xxxx+79 bis 80 Atmosphärischer Druck Pat (3 <= Pat <30 psi) (20,684 <= Pbei < 206,843 kPa) Datentyp: Gleitkommazahl 4xxxx+81 bis 82 Abschaltpegel bei niedrigem Durchfluss (>= 0 ft3/Hr) (>= 0 m3/Hr) Verwendet, wenn aktiviert in 4x+4: 2. Datentyp: Gleitkommazahl 31007525 12/2006 4xxxx+83 bis 84 Mol % von Methan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+85 bis 86 Mol % von Stickstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+87 bis 88 Mol % von Kohlendioxid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+89 bis 90 Mol % von Äthan, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl xxx+91 bis 92 Mol % von Propan, xi *(0,0 <= xi <= 12) Datentyp: Gleitkommazahl 4xxxx+93 bis 94 Mol % Wasser, xi *(0,0 <= xi <= 10) Datentyp: Gleitkommazahl 4xxxx+95 bis 96 Mol % von Wasserstoffsulfid, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+97 bis 98 Mol % von Wasserstoff, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl 4xxxx+99 bis 100 Mol % von Kohlenmonoxid, xi *(0,0 <= xi <= 3) Datentyp: Gleitkommazahl 575 GM92 - Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+101 bis 102 Mol % von Sauerstoff, xi *(0,0 <= xi <= 21) Datentyp: Gleitkommazahl 4xxxx+103 bis 104 Mol % von I-Butan, xi *(0,0 <= xi <= 6) für kombinierte Butangase Datentyp: Gleitkommazahl 4xxxx+105 bis 106 Mol % von n-Butan, xi *(0,0 <= xi <= 6) für kombinierte Butangase Datentyp: Gleitkommazahl 4xxxx+107 bis 108 Mol % von I-Pentan, xi *(0,0 <= xi <= 4) für kombinierte Pentangase Datentyp: Gleitkommazahl 4xxxx+109 bis 110 Mol % von n-Pentan, xi *(0,0 <= xi <= 4) für kombinierte Pentangase Datentyp: Gleitkommazahl 4xxxx+111 bis 112 Mol % von Hexan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+113 bis 114 Mol % von Heptan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+115 bis 116 Mol % von Oktan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+117 bis 118 Mol % von Nonan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+119 bis 120 Mol % von Dekan, xi *(0,0 <= xi <= 10) für kombinierte Hexangase + Datentyp: Gleitkommazahl 4xxxx+121 bis 122 Mol % von Helium, xi *(0,0 <= xi <= 30) Datentyp: Gleitkommazahl 4xxxx+123 bis 124 Mol % von Argon, xi *(0,0 <= xi <= 100) Datentyp: Gleitkommazahl *Gültiger Bereich 576 31007525 12/2006 GM92 - Gasdurchfluss-Funktionsblock Parameterbeschreibung - Ausgänge Tabelle "Ausgangsergebnisse" Die Ausgänge zeigen die Berechnungsergebnisse des Blocks. Ausgänge Beschreibung 4xxxx+0 Systemwarnung/Fehlercode (angezeigt im Hexadezimalmodus) 4xxxx+1 Programmwarnung/Fehlercode 4xxxx+2 Versionsnummern (angezeigt im Hexadezimalmodus) 4xxxx+125 bis 126 Temperatur unter Fließbedingungen (Tf) (°F oder °C) 4xxxx+127 bis 128 Druck (Pf) (psia oder kPa) 4xxxx+129 bis 130 Differentialdruck (hw) (in H2O oder kPa) 4xxxx+131 bis 132 Integralwert (IV) 4xxxx+133 bis 134 Integralmultiplikatorwert (IMV) 4xxxx+135 bis 136 Volumendurchfluss unter Grundbedingungen (Tb, Pb), Qb (ft3/h oder m3/h) 31007525 12/2006 4xxxx+137 bis 138 Mengendurchfluss (Qm) (lbm/h oder kg/h) 4xxxx+139 bis 140 Gesamtvolumen des aktuellen Tages 4xxxx+141 bis 142 Gesamtvolumen der letzten Stunde 4xxxx+143 bis 144 Gesamtvolumen der letzten Tages 4xxxx+145 bis 152 Reserviert für API 21.1 4xxxx+153 Benutzerdefinierte Warnung/Fehlerwert (Verwendung für API 21.1) 4xxxx+155: 13 4xxxx-Tabelle unterscheidet sich von der aktuellen Konfiguration 4xxxx+155: 14 Pulsation bei vollständiger Durchflussausführung 4xxxx+155: 15 Pulsation bei funktionierendem Block 4xxxx+155: 16 Tagesende-Flag 577 GM92 - Gasdurchfluss-Funktionsblock Parameterbeschreibung - Optionale Ausgänge Tabelle "Konfiguration der optionalen Ausgänge" 578 Die optionalen Ausgänge zeigen die Berechnungsergebnisse des Blocks. Diese sind nur aktiv, wenn 4x+3: 9 ... 10 ist 1. Optionale Ausgänge Beschreibung 4xxxx+156 bis 157 Kompressibilität unter Fließbedingungen (Tf, Pf), Zf 4xxxx+158 bis 159 Kompressibilität unter Grundbedingungen (Tb, Pb), Zb 4xxxx+160 bis 161 Kompressibilität unter Standardbedingungen (Ts, Ps), Zs 4xxxx+162 bis 163 Dichte unter Fließbedingungen (Pt,p) 4xxxx+164 bis 165 Fluiddichte unter Grundbedingungen (ρ) 4xxxx+166 bis 167 Überkompressibilität (Fpv) 4xxxx+168 bis 169 Relative Gasdichte (Gr) 4xxxx+170 bis 171 Durchflusskoeffizient der Messblende (Cd) 4xxxx+172 bis 173 Ausdehnungskoeffizient (Y) 4xxxx+174 bis 175 Annäherungsgeschwindigkeitsfaktor (Ev) 4xxxx+176 bis 177 Volumendurchfluss unter Fließbedingungen (Tf, Pf), Qf 4xxxx+178 bis 179 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+180 Grenzbereich-Flag für Durchflusskoeffizient der Messblende innerhalb des Iterationsschemas (Cd-f) 31007525 12/2006 G392 AGA #3 1992 Gasdurchfluss-Funktionsblock 93 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung G392 AGA #3 1992 Gesamtmethode mit API 21.1-Prüfpfad beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 580 Darstellung 581 Parameterbeschreibung - Eingänge 583 Parameterbeschreibung - Ausgänge 588 Parameterbeschreibung - Optionale Ausgänge 589 579 G392 Gasdurchfluss-Funktionsblock Kurzbeschreibung Funktionsbeschreibung Der G392 Gasdurchfluss-Loadable-Funktionsblock ist nur bei bestimmten Compact- und Micro-Steuerungen verfügbar. Der Gasdurchfluss-Loadable-Funktionsblock ermöglicht Ihnen, die Gleichungen AGA 3 (1992) auszuführen. Die berechneten Durchflussgeschwindigkeiten stimmen innerhalb von 1 ppm mit den publizierten AGA-Normen überein. Hinweis: Sie müssen das LSUP-Loadable vor G392 installieren. Weitere Informationen Ausführliche Informationen zu den Gasdurchfluss-Funktionsblock-Loadables, insbesondere z Systemwarnung/Fehlercodes (4x+0) für jede Anweisung z Programmwarnung/Fehlercodes (4x+1) für jede Anweisung z API 21.1-Prüfpfad z Dienstprogramm GET_LOGS.EXE z Dienstprogramm SET_SIZE.EXE finden Sie im Handbuch Modicon Starling Associates Gas Flow Loadable Function Block (890 USE 137). 580 31007525 12/2006 G392 Gasdurchfluss-Funktionsblock Darstellung Symbol Darstellung der Anweisung Start der Operation Operation ist aktiv Konstante #0001 Anwenderdefinierte Warnung Register System- oder Programmwarnung Benutzerdefinierter Fehler G392 System- oder Programmfehler Konstante #0017 Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang Keine EIN = Ausführen Dieser Eingang startet die Berechnung des Gasdurchflusses. Die Berechnungen basieren auf den von Ihnen in die Eingangsregister eingegebenen Parametern. Wichtig: Trennen Sie nie den oberen Eingang, während der Block in Betrieb ist. Dadurch wird ein Fehler des Typs 188 verursacht, und die Daten in diesem Block werden verfälscht. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 583.) 0x, 1x 581 G392 Gasdurchfluss-Funktionsblock Parameter SignalspeicherReferenz Datentyp Bedeutung Mittlerer Eingang 0x, 1x Keine Ermöglicht Ihnen, eine Warnung zu konfigurieren. Ermöglicht Ihnen, eine Warnung zu konfigurieren und Peripherieaktivitäten im PrüfpfadEreignisprotokoll zu protokollieren, ohne den Block zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 583.) Unterer Eingang 0x, 1x Keine Ermöglicht Ihnen, einen Fehler zu konfigurieren und die Durchflussfunktion zu stoppen. Ermöglicht Ihnen, einen Fehler zu konfigurieren, Peripheriefehler im Prüfpfad-Ereignisprotokoll zu protokollieren und die Durchflussfunktion zu stoppen. Wichtig: Sie MÜSSEN alle relevanten Werte in die Konfigurationstabelle eingeben. (Informationen zum Eingeben von Werten finden Sie S. 583.) Konstante #0001 (oberer Knoten) 4x INT, UINT Der obere Knoten muss eine Konstante, #0001, enthalten. Register (mittlerer Knoten) 4x INT, UINT Das im mittleren Knoten eingegebene 4xRegister ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die die Konfigurationsparameter und die dem Gasdurchflussblock zugeordneten Werte beinhalten. Wichtig: Versuchen Sie nicht, das 4x-Register des mittleren Knotens zu ändern, während der Gasdurchflussblock in Betrieb ist. Sie werden Ihre Daten verlieren. Wenn Sie das 4x-Register ändern müssen, stoppen Sie zunächst die SPS. INT, UINT Der untere Knoten gibt den Berechnungstyp an und muss eine Konstante, #0017, enthalten. #0017 (unterer Knoten) 582 Oberer Ausgang 0x Keine EIN = Operation erfolgreich Mittlerer Ausgang 0x Keine EIN = System- oder Programmwarnung Unterer Ausgang 0x Keine EIN = System- oder Programmfehler 31007525 12/2006 G392 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Eingänge Konfigurationstabelle Sie müssen unter Verwendung des Referenzdateneditors in ProWORX oder Concept, oder in den DX Zoom-Fenstern in Modsoft, oder im Messgerät-Verwalter alle relevanten Werte in die Konfigurationstabelle eingeben. In der folgenden Tabelle werden alle Konfigurationsparameter aufgelistet, die eingegeben werden müssen. Die Ausgänge (Tabelle "Ausgangsergebnisse") und die optionalen Ausgänge (Tabelle "Optionale Ausgangsergebnisse") zeigen die Berechnungsergebnisse des Blocks. Einige dieser Parameter sind erforderlich. Hinweis: Nur gültige Einträge sind zulässig. Einträge außerhalb der gültigen Bereiche werden nicht akzeptiert. Unzulässige Einträge führen zu Fehlern oder Warnungen. Hinweis: Concept ab Version 2.1 kann verwendet werden, um die Gasblöcke zu laden. Jedoch stellen Concept und ProWORX keine Hilfe oder DX Zoom-Fenster für die Konfiguration bereit. Wenn Sie die Steuerungsoftware Concept oder ProWORX verwenden, empfiehlt sich der Messgerät-Verwalter für Ihre Konfigurationserfordernisse. Eingänge 31007525 12/2006 Es folgt eine detaillierte Beschreibung der Konfigurationsvariablen für den G392Gasdurchfluss-Funktionsblock. Eingänge Beschreibung 4xxxx+3: 1 bis 2 Lage von Abgriffen 1 - Vorgeschaltet 2- Nachgeschaltet 4xxxx+3: 3 bis 4 Messrohrmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 5 bis 6 Öffnungsmaterial 1 - Rostfreier Stahl 2 - Monelmetall 3 - Kohlenstoffstahl 4xxxx+3: 7 bis 8 Kompressibilität entsprechend Benutzereingabe 1 - Dichte unter Fließ- und Grundbedingung 2 - Kompressibilitätsfaktor unter Fließ- und Grundbedingungen, und relative Gasdichte unter Grundbedingungen 583 G392 Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+3: 9 bis 10 Optionale Ausgänge 1 - Ja 2 - Nein Hinweis: Wenn Sie nur Standardausgänge verwenden, verwendet das Loadable 157 4xxxx-Register. Wenn Sie die optionalen Ausgänge verwenden, verwendet das Loadable 181 4xxxx-Register. 4xxxx+3: 11 bis 16 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 1 Absoluter Druck/Manometerdruck 0 - Statischer Druck gemessen in Grundeinheiten 1 - Statischer Druck gemessen in Manometereinheiten 4xxxx+4: 2 Abschaltung bei niedrigem Durchfluss 0 - Durchfluss-Abschaltung nicht verwenden 1 - Durchfluss-Abschaltung verwenden 4xxxx+4: 3 bis 6 Ladebefehl 0 - Bereit zur Annahme des Befehls 1 - CMD: Konfiguration zu interner Tabelle von 4xxxx senden 2 - CMD: Konfiguration aus interner Tabelle zu 4xxxx lesen 3 - CMD: API 21.1-Konfigurationänderungsprotokoll zurücksetzen 4xxxx+4: 7 bis 8 Eingangstyp 1 - 3xxxx Zeiger eingegeben in 4x+6 ... 4x+10 2 - Eingangswerte eingegeben in 4x+6 ... 4x+10 4xxxx+4: 9 bis 10 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+4: 11 bis 12 Option Dualbereich-Differentialdruck 1 - Ja 2 - Nein 4xxxx+4: 13 bis 14 Kompressibel/Inkompressibel 1 - Kompressibel 2 - Inkompressibel 4xxxx+4: 15 bis 16 Methoden für die Mittelwertbildung 0 - Zeitabhängiger, gewichteter, linearer Durchfluss 1 - Zeitabhängiger, gewichteter, auf Formeln basierender Durchfluss 2 - Gewichteter, linearer Durchfluss 3 - Gewichteter, auf Formeln basierender Durchfluss Hinweis: Für die meisten Anwendungen verwenden Sie 0. 4xxxx+5: 1 bis 2 Messeinheiten 1 - US 2 - Metrisch (SI) 4xxxx+5: 3 bis 14 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+5: 15 bis 16 Reserviert für API 21.1 584 31007525 12/2006 G392 Gasdurchfluss-Funktionsblock 31007525 12/2006 Eingänge Beschreibung 4xxxx+6 Temperatur 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+7 Druck (absolut) 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+8 Differentialdruck 1 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+9 Differentialdruck 2 3xxxx-Zeiger oder Eingangswert Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+10 Analogeingangsrohwert für Mindesttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+11 Analogeingangsrohwert für Höchsttemperatur Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+12 Analogeingangsrohwert für Mindestdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+13 Analogeingangsrohwert für Höchstdruck Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+14 Analogeingangsrohwert für Mindestdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+15 Analogeingangsrohwert für Höchstdifferentialdruck 1 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+16 Analogeingangsrohwert für Mindestdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+17 Analogeingangsrohwert für Höchstdifferentialdruck 2 Datentyp: Ganzzahlwert mit Vorzeichen 4xxxx+18 bis 19 Physikalische Einheit für Mindesttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+20 bis 21 Physikalische Einheit für Höchsttemperatur -200 bis 760 °F (-128,89 bis 404,4 °C) Datentyp: Gleitkommazahl 4xxxx+22 bis 23 Physikalische Einheit für Mindestdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+24 bis 25 Physikalische Einheit für Höchstdruck 0 bis 40.000 psia (0 bis 275.790,28 kPa) Datentyp: Gleitkommazahl 4xxxx+26 bis 27 Physikalische Einheit für Mindestdifferentialdruck 1 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 585 G392 Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+28 bis 29 Physikalische Einheit für Höchstdifferentialdruck 1 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+30 bis 31 Physikalische Einheit für Mindestdifferentialdruck 2 >= 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+32 bis 33 Physikalische Einheit für Höchstdifferentialdruck 2 > 0 (Zoll H2O oder kPa) Datentyp: Gleitkommazahl 4xxxx+34 bis 35 Durchmesser der Messblende , dr (0 < dr < 100 in) (0 < dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+36 bis 37 Messtemperatur am Durchmesser der Messblende, Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+38 bis 39 Messrohr-Innendurchmesser Dr (0 <Dr <100 in) (0 < Dr < 2540 mm) Datentyp: Gleitkommazahl 4xxxx+40 bis 41 Am Messrohr-Innendurchmesser gemessene Temperature Tr (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Datentyp: Gleitkommazahl 4xxxx+42 bis 43 Basistemperatur, Tb (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Datentyp: Gleitkommazahl 4xxxx+44 bis 45 Basisdruck, Pb (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Datentyp: Gleitkommazahl 4xxxx+46 bis 57 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+58 bis 59 Vom Benutzer eingegebener Korrekturfaktor, Fu (0 < Fu < 2,0) Datentyp: Gleitkommazahl 4xxxx+60 bis 61 Absolute Viskosität des fließenden Fluids, μc (0,005 <= μc <= 0,5 Zentipoise) Datentyp: Gleitkommazahl 4xxxx+62 bis 63 586 Isentropischer Exponent, k (1,0 <= k < 2,0) Datentyp: Gleitkommazahl 31007525 12/2006 G392 Gasdurchfluss-Funktionsblock Eingänge Beschreibung 4xxxx+64 Beginn der Tagesstunde (0 ... 23) Datentyp: Ganzzahlwert ohne Vorzeichen 4xxxx+65 bis 78 Reserviert für API 21.1-Konfiguration 4xxxx+79 bis 80 Atmosphärischer Druck Pat (3 <= Pat <30 psi) (20,684 <= Pbei < 206,843 kPa) Datentyp: Gleitkommazahl 4xxxx+81 bis 82 Abschaltpegel bei niedrigem Durchfluss (>= 0 ft3/Hr) (>= 0 m3/Hr) Verwendet, wenn aktiviert in 4x+4: 2. Datentyp: Gleitkommazahl 4xxxx+83 bis 84 Dichte unter Fließbedingungen, ρf (0 < ρf < 1000,0 lbm/ft3) (0 < ρf < 1601,846 kg/m3) Datentyp: Gleitkommazahl 4xxxx+85 bis 86 Dichte unter Grundbedingungen, ρb (0 < ρb < 100,0 lbm/ft3) (0 < ρb < 1601,846 kg/m3 Datentyp: Gleitkommazahl 4xxxx+87 bis 88 Kompressibilitätsfaktor unter Fließbedingungen, Zf (0 < Zf < 3) Datentyp: Gleitkommazahl 4xxxx+89 bis 90 Kompressibilitätsfaktor unter Grundbedingungen, Zb (0 < Zb < 3) Datentyp: Gleitkommazahl 31007525 12/2006 xxx+91 bis 92 Relative Gasdichte unter Grundbedingungen, Gr (0,07 <= Gr < 1,52) Datentyp: Gleitkommazahl 4xxxx+93 bis 124 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 587 G392 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Ausgänge Tabelle "Ausgangsergebnisse" Die Ausgänge zeigen die Berechnungsergebnisse des Blocks. Ausgänge Beschreibung 4xxxx+0 Systemwarnung/Fehlercode (angezeigt im Hexadezimalmodus) 4xxxx+1 Programmwarnung/Fehlercode 4xxxx+2 Versionsnummern (angezeigt im Hexadezimalmodus) 4xxxx+125 bis 126 Temperatur unter Fließbedingungen (Tf) (°F oder °C) 4xxxx+127 bis 128 Druck (Pf) (psia oder kPa) 4xxxx+129 bis 130 Differentialdruck (hw) (in H2O oder kPa) 4xxxx+131 bis 132 Integralwert (IV) 4xxxx+133 bis 134 Integralmultiplikatorwert (IMV) 4xxxx+135 bis 136 Volumendurchfluss unter Grundbedingungen (Tb, Pb), Qb (ft3/h oder m3/h) 588 4xxxx+137 bis 138 Mengendurchfluss (Qm) 4xxxx+139 bis 140 Gesamtvolumen des aktuellen Tages 4xxxx+141 bis 142 Gesamtvolumen der letzten Stunde 4xxxx+143 bis 144 Gesamtvolumen der letzten Tages 4xxxx+145 bis 152 Reserviert für API 21.1 4xxxx+153 Benutzerdefinierte Warnung/Fehlerwert (Verwendung für API 21.1) 4xxxx+155: 13 4xxxx-Tabelle unterscheidet sich von der aktuellen Konfiguration 4xxxx+155: 14 Pulsation bei vollständiger Durchflussausführung 4xxxx+155: 15 Pulsation bei funktionierendem Block 4xxxx+155: 16 Tagesende-Flag 31007525 12/2006 G392 Gasdurchfluss-Funktionsblock Parameterbeschreibung - Optionale Ausgänge Tabelle "Konfiguration der optionalen Ausgänge" 31007525 12/2006 Die optionalen Ausgänge zeigen die Berechnungsergebnisse des Blocks. Diese sind nur aktiv, wenn 4x+3: 9 ... 10 ist 1. Optionale Ausgänge Beschreibung 4xxxx+156 bis 157 Kompressibilität unter Fließbedingungen (Tf, Pf), Zf 4xxxx+158 bis 159 Kompressibilität unter Grundbedingungen (Tb, Pb), Zb 4xxxx+160 bis 161 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+162 bis 163 Dichte unter Fließbedingungen (Pt,p) 4xxxx+164 bis 165 Fluiddichte unter Grundbedingungen (ρ) 4xxxx+166 bis 167 Überkompressibilität (Fpv) 4xxxx+168 bis 169 Relative Gasdichte (Gr) 4xxxx+170 bis 171 Durchflusskoeffizient der Messblende (Cd) 4xxxx+172 bis 173 Ausdehnungskoeffizient (Y) 4xxxx+174 bis 175 Annäherungsgeschwindigkeitsfaktor (Ev) 4xxxx+176 bis 177 Volumendurchfluss unter Fließbedingungen (Tf, Pf), Qf 4xxxx+178 bis 179 Reserviert für den zukünftigen Gebrauch (nicht verwenden) 4xxxx+180 Grenzbereich-Flag für Durchflusskoeffizient der Messblende innerhalb des Iterationsschemas (Cd-f) 589 G392 Gasdurchfluss-Funktionsblock 590 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen 94 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung HLTH beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 592 Darstellung 593 Parameterbeschreibung 595 Parameterbeschreibung oberer Eintrag (Verlaufsmatrix) 596 Parameterbeschreibung mittlerer Eintrag (Statusmatrix) 601 Parameterbeschreibung unterer Eintrag (Länge) 605 591 HLTH: Verlaufs- und Statusmatrizen Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion steht nur zur Verfügung, wenn Sie die DX Loadables entpackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Instruktion HLTH generiert Verlaufs- und Statusmatrizen aus internen Speicherregistern, die in der Ladder Logic verwendet werden können, um Änderungen des SPS-Status und der Kommunikationsmöglichkeiten mit den E/A zu erkennen. Darüber hinaus kann sie verwendet werden, um den Benutzer auf Änderungen in einem SPS-System hinzuweisen. HLTH bietet zwei Operationsmodi, (Lernen) und (Überwachen). 592 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Verlauf 31007525 12/2006 Modus Lernen/ Überwachen Status Lernen ausgeführt Modus Lernen/ Überwachen HLTH Tabellenlänge: 1 - 131 Länge Fehler 593 HLTH: Verlaufs- und Statusmatrizen Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die bezeichnete Operation Mittlerer Eingang 0x, 1x Keine Modus Lernen / Überwachen (Ausführliche Informationen finden Sie S. 595.) Unterer Eingang 0x, 1x Keine Modus Lernen / Überwachen (Ausführliche Informationen finden Sie S. 595.) Verlauf (oberer Knoten) 4x INT, UINT, Verlaufsmatrix WORD (erstes in einem Block von benachbarten Registern, Bereich: 6 ... 135) Status 4x (mittlerer Knoten) INT, UINT, Statusmatrix WORD (erstes in einem Block von benachbarten Registern, Bereich: 3 ... 132) Länge (unterer Knoten) INT, UINT Länge = (Anzahl von RIO-Stationen x 4) + 3 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine Liefert Rückmeldung des Zustands des mittleren Eingangs Unterer Ausgang Keine EIN = Fehler Oberer Ausgang 594 0x 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Parameterbeschreibung Operationsmodi Die Instruktion HLTH weist zwei Operationsmodi auf: Modustyp Bedeutung Lernmodus HLTH kann so initialisiert werden, dass dieser Block die Konfiguration lernt, in der er implementiert worden ist, und diese Informationen in Form einer Zeitpunkt-Referenz speichert, der sogenannten Verlaufsmatrix. Diese Matrix enthält: z eine vom Anwender bezeichnete Stationsnummer zur Überwachung des Kommunikationsstatus z Prüfsumme der Anwenderlogik z Anzeige der gesperrten E/A z S911-Health z Wahl eines Einzel- oder Dualkabelsystems z E/A-Bestückungsanzeige Überwachungs- Der Überwachungsmodus aktiviert eine Operation, die die modus Systembedingungen der SPS überprüft. Die gefundenen Änderungen werden in einer Statusmatrix gespeichert. Die Statusmatrix überwacht die gerade ablaufenden Systembedingungen und setzt Bitmuster, um die gefundenen Änderungen anzuzeigen. Die Statusmatrix enthält: z den Kommunikationsstatus der in der Verlaufsmatrix bezeichneten Station z einen Flag, der anzeigt, ob gesperrte E/A vorhanden sind z Flags, die den "aktiv/inaktiv"-Status der konstanten Abtastung und des Speicherschutz-Schlüsselschalters angeben z Flags, die eine leere Batterie sowie die Funktionsfähigkeit des Hot Standby anzeigen z Positionsdaten einer ausgefallenen Baugruppe z Flag für geänderte Prüfsummen der Anwenderlogik z Flag für verlorene RIO-Kommunikation Lern-/ Überwachungsm odus (Mittlerer und unterer Eingang) 31007525 12/2006 Die Instruktion HLTH hat drei Steuereingänge und kann drei mögliche Ausgänge generieren. Der kombinierte Status des mittleren und unteren Eingangs steuern den Operationsmodus: Mittlerer Eingang Unterer Eingang Betrieb EIN AUS Lernmodus als Dualkabelsystem EIN EIN Lernmodus als Einzelkabelsystem AUS EIN Überwachungsmodus AUS AUS Logische Prüfsumme für Aktualisierung des Überwachungsmodus 595 HLTH: Verlaufs- und Statusmatrizen Parameterbeschreibung oberer Eintrag (Verlaufsmatrix) Verlaufsmatrix (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste in einem Block benachbarter Register, die die Verlaufsmatrix beinhalten. Die Daten der Verlaufsmatrix werden von der Instruktion bei einer Lernmodus-Operation zusammengestellt und in die Matrix gestellt, wenn auf Überwachungsmodus umgestellt wird. Die Verlaufsmatrix kann eine Länge von 6 bis 135 Register haben. Nachfolgend finden Sie eine Beschreibung der Wörter in der Verlaufsmatrix. Die Informationen aus Wort 1 sind in dem angezeigten Register im oberen Eintrag enthalten, und die Informationen aus den Wörtern 2 bis 135 sind in den implizierten Registern gespeichert. Wort 1 Geben Sie die Stationsnummer ein (Bereich 0 bis 32), die im Hinblick auf Wiederholungen zu überwachen ist Wort 2 Höherwertiges Wort der gelernten Prüfsumme Wort 3 Niederwertiges Wort der gelernten Prüfsumme Wort 4 Status und Zähler für den Multiplexbetrieb der Eingänge. HLTH verarbeitet 16 Eingangswörter (256 Eingangswerte) pro Zyklus. Dieses Wort enthält die letzte Wortquelle des letzten Zyklus. Das Register wird bei jedem Zyklus überschrieben. Der Wert im Zählerteil des Worts erhöht sich bis zur maximalen Anzahl von Eingängen und beginnt danach erneut bei 0. Verwendung von Wort 4: 1 596 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 1 = es wurde mindestens ein gesperrter Eingang gefunden 2 - 16 Zählung der Anzahl der Wörter, die vor diesem Zyklus auf gesperrte Eingänge überprüft wurden. 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Wort 5 Status und Zähler für Multiplexausgänge zur Feststellung, ob einer von ihnen gesperrt ist. HLTH überprüft 16 Wörter (256 Ausgänge) pro Zyklus, um einen zu finden, der gesperrt ist. Es enthält die letzte Wortquelle des letzten Zyklus. Der Baustein wird bei jedem Zyklus überschrieben. Der Wert im Zählerteil des Worts erhöht sich bis zur maximalen Anzahl der Ausgänge und beginnt danach erneut bei 0. Verwendung von Wort 5: 1 Wort 6 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 1 = es wurde mindestens ein gesperrter Ausgang gefunden 2 - 16 Zählung der Anzahl der Wörter, die vor diesem Zyklus auf gesperrte Ausgänge überprüft wurden. Gelernte Daten des Hot Standby-Kabels Verwendung von Wort 6: 1 2 Bit Wort 7 ... 134 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 1 = S911 während des Lernens vorhanden 2-8 Nicht verwendet 9 1 = Kabel A wird überwacht 10 1 = Kabel B wird überwacht 11 - 16 Nicht verwendet Diese Wörter definieren den gelernten Zustand von Station 1 bis Station 32 wie folgt: Wort Station Nr. 7 ... 10 1 11 ... 14 2 15 ... 18 3 : : : : 131 ... 134 31007525 12/2006 3 32 597 HLTH: Verlaufs- und Statusmatrizen Die Struktur der jeder Station zugeordneten vier Wörter ist folgende: Erstes Wort 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 Stationsverzögerungsbit 1 Hinweis: Stationsverzögerungsbits werden von der Software verwendet, um die Überwachung der Station vier Zyklen lang zu verzögern, nachdem die Kommunikation mit einer Station wiederhergestellt worden ist. Der Verzögerungswert ist nur für internen Gebrauch bestimmt und bedarf keines Eingriffs durch den Anwender. 2 Stationsverzögerungsbit 2 3 Stationsverzögerungsbit 3 4 Stationsverzögerungsbit 4 5 Stationsverzögerungsbit 5 6 Rack 1, Steckplatz 1, Modul gefunden 7 Rack 1, Steckplatz 2, Modul gefunden 8 Rack 1, Steckplatz 3, Modul gefunden 9 Rack 1, Steckplatz 4, Modul gefunden 10 Rack 1, Steckplatz 5, Modul gefunden 11 Rack 1, Steckplatz 6, Modul gefunden 12 Rack 1, Steckplatz 7, Modul gefunden 13 Rack 1, Steckplatz 8, Modul gefunden 14 Rack 1, Steckplatz 9, Modul gefunden 15 Rack 1, Steckplatz 10, Modul gefunden 16 Rack 1, Steckplatz 11, Modul gefunden Zweites Wort 1 598 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 Rack 2, Steckplatz 1, Modul gefunden 2 Rack 2, Steckplatz 2, Modul gefunden 3 Rack 2, Steckplatz 3, Modul gefunden 4 Rack 2, Steckplatz 4, Modul gefunden 5 Rack 2, Steckplatz 5, Modul gefunden 12 13 14 15 16 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Bit Funktion 6 Rack 2, Steckplatz 6, Modul gefunden 7 Rack 2, Steckplatz 7, Modul gefunden 8 Rack 2, Steckplatz 8, Modul gefunden 9 Rack 2, Steckplatz 9, Modul gefunden 10 Rack 2, Steckplatz 10, Modul gefunden 11 Rack 2, Steckplatz 11, Modul gefunden 12 Rack 3, Steckplatz 1, Modul gefunden 13 Rack 3, Steckplatz 2, Modul gefunden 14 Rack 3, Steckplatz 3, Modul gefunden 15 Rack 3, Steckplatz 4, Modul gefunden 16 Rack 3, Steckplatz 5, Modul gefunden Drittes Wort 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 Rack 3, Steckplatz 6, Modul gefunden 2 Rack 3, Steckplatz 7, Modul gefunden 3 Rack 3, Steckplatz 8, Modul gefunden 4 Rack 3, Steckplatz 9, Modul gefunden 5 Rack 3, Steckplatz 10, Modul gefunden 6 Rack 3, Steckplatz 11, Modul gefunden 7 Rack 4, Steckplatz 1, Modul gefunden 8 Rack 4, Steckplatz 2, Modul gefunden 9 Rack 4, Steckplatz 3, Modul gefunden 10 Rack 4, Steckplatz 4, Modul gefunden 11 Rack 4, Steckplatz 5, Modul gefunden 12 Rack 4, Steckplatz 6, Modul gefunden 13 Rack 4, Steckplatz 7, Modul gefunden 14 Rack 4, Steckplatz 8, Modul gefunden 15 Rack 4, Steckplatz 9, Modul gefunden 16 Rack 4, Steckplatz 10, Modul gefunden 12 13 14 15 16 599 HLTH: Verlaufs- und Statusmatrizen Viertes Wort 1 600 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 Rack 4, Steckplatz 11, Modul gefunden 2 Rack 5, Steckplatz 1, Modul gefunden 3 Rack 5, Steckplatz 2, Modul gefunden 4 Rack 5, Steckplatz 3, Modul gefunden 5 Rack 5, Steckplatz 4, Modul gefunden 6 Rack 5, Steckplatz 5, Modul gefunden 7 Rack 5, Steckplatz 6, Modul gefunden 8 Rack 5, Steckplatz 7, Modul gefunden 9 Rack 5, Steckplatz 8, Modul gefunden 10 Rack 5, Steckplatz 9, Modul gefunden 11 Rack 5, Steckplatz 10, Modul gefunden 12 Rack 5, Steckplatz 11, Modul gefunden 13 ... 16 nicht verwendet 12 13 14 15 16 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Parameterbeschreibung mittlerer Eintrag (Statusmatrix) Statusmatrix (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste in einem Block benachbarter Ausgangsregister, die die Statusmatrix beinhalten. Die Statusmatrix wird durch die HLTH-Instruktion im Überwachungsmodus aktualisiert (oberer Eingang ist auf EIN und mittlerer Eingang auf AUS). Die Länge der Zustandsmatrix kann zwischen 3 ... 132 Registern liegen. Nachfolgend werden die in der Zustandsmatrix enthaltenen Wörter beschrieben. Die Informationen aus Wort 1 sind in dem angezeigten Register im mittleren Eintrag enthalten, und die Informationen aus den Wörtern 2 bis 131 sind in den implizierten Registern gespeichert. Wort 1 Dieses Wort ist ein Zähler für Kommunikationsunterbrechungen an der überwachten Station. Verwendung von Wort 1: 1 2 Bit Wort 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1-8 Gibt die Nummer des Drops an, der gerade überwacht wird (0 bis 32). 9 - 16 Zählung, wie oft Verbindungen verloren gegangen sind (0 bis 15). Dieses Wort ist der kumulative Zähler der erneuten Versuche für die Station, die gerade überwacht wird (die Stationsnummer wird im höherwertigen Byte von Wort 1 angegeben). Verwendung von Wort 2: 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1-4 Nicht verwendet 5 - 16 Kumulative Wiederhol-Zählung (0 bis 255). 13 14 15 16 601 HLTH: Verlaufs- und Statusmatrizen Wort 3 Dieses Wort aktualisiert den SPS-Status (einschließlich Funktionsanzeige des Hot Standby) in jedem Zyklus. Verwendung von Wort 3: 1 Wort 4 ... 131 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 EIN = alle Stationen kommunizieren nicht 2 Nicht verwendet 3 EIN = die logische Prüfsumme hat sich seit dem letzten Lernvorgang geändert. 4 EIN = mindestens ein gesperrter 1x-Eingang wurde gefunden. 5 EIN = mindestens ein gesperrter 0x-Ausgang wurde gefunden. 6 EIN = konstanter Durchlauf ist freigegeben. 7 - 10 Nicht verwendet 11 EIN = Speicherschutz ist ausgeschaltet (AUS). 12 EIN = Batterie ist nicht funktionstüchtig. 13 EIN = ein S911 ist nicht funktionstüchtig. 14 EIN = Hot Standby nicht aktiv. 15 - 16 Nicht verwendet Diese Wörter geben den Zustand von Station 1 bis Station 32 wie folgt an: Wort Station Nr. 4 ... 7 1 8 ... 11 2 12 ... 15 3 : : : : 128 ... 131 32 Die Struktur der jeder Station zugeordneten vier Wörter ist folgende: Erstes Wort 1 602 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 Stationskommunikationsfehler erkannt 2 Rack 1, Steckplatz 1, Modulfehler 12 13 14 15 16 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Bit Funktion 3 Rack 1, Steckplatz 2, Modulfehler 4 Rack 1, Steckplatz 3, Modulfehler 5 Rack 1, Steckplatz 4, Modulfehler 6 Rack 1, Steckplatz 5, Modulfehler 7 Rack 1, Steckplatz 6, Modulfehler 8 Rack 1, Steckplatz 7, Modulfehler 9 Rack 1, Steckplatz 8, Modulfehler 10 Rack 1, Steckplatz 9, Modulfehler 11 Rack 1, Steckplatz 10, Modulfehler 12 Rack 1, Steckplatz 11, Modulfehler 13 Rack 2, Steckplatz 1, Modulfehler 14 Rack 2, Steckplatz 2, Modulfehler 15 Rack 2, Steckplatz 3, Modulfehler 16 Rack 2, Steckplatz 4, Modulfehler Zweites Wort 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 Bit Funktion 1 Rack 2, Steckplatz 5, Modulfehler 2 Rack 2, Steckplatz 6, Modulfehler 3 Rack 2, Steckplatz 7, Modulfehler 4 Rack 2, Steckplatz 8, Modulfehler 5 Rack 2, Steckplatz 9, Modulfehler 6 Rack 2, Steckplatz 10, Modulfehler 7 Rack 2, Steckplatz 11, Modulfehler 8 Rack 3, Steckplatz 1, Modulfehler 9 Rack 3, Steckplatz 2, Modulfehler 10 Rack 3, Steckplatz 3, Modulfehler 11 Rack 3, Steckplatz 4, Modulfehler 12 Rack 3, Steckplatz 5, Modulfehler 13 Rack 3, Steckplatz 6, Modulfehler 14 Rack 3, Steckplatz 7, Modulfehler 15 Rack 3, Steckplatz 8, Modulfehler 16 Rack 3, Steckplatz 9, Modulfehler 11 12 13 14 15 16 603 HLTH: Verlaufs- und Statusmatrizen Drittes Wort 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 Rack 3, Steckplatz 10, Modulfehler 2 Rack 3, Steckplatz 11, Modulfehler 3 Rack 4, Steckplatz 1, Modulfehler 4 Rack 4, Steckplatz 2, Modulfehler 5 Rack 4, Steckplatz 3, Modulfehler 6 Rack 4, Steckplatz 4, Modulfehler 7 Rack 4, Steckplatz 5, Modulfehler 8 Rack 4, Steckplatz 6, Modulfehler 9 Rack 4, Steckplatz 7, Modulfehler 10 Rack 4, Steckplatz 8, Modulfehler 11 Rack 4, Steckplatz 9, Modulfehler 12 Rack 4, Steckplatz 10, Modulfehler 13 Rack 4, Steckplatz 11, Modulfehler 14 Rack 5, Steckplatz 1, Modulfehler 15 Rack 5, Steckplatz 2, Modulfehler 16 Rack 5, Steckplatz 3, Modulfehler 11 12 13 14 15 16 11 12 13 14 15 16 Viertes Wort 1 604 2 3 4 5 6 7 8 9 10 Bit Funktion 1 Rack 5, Steckplatz 4, Modulfehler 2 Rack 5, Steckplatz 5, Modulfehler 3 Rack 5, Steckplatz 6, Modulfehler 4 Rack 5, Steckplatz 7, Modulfehler 5 Rack 5, Steckplatz 8, Modulfehler 6 Rack 5, Steckplatz 9, Modulfehler 7 Rack 5, Steckplatz 10, Modulfehler 8 Rack 5, Steckplatz 11, Modulfehler 9 Fehler Kabel A 10 Fehler Kabel B 11 ... 16 nicht verwendet 31007525 12/2006 HLTH: Verlaufs- und Statusmatrizen Parameterbeschreibung unterer Eintrag (Länge) Länge (unterer Eintrag) Der im unteren Eintrag eingegebene Dezimalwert hängt davon ab, wie viele E/AStationen Sie überwachen wollen. Jede Station erfordert vier Register/Matrix. Der Längenwert wird nach folgender Formel berechnet: Länge = (Anzahl von E/A-Stationen x 4) + 3 Dieser Wert gibt die Anzahl der Register in der Statusmatrix an. Sie brauchen nur diesen einen Wert als Länge einzugeben, da die Länge der Verlaufsmatrix automatisch um drei Register erhöht wird, d.h. die Größe der Verlaufsmatrix entspricht der Länge + 3. 31007525 12/2006 605 HLTH: Verlaufs- und Statusmatrizen 606 31007525 12/2006 HSBY - Hot Standby 95 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung HSBY beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 608 Darstellung: HSBY - Hot Standby 609 Parameterbeschreibung des oberen Knotens 611 Parameterbeschreibung des mittleren Knotens: HSBY - Hot Standby 612 607 HSBY - Hot Standby Kurzbeschreibung Funktionsbeschreibung Die HSB-Loadable-Anweisung verwaltet ein 984-Hot Standby-Steuerungssystem. Diese Anweisung muss im Netzwerk 1 des Segments 1 in der Anwendungslogik für sowohl primäre als auch Standby-Steuerungen festgelegt werden. Mit dieser Anweisung können Sie einen nicht zu übertragenden Bereich im Signalspeicher des Systems programmieren - ein Bereich, der eine benachbarte Gruppe von Registern in der Standby-Steuerung gegen Änderungen durch die primäre Steuerung absichert. Durch die HSBY-Anweisung können Sie auf zwei Register zugreifen - ein Befehlsregister und ein Statusregister. Durch den Zugriff können Sie Hot StandbyOperationen überwachen und steuern. Das Statusregister ist das dritte Register im von Ihnen angegebenen nicht zu übertragenden Bereich. 608 31007525 12/2006 HSBY - Hot Standby Darstellung: HSBY - Hot Standby Symbol Darstellung der Anweisung Steuereingang aktiv Befehlsregister Befehlsregister nicht zu übertragender Bereich Signalspeicher HSBY Fehler NB-Länge = Länge des nicht zu übertragenden Bereichs Länge 31007525 12/2006 609 HSBY - Hot Standby Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine HSBY ausführen (ohne Bedingung) EIN = Funktion aktiviert Mittlerer Eingang 0x, 1x Keine Befehlsregister aktivieren EIN = Funktion aktiviert Unterer Eingang 0x, 1x Keine Nicht zu übertragenden Bereich aktivieren EIN = Funktion aktiviert Befehlsregister 4x (oberer Knoten) INT, UINT Das im oberen Knoten angegebene 4xxxxRegister ist das HSBY-Befehlsregister; acht Bits in diesem Register können über Ihre Steuerungssoftware konfiguriert und gesteuert werden. (Weitere Informationen finden Sie S. 611.) 4x INT, UINT Das im mittleren Knoten angegebene 4xxxx-Register ist das erste Register, das für den nicht zu übertragenden Bereich im Signalspeicher reserviert ist. Die ersten drei Register im nicht zu übertragenden Bereich sind spezielle Register. (Weitere Informationen finden Sie S. 612 oder S. 612.) INT, UINT Der in den unteren Knoten eingegebene Ganzzahlwert definiert die Länge (die Anzahl von Registern) des nicht zu übertragenden Bereichs bei HSBY im Signalspeicher. Die Länge muss mindestens vier Register betragen, im Bereich von 4 bis 225 Register in einer 16Bit-CPU, und im Bereich von 4 bis 8000 Register in einer 24-Bit-CPU. nicht zu übertragender Bereich (mittlerer Knoten) Länge (unterer Knoten) 610 Oberer Ausgang 0x Keine Hot Standby-System AKTIV Mittlerer Ausgang 0x Keine SPS kann nicht mit ihrem HSBY-Modul kommunizieren 31007525 12/2006 HSBY - Hot Standby Parameterbeschreibung des oberen Knotens Konfigurieren des Registers Sie können die Bits 6 bis 8 und 12 bis 16 konfigurieren. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Befolgen Sie diese Richtlinien, um diese Bits zu konfigurieren. 31007525 12/2006 Bit Funktion 6 0 = Modbus-Port-2-Adresse bei Umschaltung austauschen. 1 = Modbus-Port-3-Adresse bei Umschaltung nicht austauschen. 7 0 = Modbus-Port-2-Adresse bei Umschaltung austauschen. 1 = Modbus-Port-2-Adresse bei Umschaltung nicht austauschen. 8 0 = Modbus-Port-1-Adresse bei Umschaltung austauschen. 1 = Modbus-Port-q-Adresse bei Umschaltung nicht austauschen. 12 0 = Exec-Upgrade nur nach Stopp der Anwendung möglich 1 = Exec-Upgrade ohne Stopp der Anwendung möglich 13 0 = bei Logik-Unterschied Bereitschaftsfunktion auf Offline-Modus forcen 1 = Bei Logik-Unterschied kein Standby Offline forcen 14 0 = Regler B im OFFLINE-Modus 1 = Regler B im RUN-Modus 15 0 = Regler A im OFFLINE-Modus 1 = Regler A im RUN-Modus 16 0 = Überschreiben mit Tastschalter deaktivieren 1 = Überschreiben mit Tastschalter aktivieren 611 HSBY - Hot Standby Parameterbeschreibung des mittleren Knotens: HSBY - Hot Standby Spezielle Register des nicht zu übertragenden Bereichs Anwendungsspezifische Register Die ersten drei Register im nicht zu übertragenden Bereich sind spezielle Register. Register Inhalt Angezeigtes und erstes impliziertes Register Diese beiden Register sind Rückübertragungsregister zur Übermittlung von Informationen von der Standby-SPS zur primären SPS Zweites impliziertes Reg. HSBY Statusregister Die Bits 11 bis 16 sind anwendungsspezifisch. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Der Inhalt der übrigen Register ist anwendungsspezifisch. Die Länge ist im unteren Knoten definiert. 612 Bit Funktion 11 0 = der Schalter dieser Steuerung ist auf A gesetzt 1 = der Schalter dieser Steuerung ist auf B gesetzt 12 0 = Die Steuerungen haben eine zueinander passende Logik 1 = Die Steuerungen haben keine zueinander passende Logik 13 14 0 1 = die andere Steuerung läuft im OFFLINE-Modus 1 0 = die andere Steuerung läuft im Primärmodus 1 1 = die andere Steuerung läuft im Standby-Modus 15 16 0 1 = diese Steuerung läuft im OFFLINE-Modus 1 0 = diese Steuerung läuft im Primär-Modus 1 1 = diese Steuerung läuft im Standby-Modus 31007525 12/2006 IBKR: Indirektes Lesen eines Blockes 96 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung IBKR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 614 Darstellung: IBKR - Indirektes Lesen eines Blocks 615 613 IBKR: Indirektes Lesen eines Blocks Kurzbeschreibung Funktionsbeschreibung 614 Die Instruktion IBKR (Indirektes Lesen eines Blocks) ermöglicht Ihnen, den Inhalt von nicht benachbarten Registern in Ihrer Anwendung in einen Zielblock benachbarter Register zu kopieren. Diese Instruktion kann für Unterprogramme oder zur Rationalisierung des Datenzugriffs durch Hauptrechner oder andere SPS verwendet werden. 31007525 12/2006 IBKR: Indirektes Lesen eines Blocks Darstellung: IBKR - Indirektes Lesen eines Blocks Symbol Darstellung der Anweisung STEUEREINGANG ACTIVE Quelltabelle Zielblock FEHLER IBKR Länge: 1 - 255 Parameterbeschreibung Länge (1 ... 255) Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = startet die indirekte LeseOperation Quelltabelle (oberer Knoten) 4x INT, UINT Das erste Ausgangsregister in einer Ausgangstabelle: enthält Zeigerwerte der nicht benachbarten Register, die Sie in der Operation zusammenstellen möchten. Zielblock (mittlerer Knoten) 4x INT, UINT Der erste in einem Block von benachbarten Zielregisterblöcken, d.h. der Block, in den die Quelldaten kopiert werden. Länge (1 ... 255) (unterer Knoten) 31007525 12/2006 INT, UINT Anzahl der Register in Ausgangstabelle und Zielblock, Bereich: 1 ... 255 Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Unterer Ausgang 0x Keine EIN = Fehler in Ausgangstabelle 615 IBKR: Indirektes Lesen eines Blocks 616 31007525 12/2006 IBKW: Indirektes Schreiben eines Blockes 97 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung IBKW beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 618 Darstellung 619 617 IBKW: Indirektes Schreiben eines Blocks Kurzbeschreibung Funktionsbeschreibung 618 Die Instruktion IBKW (indirektes Schreiben eines Blocks) ermöglicht Ihnen, die Daten aus einer Tabelle benachbarter Register in verschiedene nicht benachbarter Register zu kopieren, die in Ihrer Anwendung verteilt sind. 31007525 12/2006 IBKW: Indirektes Schreiben eines Blocks Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellblock Zielzeiger Fehler IBKW Länge: 1 - 255 Parameterbeschreibung 31007525 12/2006 Länge (1 ... 255) Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = startet die indirekte SchreibOperation Quellblock (oberer Knoten) 4x INT, UINT Die ersten in einem Block von Quellregistern: enthalten Werte, die in nicht benachbarte Register kopiert werden, die im Logikprogramm verteilt sind Zielzeiger (mittlerer Knoten) 4x INT, UINT Der erste in einem Block von benachbarten Zielzeigerregistern: Jedes dieser Register enthält einen Wert, der die Registeradresse angibt, wohin der Quellwert kopiert wird. Länge (1 ... 255) (unterer Knoten) INT, UINT Anzahl der Register in Ausgangsblock und Zielzeigerblock, Bereich: 1 ... 255 Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Unterer Ausgang 0x Keine EIN = Fehler in Zieltabelle 619 IBKW: Indirektes Schreiben eines Blocks 620 31007525 12/2006 ICMP: Eingangsvergleich 98 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ICMP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 622 Darstellung: ICMP - Eingangsvergleich 623 Parameterbeschreibung 624 Kaskadierte DRUM/ICMP-Blöcke 626 621 ICMP: Eingangsvergleich Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar, wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen erhalten Sie S. 51. Die Instruktion ICMP (Eingangsvergleich) beinhaltet die Prüflogik zur Feststellung, ob jeder von der DRUM-Instruktion verarbeitete Schritt korrekt abläuft. Durch ICMP erkannte Fehler können verwendet werden, um eine zusätzliche FehlerkorrekturLogik auszulösen oder das System herunterfahren. ICMP und DRUM werden durch Verwendung eines gemeinsamen SchrittzeigerRegisters synchronisiert. Wenn der Zeiger inkrementiert, durchläuft die Instruktion ICMP im mit DRUM synchronisierten Schrittbetrieb seine Datentabelle. Beim Durchlaufen jedes neuen Schrittes vergleicht ICMP bitweise die Realeingangsdaten mit dem erwarteten Status jedes Punktes in seiner Datentabelle. 622 31007525 12/2006 ICMP: Eingangsvergleich Darstellung: ICMP - Eingangsvergleich Symbol Darstellung der Instruktion STEUEREINGANG AKTIV Schrittzeiger KASKADENEINGANG STEUERAUSGANG Schrittdatentabelle MAX. ANZAHL VON SCHRITTEN FEHLER ICMP 00NNN = 255 16-Bit-SPS 999 24-Bit-SPS Parameterbeschreibung Beschreibung der Instruktionsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keiner EIN = startet den Eingangsvergleich Mittlerer Eingang 0x, 1x Keiner Ein kaskadierter Eingang, der den Block informiert, dass die vorhergehenden ICMP-Vergleiche alle einwandfrei waren, EIN = Vergleichsstatus geht zum mittleren Ausgang weiter Schrittzeiger (oberer Eintrag) 4x INT, UINT Aktuelle Schrittnummer 4x Schrittdatentabelle (mittlerer Eintrag) INT, UINT Erstes Register in einer Tabelle von Schrittdateninformationen Länge (unterer Eintrag) INT, UINT Anzahl der applikationsspezifischen Register, die in der Schrittdatentabelle verwendet werden, Bereich: 1 .. 999 Oberer Ausgang 31007525 12/2006 Länge 0x Keiner Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keiner EIN = dieser Vergleich und alle vorher kaskadierten ICMPs sind korrekt Unterer Ausgang Keiner EIN = Fehler 0x 623 ICMP: Eingangsvergleich Parameterbeschreibung Schrittzeiger (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register speichert den Schrittzeiger, d.h. die aktuelle Schrittzahl in der Schrittdatentabelle. Jedesmal wenn die Instruktion ausgeführt wird, wird dieser Wert durch ICMP referenziert. Der Wert muss extern gesteuert werden durch eine DRUM-Instruktion oder eine andere Benutzerlogik. Das gleiche Register ist im oberen Eintrag aller ICMP- und DRUM-Instruktionen zu verwenden, die als einzelne Schrittfolgensteuerung ausgeführt werden. Schrittdatentabelle (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste Register in einer Schrittdatentabelle. Die ersten acht Register in der Tabelle enthalten konstante und variable Daten, die zur Ausführung der Instruktion benötigt werden: 624 Register Name Inhalt Angezeigt Roheingangsdaten Werden vom Benutzer aus einer Gruppe sequentieller Eingänge geladen, die von ICMP für den aktuellen Schritt verwendet werden. Erstes impliziertes Register aktuelle Schrittdaten Wird von ICMP jedes Mal geladen, wenn der Baustein ausgeführt wird; enthält eine Kopie der Daten in der Schrittzeigeradresse; bringt die Bausteinlogik dazu, automatisch die Register-Offsets zu berechnen, wenn auf die Schrittdaten in der Schrittdatentabelle zugegriffen wird. Zweites impliziertes Register Eingangsmaske Wird vom Benutzer vor der Verwendung des Bausteins geladen; enthält eine Maske für die Operation ANDed, wobei die Roheingangsdaten nicht für alle maskierten Schrittbits verwendet werden; maskierte Daten werden in das maskierte Eingangsdatenregister geschrieben. Drittes impliziertes Register maskierte Eingangsdaten Wird von ICMP jedes Mal geladen, wenn der Baustein ausgeführt wird; enthält das Ergebnis der durch AND verbundenen Eingangsmaske und Roheingangsdaten. Viertes impliziertes Register Vergleichsstatus Wird von ICMP jedes Mal geladen, wenn der Baustein ausgeführt wird; enthält das Ergebnis eines XOR der maskierten Eingangsdaten und der aktuellen Schrittdaten; nicht maskierte Eingänge, die sich nicht im korrekten logischen Zustand befinden, führen dazu, dass das ihnen zugeordnete Bit auf 1 wechselt. Bits, die nicht auf Null gesetzt sind, verursachen einen Vergleichsfehler, und der mittlere Ausgang wechselt nicht auf EIN. 31007525 12/2006 ICMP: Eingangsvergleich Register Name Inhalt Fünftes impliziertes Register Maschinen-IDNummer Gibt DRUM/ICMP-Bausteine an, die zu einer spezifischen Maschine gehören; Wertebereich: 0 ... 9999 (0 = Baustein nicht konfiguriert); alle Bausteine mit derselben Maschinenkonfiguration müssen dieselbe ID-Nummer haben. Sechstes impliziertes Register Profil-ID-Nummer Kennzeichnet Profildaten, die gerade in das Ablaufsteuerglied geladen werden; Wertebereich: 0 ... 9999 (0 = Baustein nicht konfiguriert); alle Bausteine mit derselben Maschinen-ID-Nummer müssen dieselbe Profil-ID-Nummer haben Siebentes impliziertes Register Verwendete Schritte Werden vom Benutzer vor der Verwendung des Bausteins geladen; DRUM verändert nicht den Inhalt der verwendeten Schritte während der logischen Ausführung: enthält zwischen 1 ... 999 für 24-Bit-CPUs mit Spezifizierung der tatsächlichen Anzahl der zu auszuführenden Schritte; die Anzahl muss £ der Tabellenlänge im unteren Eintrag des ICMP-Bausteins entsprechen. Die übrigen Register enthalten Daten für jeden Schritt in der Folge. Länge (unterer Eintrag) Der im unteren Eintrag eingegebene Ganzzahlwert entspricht der Länge, d.h. der Anzahl der applikationsspezifischen Register, die in der Schrittdatentabelle verwendet werden. Die Länge kann in einer 24-Bit-CPU im Bereich von 1 ... bis 999 liegen. Die Gesamtzahl der erforderlichen Register in der Schrittdatentabelle ist die Länge + 8. Die Länge muss > sein als der in das Register "Verwendete Schritte" eingegebenen Wert im mittleren Eintrag. 31007525 12/2006 625 ICMP: Eingangsvergleich Kaskadierte DRUM/ICMP-Blöcke Kaskadierte DRUM/ICMPBlöcke Mehere DRUM und/oder ICMP-Blöcke können kaskadiert werden, um eine mechanische Trommel einer Breite von bis zu 512 Bits zu simulieren. Wenn dieselbe 4x-Register-Referenz in den oberen Eintrag jedes entsprechenden Blocks programmiert wird, werden diese Blöcke kaskadiert und erscheinen als gruppierte Einheit, ohne dass auf zusätzliche Anwenderlogik zurückgegriffen werden muss. Alle DRUM/ICMP-Blöcke mit derselben Register-Referenz im oberen Eintrag werden automatisch synchronisiert. Sie müssen ebenfalls denselben konstanten Wert im unteren Eintrag besitzen und so positioniert sein, dass sie denselben Wert im Register "Verwendete Schritte" im mittleren Eintrag haben. 626 31007525 12/2006 ID: Sperren eines Interrupts 99 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ID beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 628 Darstellung 629 Parameterbeschreibung 630 627 ID: Sperren eines Interrupts Kurzbeschreibung Funktionsbeschreibung Die drei zu Ihrer Verfügung stehenden Interrupt-Maskier-/Demaskiersteuerungsanweisungen helfen Ihnen, die Daten sowohl in der normalen (verwalteten) KOP-Logik als auch in der (nicht verwalteten) Unterprogrammlogik für die Verarbeitung der Interrupts zu schützen. Es handelt sich dabei um die Anweisungen Interrupt deaktivieren (ID), Interrupt aktivieren (IE) und Block verschieben mit deaktivierten Interrupts (BMDI). Die Anweisung ID maskiert vom Timer generierte und/oder lokale E/A-generierte Interrupts. Ein Interrupt, der in der Zeitspanne nach Durchführung einer ID-Anweisung und vor der nächsten IE-Anweisung ausgeführt wird, wird gepuffert. Die Durchführung eines gepufferten Interrupts findet dann statt, wenn die Anweisung IE ausgeführt wird. Wenn zwei oder mehrere Interrupts desselben Typs innerhalb der ID ... IEAusführung liegen, wird das Fehlerbit "Mask. Interrupt-Überlauf" gesetzt, und das durch die Interrupts aktivierte Unterprogramm wird nur einmal ausgeführt. 628 31007525 12/2006 ID: Sperren eines Interrupts Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv ID Typ Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Anweisung maskiert vom Zeitgeber generierte und/oder lokale E/A-generierte Interrupts. Art unterer Knoten INT, UINT Typ des zu maskierenden Interrupts (konstante Ganzzahl) (Ausführliche Informationen finden Sie S. 630.) Oberer Ausgang 31007525 12/2006 SignalspeicherReferenz 0x Keine Gibt den Status des oberen Eingangs an 629 ID: Sperren eines Interrupts Parameterbeschreibung Typ (unterer Knoten) 630 Geben Sie eine konstante Ganzzahl im Bereich von 1 - 3 im Knoten ein. Der Wert stellt den Typ des durch die ID-Anweisung zu maskierenden Interrupts dar, wobei gilt: Ganzzahlwert Interrupttyp 3 Timer-Interrupt maskiert 2 Interrupt des lokalen E/A-Moduls maskiert 1 Beide Interrupttypen maskiert 31007525 12/2006 IE: Freigeben eines Interrupts 100 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung IE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 632 Darstellung 633 Parameterbeschreibung 634 631 IE: Freigeben eines Interrupts Kurzbeschreibung Funktionsbeschreibung Die drei zu Ihrer Verfügung stehenden Interrupt-Maskier-/Demaskiersteuerungsanweisungen helfen Ihnen, die Daten sowohl in der normalen (verwalteten) KOP-Logik als auch in der (nicht verwalteten) Unterprogrammlogik für die Verarbeitung der Interrupts zu schützen. Es handelt sich dabei um die Anweisungen Interrupt deaktivieren (ID), IE (Interrupt aktivieren) und Block verschieben mit deaktivierten Interrupts (BMDI). Die Anweisung IE demaskiert Interrupts des Timers oder des lokalen E/A-Moduls und beantwortet die anstehenden Interrupts mit der Ausführung der vorherbestimmten Unterprogramme. Ein Interrupt, der in der Zeitspanne nach Durchführung einer ID-Anweisung und vor der nächsten IE-Anweisung ausgeführt wird, wird gepuffert. Die Durchführung eines gepufferten Interrupts findet dann statt, wenn die Anweisung IE ausgeführt wird. Wenn zwei oder mehrere Interrupts desselben Typs innerhalb der ID ... IEAusführung liegen, wird das Fehlerbit "Mask. Interrupt-Überlauf" gesetzt, und das durch die Interrupts aktivierte Unterprogramm wird nur einmal ausgeführt. 632 31007525 12/2006 IE: Freigeben eines Interrupts Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv IE Typ Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = Anweisung demaskiert Interrupts und beantwortet anstehende Interrupts Art unterer Knoten INT, UINT Typ des zu demaskierenden Interrupts (konstante Ganzzahl) Weitere Informationen finden Sie S. 634. Oberer Ausgang 31007525 12/2006 SignalspeicherReferenz 0x Keine Gibt den Status des oberen Eingangs an 633 IE: Freigeben eines Interrupts Parameterbeschreibung Oberer Eingang Wenn der Eingang eingeschaltet wird, demaskiert die Anweisung IE die Interrupts des Timers oder des lokalen E/A-Moduls und beantwortet die anstehenden Interrupts, indem sie die vorbezeichneten Unterprogramme ausführt. Typ (unterer Knoten) Geben Sie eine konstante Ganzzahl im Bereich von 1 - 3 im Knoten ein. Der Wert stellt den Interrupttyp dar, der durch die IE-Anweisung zu maskieren ist, wobei gilt: 634 Ganzzahlwert Interrupttyp 3 Timer-Interrupt demaskiert 2 Interrupt des lokalen E/A-Moduls demaskiert 1 Beide Interrupttypen demaskiert 31007525 12/2006 IMIO: Direkte E/A 101 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung IMIO beschrieben. Hinweis: Diese Anweisung ist nur verfügbar, wenn eine CPU ohne Erweiterung konfiguriert wurde. Inhalt dieses Kapitels 31007525 12/2006 Dieses Kapitel enthält die folgenden Themen: Thema Seite Kurzbeschreibung 636 Darstellung 637 Parameterbeschreibung 639 Laufzeitfehler-Behandlung 641 635 IMIO: Direkte E/A Kurzbeschreibung Funktionsbeschreibung Die Anweisung IMIO ermöglicht den Zugriff auf bestimmte E/A-Module innerhalb der KOP-Logik. Dies entspricht einer Abweichung von der normalen E/A-Verarbeitung, wo zu Beginn der logischen Durchführung auf die Eingänge des von ihnen verwendeten Segments zugegriffen wird und die Ausgänge am Ende der Segmentverarbeitung aktualisiert werden. Die E/A-Module, auf die der Zugriff erfolgt, müssen sich im lokalen Baugruppenträger der Quantum-SPS befinden. Um die IMIO-Anweisungen verwenden zu können, müssen die lokalen E/A-Module, auf die ein Zugriff erfolgen soll, in der Bestückungsliste der Steuerungs-Software festgelegt worden sein. 636 31007525 12/2006 IMIO: Direkte E/A Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Steuerblock Steuerregister IMIO E/A-Funktion (1 - 3) Fehler Typ Hinweis: Dieser IMIO-Block funktioniert auf Grund von modulspezifischen Einschränkungen des Hardware-Designs nicht mit den folgenden Compact E/AModulen: z z z z 31007525 12/2006 AS-BADU-204 AS-BADU-205 AS-BADU-206 AS-BADU-216 637 IMIO: Direkte E/A Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt den direkten E/A-Zugriff frei Steuerblock oberer Knoten INT, UINT, Steuerblock (das erste von zwei WORD benachbarten Registern) Weitere Informationen finden Sie S. 641. 4x Typ unterer Knoten 638 INT, UINT Operationstyp (konstante Ganzzahl im Bereich von 1 - 3) Dies ist die auszuführende Funktion z 1 - Eingangsoperation: Übertragung von Daten vom Modul zum Signalspeicher z 2 - Ausgangsoperation: Übertragung von Daten vom Signalspeicher zum Modul z 3 - Bidirektionale oder E/A-Operation: Ermöglicht sowohl Eingang als auch Ausgang für bidirektionale Module Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Unterer Ausgang 0x Keine Fehler (angezeigt durch einen Code im Fehlerstatus-Register des IMIOSteuerblocks) 31007525 12/2006 IMIO: Direkte E/A Parameterbeschreibung Steuerblock (oberer Knoten) Das erste von zwei benachbarten 4x-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Register Inhalt Angezeigt Dieses Register gibt die physikalische Adresse des E/A-Moduls an, auf das zugegriffen werden soll. Erstes impliziertes Reg. Dieses Register protokolliert den Fehlerstatus, der durch die Anweisung aufrechterhalten wird. Physikalische Adresse des E/A-Moduls Das höherwertige Byte des im Steuerblock angezeigten Registers ermöglicht Ihnen die Festlegung des Baugruppenträgers, in dem das E/A-Modul, auf das zugegriffen wird, enthalten ist, und das niederwertige Byte ermöglicht Ihnen die Festlegung der Steckplatznummer innerhalb des angegebenen Baugruppenträgers, in dem das E/ A-Modul enthalten ist. Verwendung des Worts: MSB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit Funktion 1-5 Nicht verwendet Rack 1 nur für Quantum Lokale Racks 1 bis 4 können für 32-Bit-Compact verwendet werden. 6-8 Racknummer 1 bis 4 (nur Rack 1 wird gegenwärtig unterstützt) 9 - 11 Nicht verwendet 12 - 16 Steckplatznummer 16 LSB Racknummer Bitnummer 31007525 12/2006 Racknummer 6 7 8 0 0 1 Rack 1 Rack 1 nur für Quantum Racks 1 bis 4 können für 32-Bit-Compact verwendet werden. 0 1 0 Rack 2 Racks 1 bis 4 können für 32-Bit-Compact verwendet werden. 0 1 1 Rack 3 Racks 1 bis 4 können für 32-Bit-Compact verwendet werden. 1 0 0 Rack 4 Racks 1 bis 4 können für 32-Bit-Compact verwendet werden. 639 IMIO: Direkte E/A Steckplatznummer Bitnummer Typ (unterer Knoten) 640 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 Geben Sie eine konstante Ganzzahl im Bereich von 1 - 3 in den unteren Knoten. Der Wert stellt den von der IMIO-Anweisung auszuführenden Operationstyp dar, wobei gilt: Ganzzahlwert Typ des Direktzugriffs 1 Eingangsoperation: überträgt Daten von dem angegebenen Modul in den Signalspeicher 2 Ausgangsoperation: überträgt Daten vom Signalspeicher zum angegebenen Modul 3 E/A-Operation: sowohl Eingangs- als auch die Ausgangsoperation, wenn das angegebene Modul bidirektional ist 31007525 12/2006 IMIO: Direkte E/A Laufzeitfehler-Behandlung Laufzeitfehler 31007525 12/2006 Wenn die Instruktion einen Fehler erkennt, enthält das implizierte Register im Steuerblock den folgenden Fehlercode: Fehlercode Bedeutung 2001 Ungültiger Typ im unteren Eintrag angegeben 2002 Problem mit angegebenem E/A-Steckplatz: entweder eine ungültige Steckplatznummer im angezeigten Register des Steuerblocks oder die E/ABestückung enthält eine nicht die korrekte Moduldefinition für diesen Steckplatz 2003 Eine Operation des Typs 3 ist im unteren Eintrag angegeben und das Modul ist nicht bidirektional F001 Das angegebene E/A-Modul ist nicht in Ordnung 641 IMIO: Direkte E/A 642 31007525 12/2006 IMOD: Anweisung für Interrupt-Modul 102 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung IMOD beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 644 Darstellung 645 Parameterbeschreibung 647 643 IMOD: Anweisung für Interrupt-Modul Kurzbeschreibung Funktionsbeschreibung 644 Die IMOD-Anweisung startet ein KOP-Unterprogramm zur Verarbeitung von Interrupts, wenn der entsprechende Interrupt eines lokalen Interrupt-Moduls generiert und von der SPS empfangen wird. Jede IMOD-Anweisung einer Anwendung wird einem bestimmten Steckplatz in dem lokalen Baugruppenträger zugeordnet, in dem das Interrupt-Moduls untergebracht ist. Die IMOD-Anweisung kann dasselbe oder ein anderes Interrupt-Verarbeitungsunterprogramm für die einzelnen Punkte des entsprechenden Interrupt-Moduls verwenden. 31007525 12/2006 IMOD: Anweisung für Interrupt-Modul Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Steckplatznu mmer Steuerblock Löscht vorherigen Fehler Fehler IMOD Anzahl der Interrupts Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = startet einen Interrupt Unterer Eingang 0x, 1x Keine EIN = löscht einen zuvor identifizierten Fehler INT, UINT Gibt die Steckplatznummer an, wo das lokale Interrupt-Modul untergebracht ist (konstante Ganzzahl im Bereich von 1 ... 16) Steckplatznummer (oberer Knoten) 31007525 12/2006 645 IMOD: Anweisung für Interrupt-Modul Parameter Signalspeicher- Datentyp Bedeutung Referenz Steuerblock 4x (mittlerer Knoten) INT, UINT, WORD Steuerblock (das erste von maximal 19 benachbarten Registern, je nach Anzahl der Interrupts) Der mittlere Knoten enthält das erste 4x-Register des IMODSteuerblocks. Der Steuerblock enthält Parameter, die zur Programmierung einer IMOD-Anweisung erforderlich sind. Die Größe (Anzahl von Registern) des Steuerblocks muss der Gesamtanzahl der programmierten Interrupt-Punkte + 3 entsprechen. Die ersten drei Register im Steuerblock enthalten Statusinformationen. Anhand der übrigen Register können Sie die LAB-Nummer des Unterprogramms der Interrupt-Verarbeitung angeben. Das Unterprogramm der Interrupt-Verarbeitung befindet sich im letzten (nicht verwalteten) Segment des Ladder Logic-Programms. (Ausführliche Informationen finden Sie S. 648.) Anzahl der Interrupts (unterer Knoten) INT, UINT Gibt die Anzahl der Interrupts an, die vom zugehörigen Interrupt-Modul generiert werden können (konstante Ganzzahl im Bereich von 1 ... 16) Der untere Knoten enthält eine Ganzzahl, die die Anzahl der Interrupts angibt, die von dem entsprechenden Interrupt-Modul generiert werden können. Die Größe (Anzahl von Registern) des Steuerblocks entspricht der Anzahl von Interrupts + 3. Die SPS kann für bis zu 64 Interrupts konfiguriert werden (dies gilt in Bezug auf die Gesamtzahl der Interrupt-Module im lokalen Baugruppenträger). Wenn die im unteren Knoten einer IMOD Anweisung eingegebene Zahl dazu führt, dass die Gesamtzahl der Modulinterrupts des Systems 64 übersteigt, wird in Bit 7 des ersten Registers des Steuerblocks ein Fehler gemeldet. Wenn Sie beispielsweise 4 Interrupt-Module im lokalen Baugruppenträger verwenden und jedem dieser Module 16 Interrupts zuordnen (indem Sie im unteren Knoten jeder verwendeten IMODAnweisung 16 eingeben) kann die SPS keine weiteren Modulinterrupts mehr verarbeiten. Wenn Sie versuchen, eine fünfte IMOD-Anweisung anzulegen, wird im entsprechenden IMOD-Steuerblock ein Fehler protokolliert, sobald Sie im unteren Knoten einen Wert eingeben. Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Unterer Ausgang 0x Keine EIN = Fehler wird erkannt. Die Fehlerursache kann von einem beliebigen aktivierten Punkt des Interrupt-Moduls stammen. 646 31007525 12/2006 IMOD: Anweisung für Interrupt-Modul Parameterbeschreibung Allgemeine Informationen zu IMOD In einer KOP-Anwendung können bis zu 14 IMOD-Anweisungen programmiert werden, je eine für jeden optionalen Steckplatz eines lokalen Baugruppenträgers. Die einzelnen Interrupt-Punkte der Interrupt-Module können verschiedene InterruptVerarbeitungsunterprogramme initiieren. In einer Anwenderlogik-Anwendung können maximal 64 Interruptpunkte definiert werden. Es ist nicht erforderlich, dass alle möglichen Eingabepunkte eines lokalen Interrupt-Moduls in der IMOD-Anweisung als Interrupts definiert werden. Aktivieren der Anweisung (oberer Eingang) Wenn der obere Eingang eingeschaltet wird, wird die IMOD-Anweisung aktiviert. Die SPS reagiert auf Interrupts, die von dem lokalen Interrupt-Modul mit der vordefinierten Steckplatznummer generiert worden sind. Wenn der obere Eingang gesperrt wird, werden die Interrupts des Moduls im vordefinierten Steckplatz deaktiviert und alle zuvor erkannten Fehler sowie unerledigte, maskierte Interrupts gelöscht. Fehler löschen (unterer Eingang) Dieser Eingang löscht vorherige Fehler. Steckplatznummer (oberer Knoten) Der obere Knoten enthält eine Dezimalzahl im Bereich von 1 - 16, die die Steckplatznummer angibt, in der sich das lokale Interrupt-Modul befindet. Diese Nummer wird verwendet, um ein Steuerstrukturfeld zu indexieren, mittels dessen die Anweisung implementiert wird. Hinweis: Die Steckplatznummer einer IMOD-Anweisung muss in Bezug auf die Steckplatznummern, die in den anderen IMOD-Anweisungen einer Anwendung verwendet werden, eindeutig sein. Wenn dies nicht der Fall ist, weist die nächste IMOD-Anweisung mit derselben Steckplatznummer einen Fehler auf. Hinweis: Die Steckplatznummern der SPS und des Versorgungsmoduls sind ungültige Eingaben, d.h., es können maximal 14 der 16 möglichen Steckplatznummern als Interrupt-Modulsteckplätze verwendet werden. Wenn die IMOD-Steckplatznummer dieselbe ist wie die der SPS, weist IMOD einen Fehler auf. 31007525 12/2006 647 IMOD: Anweisung für Interrupt-Modul Steuerblock (mittlerer Knoten) Der mittlere Knoten enthält das erste 4x-Register des IMOD-Steuerblocks. Der Steuerblock enthält Parameter, die zur Programmierung einer IMOD-Anweisung erforderlich sind. Die Größe (Anzahl von Registern) des Steuerblocks muss der Gesamtanzahl der programmierten Interrupt-Punkte + 3 entsprechen. Die ersten drei Register des Steuerblocks enthalten die Statusinformation, die übrigen Register sind zur Angabe der Labelnummer (LAB) des Interruptverarbeitungs-Unterprogramms vorgesehen, welches das letzte (nicht verwaltete) Segment des KOP-Programms darstellt. Steuerblock für IMOD FunktionsstatusBits Register Inhalt Angezeigt Funktionsstatus-Bits Erstes impliziertes Reg. Status der Eingänge 1 - 16 des Interrupt-Moduls zum Zeitpunkt des Interrupts Zweites impliziertes Reg. Status der Eingänge 17 - 32 des Interrupt-Moduls zum Zeitpunkt des Interrupts (ungültige Daten eines 16-Bit-Interrupt-Moduls) Drittes impliziertes Reg. LAB-Nummer und Status des ersten interrupt-programmierten Punkts des Interrupt-Moduls ... ... Zuletzt impliziert LAB-Nummer und Status des letzten interrupt-programmierten Punkts des Interrupt-Moduls Funktionsstatus-Bits MSB 648 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LSB Bit Funktion 1-2 Nicht verwendet 3 Fehler: SPS-Steckplatz Die Steckplatznummer im oberen IMOD-Knoten ist die CPU-Steckplatznummer. 4 Fehler: Interrupt verloren durch Kommunikationsfehler im Baugruppenträger Beim Lesen des den Interrupt auslösenden Moduls ist ein Berechnungsfehler aufgetreten, und die Daten sind ungültig. Da die Interrupt-Punkte beim Lesen gelöscht werden, sind die Interrupts verloren gegangen. 5 Modul nicht in Ordnung oder nicht in Bestückungsliste Das E/A-Modul in dem im oberen Knoten angegebenen Steckplatz ist nicht in Ordnung (d.h., es funktioniert nicht oder fehlt), oder in der Bestückungsliste wurde kein Modul angegeben. 31007525 12/2006 IMOD: Anweisung für Interrupt-Modul Verloren gegangene Interrupts Bit Funktion 6 Fehler: Interrupt durch Online-Bearbeitung verloren gegangen Während der Operator die KOP-Logik bearbeitet hat (dies umfasst die Anforderung einer Signalanzeige eines anderen Netzwerks, d.h., Seitenwechsel), sind für denselben Punkt mindestens zwei Interrupts aufgetreten. Nur ein Interrupt wird bedient. 7 Fehler: Maximale Anzahl der Interrupts überschritten In der KOP-Logik wurden mehr als 64 Interrupts angegeben. Diese IMODAnweisung hat dazu geführt, dass die Zahl 64 überschritten wird. 8 Fehler: Steckplatznummer wird im vorherigen Netzwerk verwendet (siehe ACHTUNG: S. 649) Die Steckplatznummer im oberen Knoten wird in der KOP-Logik in einem anderen IMOD-Block verwendet. Der erste Block funktioniert, dieser Block wird jedoch ignoriert. 9 - 15 Nicht verwendet 16 0 = IMOD deaktiviert 1 = IMOD aktiviert Dieses Bit kennzeichnet den Signalstatus im oberen Knoten. ACHTUNG VERLOREN GEGANGENE INTERRUPTS: VERARBEITUNG DER ANWEISUNG IMOD Ein Fehler wird in Bit 8 angezeigt, wenn zwei IMOD-Anweisungen derselben Steckplatznummer zugeordnet sind. Wenn dies passiert, können Interrupts der verarbeiteten Anweisung IMOD ohne weitere Hinweise verloren gehen, wenn die im unteren Knoten der beiden Anweisungen angegebene Nummer unterschiedlich ist. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. 31007525 12/2006 649 IMOD: Anweisung für Interrupt-Modul Statusbits und LAB-Nummer für jeden Interruptpunkt Die Bits 1 bis 5 des dritten implizierten bis zum letzten implizierten Register sind Statusbits für jeden Interruptpunkt. Die Bits 7 bis 16 werden zum Festlegen der LABNummer des Interruptverarbeitungs-Unterprogramms verwendet. Die LAB-Nummer ist ein Dezimalwert im Bereich von 1 - 1023. Funktionsstatus-Bits MSB Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LSB Funktion Status des Interruptpunkts 1 Ausführung verzögert wegen Interrupt-Maskierung Hierbei handelt es sich nicht um einen Fehler, sondern um einen Hinweis, dass die Interrupts deaktiviert sind, und mindestens ein Interrupt für diesen Punkt aufgetreten ist, der beim Aktivieren der Interrupts bedient wird. 2 Fehler: ungültiger Block im Unterprogramm der Interruptverarbeitung Im Unterprogramm der Interruptverarbeitung wurde für diesen Eingangspunkt ein ungültiger DX-Block verwendet (Einzelheiten finden Sie unter "Anweisungen, die in einer Interrupt-Verarbeitungsroutine nicht verwendet werden können"). 3 Fehler: Mask. Interrupt-Überlauf Für diesen Punkt sind mindestens zwei Interrupts aufgetreten, während der Interrupt deaktiviert war: Es wurde ein ID-Block (Interrupt deaktivieren) ohne einen IE-Block (Interrupt aktivieren) oder während der Online-Bearbeitung verwendet. 4 Fehler: Ausführungsüberlauf Ein zweiter Interrupt (oder mehrere Interrupts) ist aufgetreten, während das Unterprogramm der Interruptverarbeitung noch aktiv war. 5 Fehler: ungültige LAB-Nummer Die in den Bits 7 - 16 angegebenen LAB-Nummer ist Null, oder diese LABNummer wird nicht im letzten Segment der Anwenderlogik verwendet. Dieser Fehler löst einen automatischen Löschvorgang aus. 6 nicht verwendet LAB-Nummer 7 - 16 LAB-Nummer der zugehörigen Interrupt-Verarbeitungsroutine Wert im Bereich von 1 - 1023 Wenn der Eingang des unteren Knotens der IMOD-Anweisung freigegeben ist, werden die Statusbits (Bits 1 - 5) gelöscht. Wenn eine LAB-Nummer (in Bits 7 - 16) als 0 oder als ungültig erklärt wurde, werden die von diesem Punkt generierten Interrupts von der SPS ignoriert. 650 31007525 12/2006 IMOD: Anweisung für Interrupt-Modul Anzahl Interrupts (unterer Knoten) Der untere Knoten enthält eine Ganzzahl, die die Anzahl der Interrupts angibt, die von dem entsprechenden Interrupt-Modul generiert werden können. Die Größe (Anzahl von Registern) des Steuerblocks entspricht dieser Zahl + 3. Die SPS kann für bis zu 64 Interrupts konfiguriert werden (dies gilt in Bezug auf die Gesamtzahl der Interrupt-Module im lokalen Baugruppenträger). Wenn die im unteren Knoten einer IMOD-Anweisung eingegebene Zahl dazu führt, dass die Gesamtzahl der Modulinterrupts des Systems 64 übersteigt, wird in Bit 7 des ersten Registers des Steuerblocks ein Fehler gemeldet. Wenn Sie beispielsweise vier Interrupt-Module im lokalen Baugruppenträger verwenden und jedes dieser Module 16 Interrupts zuordnen (indem Sie im unteren Knoten jeder verwendeten IMOD-Anweisung 16 eingeben), kann die SPS keine weiteren Modulinterrupts mehr verarbeiten. Wenn Sie versuchen, eine fünfte IMODAnweisung anzulegen, wird im entsprechenden IMOD-Steuerblock ein Fehler protokolliert, sobald Sie im unteren Knoten einen Wert eingeben. 31007525 12/2006 651 IMOD: Anweisung für Interrupt-Modul 652 31007525 12/2006 INDX – Unmittelbare inkrementelle Bewegung 103 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung INDX beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 654 Parameterbeschreibung 655 653 INDX Kurzbeschreibung Funktionsbeschreibung 654 Der Funktionsblock INDX bewirkt eine unmittelbare inkrementelle Bewegung über MMFStart auf der angegebenen Achse. Die Geschwindigkeit und das Inkrement werden in der verbundenen Tabelle angegeben. 31007525 12/2006 INDX Parameterbeschreibung Symbol Die folgende Abbildung zeigt eine INDX-Funktion. EIN startet Bewegen MMFSTART Register 4X Bewegung gestartet ohne Fehler nicht verwendet Tabelle Block Adresse Bewegen nicht gestartet, Fehler Tabelle Länge (8) nicht verwendet Parameterbeschreibung 31007525 12/2006 (Siehe Fehlerregister) Tabellenlänge falsch/Timeout/ Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x Keine EIN löst die Bewegungsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird die Funktion zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Bewegung definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 8 betragen. 655 INDX Register 656 Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Ausgang 0x Keine Eingeschaltet, wenn der Start der Bewegung ohne Fehler abgeschlossen wurde. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn die Bewegung nicht gestartet wurde und im Register 4xxxx5 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 8 gesetzt ist, die Version von MMFSTART nicht korrekt ist oder die Funktion einen Timeout überschritten hat. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID für die inkrementelle Bewegung 4xxxx1 Gleitkommanotierung Länge der inkrementellen Bewegung 4xxxx3 Gleitkommanotierung Geschwindigkeit der inkrementellen Bewegung 4xxxx5 Kurz Fehlercode, der beim Versuch erzeugt wurde, die Bewegung zu starten. 4xxxx6 Kurz Nummer des aktuellen Betriebszustands 4xxxx7 Kurz Eintragszahl des aktuellen Status. 31007525 12/2006 ITMR: Interrupt-Zeitgeber 104 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ITMR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 658 Darstellung 659 Parameterbeschreibung 661 657 ITMR: Interrupt-Zeitgeber Kurzbeschreibung Funktionsbeschreibung Mit der Anweisung ITMR können Sie einen Intervall-Timer definieren, der Interrupts im normalen KOP-Logikzyklus generiert und die Ausführung eines Unterprogramms zur Interruptverarbeitung startet. Bei der benutzerdefinierten Interrupt-Verarbeitungsroutine handelt es sich um ein Unterprogramm, das im letzten, nicht verwalteten Segment der KOP-Logik mit seinem ersten Netzwerk, gekennzeichnet durch eine LAB-Anweisung, erstellt wurde. Die Ausführung des Unterprogramms erfolgt asynchron zum normalen Abfragezyklus. In einer Anwendung können bis zu 16 ITMR-Anweisungen programmiert werden. Jeder Intervall-Timer kann so programmiert werden, dass er die gleichen oder unterschiedliche Unterprogramme zur Interruptverarbeitung startet, die durch die JSR/LAB-Methode (beschrieben im Kapitel Allgemeines) gesteuert werden. Jede Instanz des Intervall-Timers wird bei laufender SPS für ein programmiertes Intervall verzögert, dann wird ein Prozessor-Interrupt generiert, wenn das Intervall abgelaufen ist. Ein Intervall-Timer kann während eines normalen Zyklus jederzeit ausgeführt werden, ebenso auch während einer E/A-Systemaktualisierung oder sonstiger Operationen zur Systemverwaltung. Die Auflösung jedes Intervall-Timers liegt bei 1 ms. Ein Intervall kann in Einheiten von 1 ms, 10 ms, 100 ms oder 1 s programmiert werden. Mit der angegebenen Auflösung wird ein interner Zähler inkrementiert. Beachten Sie, dass keine Signalflussanzeige bzw. keine Bearbeitung der Anwenderlogik möglich ist, wenn die ITMR-Zeit kleiner als die Bearbeitungszeitscheibe der KOP-Logik ist. 658 31007525 12/2006 ITMR: Interrupt-Zeitgeber Darstellung Symbol Darstellung der Anweisung Freigabe aktiv Steuerblock E/A-Funktion (1 ... 3) Fehler ITMR Zeitgebernummer Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = gibt die Anweisung frei (Ausführliche Informationen finden Sie im Abschnitt "Oberer Eingang".) 659 ITMR: Interrupt-Zeitgeber Parameter 660 Signalspeicher- Datentyp Bedeutung Referenz Steuerblock 4x (oberer Knoten) INT, UINT, WORD Steuerblock (das erste von drei benachbarten Registern) Der obere Knoten enthält das erste von drei benachbarten 4xxxx-Registern des ITMRSteuerblocks. Diese Register werden verwendet, um die zur Programmierung jeder ITMR-Anweisung erforderlichen Parameter anzugeben. Über die unteren acht Bits des ersten angezeigten Registers im Steuerblock können Sie Parameter zur Funktionssteuerung angeben, und die oberen acht Bits dienen zum Anzeigen des Funktionsstatus. Geben Sie in das zweite Register des Steuerblocks einen Wert für dieses Intervall an, bei dem die ITMR-Anweisung Interrupts generiert und die Ausführung der InterruptVerarbeitung startet. Das Intervall wird in den durch die Bits 12 und 13 des ersten Steuerblockregisters angegebenen Einheiten inkrementiert, d.h. Einheiten von 1 ms, 10 ms, 100 ms oder 1 s. Geben Sie in das dritte Register des Steuerblocks einen Wert ein, der die LABNummer zum Starten des Unterprogramms zur Interrupt-Verarbeitung spezifiziert. Die Nummer muss im Bereich von 1 bis 1023 liegen. Hinweis: Es empfiehlt sich, die Größe der Unterprogrammlogik, die der LAB-Nummer zugeordnet ist, zu minimieren, damit die Anwendung nicht durch Interrupts gesteuert wird. (Weitere Informationen finden Sie S. 661.) Zeitgebernummer (unterer Knoten) INT, UINT Die dieser ITMR-Anweisung zugewiesene Zeitgebernummer (muss in Bezug auf alle anderen ITMR-Anweisungen der Anwendung eindeutig sein); Bereich: 1 ... 16 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Unterer Ausgang 0x Keine Fehler (Fehlerquelle können die programmierten Parameter oder ein Fehler bei der Laufzeitausführung sein) 31007525 12/2006 ITMR: Interrupt-Zeitgeber Parameterbeschreibung Oberer Eingang Wenn der obere Eingang eingeschaltet wird, wird die ITMR-Anweisung aktiviert. Anschließend beginnt die Zählung des programmierten Zeitintervalls. Wenn dieses Intervall abgelaufen ist, wird der Zähler zurückgesetzt und die entsprechende Fehlerverarbeitungslogik ausgeführt. Wenn der obere Eingang nicht eingeschaltet wird, kommt es zu folgenden Ereignissen: z Alle angezeigten Fehler werden gelöscht z Der Timer wird gestoppt z Je nach Status von Bit 15 des ersten Registers im Steuerblock (das im oberen Knoten angezeigte Register) wird der Zeitzähler entweder zurückgesetzt oder gestoppt. z Für diesen Timer noch anstehende maskierte Interrupts werden gelöscht Steuerblock (oberer Knoten) Der obere Knoten enthält das erste von 3 benachbarten 4x-Registern des ITMRSteuerblocks. Diese Register werden verwendet, um die zur Programmierung jeder ITMR-Anweisung erforderlichen Parameter anzugeben. Steuerblock für ITMR Register Inhalt Angezeigt Funktionsstatus- und Funktionssteuerungsbits Erstes impliziertes Reg. Geben Sie in diesem Register einen Wert für das Intervall an, bei dem die ITMR-Anweisung Interrupts generieren und die Ausführung der Interruptverarbeitung starten wird. Das Intervall wird in den durch die Bits 12 und 13 des ersten Steuerblockregisters angegebenen Einheiten inkrementiert, d.h. Einheiten von 1 ms, 10 ms, 100 ms oder 1 s. Zweites impliziertes Reg. Geben Sie in diesem Register einen Wert ein, der die Labelnummer (LAB) zum Starten des Unterprogramms zur Interruptverarbeitung spezifiziert. Die Nummer muss sich befinden im von Bereich 1 ... 1023. Hinweis: Es empfiehlt sich, die Größe der Unterprogrammlogik, die der LABNummer zugeordnet ist, zu minimieren, damit die Anwendung nicht durch Interrupts gesteuert wird. 31007525 12/2006 661 ITMR: Interrupt-Zeitgeber Funktionsstatus- und Funktionssteuerungsbits Über die unteren 8 Bits des im Steuerblock angezeigten Registers können Sie Parameter zur Funktionssteuerung angeben, und die oberen 8 Bits dienen zum Anzeigen des Funktionsstatus: MSB Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LSB Funktion Zustand der Funktion 1 Ausführung verzögert wegen Interrupt-Maskierung. 2 Ungültiger Block im Unterprogramm der Interruptverarbeitung. 3 Nicht verwendet 4 Zeit = 0 5 Mask. Interrupt-Überlauf. 6 Ausführungsüberlauf. 7 Kein LAB oder LAB ungültig. 8 Timer-Nummer in vorhergehendem Netzwerk verwendet Funktionssteuerung Timer-Nummer (unterer Knoten) 9 - 11 Nicht verwendet 12 - 13 0 0 = Zeitbasis 1 ms 0 1 = Zeitbasis 10 ms 1 0 = Zeitbasis 100 ms 1 1 = Zeitbasis 1 s 14 1 = SPS-Stopp hält Zähler an. 0 = SPS-Stopp setzt Zähler zurück. 15 1 = Aktivieren von AUS hält Zähler an. 0 = Aktivieren von AUS setzt Zähler zurück 16 1 = Anweisung aktiviert 0 = Anweisung deaktiviert In einer Anwendung können bis zu 16 ITMR-Anweisungen programmiert werden. Die Interrupts können untereinander unterschieden werden durch eine eindeutige Nummer zwischen 1 ... 16, die Sie jeder Anweisung im unteren Knoten zuweisen können. Die niedrigste Interruptnummer hat die höchste Ausführungspriorität. Wenn z.B. ITMR 4 und ITMR 5 gleichzeitig auftreten, wird ITMR 4 zuerst ausgeführt. Nachdem ITMR 4 beendet ist, beginnt im Allgemeinen die Ausführung von ITMR 5. Eine Ausnahme dieser Reihenfolge liegt vor, wenn bei Ausführung von ITMR 4 ein ITMR-Interrupt mit höherer Priorität erkannt wird. Beispiel: Während ITMR 5 darauf wartet, dass ITMR 4 beendet ist, tritt ITMR 3 auf. In diesem Fall beginnt die Ausführung von ITMR 3, sobald ITMR 4 beendet ist. ITMR 5 muss weiterhin warten. 662 31007525 12/2006 ITOF: Ganzzahl-Gleitkommazahl 105 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ITOF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 664 Darstellung 665 663 ITOF: Ganzzahl in Gleitkommazahl Kurzbeschreibung Funktionsbeschreibung 664 Die Instruktion ITOF konvertiert eine Ganzzahl mit oder ohne Vorzeichen (deren oberer Eintrag) in einen Gleitkommawert und legt dann den konvertierten Gleitkommawert in zwei benachbarten 4x-Registern im mittleren Eintrag ab. 31007525 12/2006 ITOF: Ganzzahl in Gleitkommazahl Darstellung Symbol Darstellung der Anweisung Steuereingang Konvertiert OK Ganzzahl Überlauf Konvertiert FP Mit Vorzeichen ITOF 1 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Oberer Eingang 0x, 1x Keine EIN = Konvertierung freigeben Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Ganzzahl (oberer Knoten) 3x, 4x INT, UINT Der Ganzzahlwert kann explizit angezeigt werden als Ganzzahl (Bereich 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Bedeutung 4x konvertierter Gleitkommawert (mittlerer Knoten) REAL 1 (unterer Knoten) INT, UINT Konstanter Wert 1, kann nicht geändert werden Oberer Ausgang 31007525 12/2006 Datentyp 0x Keine Konvertierter Gleitkommawert (das erste von zwei benachbarten Ausgangsregistern) EIN = Gleitkommazahl-Konvertierung erfolgreich abgeschlossen 665 ITOF: Ganzzahl in Gleitkommazahl 666 31007525 12/2006 JOGS – JOG-Bewegung 106 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung JOGS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 668 Darstellung 669 667 JOGS Kurzbeschreibung Funktionsbeschreibung 668 Dieser Funktionsblock verschiebt eine Achse in positiver oder negativer Richtung mit der MMFStart-Funktion Unmittelbare fortlaufende Bewegung und Anhalten. Die Geschwindigkeit der Bewegung wird in der verbundenen Registertabelle angegeben. 31007525 12/2006 JOGS Darstellung Symbol Die folgende Abbildung zeigt die JOGS-Funktion. EIN Positive JOG-Bewegung MMFSTART Register 4X Jog gestartet ohne Fehler EIN Negative JOG-Bewegung Tabelle Block Adresse Jog ausgegeben, mit Fehler nicht verwendet Parameterbeschreibung 31007525 12/2006 (siehe Fehlerregister) Tabelle Länge (6) Tabellenlänge falsch Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN aktiviert eine positive JOG-Bewegung. Der Befehl HALT wird verwendet, wenn der Eingang ausgeschaltet wird. Mittlerer Eingang 0x Keine EIN aktiviert eine negative JOG-Bewegung. Der Befehl HALT wird verwendet, wenn der Eingang ausgeschaltet wird. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Bewegung definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. 669 JOGS Parameter Signalspeicher- Datentyp Bedeutung Referenz Register 670 Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 6 betragen. Oberer Ausgang 0x Keine Eingeschaltet, wenn die Jog-Bewegung ohne Fehler ausgegeben wurde, und stellt den Status des oberen und mittleren Eingangs dar. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn die Jog-Bewegung ohne Fehler ausgegeben wurde, und stellt den Status des oberen und mittleren Eingangs dar. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 6 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID für die inkrementelle Bewegung 4xxxx1 Gleitkommanotierung Zum Verschieben der Achse verwendete Geschwindigkeit. 4xxxx3 Kurz Fehlercode, der beim Versuch erzeugt wurde, die Bewegung zu starten. 4xxxx4 Kurz Nummer des aktuellen Betriebszustands 4xxxx5 Kurz Eintragszahl des aktuellen Status. 31007525 12/2006 JSR: Sprung in ein Unterprogramm 107 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung JSR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 672 Darstellung 673 671 JSR: Sprung in ein Unterprogramm Kurzbeschreibung Funktionsbeschreibung Wenn der Zyklus auf eine freigegebene JSR Instruktion stößt, wird der normale Zyklus gestoppt und springt zum angegebenen Quellunterprogramm im letzten (nicht verwalteten) Segment der Ladder Logic. Sie können in einer Benutzerlogik überall eine JSR-Instruktion verwenden, sogar innerhalb eines Segments des Unterprogramms. Das Aufrufen eines Unterprogramms von einem anderen Unterprogramm aus wird als Verschachtelung bezeichnet. Das System kann bis zu 100 Unterprogramme verschachteln. Es empfiehlt sich jedoch, maximal drei Ebenen zur Verschachtelung einzusetzen. Sie können aber auch eine Rekursiv-Form der Verschachtelung, das sogenannte Looping, durchführen. Dabei ruft ein JSR-Aufruf innerhalb des Unterprogramms das gleiche Unterprogramm auf. Beispiel für die Verarbeitung von Unterprogrammen 672 Weitere Informationen hierzu finden Sie S. 49. 31007525 12/2006 JSR: Sprung in ein Unterprogramm Darstellung Symbol Darstellung der Anweisung Steuereingang Kopierausgang Quelle Bedingter Sprung in ein Unterprogramm (kann überall vorkommen, sogar verschachtelt) Fehler JSR #1 Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeich Datentyp er-Referenz Bedeutung Oberer Eingang 0x, 1x Keine Gibt das Quellunterprogramm frei Quelle 4x (oberer Knoten) INT, UINT Quellzeiger (Indikator des Unterprogramms, zu dem der Zyklus springt), explizit als Ganzzahl eingegeben oder in einem Register gespeichert; Bereich: 1 ... 1 023 #1 (unterer Knoten) INT, UINT Geben Sie immer den konstanten Wert 1 ein Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Unterer Ausgang 0x Keine Fehler beim Sprung in ein Unterprogramm EIN, wenn der Sprung nicht ausgeführt werden kann Label nicht vorhanden oder Verschachtelungsebene > 100 673 JSR: Sprung in ein Unterprogramm 674 31007525 12/2006 LAB: Markierung eines Unterprogramms 108 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung LAB beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 676 Darstellung 677 Parameterbeschreibung 678 675 LAB: Markierung eines Unterprogramms Kurzbeschreibung Funktionsbeschreibung Die Anweisung LAB wird verwendet, um den Startpunkt eines Unterprogramms im letzten (nicht verwalteten) Segment der Benutzerlogik zu markieren. Diese Anweisung muss in Reihe 1, Spalte 1 eines Netzwerks im letzten (nicht verwalteten) Segment der Benutzerlogik programmiert werden. LAB ist ein Funktionsbaustein mit einem Knoten. LAB dient auch als Standardrücksprung aus einem Unterprogramm in den vorhergehenden Netzwerken. Wenn Sie eine Serie von UnterprogrammNetzwerken ausführen und ein Netzwerk beginnend mit LAB vorfinden, erkennt das System, dass das vorhergehende Unterprogramm beendet ist, und gibt den Zyklus unmittelbar nach dem zuletzt ausgeführten JSR-Block zum Knoten zurück. Hinweis: Wenn für die Systemumgebung E/A-Dienste verfügbar sein sollen, während das Unterprogramm durchlaufen wird, müssen Sie innerhalb des gleichen Unterprogramms den Funktionsblock IMIO (siehe S. 635) (Lesen/ Schreiben) verwenden. Anderfalls erhält die in diesem Unterprogramm referenzierte Systemumgebung keine E/A-Dienste, bis das entsprechende Segment aufgelöst wurde. Beispiel für die Verarbeitung von Unterprogrammen 676 Ein Beispiel für die Verarbeitung von Unterprogrammen finden Sie unter S. 49. 31007525 12/2006 LAB: Markierung eines Unterprogramms Darstellung Symbol Darstellung der Anweisung Steuereingang Label muss sich in Zeile 1, Spalte 1 eines Netzwerk im letzten Segment befinden Parameterbeschreibung Unterprogramm (1 ... 255) Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Startet das Unterprogramm, das durch die Zahl im unteren Knoten angegeben ist Unterprogramm (oberer Knoten) INT, UINT Ganzzahlwert, erkennt das gerade auszuführende Unterprogramm Bereich: 1 ... 255 16-Bit-SPS. Bereich: 1 ... 1023 24-Bit-SPS. Größe = konstant 1 - 255 oder Größe = konstant 1-1023 für 785L Unterprogrammnummer-Fehler EIN, wenn Rücksprung nicht ausgeführt werden kann Wenn mehrere Netzwerke mit einer LABAnweisung mit demselben Unterprogrammwert beginnen, wird das Netzwerk mit der niedrigsten Nummer als Startpunkt für das Unterprogramm verwendet. Keine EIN = Fehler beim Start des angegebenen Unterprogramms Oberer Ausgang 31007525 12/2006 Fehler LAB 0x 677 LAB: Markierung eines Unterprogramms Parameterbeschreibung Unterprogramm (unterer Eintrag) 678 Der im Eintrag eingegebene Ganzzahlwert erkennt das gerade auszuführende Unterprogramm. Der Wert kann im Bereich von 1 bis ... 255 liegen. Wenn mehr als ein Unterprogramm-Netzwerk den gleichen LAB-Wert aufweist, wird das Netzwerk mit der niedrigsten Nummer als Startpunkt des Unterprogramms verwendet. 31007525 12/2006 LOAD: Flash laden 109 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung LOAD beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 680 Darstellung 681 Parameterbeschreibung 682 679 LOAD: Flash laden Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist verfügbar für die SPS-Familie TSX Compact mit Quantum-CPUs 434 12/ 534 14 und Momentum-CPUs CCC 960 x0/ 980 x0. Die Instruktion LADEN lädt einen Block von 4x-Registern (vorher GESPEICHERT) aus dem Signalspeicher, wo sie vor unbefugter Änderung geschützt sind. 680 31007525 12/2006 LOAD: Flash laden Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register Nichts gespeichert 1, 2, 3, 4 LOAD Länge: 1 - 512 Parameterbeschreibung 31007525 12/2006 Länge = gespeicherte Länge Länge Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine Starten der Operation LADEN: muss auf EIN bleiben, bis die Operation erfolgreich abgeschlossen wurde oder ein Fehler aufgetreten ist. Register (oberer Knoten) 4x INT, UINT, Das erste von maximal 512 aus dem WORD Signalspeicher zu ladenden benachbarten 4x-Register 1, 2, 3, 4 (mittlerer Knoten) INT Ganzzahlwert, welcher den spezifischen Puffer beschreibt, wo der Datenblock geladen werden soll Länge (unterer Knoten) INT Anzahl der zu ladenden Wörter, Bereich: 1 ... 512 Oberer Ausgang 0x Keine EIN = LADEN ist aktiv Mittlerer Ausgang 0x Keine EIN = LADEN wird vom Puffer angefordert, wo keine Daten gespeichert wurden. Unterer Ausgang 0x Keine EIN = Länge ist ungleich der GESPEICHERTEN Länge 681 LOAD: Flash laden Parameterbeschreibung 1, 2, 3, 4 (mittlerer Eintrag) Der mittlere Eintrag legt den spezifischen Puffer fest, wo der Datenblock geladen werden soll. Vier 512-Wort-Puffer sind zulässig. Jeder Puffer wird festgelegt, indem sein entsprechender Wert im mittleren Eintrag eingegeben wird. Der Wert 1 steht also für den ersten Puffer, der Wert 2 für den zweiten Puffer usw. Normale Werte sind 1, 2, 3 und 4. Wenn die SPS gestartet ist, sind alle vier Puffer auf 0 gesetzt. Deshalb können Sie keine Daten aus dem gleichen Puffer laden, ohne diese zuerst mit der Instruktion SPEICHERN zu sichern. Wenn dies versucht wird, schaltet der mittlere Ausgang auf EIN. Sobald also ein Puffer verwendet wird, kann er bis zum Löschen der Daten nicht erneut verwendet werden. Unterer Ausgang Der Ausgang des unteren Eintrags wird auf EIN gesetzt, wenn die Anforderung LADEN ungleich der GESPEICHERTEN Register ist. Diese Art von Transaktion ist zulässig. Ihre Aufgabe ist es jedoch sicherzustellen, dass dies für Ihre Applikation kein Problem darstellt. 682 31007525 12/2006 MAP3: MAP-Transaktion 110 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MAP3 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 684 Darstellung 685 Parameterbeschreibung 686 683 MAP3: MAP-Transaktion Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar, wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die in der SPS laufenden Ladder Logic-Applikationen starten die Kommunikation mit MAP-Netzwerkeinträgen über die Instruktion MAP3. 684 31007525 12/2006 MAP3: MAP-Transaktion Darstellung Symbol Darstellung der Anweisung Steuerblock Datenquelle MAP3 Länge Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = startet eine Transaktion Mittlerer Eingang 0x, 1x Keine EIN = neue, beim gleichen Zyklus zu startende Transaktion Steuerblock (oberer Knoten) 4x INT, UINT, Steuerblock (das erste Register eines WORD Blocks) Datenquelle (mittlerer Knoten) 4x INT, UINT, Datenquelle (Startregister) WORD Länge (unterer Knoten) 31007525 12/2006 INT, UINT Länge des lokalen Datenbereichs, Bereich: 1 ... 255) Oberer Ausgang 0x Keine Transaktion erfolgreich abgeschlossen Mittlerer Ausgang 0x Keine Transaktion läuft gerade Unterer Ausgang 0x Keine Fehler 685 MAP3: MAP-Transaktion Parameterbeschreibung Oberer Eingang Dieser Eingang startet eine Transaktion. Zum Starten einer Transaktion muss der Eingang zumindest bei einem Zyklus auf EIN (HOCH) gehalten werden. Wenn S980 über Ressourcen zur Verarbeitung der Transaktion verfügt, ist der mittlere Ausgang aktiv. Wenn keine Ressourcen verfügbar sind, ist kein Ausgang aktiv. Sobald eine Transaktion gestartet ist, läuft sie so lange, bis eine Antwort empfangen, ein Kommunikationsfehler erkannt wird oder ein Timeout vorliegt. Die Werte unter Steuerblock, Datenquelle und Länge dürfen nicht verändert werden, sonst wird die Transaktion nicht abgeschlossen und der untere Ausgang aktiv. Eine zweite Transaktion kann nicht durch den gleichen Block gestartet werden, solange der erste noch nicht abgeschlossen ist. Mittlerer Eingang Wenn der obere Eingang auch HOCH (HIGH) ist, kann am auf EIN gesetzten mittleren Eingang nach Abschluss der vorherigen eine neue Transaktion beim gleichen Zyklus gestartet werden. Eine neue Transaktion beginnt, wenn der obere Ausgang nach der ersten Transaktion aktiv ist. Steuerblock (oberer Knoten) Der obere Knoten enthält das 4x-Startregister eines Blocks von Registern, die die Operation des Blocks steuern. Der Inhalt jedes Registers wird durch die Art der durch den MAP3-Block durchzuführenden Operation bestimmt: z Lesen oder Schreiben z Informationsmeldung z Nicht angeforderter Status z Abgeschlossen z abbrechen Register des Steuerblocks: 686 Wort Bedeutung 1 Empfangsgerät 2 Kennzeichner/Funktionscode 3 Netzwerkmodus/Netzwerktyp 4 Zustand der Funktion 5 Register A: Referenztyp Dieses Wort trägt die Bezeichnung Register A* und enthält den Referenztyp für 4 Typen von Leseregistern (0x, 1x, 3x und 4x) und 2 Typen von Schreibregistern (0x oder 4x). 6 Register B: Referenznummer Dieses Wort trägt die Bezeichnung Register B* und enthält die Startreferenznummer im Bereich von 1 bis 99999. 31007525 12/2006 MAP3: MAP-Transaktion Empfangsgerät Wort Bedeutung 7 Register C: Referenzlänge Dieses Wort trägt die Bezeichnung Register C* und enthält die Menge der erforderlichen Referenzen. 8 Register D: Timeout Dieses Wort trägt die Bezeichnung Register D* und enthält den TimeoutParameter. Dieser Wert legt die maximale Zeitdauer fest, die zur Ausführung einer Transaktion, einschließlich Wiederholschleifen, zulässig ist. Wort 1 enthält das Empfangsgerät an den Bitpositionen 9 bis 16. Der Rechner arbeitet mit diesem Byte als LSB und akzeptiert einen Bereich von 1 bis 255. Verwendung von Wort 1: 1 Kennzeichner/ Funktionscode 2 3 4 5 6 Bit Funktion 1-8 Nicht verwendet 9 - 16 Empfangsgerät 7 8 9 10 11 12 13 14 15 16 Wort 2 enthält zwei Informationsbytes. Die Kennzeichnerbits 1 bis 8 und den Funktionscode in den Bits 9 bis 16. Verwendung von Wort 2: 1 Bit 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion Kennzeichner 1-8 0 = mit Adresse >0 = mit Namen Funktionscode 9 - 16 31007525 12/2006 4 = lesen 5 = schreiben 687 MAP3: MAP-Transaktion Netzwerkmodus/ Netzwerktyp Wort 3 enthält zwei Informationsbits. Der Modus steht in den Bits 5 bis 8 und der Typ in den Bits 9 bis 16. Verwendung von Wort 3: 1 2 3 4 5 6 Bit Funktion 1-4 Nicht verwendet 7 8 9 10 11 12 13 14 15 16 Modus 5-8 1 = Zuordnung Art Zustand der Funktion 9 - 12 7 = MAP-Netz mit 7 Schichten 13 - 16 1 = Dienst des Typs 1 Wort 4 ist der Zustand der Funktion. Ein Fehlercode wird zurückgesendet, wenn ein Fehler in einer von einem Baustein initiierten Funktion auftritt. Die Dezimalcodes sind: 688 Code Bedeutung 1 Verknüpfungsanforderung wurde abgewiesen. 4 Meldungs-Timeout bei Antwort der Anwendung 5 Ungültiges Empfangsgerät 6 Meldungsgröße überschritten 8 Ungültiger Funktionscode 17 Gerät nicht verfügbar 19 Netzwerktyp wird nicht unterstützt 22 Kein Kanal verfügbar 23 MMS-Meldung nicht gesendet 24 Steuerblock geändert 25 Initiierung fehlgeschlagen 26 System-Download läuft 28 Kanal nicht bereit 99 Unbekannter Fehler 103 Zugriff verweigert 105 Ungültige Adresse 110 Objekt nicht vorhanden 31007525 12/2006 MAP3: MAP-Transaktion Zusammenfassung der Funktion Das Netzsteuergerät kann einen Funktionscode ausgeben, der die Registerzuweisung von Steuerblocks ändert, die oben für Lesen/Schreiben angegeben ist. Diese Abweichungen bei Informationen, Status, Abschluss und Abbruch werden in dieser Zusammenfassung unten in Ihrem Fenster angegeben. Siehe Benutzerhandbuch Modicon S980 Map 3.0 Netzwerkschnittstelle, das den Registerinhalt für jede Operation beschreibt. Datenquelle (mittlerer Knoten) Der mittlere Knoten ist das 4x-Startregister der lokalen Datenquelle (für eine Schreibanforderung) oder des lokalen Datenziels (für Lesen). Länge (unterer Knoten) Der untere Knoten legt die Maximalgröße des lokalen Datenbereichs (die Menge der Register), beginnend mit dem 4x-Register der Datenquelle im Dezimalbereich 1 bis 255 fest. Die Menge der bei dieser Operation tatsächlich zu übertragenden Daten wird durch den Parameter "Referenzlänge" in einem der Steuerregister festgelegt. Oberer Ausgang Der obere Ausgang ist bei einem Zyklus aktiv, wenn eine Transaktion erfolgreich abgeschlossen wurde. Mittlerer Ausgang Der mittlere Ausgang ist aktiv, wenn eine Transaktion gerade läuft. Wenn der obere Eingang auf EIN und der mittlere Eingang auf AUS gesetzt ist, dann wird der mittlere Ausgang beim gleichen Zyklus auf AUS gesetzt, bei dem der obere Ausgang auf EIN gesetzt wird. Wenn sowohl oberer als auch mittlerer Eingang auf EIN gesetzt sind, dann bleibt der mittlere Eingang auf EIN. Unterer Ausgang Der untere Ausgang ist bei einem Zyklus aktiv, wenn eine Transaktion nicht erfolgreich abgeschlossen wurde. Ein Fehlercode wird im Funktionsstatuswort (Register 4x+3) im Steuerblock der Funktion ausgegeben. 31007525 12/2006 689 MAP3: MAP-Transaktion 690 31007525 12/2006 MATH - Ganzzahloperationen 111 Auf einen Blick Einleitung In diesem Kapitel werden die vier Ganzzahloperationen beschrieben, die durch die Anweisung MATH ausgeführt werden. Die vier Operationen sind DezimalQuadratwurzel, Prozess-Quadratwurzel, Logarithmus (Basis 10) und Antilogarithmus (Basis 10). Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 692 Darstellung 693 691 MATH - Ganzzahloperationen Kurzbeschreibung Funktionsbeschreibung Die Anweisung MATH führt jede der vier Ganzzahloperationen, der Aufruf erfolgt durch Eingeben eines Funktionscodes im Bereich von 1 ... 4 in den unteren Knoten. Tabelle mit zwei Spalten: Code MATH-Funktion 1 Dezimal-Quadratwurzel 2 Prozess-Quadratwurzel 3 Logarithmus (Basis 10) 4 Antilogarithmus (Basis 10) Jede MATH-Funktion operiert in Bezug auf die Inhalte der Register des oberen Knotens und legt ein Ergebnis in den Registern des mittleren Knotens ab. Beispielsweise verwendet die normale Quadratwurzelfunktion die Register 3/4xxxx und 3/4xxxx+1 als 8-stelligen Operand und legt das Ergebnis in 4yyyy und 4yyyy+1 ab. Das daraus resultierende Speicherformat ist XXXX.XX00, wobei nach einem implizierten Dezimalkomma zwei Genauigkeitsstellen folgen. MATH führt die durch den unteren Knoten angegebenen Funktion aus: 692 Code Funktion Operandenregister Bereich Ergebnisregister Bereich 1 Normal 3/4x, 3/4x + 1 4y, 4y + 1 xxxx.xxoo 2 Prozess 3/4x 4 Ziffern 4y, 4y + 1 xxxx.xxoo 3 Protokoll (x) 3/4x, 3/4x + 1 8 Ziffern 4y 1 bis 7,999 4 Antilogarithmus (x) 3/4x 1 bis 7,999 4y, 4y + 1 8 Ziffern 8 Ziffern 31007525 12/2006 MATH - Ganzzahloperationen Darstellung Symbol DezimalQuadratwurzel Darstellung der Anweisung für die Operation Dezimal-Quadratwurzel Steuereingang aktiv Quelle Fehler Ergebnis MATH 1 Parameterbeschreibung DezimalQuadratwurzel 31007525 12/2006 Beschreibung der Anweisungsparameter für die Operation Dezimal-Quadratwurzel Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN initiiert eine StandardQuadratwurzeloperation. Quelle (oberer Knoten) 3x, 4x INT, UINT Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert (Wert, dessen Quadratwurzel abgeleitet wird) wird hier abgelegt. Wenn Sie ein 4xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 99.999.999 liegen. Die niederwertige Hälfte des Werts wird im implizierten Register abgelegt und die höherwertige im angezeigten Register. Wenn Sie ein 3xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 9.999 liegen. Die Berechnung der Quadratwurzel erfolgt nur für den Wert im angezeigten Register, das implizierte Register ist erforderlich, wird aber nicht verwendet. 693 MATH - Ganzzahloperationen Parameter Signalspeicher- Datentyp Bedeutung Referenz Symbol ProzessQuadratwurzel Ergebnis (mittlerer Knoten) 4x INT, UINT Geben Sie das erste von zwei benachbarten 4xxxx-Registern im mittleren Knoten ein. Das zweite Register ist impliziert. Das Ergebnis des standardmäßigen Ziehens der Quadratwurzel wird hier abgelegt. Das Ergebnis wird im festen Dezimalformat abgelegt: 1234.5600. Das angezeigte Register speichert den vierstelligen Wert links neben der ersten Dezimalstelle, und das implizierte Register speichert den vierstelligen Wert rechts neben der ersten Dezimalstelle. Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. Oberer Ausgang 0x Keine ON = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Wert (oberer Knoten) außerhalb des Bereichs Darstellung der Anweisung für die Operation Prozess-Quadratwurzel Steuereingang aktiv Quelle Fehler linearisiertes Ergebnis MATH 2 694 31007525 12/2006 MATH - Ganzzahloperationen Parameterbeschreibung ProzessQuadratwurzel 31007525 12/2006 Die Funktion Prozess-Quadratwurzel schneidet die Standard-Quadratwurzelfunktion auf geschlossene analoge Regelungsanwendungen zu. Grundlage der Funktion ist das Ergebnis der Standard-Quadratwurzel; dieses wird mit 63,9922 multipliziert (der Quadratwurzel von 4095), und das linearisierte Ergebnis wird dann in den Registern des mittleren Knotens abgelegt. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN initiiert eine ProzessQuadratwurzeloperation. Quelle (oberer Knoten) 3x, 4x INT, UINT Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert (Wert, dessen Quadratwurzel abgeleitet wird) wird in diesen zwei Registern abgelegt. Damit Werte generiert werden, die eine Bedeutung haben, darf der Quellwert nicht größer sein als 4095. In einer 4xxxxRegistergruppe wird der Quellwert darum im implizierten Register abgelegt und in einer 3xxxx-Registergruppe im angezeigten Register. Ergebnis (mittlerer Knoten) 4x INT, UINT Das erste der beiden 4xxxx-Register wird im mittleren Knoten eingegeben. Das zweite Register ist impliziert. Das linearisierte Ergebnis des Ziehens der Prozess-Quadratwurzel wird hier abgelegt. Das Ergebnis wird im festen Dezimalformat abgelegt: 1234.5600. Das angezeigte Register speichert den vierstelligen Wert links neben der ersten Dezimalstelle, und das implizierte Register speichert den vierstelligen Wert rechts neben der ersten Dezimalstelle. Die Ziffern nach dem zweiten Dezimalkomma werden abgeschnitten; es wird nicht abgerundet. Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Quellwert außerhalb des Bereichs 695 MATH - Ganzzahloperationen Symbol Logarithmus (Basis 10) Darstellung der Anweisung für die Operation Logarithmus (Basis 10) Steuereingang aktiv Quelle Fehler Ergebnis MATH 3 Parameterbeschreibung Logarithmus (Logarithmus zur Basis 10) 696 Beschreibung der Anweisungsparameter für die Operation Logarithmus (Basis 10) Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN aktiviert die Operation log(x). Quelle (oberer Knoten) 3x, 4x INT, UINT Das erste von zwei benachbarten 3xxxx- oder 4xxxx-Registern wird im oberen Knoten eingegeben. Das zweite Register ist impliziert. Der Quellwert, auf den sich die logarithmische Berechnung stützt, wird in diesen Registern abgelegt. Wenn Sie ein 4xxxx-Register spezifizieren, kann der Quellwert im Bereich von 0 bis 99.999.999 liegen. Die niederwertige Hälfte des Werts wird im implizierten Register abgelegt und die höherwertige im angezeigten Register. Die Berechnung des Logarithmus wird nur für den Wert im angezeigten Register ausgeführt; das implizierte Register ist erforderlich, wird aber nicht verwendet. 31007525 12/2006 MATH - Ganzzahloperationen Symbol Antilogarithmus (Basis 10) Parameter SignalspeicherReferenz Datentyp Bedeutung Ergebnis (mittlerer Knoten) 4x INT, UINT Der mittlere Knoten enthält ein einziges 4xxxxAusgangsregister, wo das Ergebnis der logarithmischen Berechnung zur Basis 10 abgelegt wird. Das Ergebnis wird im festen Dezimalformat 1.234 dargestellt und nach der dritten Dezimalstelle abgeschnitten. Das größtmögliche berechenbare Ergebnis ist 7.999. Dieses Ergebnis würde im mittleren Register als 7999 abgelegt werden. Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler oder Wert außerhalb des Bereichs Darstellung der Anweisung für die Operation Antilogarithmus (Basis 10) Steuereingang aktiv Quelle Fehler Ergebnis MATH 4 31007525 12/2006 697 MATH - Ganzzahloperationen Parameterbeschreibung Antilogarithmus (Basis 10) 698 Beschreibung der Anweisungsparameter für die Operation Antilogarithmus (Basis 10) Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN aktiviert die Operation Antilog(x). Quelle 3x, 4x (oberer Knoten) INT, UINT Der obere Knoten ist ein einziges 4xxxxAusgangsregister oder ein 3xEingangsregister. Der Quellwert (Wert, auf dessen Grundlage die Antilogarithmusberechnung ausgeführt wird) wird hier im festen Dezimalformat 1.234 gespeichert. Er muss im Bereich von 0 bis 7999 liegen, um einen Quellwert bis maximal 7.999 darzustellen. Ergebnis (mittlerer Knoten) 4x INT, UINT Das erste der beiden 4xxxx-Register wird im mittleren Knoten eingegeben. Das zweite Register ist impliziert. Das Ergebnis der Antilogarithmusberechnung wird hier im festen Dezimalformat 12345678 abgelegt. Der größte berechenbare Antilogarithmuswert ist 99770006 (9977 wird im angezeigten Register und 0006 im implizierten Register abgelegt). Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler oder Wert außerhalb des Bereichs 31007525 12/2006 MBIT: Bit-Veränderung 112 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MBIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 700 Darstellung 701 Parameterbeschreibung 703 699 MBIT: Bit-Veränderung Kurzbeschreibung Funktionsbeschreibung Die Anweisung MBIT ändert die Bitposition in einer Datenmatrix, d.h. sie setzt Bit(s) auf 1 oder auf 0 und löscht diese. Eine Bitposition kann pro Zyklus verändert werden. WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung MBIT auf deaktivierte Spulen. MBIT überschreibt Ausgangsbits innerhalb einer Zielgruppe, ohne diese freizugeben. Dies kann zu einer Störung führen, wenn ein Ausgangsbit (Spule) zu Reparaturoder Wartungszwecken gesperrt wurde, weil der Ausgangsstatus sich in Folge einer MBIT-Anweisung ändern kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 700 31007525 12/2006 MBIT: Bit-Veränderung Darstellung Symbol Darstellung der Anweisung Steuereingang Zeiger: (999 16-Bit SPS) (9600 24-Bit SPS) Bitposition löschen/ festlegen aktiv Bitposition Datenmatrix Zeiger vergrößern MBIT Matrixlänge (max.) 255 (4080 Bits) 16-Bit SPS 600 (9600 Bits) 24-Bit SPS 31007525 12/2006 Bitabfrage (mittleren Eingang kopieren) Fehlerzeiger > Matrixgröße Länge 701 MBIT: Bit-Veränderung Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = implementiert eine Bitänderung Mittlerer Eingang 0x, 1x Keine AUS = setzt Bitpositionen auf 0 EIN = setzt Bitpositionen auf 1 Unterer Eingang 0x, 1x Keine Inkrementiert eine Bitposition nach der anderen nach einer Änderung Bitposition 3x, 4x (oberer Knoten) INT, UINT, In der Datenmatrix zu setzende oder zu WORD löschende spezifische Bitposition, explizit als Ganzzahlwert eingegeben oder in einem Register gespeichert (Bereich von 1 ... 9 600) Datenmatrix (mittlerer Knoten) INT, UINT, Erstes Wort oder Register in der WORD Datenmatrix 0x, 4x Länge (unterer Knoten) 702 Bedeutung INT, UINT Matrixlänge; Bereich: 1 ... 600 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine Liefert Rückmeldung des Zustands des mittleren Eingangs Unterer Ausgang 0x Keine EIN = Fehler Bitposition > Matrixlänge 31007525 12/2006 MBIT: Bit-Veränderung Parameterbeschreibung Bitposition (oberer Eintrag) Matrixlänge (unterer Eintrag) 31007525 12/2006 Hinweis: Wenn die Bitposition als Ganzzahl oder in ein 3x-Register eingegeben wird, ignoriert die Instruktion den Status des unteren Eingangs. Der Ganzzahlwert im unteren Eintrag gibt die Matrixlänge an, d.h. die Anzahl der 16Bit-Wörter oder -Register in der Datenmatrix. Die Matrixlänge kann in einer 24-BitCPU im Bereich von 1 ... 600 liegen, die Längenangabe 200 bedeutet also, dass 3200 Bitpositionen vorhanden sind. 703 MBIT: Bit-Veränderung 704 31007525 12/2006 MBUS: MBUS-Transaktion 113 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MBUS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 706 Darstellung 707 Parameterbeschreibung 708 Die Funktion "MBUS-Statistik abfragen" 710 705 MBUS: MBUS-Transaktion Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar, wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Module S975 Modbus II mit Schnittstelle verfügen über zwei ladefähige Funktionsbausteine: MBUS und PEER. MBUS dient zum Initiieren einer einzelnen Transaktion mit einem anderen Gerät im Modbus II-Netzwerk. Bei einer MBUSTransaktion können Sie digitale oder Registerdaten lesen oder schreiben. Die SPS am Modbus II-Netzwerk können bis zu 16 Transaktionen gleichzeitig ausführen. Zu den Transaktionen gehören eingehende (nicht angeforderte) als auch ausgehende Meldungen. Somit kann eine SPS jederzeit 16 Nachrichten abzüglich der Zahl eingehender Nachrichten aktivieren. Eine Transaktion kann erst gestartet werden, wenn S975 über ausreichend Ressourcen verfügt, um die ganze Transaktion durchzuführen. Sobald eine Transaktion gestartet ist, läuft sie so lange, bis eine Antwort empfangen, ein Fehler erkannt wird oder ein Timeout vorliegt. Eine zweite Transaktion kann nicht beim gleichen Zyklus gestartet werden, den die vorherige Transaktion abschließt, wenn der mittlere Eingang nicht auf EIN gesetzt ist. Eine zweite Transaktion kann nicht durch die gleiche Instruktion MBUS gestartet werden, solange die erste Transaktion noch nicht abgeschlossen ist. 706 31007525 12/2006 MBUS: MBUS-Transaktion Darstellung Symbol Darstellung der Anweisung Steuereingang beendet Steuerblock Steuerblock Transaktion wiederholen im gleichen Zyklus Datenblock Systemstatistik löschen Transaktion läuft gerad oder neue Transaktion wird gestartet Fehler MBUS Größe des Datenbereichs Parameterbeschreibung Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine MBUS-Transaktion freigeben Mittlerer Eingang 0x, 1x Keine Transaktion bei gleichem Zyklus wiederholen Unterer Eingang 0x, 1x Keine Löscht die Systemstatistik Steuerblock (oberer Knoten) 4x INT, UINT, WORD Das erste von sieben benachbarten Registern im MBUS-Steuerblock (Weitere Informationen finden Sie S. 708.) Datenblock (mittlerer Knoten) 4x INT, UINT, WORD Das erste 4x-Register in einem Datenblock, das bei einer MBUS-Transaktion übertragen oder empfangen werden soll. Länge (unterer Knoten) 31007525 12/2006 INT, UINT Die Anzahl der reservierten Wörter für den Datenblock wird als konstanter Wert eingegeben (Weitere Informationen finden Sie S. 709.) Oberer Ausgang 0x Keine Transaktion abgeschlossen Mittlerer Ausgang 0x Keine Transaktion läuft gerade oder neue Transaktion wird gestartet Unterer Ausgang 0x Keine Fehler bei der Transaktion erkannt 707 MBUS: MBUS-Transaktion Parameterbeschreibung Steuerblock (oberer Eintrag) Funktionscode 708 Das im oberen Eintrag eingegebene 4x-Register ist das erste von sieben benachbarten Registern im MBUS-Steuerblock: Register Inhalt Angezeigt Adresse des Zielgeräts (Bereich: 0 ... 246) Erstes impliziertes Register nicht verwendet Zweites impliziertes Register Funktionscode Drittes impliziertes Register Referenztyp Viertes impliziertes Register Beispiel einer Referenznummer: Wenn Sie eine 4 in das dritte implizierte Register setzen und in dieses Register eine 23, dann enthält die Referenz das Ausgangsregister 400023. Fünftes impliziertes Register Anzahl der Wörter digitaler oder Registerreferenzen, die gelesen oder geschrieben werden sollen Sechstes impliziertes Register Zulässige Zeit für den Abschluss einer Transaktion, bevor ein Fehler festgestellt wird; sie wird als Vielfaches von 10 ms angegeben. 100 entspricht z.B. 1000 ms; der Standard-Timeout ist 250 ms. Dieses Register enthält den Funktionscode für die angeforderte Aktion: Wert Bedeutung 01 Lesen von Einzelwerten 02 Lesen der Register 03 Schreiben digitaler Ausgänge 04 Schreiben von Registerausgängen 255 Abfragen der Systemstatistik 31007525 12/2006 MBUS: MBUS-Transaktion Referenztyp Dieses Register enthält einen der 4 möglichen digitalen oder Registerreferenztypen: Wert Anzahl der zu lesenden oder schreibenden Wörter Länge (unterer Eintrag) Referenztyp 0 Digitalausgang (0x) 1 Digitaleingang (1x) 2 Eingangsregister (3x) 3 Ausgangsregister (4x) Anzahl der Wörter von Einzelwert- oder Register-Referenzen, die gelesen oder geschrieben werden sollen; die Längen sind wie folgt begrenzt: Register lesen 251 Register Register schreiben 249 Register Spulen lesen 7.848 Einzelwerte Spulen schreiben 7.800 Einzelwerte Die Anzahl der reservierten Wörter für den Datenblock wird als konstanter Wert im unteren Eintrag eingegeben. Diese Zahl impliziert keine Datentransaktionslänge, kann jedoch die maximal zulässige Zahl von Register- oder digitalen Referenzen beschränken, die bei einer Transaktion gelesen oder geschrieben werden sollen. Die maximale Zahl an Wörtern, die bei einer angegebenen Transaktion verwendet werden können: Max. Wortanzahl Transaktion 31007525 12/2006 251 Lesen von Registern (ein Register/Wort) 249 Schreiben von Registern (ein Register/Wort) 490 Lesen von digitalen Werten bei 24-Bit-CPUs (bis zu 16 digitale Werte/Wort) 487 Schreiben von digitalen Werten bei 24-Bit-CPUs (bis zu 16 digitale Werte/Wort) 709 MBUS: MBUS-Transaktion Die Funktion "MBUS-Statistik abfragen" Allgemeines Die Ausgabe des Funktionscodes 255 im zweiten implizierten Register des MBUSSteuerblocks veranlasst die Bereitstellung eine Kopie der lokalen Modbus IIStatistik, einer Serie von 46 benachbarten Registerpositionen, wo Beschreibungen von Datenfehlern und Systembedingungen gespeichert sind. Um MBUS zum Abfragen von Statistiken zu verwenden, setzen Sie die Länge im unteren Eintrag auf 46. Die Länge < 46 gibt einen Fehler aus (der untere Ausgang wird auf EIN gesetzt) und die Länge > 46 reserviert auch zusätzliche Register, die nicht verwendet werden können. Beispiel Parametrieren der Instruktion Enable 400101 complete 401000 Clear system statistics MBUS Error: length < 46 46 Register 400101 ist das erste Register im MBUS-Steuerblock und macht Register 400103 zum Steuerregister, das den MBUS-Funktionscode festlegt. Durch Eingeben des Werts 255 in Register 400103 implementieren Sie die Funktion "Statistik abfragen". In den Registern 401000 ... 401045 wird dann die Systemstatistik bereitgestellt. Überblick über die Systemstatistik 710 Die folgende Systemstatistik steht zur Verfügung. Token-Bus-Controller (TBC) z Software-verwaltete Empfangsstatistik z TBC-verwaltete Fehlerzähler z Software-verwaltete Übertragungsfehler z Software-verwaltete Empfangsfehler z Benutzerlogik-Transaktionsfehler z Herstellungsmeldungs-Standardformat z Fehler (MMFS) z Hintergrundstatistik z Software-Revision z 31007525 12/2006 MBUS: MBUS-Transaktion Token-BusController (TBC) Softwareverwaltete Empfangsstatistik TBC-verwaltete Fehlerzähler 31007525 12/2006 In den Registern 401000 ... 401003 wird dann Folgendes bereitgestellt: Register Inhalt 401000 Anzahl der durch diese Station geleiteten Token 401001 Anzahl der durch diese Station gesendeten Token 401002 Anzahl von fehlgeschlagenen Versuchen von TBC, den Token weiterzuleiten, ohne einen Nachfolger zu finden 401003 Anzahl von erforderlichen Suchaktionen der Station, um einen neuen Nachfolger finden In den Registern 401004 ... 401010 wird dann Folgendes bereitgestellt: Register Inhalt 401004 TBC-erkannte Fehlerframes 401005 Ungültige Anforderung mit Antwort-Frames 401006 Applikationsmeldung zu lang 401007 MAC-Adresse außerhalb des Bereichs 401008 Doppelte Applikations-Frames 401009 Nicht unterstützte LLC-Meldungstypen 401010 Nicht unterstützte LLC-Adresse In den Registern 401011 ... 401018 wird dann Folgendes bereitgestellt: Register Inhalt 401011 Empfang von Geräuschstößen (kein Startbegrenzer) 401012 Rahmentest-Sequenzfehler 401013 E-Bit-Fehler im Endbegrenzer 401014 Fragmentierte Rahmen empfangen (Startbegrenzer nicht von Endbegrenzer gefolgt) 401015 Empfangsrahmen zu lang 401016 Abgebrochene Rahmen, weil es keinen Empfangspuffer gibt 401017 Empfangs-Überläufe 401018 Token-Weiterleitungsfehler 711 MBUS: MBUS-Transaktion Softwareverwaltete Übertragungsfehler Softwareverwaltete Empfangsfehler BenutzerlogikTransaktionsfehler HerstellungsmeldungsStandardformat Fehler (MMFS) 712 In den Registern 401019 ... 401020 wird dann Folgendes bereitgestellt: Register Inhalt 401019 Wiederholschleifen auf Anfrage mit Antwort-Rahmen 401020 Alle Wiederholschleifen durchgeführt und keine Antwort von der Einheit empfangen In den Registern 401021 ... 401022 wird dann Folgendes bereitgestellt: Register Inhalt 401021 Ungültige Übertragungsanforderung 401022 Negative Übertragungsbestätigung In den Registern 401023 ... 401024 wird dann Folgendes bereitgestellt: Register Inhalt 401023 Gesendete Nachricht, aber keine Applikationsantwort 401024 Ungültige MBUS/PEER-Logik In den Registern 401025 ... 401026 wird dann Folgendes bereitgestellt: Register Inhalt 401025 Befehl nicht ausführbar 401026 Daten nicht verfügbar In den Registern 401027 ... 401035 wird dann Folgendes bereitgestellt: Register Inhalt 401027 Gerät nicht verfügbar 401028 Funktion nicht implementiert 401029 Anforderung nicht erkannt 401030 Syntaxfehler 401031 Nicht genauer beschriebener Fehler 401032 Datenanforderung außerhalb des Grenzbereichs 401033 Anforderung enthält ungültige Controller-Adresse 401034 Anforderung enthält ungültigen Datentyp 401035 Keine(r/s) der oben genannten 31007525 12/2006 MBUS: MBUS-Transaktion Hintergrundstatistik SoftwareRevision 31007525 12/2006 In den Registern 401036 ... 401043 wird dann Folgendes bereitgestellt: Register Inhalt 401036 Ungültige MBUS/PEER-Anforderung 401037 Anzahl der nicht unterstützten MMFS-Nachrichtentypen empfangen 401038 Unerwartete Antwort oder Antwort nach Timeout empfangen 401039 Doppelte Applikationsantworten empfangen 401040 Antwort eines nicht genauer beschriebenen Geräts 401041 Anzahl der zu verarbeitenden gepufferten Antworten (im niederwertigsten Byte); Anzahl der zu verarbeitenden MBUS/PEER-Anforderungen (im höchstwertigen Byte) 401042 Anzahl der zu verarbeitenden empfangenen Anforderungen (im niederwertigsten Byte); Anzahl der laufenden Transaktionen (im höchstwertigen Byte) 401043 S975 Zykluszeit in 10 ms Inkrementen In den Registern 401044 ... 401045 wird dann Folgendes bereitgestellt: Register Inhalt 401044 Version der fest installierten Software (PROMs): größere Versionsnummer im höchstwertigen Byte; kleinere Versionsnummer im niederwertigsten Byte 401045 Version der Loadable-Software (EEPROMs): größere Versionsnummer im höchstwertigen Byte; kleinere Versionsnummer im niederwertigsten Byte 713 MBUS: MBUS-Transaktion 714 31007525 12/2006 MMFB – Modicon Motion Framework Bitblock 114 Auf einen Blick Einleitung In diesem Kapitel wird der Block MMFB beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 716 Darstellung 717 715 MMFB Kurzbeschreibung Funktionsbeschreibung Der Funktionsblock MMFB setzt Steuerbits für eine Achse im Tabellenbereich von MMFStart. Unter S. 717 finden Sie eine Beschreibung der Funktionen der Steuerbits. Die meisten dieser Funktionen können über Unterprogramme ausgeführt werden, dies ist jedoch nicht so effizient. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführliche Informationen zur Verwendung von Bewegungs-Loadables. 716 31007525 12/2006 MMFB Darstellung Symbol Die folgende Abbildung zeigt die MMFB-Funktion. EIN verschiebt Steuerung Daten nicht verwendet nicht verwendet 31007525 12/2006 MMFSTART Register 4X gibt Status aus von oberer Eingang Tabelle Block Adresse nicht verwendet Tabelle Länge (3) Tabellenlänge falsch 717 MMFB Parameterbeschreibung Register 718 Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x Keine EIN verschiebt Steuerdaten. Daten werden ständig verschoben, wenn dieser Eingang eingeschaltet ist. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Bewegung definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 3 betragen. Oberer Ausgang 0x Keine Gibt Status des oberen Eingangs aus, außer wenn die Achse (der Inhalt des oberen Knotens) falsch ist oder die Tabellenlänge nicht gleich zwei ist. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 3 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx INT Achsen-ID 4xxxx1 INT Niederwertige Steuerbits: Bits 0-15 4xxxx2 INT Höherwertige Steuerbits: Bits 16-31 31007525 12/2006 MMFE – Modicon Motion Framework, erweitertes Parameter-Unterprogramm 115 Auf einen Blick Einleitung In diesem Kapitel wird der Block MMFE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 720 Darstellung 721 719 MMFE Kurzbeschreibung Funktionsbeschreibung 720 Der Funktionsblock MMFE dient speziell zum Ausführen der Unterprogramme moveImmed und moveQueue mit Koordinatensätzen. Par1 gibt den Bewegungstyp MoveType an (absolut oder inkrementell), und EPar1 bis EParN nehmen die Position für alle N-Achsen im Koordinatensatz ein. Dann nehmen EparN+1 bis Epar2N die Geschwindigkeit aller N-Achsen im Koordinatensatz an, und zwar für bis zu acht Achsen. Für diese Verschiebungs-Unterprogramme wird Par2 nicht verwendet und es gibt keine Rückgabewerte. Diese sind jedoch zur Verwendung in späteren Unterprogrammen im Funktionsblock enthalten. 31007525 12/2006 MMFE Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung des MMFE-Blocks. EIN startet Unterprogramm Daten MMFSTART Register 4X Unterprogramm ausgeführt ohne Fehler Tabelle Block Adresse Unterprogramm ausgeführt mit Fehler (siehe Fehlerregister) nicht verwendet nicht verwendet Parameterbeschreibung 31007525 12/2006 Tabelle Länge (47) Tabellenlänge falsch Timeout/Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x Keine EIN löst die Bewegungsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird der Funktionsblock zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente und Routinen für einen generischen Unterprogrammaufruf definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 47 betragen. Oberer Ausgang 0x Keine Eingeschaltet, wenn Unterprogrammaufruf ohne Fehler abgeschlossen wurde. 721 MMFE Register 722 Parameter SignalspeicherReferenz Datentyp Bedeutung Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx38 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 47 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Nummer des auszuführenden Unterprogramms 4xxxx1 Kurz Achsen-ID für das Unterprogramm 4xxxx2 Ohne Vorzeichen Erster Parameter für das Unterprogramm 4xxxx4 Ohne Vorzeichen Zweiter Parameter für das Unterprogramm 4xxxx6 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxxx8 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx10 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx12 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx14 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx16 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx18 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx20 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx22 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx24 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx26 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx28 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx30 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx32 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx34 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxx36 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx38 Kurz Durch Unterprogramm erzeugter Fehlercode. 4xxx39 Ohne Vorzeichen Erster Rückgabewert des Unterprogramms 4xxx41 Gleitkommanotierung Zweiter Rückgabewert des Unterprogramms 4xxx43 Gleitkommanotierung Dritter Rückgabewert aus dem Unterprogramm 4xxx45 Zustand der Funktion Nummer des aktuellen Betriebszustands 4xxx47 Zustandszählen Eintragszahl des aktuellen Status 31007525 12/2006 MMFI – Modicon Motion Framework Initialisierungsblock 116 Auf einen Blick Einleitung In diesem Kapitel wird der Block MMFI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 724 Darstellung 725 723 MMFI Kurzbeschreibung Funktionsbeschreibung Dieser Funktionsblock MMFI definiert die Kommunikationsregistertabelle für MMFSTART. Diese Tabelle startet bei 41000 mit der Länge 200. Sie wird von Eingang 1 aktiviert, überprüft jedoch die Version in der Tabelle. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführliche Informationen zur Verwendung von Bewegungs-Loadables. 724 31007525 12/2006 MMFI Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung des MMFI-Blocks. EIN aktiviert nicht verwendet nicht verwendet Parameterbeschreibung 31007525 12/2006 nicht verwendet gibt Status aus von oberer Eingang Tabelle block Adresse nicht verwendet Tabelle Länge (200) Tabellenlänge falsch Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x Keine EIN löst die Funktion zum Prüfen der MMFSTART-Version aus. Mittlerer Knoten 4x INT, UINT Zeigt auf einen Block mit 200 Registern, aus denen der Kommunikationsbereich von MMFSTART besteht. Diese Adresse ist normalerweise 401001, Sie können diese jedoch ändern, indem Sie die Datei MMFSTART.CFG bei der SERCOS-SPS ändern. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 200 betragen. Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 200 gesetzt wurde. 725 MMFI Register Die folgende Tabelle beschreibt die Register der Anweisung. Register Information Datentyp Beschreibung base+001:002 RingControl UDINT Zeigt Aktivieren, Anhalten, Halten usw. an. base+003 WatchDogCont INT Wird von Steuerung und SPS verwendet, um sicherzustellen, dass der andere berechtigt ist. base+004 0 0 = Debug INT base+005 SubNumber INT Zeigt die Nummer des Unterprogramms an. base+006 AxisID INT Unterprogramm auf diese Bewegungsachse anwenden. base+007:010 Parameter1-2 UDINT Zeigt Parameter für dieses Unterprogramm (zwei Ganzzahlwerte). base+011:042 Parameter3-18 REAL Zeigt Parameter für dieses Unterprogramm (16 Fließkommawerte). base+051:066 SA1-8Control UDINT Zeigt Steuerbits für jede SERCOS-Achse an. base+067:074 IA1-4Control UDINT Zeigt Steuerbits für jede imaginäre Achse an. base+075:082 CS1-4Control UDINT Zeigt Steuerbits für jeden Koordinatensatz an. base+083:090 FSI1-4Control UDINT Zeigt Steuerbits für jeden Kopplungssatz an. base+091 USubNumber INT Zeigt die Nummer des BenutzerUnterprogramms an. base+092 UAxisID INT Benutzer-Unterprogramm auf diese Bewegungsachse anwenden. base+93:096 UParameter1-2 UDINT Zeigt Benutzer-Parameter für dieses Unterprogramm (zwei Ganzzahlwerte). base+97:100 UParameter3-4 REAL Zeigt Benutzer-Parameter für dieses Unterprogramm (zwei Fließkommawerte). UDINT Zeigt Fehler, aktiviert, halten, Profilende oder in Position an. base+043:050 (Reserviert) base+101:102 RingStatus 726 Zur Ausgabe von Debug-Meldungen verwendet. (Acht Worte) base+103 WatchDogState INT Gibt Inhalt von WatchDogCont aus. base+104 NumberOfAxes INT Zeigt an, wie viele SERCOS-Achsen konfiguriert wurden. base+105 FaultAxis INT Zeigt an, an welcher Achse ein Fehler aufgetreten ist. base+106 FaultCode INT Zeigt an, welcher Fehler aufgetreten ist. base+107 WarnAxis INT Zeigt an, an welcher Achse ein Problem aufgetreten ist. base+108 WarnCode INT Zeigt an, welche Warnung aufgetreten ist. 31007525 12/2006 MMFI Register Information Datentyp Beschreibung base+109 SubNumEcho INT base+110 AxisIDEcho INT Gibt die Achsen-ID aus. base+111 Fehler INT Zeigt die Fehlernummer der Bewegung des Unterprogramms an. base+112:113 Return1 UDINT Gibt den Rückgabewert des Unterprogramms an (eine Ganzzahl). base+114:117 Return2...3 REAL Gibt den Rückgabewert des Unterprogramms an (zwei Fließkommawerte). base+118 INT Gibt Versionsnummer der Schnittstelle an. base+119:134 SA1..8Position REAL Zeigt Position für acht SERCOS-Achsen an. base+135:142 IA1..4Position REAL Zeigt Position für vier imaginäre Achsen an. base+143:150 RA1..4Position REAL Zeigt Position für vier entfernte Achsen an. base+151:166 SA1..8Status UDINT Zeigt Statusbits für jede SERCOS Achse an. base+167:174 IA1..45Status UDINT Zeigt Statusbits für jede imaginäre Achse an. base+175:182 CS1..45Status UDINT Zeigt Satusbits für jeden Koordinatensatz an. base+183:190 FS1..45Status UDINT Zeigt Statusbits für jeden Kopplungssatz an. base+191 Revision USubNumEcho INT Gibt nach Abschluss des Unterprogrammcodes die BenutzerUnterprogrammnummer aus. base+192 UAxisIDEcho INT Gibt die Benutzer-Achsen-ID aus. base+193 UError INT Zeigt die Fehlernummer der Bewegung des Benutzer-Unterprogramms an. base+194 UReturn1 UDINT Gibt den Rückgabewert des BenutzerUnterprogramms an (eine Ganzzahl). REAL Gibt den Rückgabewert des BenutzerUnterprogramms an (zwei Fließkommawerte). base+196:199 UReturn2..3 31007525 12/2006 Gibt nach Abschluss des Unterprogrammcodes die Unterprogrammnummer aus. 727 MMFI 728 31007525 12/2006 MMFS – Modicon Motion Framework Unterprogrammblock 117 Auf einen Blick Einleitung In diesem Kapitel wird der Block MMFS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 730 Darstellung 731 729 MMFS Kurzbeschreibung Funktionsbeschreibung Dieser Funktionsblock gibt ein MMFSTART-Unterprogramm unter Verwendung von Standardparametern und -rückgabewerten aus. Sie können damit alle MMFSTARTStandardunterprogramme ausführen, mit Ausnahme von Bewegungen zu Koordinatensätzen. Diese Unterprogramme bieten eine gemeinsame Schnittstelle zu SERCOS-Antrieben. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführliche Informationen zur Verwendung von Bewegungs-Loadables. 730 31007525 12/2006 MMFS Darstellung Symbol Die folgende Abbildung zeigt eine Darstellung des MMFS-Blocks. EIN startet Unterprogramm MMFSTART Register 4X Unterprogramm ausgeführt ohne Fehler nicht verwendet Tabelle Block Adresse Unterprogramm ausgeführt mit Fehler (siehe Fehlerregister) nicht verwendet Parameterbeschreibung 31007525 12/2006 Tabelle Länge (19) Tabellenlänge falsch Timeout/Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x Keine EIN löst die Bewegungsfunktion aus. Wenn dieser Eingang auf AUS wechselt, wird der Funktionsblock zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente und Routinen für einen generischen Unterprogrammaufruf definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 19 betragen. 731 MMFS Parameter Signalspeicher- Datentyp Bedeutung Referenz Register Oberer Ausgang 0x Keine Eingeschaltet, wenn Unterprogrammaufruf ohne Fehler abgeschlossen wurde. Hinweis: Der obere und mittlere Ausgang werden zurückgesetzt, wenn der obere Eingang ausgeschaltet wird. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn der Unterprogrammaufruf abgeschlossen ist und im Register 4xxx10 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 19 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register 732 Datentyp Beschreibung 4xxxxx Kurz Nummer des auszuführenden Unterprogramms 4xxxx1 Kurz Achsen-ID für das Unterprogramm 4xxxx2 Ohne Vorzeichen Erster Parameter für das Unterprogramm 4xxxx4 Ohne Vorzeichen Zweiter Parameter für das Unterprogramm 4xxxx6 Gleitkommanotierung Dritter Parameter für das Unterprogramm 4xxxx8 Gleitkommanotierung Vierter Parameter für das Unterprogramm 4xxx10 Kurz Durch Unterprogramm erzeugter Fehlercode. 4xxx11 Ohne Vorzeichen Erster Rückgabewert des Unterprogramms 4xxx13 Gleitkommanotierung Zweiter Rückgabewert des Unterprogramms 4xxx15 Gleitkommanotierung Dritter Rückgabewert des Unterprogramms 4xxx17 Kurz Nummer des aktuellen Betriebszustands 4xxx18 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 MOVE – Absolute Bewegung 118 Auf einen Blick Einleitung In diesem Kapitel wird der Block MOVE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 734 Darstellung 735 733 MOVE Kurzbeschreibung Funktionsbeschreibung Dieser Funktionsblock bewirkt eine unmittelbare absolute Bewegung über MMFStart auf der angegebenen Achse. Die Geschwindigkeit und die Position werden in der verbundenen Tabelle angegeben. Verwandte Informationen In der Datei MMFStart Loadables for ProWORX 32 im Verzeichnis Programs\Lib\Quantum der ProWORX 32 Installations-CD finden Sie ausführliche Informationen zur Verwendung von Bewegungs-Loadables. 734 31007525 12/2006 MOVE Darstellung Symbol Die folgende Abbildung zeigt einen MOVE-Block. EIN startet Bewegung nicht verwendet nicht verwendet Parameterbeschreibung 31007525 12/2006 MMFSTART Register 4X Bewegung gestartet ohne Fehler Tabelle Block Adresse Bewegung nicht gestartet Fehler (siehe Fehlerregister) Tabelle Länge (8) Tabellenlänge falsch Version Die folgende Tabelle beschreibt die Parameter der Anweisung. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x Keine EIN löst die inkrementelle Bewegung aus. Wenn dieser Eingang auf AUS wechselt, wird der Funktionsblock zurückgesetzt und kann neu ausgelöst werden. Oberer Knoten 4x INT, UINT Adresse der Register-Kommunikationstabelle MMFSTART 200. Sie ist normalerweise 401001. Sie können diese Adresse konfigurieren, indem Sie die Datei MMFSTART.CFG bei der QUANTUM SERCOS-SPS ändern. Mittlerer Knoten 4x INT, UINT Dieses Register zeigt auf einen Registerblock, mit dem alle Argumente für die Konfiguration definiert werden. Die letzten zwei Register dienen zur Zustandssteuerung. 735 MOVE Register 736 Parameter Signalspeicher- Datentyp Referenz Bedeutung Unterer Knoten 4x INT Der in den unteren Knoten eingegebene Ganzzahlwert gibt die Länge der Tabelle an. In diesem Fall muss die Anzahl der Register in der Tabelle 8 betragen. Oberer Ausgang 0x Keine Eingeschaltet, wenn der Start der Bewegung ohne Fehler abgeschlossen wurde. Hinweis: Der obere und mittlere Ausgang werden zurückgesetzt, wenn der obere Eingang ausgeschaltet wird. Mittlerer Ausgang 0x Keine Eingeschaltet, wenn die Bewegung nicht gestartet wurde und im Register 4xxxx5 ein Fehlercode erzeugt wurde. Unterer Ausgang 0x Keine Eingeschaltet, wenn die Registerlänge nicht auf 8 gesetzt wurde. Die folgende Tabelle beschreibt die Register der Anweisung. Register Datentyp Beschreibung 4xxxxx Kurz Achsen-ID für die absolute Bewegung 4xxxx2 Gleitkommanotierung Zielposition der absoluten Bewegung 4xxxx3 Gleitkommanotierung Geschwindigkeit der absoluten Bewegung 4xxxx5 Kurz Fehler, der beim Versuch erzeugt wurde, die Bewegung zu starten 4xxxx6 Kurz Nummer des aktuellen Betriebszustands 4xxxx7 Kurz Eintragszahl des aktuellen Status 31007525 12/2006 MRTM: MehrfachregisterTransfermodul 119 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MRTM beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 738 Darstellung 739 Parameterbeschreibung 740 737 MRTM: Mehrfachregister-Transfermodul Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar, wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Instruktion MRTM dient zum Übertragen von Blöcken von Ausgangsregistern von der Programmtabelle zum Befehlsblock, einer Gruppe von Ausgangsregistern. Um jede Blockübertragung zu überprüfen, wird ein Rückmeldesignal der im ersten Ausgangsregister enthaltenen Daten an das Eingangsregister zurückgesendet. 738 31007525 12/2006 MRTM: Mehrfachregister-Transfermodul Darstellung Symbol Darstellung der Anweisung Steuereingang Programmtabelle Befehl Steuertabelle reset Parameterbeschreibung Länge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die Operation frei Mittlerer Eingang 0x, 1x Keine EIN = ein Anweisungsblock wird übertragen, der Tabellenzeiger der Steuertabelle wird durch den Wert "Länge" vergrößert Unterer Eingang 0x, 1x Keine EIN = Reset Programmtabelle (oberer Knoten) 0x, 1x, 3x, 4x INT, UINT, WORD Das erste Register der Programmtabelle. Ziffer 4 gilt als höchstwertige Ziffer. Steuertabelle 3x, 4x (mittlerer Knoten) INT, UINT, WORD Das erste Register der Steuertabelle. Ziffer 4 gilt als höchstwertige Ziffer. Länge (unterer Knoten) INT, UINT Anzahl der Register, die bei jeder Übertragung von der Programmtabelle verschoben wurden, Bereich: 1 bis 127 Oberer Ausgang 31007525 12/2006 Übertragung durchgeführt Zeiger ≥ Tabellenende MRTM Länge: 1 bis 27 aktiv 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine Der Anweisungsblock wird zum Befehlsblock übertragen (bleibt nur für den Rest des aktuellen Zyklus auf EIN). Unterer Ausgang Keine EIN = Zeigerwert ≥ Tabellenende 0x 739 MRTM: Mehrfachregister-Transfermodul Parameterbeschreibung Funktionsweise MRTM überträgt zusammenhängende Blöcke von bis zu 127 Registern von einer Tabelle von Registerblöcken zu einem Ausgangsregisterbereich der Größe eines Blocks. Der MRTM-Funktionsblock steuert auf folgende Weise die Operation des Moduls: Wenn ... mit Strom Dann ... versorgt wird 740 Oberer Eingang Der Funktionsblock wird für Datenübertragungen freigegeben. Hinweis: Beim ersten Start muss der untere Eingang mit Strom versorgt werden. Mittlerer Eingang Der Funktionsblock versucht, einen Instruktionsblock zu übertragen. Bevor eine Übertragung erfolgen kann, wird das RückmeldesignalRegister bewertet. Das höchstwertige Bit (MSB) des RückmeldesignalRegisters wird nicht bewertet, nur Bit 0 bis 14. Eine RückmeldeInkonsistenz verhindert die Übertragung. Wenn ein Transfer zulässig ist, wird ein Instruktionsblock von der Tabelle, beginnend am Tabellenzeiger, übertragen. Der Tabellenzeiger in der Steuertabelle wird dann vorgezogen. Wenn der neue Wert des Zeigers größer oder gleich dem Tabellenende ist, wird der untere Ausgang eingeschaltet. Ein Wert des Tabellenzeigers, der kleiner ist als das Tabellenende, schaltet den Ausgang aus. Unterer Eingang Der Funktionsblock wird zurückgesetzt. Der Tabellenzeiger in der Steuertabelle wird mit dem Befehlswert vom Header der Programmtabelle neu geladen. 31007525 12/2006 MRTM: Mehrfachregister-Transfermodul Inkrementschritt der Parameterbeschreibung (mittlerer Eingang) Bei Stromzufuhr versucht dieser Eingang, einen Instruktionsblock zu übertragen. Bevor eine Übertragung erfolgen kann, wird das Rückmeldesignal-Register bewertet. Das höchstwertige Bit (MSB) des Rückmeldesignal-Registers wird nicht bewertet, nur Bit 0 bis 14. Eine Rückmelde-Inkonsistenz verhindert die Übertragung. Wenn ein Transfer zulässig ist, wird ein Instruktionsblock von der Programmtabelle, beginnend am Tabellenzeiger, übertragen. Der Tabellenzeiger in der Steuertabelle wird dann um den Wert "Länge" inkrementiert (angezeigt im unteren Eintrag). Hinweis: Der Funktionsblock MRTM soll Fehleranzeigen von den E/A-Modulen aufnehmen, die gültige Befehle an den Controller rückmelden, jedoch ein Bit setzen, um das Auftreten eines Fehlers anzuzeigen. Diese Methode der Fehleranzeige gilt für Achsantriebe und die meisten anderen E/A-Module. Bei Verwendung eines Moduls, das Fehlerzustände auf jede andere Weise meldet, insbesondere wenn es sich bei dem betreffenden Rückmeldesignal nicht um ein Rückmeldesignal eines gültigen Befehls handelt, müssen Sie beim Schreiben der Fehlerverarbeitungslogik für die Ladder Logic besonders sorgfältig sein, damit das Erkennen von Fehlern sichergestellt ist. Wird dies nicht beachtet, kann es zu einem Blockieren oder zu anderen unerwünschten Folgen am MRTM kommen. Reset-Zeiger der Parameterbeschreibung (unterer Eingang) 31007525 12/2006 Wenn dieser Eingang mit Strom versorgt wird, wird der Funktionsblock zurückgesetzt. Der Tabellenzeiger in der Steuertabelle wird mit dem Befehlswert vom Header der Programmtabelle neu geladen. 741 MRTM: Mehrfachregister-Transfermodul 742 31007525 12/2006 MSPX (Seriplex) 120 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MSPX beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 744 Darstellung 745 743 MSPX (Seriplex) Kurzbeschreibung Funktionsbeschreibung MSPX liest und schreibt Bits innerhalb der Register der Basiseinheit. Der obere Knoten der Anweisung MSPX stellt die interne Unterfunktionsnummer dar. Dieser Knoten kann einem konstanten Dezimalwert von 32 oder einem 4xxxxRegister, in dem der Wert 32 enthalten ist, zugeordnet werden. Der mittlere Knoten stellt die Position des 4xxxx-Startregisters für die SERIPLEXMOMENTUM-Schnittstellenbasiseinheit dar. Der untere Knoten wird als numerischer Offsetwert von 3000 interpretiert und zeigt das erste 3xxxx-Eingangsregister an, das der Schnittstellenbasiseinheit zugeordnet ist. Der Wert des unteren Knotens gibt die Position des Statusregisters der Basiseinheit an. 744 31007525 12/2006 MSPX (Seriplex) Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv 32 RUN/STOP-Bus Fehler Register Fehler MSPX Offset Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine Der Eingang zum Aktivieren/Deaktivieren des Blocks aktiviert und deaktiviert die Operation des MSPX-Blocks. Wenn die zugeordnete Logik TRUE (WAHR) ist, wird der obere Eingang auf EIN gestellt und die Anweisungen des Blocks werden ausgeführt. Die Werte des Eingangsund Ausgangsregisters der Basiseinheit werden durch das Aktivieren bzw. Deaktivieren des Blocks nicht beeinflusst. Mittlerer Eingang 0x, 1x Keine Der Run/Stop-Buseingang reguliert den Betrieb des Seriplex-Busses durch das Run/Halt-Bit innerhalb des Steuerregisters der Basiseinheit. Das Run/Halt-Bit wird auf 1 gesetzt, wenn die zugeordnete Logik TRUE (WAHR) ist, und auf 0 gesetzt, wenn die zugehörige Logik FALSE (FALSCH) ist. Die Parameter dieses Eingangs dürfen nicht geändert werden, während er aktiviert ist. Anderenfalls verursacht das Run/ Halt-Bit einen Konfigurationsfehler. 745 MSPX (Seriplex) Parameter Signalspeicher- Datentyp Bedeutung Referenz 32 (oberer Knoten) 746 INT, UINT Stellt die interne Unterfunktionsnummer dar. Dieser Knoten kann einem konstanten Dezimalwert von 32 oder einem 4xxxx-Register, in dem der Wert 32 enthalten ist, zugeordnet werden. Register (mittlerer Knoten) 4x INT, UINT Stellt die Position des 4xxxx-Startregisters für die SERIPLEX-MOMENTUMSchnittstellenbasiseinheit dar. Offset (unterer Knoten) 3x INT, UINT Interpretiert als numerischer Offsetwert von 3000, zeigt das erste 3xxxx-Eingangsregister an, das der Schnittstellenbasiseinheit zugeordnet ist. Der Wert des unteren Knotens gibt die Position des Statusregisters der Basiseinheit an. Oberer Ausgang 0x Keine Der Busbetriebsmelder-Ausgang meldet, ob der Seriplex-Bus in Betrieb ist. Wenn das Busbetriebsbit auf EIN gesetzt ist, ist der Ausgang TRUE und der Seriplex-Bus funktioniert normal. Wenn das Busbetriebsbit jedoch auf AUS gesetzt ist, ist der Ausgang FALSE. Mittlerer Ausgang 0x Keine Durch den Fehlerausgang erfolgt Meldung, wenn die MSPX-Anweisung einen Fehlerzustand erkannt hat, der kein Konfigurationsfehler ist. Dies geschieht, wenn eines der folgenden Statusregister auf EIN gestellt ist: Busfehler (Bit 3), MOMENTUMFehler (Bit 4), CDR-Fehler (Bit 5). Eine detaillierte Beschreibung des erkannten Fehlers kann erhalten werden, indem das Statusregister der Basiseinheit gelesen wird. Unterer Ausgang 0x Keine Der Konfigurationsfehler-Ausgang zeigt an, das ein Konfigurationsfehler aufgetreten ist, und sein Status wird im Statusregister der Basiseinheit erklärt. Wenn das Konfigurationsfehler-Bit auf EIN gesetzt ist, ändert sich der Ausgang auf TRUE, und es wird angezeigt, dass während des Schreibens in das Steuerregister der Basiseinheit ein ungültiger Versuch unternommen wurde. 31007525 12/2006 MSTR: Master 121 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MSTR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 748 Darstellung 749 Parameterbeschreibung 752 Operation Schreiben MSTR 756 MSTR-Operation LESEN 758 MSTR-Operation "Lokale Statistik abfragen" 760 MSTR-Operation "Lokale Statistik löschen" 762 MSTR-Operation "Globale Daten schreiben" 764 MSTR-Operation "Globale Daten lesen" 765 MSTR-Operation "Fernstatistik abfragen" 766 MSTR-Operation "Fernstatistik löschen" 768 MSTR-Operation "Peer Cop Status" 770 MSTR-Operation "Reset des Optionsmoduls" 773 MSTR-Operation "CTE lesen (Konfigurationserweiterungstabelle)" 775 MSTR-Operation "CTE schreiben (Konfigurationserweiterungstabelle)" 777 Modbus Plus-Netzwerkstatistik 779 TCP/IP-Ethernet-Statistik 784 Laufzeitfehler 785 Modbus Plus- und SY/MAX Ethernet-Fehlercodes 786 SY/MAX-spezifische Fehlercodes 788 TCP/IP Ethernet-Fehlercodes 790 CTE-Fehlercodes für SY/MAX und TCP/IP Ethernet 793 747 MSTR: Master Kurzbeschreibung Funktionsbeschreibung SPS, die Netzwerkkommunikationsmöglichkeiten über Modbus Plus und Ethernet unterstützen, verfügen über eine spezielle Instruktion MSTR (Master), mit der Teilnehmer im Netzwerk Meldungstransaktionen initiieren können. Die Instruktion MSTR ermöglicht Ihnen, eine von 12 möglichen Operationen der Netzwerkkommunikation über das Netzwerk zu initiieren. z MSTR-Operation Lesen z MSTR-Operation Schreiben z MSTR-Operation "Lokale Statistik holen" z MSTR-Operation "Lokale Statistik löschen" z MSTR-Operation "Globale Daten schreiben" z MSTR-Operation "Globale Daten lesen" z MSTR-Operation "Fernstatistik holen" z MSTR-Operation "Fernstatistik löschen" z MSTR-Operation "Funktionsfähigkeit des Peer Cop" z MSTR-Operation "Optionsmodul zurücksetzen" z MSTR-Operation "CTE lesen" (Konfigurationserweiterung) z MSTR-Operation "CTE schreiben" (Konfigurationserweiterung) 748 31007525 12/2006 MSTR: Master Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Steuerblock abbrechen Fehler Datenbereich beendet MSTRLänge Parameterbeschreibung Ausführlichere Informationen, siehe S. 752. Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = aktiviert die gewählte MSTROperation Mittlerer Eingang 0x, 1x Keine EIN = beendet die aktive MSTROperation Unterer Eingang 0x, 1x Keine Hinweis: Nur verfügbar für M1E: EIN = TCP-Port wird offen gehalten Steuerblock (oberer Knoten) 4x INT, UINT Steuerblock (erstes von mehreren (netzwerkabhängig) benachbarten Ausgangsregistern) Datenbereich 4x (mittlerer Knoten) INT, UINT Datenbereich (Quelle oder Ziel, je nach der gewählten Operation) Länge (unterer Knoten) INT Länge des Datenbereiches (maximale Anzahl von Registern), Bereich: 1 ... 100 Keine EIN, während die Anweisung aktiv ist (liefert Rückmeldung des Zustands des oberen Eingangs) Oberer Ausgang 31007525 12/2006 0x 749 MSTR: Master Parameter Unterer Eingang Signalspeicher- Datentyp Referenz Bedeutung Mittlerer Ausgang 0x Keine EIN, falls die MSTR-Operation vor ihrem Abschluss beendet wird (liefert Rückmeldung des Zustands des mittleren Eingangs) Unterer Ausgang Keine EIN = Operation erfolgreich 0x Bei 984LL Exec-Versions ab 1.20 erfolgt die Stromversorgung über den unteren Eingang des MSTR-Blocks. Zusammen mit dem oberen Freigabeeingang führt dies dazu, dass die TCP-Verbindung offen gehalten wird. Wenn die Verbindung aufgebaut ist, werden nur Modbus-Befehle und Antwortpakete über das Ethernet übertragen. Die Wiederholungsrate kann jedoch nicht angegeben werden. Die Übertragung erfolgt so schnell wie dies der Zyklus und der Zielserver zulassen. Dynamischen Änderungen am Steuerungsblock sind erst dann zulässig, wenn der Freigabeeingang (oberer Eingang) gepulst ist. Beispiel eines 984LL-Funktionsbausteins für den Betrieb mit offener Verbindung 1 2 000007 400001 3 1 400021 2 MSTR 3 750 # 10 31007525 12/2006 MSTR: Master IEC MSTRFunktionsbaustein Die IEC Exec-Versionen ab 1.21 wurden um eine neue Funktion erweitert, indem ein Bit in der Steckplatz_ID des EFB TCP_IP_ADR gesetzt wurde. Durch das Setzen dieses so genannten Go-again-Bits zusammen mit dem TCP/IP-Betrieb wird die TCP-Verbindung aufrecht erhalten. Wenn die Verbindung aufgebaut ist, werden nur Modbus-Befehle und Antwortpakete über das Ethernet übertragen. Der einzige Unterschied besteht darin, dass die Wiederholungsrate nicht festgelegt werden kann. Die Übertragung erfolgt so schnell wie dies der Zyklus und der Zielserver zulassen. Die Steckplatz_ID des EFB TCP_IP_ADR hat eine erweiterte Funktion: z Bit 0 = 0 MBP-Betrieb Bit 0 = 1 TCP/IP-Betrieb Bit 1 = 0 Der TCP-Port wird nach Abschluss der Transaktion geschlossen (wie vorher). Bit 1 = 1 Der TCP-Port bleibt offen z Bits 2 bis 7 sind reserviert und müssen auf 0 gesetzt bleiben. z z z Hinweis: Map_idx = 0 für Momentum M1E-Prozessoren IEC EFB-Beispiel für den Betrieb mit offener Verbindung: Register 400050 = 3 hex FBI_1_2(1) TCP_IP_ADDR 0 %400050 112 112 112 77 Map_idx 1 2 Slot_ID AddrFld Ip_B4 Ip_B3 Ip_B2 IpB1 FBI_1_3(2) CREAD_REG SLAVEREG NO_REG REG_READ AddrFld STATUS %400051 %400101 Diese Funktion kann nur für die folgenden EFBs verwendet werden: z CREAD_REG z z z z CREADREG CWRITE_REG CWRITERREG MBP_MSTR (muss immer aktiv gesetzt bleiben: ENABLE=1) Verwenden Sie diese Funktion nicht ohne die folgenden EFBs: z READREG z WRITEREG z READ_REG z WRITE_REG 31007525 12/2006 751 MSTR: Master Parameterbeschreibung Funktionsweise Die Instruktion MSTR ermöglicht Ihnen, eine von 12 möglichen Operationen der Netzwerkkommunikation über das Netzwerk zu initiieren. Jede Operation wird durch einen Code beschrieben. In einem KOP-Logik-Programm können bis zu vier MSTR-Instruktionen gleichzeitig aktiv sein. Es können mehr als vier MSTRs programmiert werden, um durch den logischen Fluss freigegeben zu werden; wenn ein aktiver MSTR-Block die Ressourcen, die er verwendet hat, freigibt und deaktiviert wird, kann die nächste in der Logik vorgefundene MSTR-Operation aktiviert werden. MasterOperationen Bestimmte MSTR-Operationen werden in manchen Netzwerken unterstützt und in anderen nicht. Code Typ der Operation Modbus Plus TCP/IP Ethernet SY/MAX Ethernet 1 Daten schreiben x x x 2 Daten lesen x x x 3 Lokale Statistik abfragen x x - 4 Lokale Statistik löschen x x - 5 Globale Datenbank schreiben x - - 6 Globale Datenbank lesen x - - 7 Fernstatistik holen x x - 8 Fernstatistik löschen x x - 9 Peer Cop-Status x - - 10 Optionales Modul zurücksetzen - x x 11 CTE lesen (Konfigurationserweiterung) - x x 12 CTE schreiben (Konfigurationserweiterung) - x x Legende 752 x unterstützt - nicht unterstützt 31007525 12/2006 MSTR: Master Steuerblock (oberer Eintrag) Das in den oberen Eintrag eingegebene 4x-Register ist das erste von mehreren (netzwerkabhängig) Ausgangsregistern, welche den Netzwerk-Steuerblock beinhalten. Die Struktur des Steuerblocks ist in Abhängigkeit vom verwendeten Netzwerk unterschiedlich. z Modbus Plus z TCP/IP Ethernet z SY/MAX Ethernet Hinweis: Wenn Sie eine MSTR-Instruktion programmieren, müssen Sie die von dem von Ihnen verwendeten Netzwerk angewandten Routing-Verfahren verstehen. Eine umfassende Erörterung der Routing-Pfad-Strukturen von Modbus Plus ist im Handbuch "Modbus Plus Netzwerkplanung und Installation" enthalten. Falls TCP/IP- oder SY/MAX-Ethernet-Routing implementiert wird, muss dies mittels standardmäßiger Ethernet-IP-Router-Produkte von Fremdherstellern geschehen. Steuerblock für Modbus Plus Das erste von zwölf benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Die restlichen elf Register sind impliziert. Register Inhalt Angezeigt Kennzeichnet eine der neun MSTR-Operationen, die für Modbus Plus zulässig sind (1 - 9) Erstes impliziertes Register Zeigt den Fehlerstatus an Zweites impliziertes Register Zeigt die Länge an (Anzahl der übertragenen Register) Drittes impliziertes Register Zeigt von der MSTR-Operation abhängige Informationen an Viertes impliziertes Register Das Routing-Register 1, das verwendet wird, um die Adresse des Zielknotens für eine Netzwerktransaktion festzulegen. Die Registeranzeige ist für die Quantum-SPS physisch implementiert Fünftes impliziertes Register Das Routing-Register 2 Sechstes impliziertes Register Das Routing-Register 3 Siebentes impliziertes Register Das Routing-Register 4 Achtes impliziertes Register 31007525 12/2006 Das Routing-Register 5 Neuntes impliziertes Register Nicht zutreffend Zehntes impliziertes Register Nicht zutreffend Elftes impliziertes Register Nicht zutreffend 753 MSTR: Master Routing-Register 1 für SPS der Baureihe Quantum Automation (viertes impliziertes Register) Um ein Netzwerk-Optionsmodul (NOM) von Modbus Plus in einer Quantum SPSRückwandplatine als Ziel einer MSTR-Instruktion anzugeben, stellt der Wert im höherwertigen Byte die physische Steckplatzadresse des NOM dar; z.B. wenn sich das NOM in Stecklatz 7 in der Rückwandplatine befindet, würde das höherwertige Byte von Routing-Register 1 wie folgt aussehen: 1 2 Bit 1... 8 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 0 0 0 0 0 1 1 1 Höherwertiges Byte: gibt den physischen Standort an (Bereich von 1 - 16) 9 ... 16 0 x x x x x x x Zieladresse: Binärwert zwischen 1 und 64 Hinweis: Wenn Sie eine Logikprogramm unter Verwendung einer MSTR-Instruktion für eine 984-SPS erstellt haben und es in eine SPS der Baureihe Quantum Automation übertragen möchten, ohne den Wert des Routing-Registers 1 bearbeiten zu müssen, stellen Sie sicher, dass NOM Nr. 1 im Steckplatz 1 der Quantum-Rückwandplatine installiert ist (und falls ein NOM Nr. 2 verwendet wird, dass dieses im Steckplatz 2 der Rückwandplatine installiert ist). Falls Sie versuchen, die übertragene Applikation mit in anderen Steckplätzen befindlichen NOMs laufen zu lassen, ohne das Register zu verändern, so erscheint ein Statusfehler, der auf den falschen Zielknoten hinweist. Steuerblock für TCP/IP Ethernet Das erste von neun benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Die restlichen acht Register sind impliziert. Register Inhalt Angezeigt Kennzeichnet eine der neun MSTR-Operationen, die für TCP/IP zulässig sind (1 ... 4, 7, 8, 10 ... 12) Erstes impliziertes Register Zeigt den Fehlerstatus an Zweites impliziertes Register Zeigt die Länge an (Anzahl der übertragenen Register) Drittes impliziertes Register Zeigt von der MSTR-Operation abhängige Informationen an Viertes impliziertes Register Niederwertiges Byte: Steckplatzadresse des NOE-Moduls Höherwertiges Byte: Map-Index des MBP-to-Ethernet Transporter (MET) Fünftes impliziertes Register Byte 4 der 32-Bit-Ziel-IP-Adresse Sechstes impliziertes Register Byte 3 der 32-Bit-Ziel-IP-Adresse Siebentes impliziertes Register Byte 2 der 32-Bit-Ziel-IP-Adresse Achtes impliziertes Register 754 Byte 1 der 32-Bit-Ziel-IP-Adresse 31007525 12/2006 MSTR: Master Steuerblock für SY/MAX Ethernet Das erste von sieben benachbarten 4x-Registern wird im oberen Eintrag eingegeben. Die restlichen sechs Register sind impliziert. Register Inhalt Angezeigt Kennzeichnet eine der neun MSTR-Operationen, die für SY/MAX zulässig sind (1, 2, 10 ... 12) Erstes impliziertes Register Zeigt den Fehlerstatus an Zweites impliziertes Register Zeigt die Lese-/Schreib-Länge an (Anzahl der übertragenen Register) Drittes impliziertes Register Zeigt die Lese-/Schreib-Basisadresse an Viertes impliziertes Register Niederwertiges Byte: Steckplatzadresse des NOE-Moduls (z.B. Steckplatz 10 = 0A00, Steckplatz 6 = 0600) Höherwertiges Byte: Map-Index des MBP-to-Ethernet Transporter (MET) Fünftes impliziertes Register Zielstationsnummer (oder auf FF Hex. gesetzt) Sechstes impliziertes Register Endzeichen (auf FF Hex. gesetzt) Datenfeld (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste in einer Gruppe zusammenhängender Ausgangsregister, die den Datenbereich beinhalten. Für Operationen, welche dem Kommunikationsprozessor Daten zur Verfügung stellen, wie etwa eine Schreiboperation, ist der Datenbereich die Quelle der Daten. Für Operationen, welche vom Kommunikationsprozessor Daten beschaffen, wie etwa eine Leseoperation, ist der Datenbereich das Ziel für die Daten. Im Falle der CTE-Operationen Read und Write des Ethernet speichert der mittlere Eintrag den Inhalt der Ethernet-Konfigurationserweiterungstabelle in einer Reihe von Registern. 31007525 12/2006 755 MSTR: Master Operation Schreiben MSTR Kurzbeschreibung Eine MSTR-Schreiboperation (MSTR Write) überträgt Daten von einem MasterQuellgerät zu einem festgelegten Slave-Zielgerät im Netzwerk. Lesen und Schreiben verwenden einen Daten-Master-Transaktionspfad und können über mehrere Zyklen hinweg ausgeführt werden. Wenn Sie versuchen, den MSTR für das Schreiben seiner eigenen Stationsadresse zu programmieren, wird ein Fehler im ersten implizierten Register des MSTRSteuerblocks generiert. Es ist möglich, eine Schreiboperation in ein nicht existierendes Register im Slave-Gerät zu versuchen. Der Slave erkennt dann diese Bedingung und meldet sie, dies kann mehrere Zyklen erfordern. Realisierung des Netzwerks Die MSTR-Schreiboperation kann in den Netzwerken Modbus Plus, TCP/IP Ethernet und SY/MAX Ethernet implementiert werden. Einsatz des Steuerblocks Bei einer Schreiboperation enthalten die Register im MSTR-Steuerblock (dem oberen Eintrag) die Informationen, die sich je nach Typ des von Ihnen verwendeten Netzwerks unterscheiden. z Modbus Plus z TCP/IP Ethernet z SY/MAX Ethernet Steuerblock für Modbus Plus 756 Register Funktion Inhalt Angezeigt Operationstyp 1 = Schreiben Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Anzahl der Register, die zum Slave zu senden sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, in das geschrieben werden soll (1 = 40001, 49 = 40049) Viertes ... achtes impliziertes Register Routing 1 ... 5 Bezeichnet die erste ... fünfte Routing-PfadAdresse; das letzte von Null verschiedene Byte im Routing-Pfad ist das Zielgerät 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet Register Funktion Angezeigt Operationstyp 1 = Schreiben Erstes impliziertes Register Fehlerstatus Zeigt einen Hex-Wert an, der auf einen MSTR-Fehler hinweist: Ausnahme-Code + 3000: AusnahmeAntwort, wobei Antwort-Größe richtig ist 4001: Ausnahme-Antwort, wobei AntwortGröße falsch ist 4001: Lesen/Schreiben Zweites impliziertes Register Länge Anzahl der Register, die zum Slave zu senden sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, in das geschrieben werden soll (1 = 40001, 49 = 40049) Viertes impliziertes Register Niederwertige Steckplatzadresse des s Byte Netzwerkadaptermoduls Fünftes ... achtes impliziertes Ziel Register Steuerblock für SY/MAX Ethernet 31007525 12/2006 Inhalt Jedes Register enthält ein Byte der 32-BitIP-Adresse Register Funktion Inhalt Angezeigt Operationstyp 1 = Schreiben Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Anzahl der Register, die zum Slave zu senden sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, in das geschrieben werden soll (1 = 40001, 49 = 40049) Viertes impliziertes Register Steckplatz-ID Niederwertiges Byte: Steckplatzadresse des Netzwerkadaptermoduls Viertes impliziertes Register Steckplatz-ID Höherwertiges Byte Zielstationsnummer Fünftes ... achtes impliziertes Register Endzeichen FF Hex 757 MSTR: Master MSTR-Operation LESEN Kurzbeschreibung Eine MSTR-Leseoperation (MSTR Read) überträgt Daten von einem festgelegten Slave-Quellgerät zu einem Master-Zielgerät im Netzwerk. Lesen und Schreiben verwenden einen Daten-Master-Transaktionspfad und können über mehrere Zyklen hinweg ausgeführt werden. Wenn Sie versuchen, den MSTR für das Lesen seiner eigenen Stationsadresse zu programmieren, wird ein Fehler im ersten implizierten Register des MSTRSteuerblocks generiert. Es ist möglich, eine Leseoperation in ein nicht existierendes Register im Slave-Gerät zu versuchen. Der Slave erkennt dann diese Bedingung und meldet sie, dies kann mehrere Zyklen erfordern. Realisierung des Netzwerks Die MSTR-Leseoperation kann in den Netzwerken Modbus Plus, TCP/IP Ethernet und SY/MAX Ethernet implementiert werden. Einsatz des Steuerblocks Bei einer Leseoperation enthalten die Register im MSTR-Steuerblock (dem oberen Eintrag) die Informationen, die sich je nach Typ des von Ihnen verwendeten Netzwerks unterscheiden. z Modbus Plus z TCP/IP Ethernet z SY/MAX Ethernet Steuerblock für Modbus Plus 758 Register Funktion Inhalt Angezeigt Operationstyp 2 = Lesen Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Anzahl der Register, die vom Slave zu lesen sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, aus dem gelesen werden soll (1 = 40001, 49 = 40049) Viertes ... achtes impliziertes Register Routing 1 ... 5 Bezeichnet die erste ... fünfte Routing-PfadAdresse; das letzte von Null verschiedene Byte im Routing-Pfad ist das Zielgerät 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet Steuerblock für SY/MAX Ethernet 31007525 12/2006 Register Funktion Inhalt Angezeigt Operationstyp 2 = Lesen Erstes impliziertes Register Fehlerstatus Zeigt einen Hex-Wert an, der auf einen MSTRFehler hinweist: Ausnahme-Code + 3000: Ausnahme-Antwort, wobei Antwort-Größe richtig ist 4001: Ausnahme-Antwort, wobei Antwort-Größe falsch ist 4001: Lesen/Schreiben Zweites impliziertes Register Länge Anzahl der Register, die vom Slave zu lesen sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, aus dem gelesen werden soll (1 = 40001, 49 = 40049) Viertes impliziertes Register Höherwertiges Steckplatzadresse des Netzwerkadaptermoduls Byte Fünftes ... achtes impliziertes Register Ziel Jedes Register enthält ein Byte der 32-Bit-IPAdresse Register Funktion Angezeigt Operationstyp 2 = Lesen Inhalt Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Anzahl der Register, die vom Slave zu lesen sind Drittes impliziertes Register SlaveDatenfeld Legt das Anfangs-4x-Register im Slave fest, aus dem gelesen werden soll (1 = 40001, 49 = 40049) Viertes impliziertes Register Steckplatz-ID Niederwertiges Byte: Steckplatzadresse des Netzwerkadaptermoduls Viertes impliziertes Register Steckplatz-ID Höherwertiges Byte Zielstationsnummer Fünftes ... achtes impliziertes Register Endzeichen FF Hex 759 MSTR: Master MSTR-Operation "Lokale Statistik abfragen" Kurzbeschreibung Die Operation "Lokale Statistik abfragen" bezieht Informationen zum lokalen Eintrag, wo MSTR programmiert wurde. Diese Operation benötigt zum Abschluss einen Zyklus, erfordert aber keinen Datenmaster-Transaktionspfad. Realisierung des Netzwerks Die Operation "Lokale Statistik abfragen" (Typ 3 im angezeigten Register des oberen Eintrags) kann für Modbus Plus und TCP/IP Ethernet-Netzwerke implementiert werden. Sie wird nicht verwendet für SY/MAX Ethernet. Die folgende Netzwerkstatistik steht zur Verfügung: Modbus Plus-Netzwerkstatistik z TCP/IP Ethernet-Netzwerkstatistik z Einsatz des Steuerblocks Steuerblock für Modbus Plus 760 Bei der Operation "Lokale Statistik abfragen" enthalten die Register im Steuerblock MSTR (oberer Eintrag) Informationen, die je nach verwendetem Netzwerktyp unterschiedlich sind. z Modbus Plus z TCP/IP Ethernet Register Funktion Angezeigt Operationstyp 3 Inhalt Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Ausgehend vom Offset, die Anzahl der Statistikwörter der Statistiktabelle des lokalen Prozessors; die Länge muss im > 0 ≤ Datenbereich liegen Drittes impliziertes Register Offset Ein Offset-Wert im Verhältnis zum ersten verfügbaren Wort der Statistiktabelle des lokalen Prozessors; wenn für das Offset 1 angegeben ist, weist die Funktion Statistiken beginnend mit dem zweiten Wort in der Tabelle auf Viertes impliziertes Register Routing 1 Wenn dies der zweite von zwei lokalen Einträgen ist, setzen Sie das höherwertige Byte auf den Wert 1. Hinweis: Wenn Ihre SPS die optionalen Modbus PlusModule (S985s oder NOMs) nicht unterstützt, wird das vierte implizierte Register nicht verwendet. 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet 31007525 12/2006 Register Funktion Inhalt Angezeigt Operationstyp 3 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Ausgehend vom Offset, die Anzahl der Statistikwörter der Statistiktabelle des lokalen Prozessors; die Länge muss im > 0 ≤ Datenbereich liegen Drittes impliziertes Register Offset Ein Offset-Wert im Verhältnis zum ersten verfügbaren Wort der Statistiktabelle des lokalen Prozessors; wenn für das Offset 1 angegeben ist, weist die Funktion Statistiken beginnend mit dem zweiten Wort in der Tabelle auf. Viertes impliziertes Register Steckplatz-ID Niederwertiges Byte: Steckplatzadresse des Netzwerkadaptermoduls Fünftes ... achtes impliziertes Register Nicht zutreffend 761 MSTR: Master MSTR-Operation "Lokale Statistik löschen" Kurzbeschreibung Die Operation "Lokale Statistik löschen" löscht die Statistik zum lokalen Eintrag (wo MSTR programmiert wurde). Diese Operation benötigt zum Abschluss einen Zyklus, erfordert aber keinen Datenmaster-Transaktionspfad. Hinweis: Wenn Sie die Operation "Lokale Statistik löschen" ausgeben, werden nur die Worte 13 ... 22 in der Statistiktabelle gelöscht Realisierung des Netzwerks Die Operation "Lokale Statistik löschen" (Typ 4 im angezeigten Register des oberen Eintrags) kann für Modbus Plus und TCP/IP Ethernet-Netzwerke implementiert werden. Sie wird nicht verwendet für SY/MAX Ethernet. Die folgende Netzwerkstatistik steht zur Verfügung. Modbus Plus-Netzwerkstatistik z TCP/IP Ethernet-Netzwerkstatistik z Einsatz des Steuerblocks Steuerblock für Modbus Plus Bei der Operation "Lokale Statistik löschen" unterscheiden sich die Register im Steuerblock MSTR (oberer Eintrag) je nach verwendetem Netzwerktyp. z Modbus Plus z TCP/IP Ethernet Register Inhalt Angezeigt Operationstyp 4 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Reserviert Drittes impliziertes Register Reserviert Viertes impliziertes Register 762 Funktion Routing 1 Wenn dies der zweite von zwei lokalen Einträgen ist, setzen Sie das höherwertige Byte auf den Wert 1. Hinweis: Wenn Ihre SPS die optionalen Modbus PlusModule (S985s oder NOMs) nicht unterstützt, wird das vierte implizierte Register nicht verwendet. 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet Register Funktion Angezeigt Operationstyp 4 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Reserviert Drittes impliziertes Register Reserviert Viertes impliziertes Register Fünftes achtes impliziertes Register 31007525 12/2006 Inhalt Steckplatz-ID Niederwertiges Byte: Steckplatzadresse des Netzwerkadaptermoduls Reserviert 763 MSTR: Master MSTR-Operation "Globale Daten schreiben" Kurzbeschreibung Die Operation "Globale Daten schreiben" überträgt im aktuellen Eintrag Daten zum Kommunikationsprozessor, damit dies über das Netzwerk verschickt werden kann, wenn der Eintrag den Token erhält. Alle Teilnehmer an der lokalen Netzwerkverbindung können diese Daten empfangen. Diese Operation benötigt zum Abschluss einen Zyklus, erfordert aber keinen Datenmaster-Transaktionspfad. Realisierung des Netzwerks Die Operation "Globale Daten schreiben" (Typ 5 im angezeigten Register des oberen Eintrags) kann nur für Modbus Plus-Netzwerke implementiert werden. Einsatz des Steuerblocks Die Register im Steuerblock MSTR (oberer Eintrag) werden bei der Operation "Globale Daten schreiben" verwendet. Register Funktion Inhalt Angezeigt Operationstyp 5 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Gibt die Anzahl der Register an, die vom Datenbereich zum Prozessor gesendet werden sollen; der Wert für die Länge muss ≤ 32 sein und darf die Größe des Datenbereichs nicht überschreiten. Drittes impliziertes Register Viertes impliziertes Register 764 Reserviert Routing 1 Wenn dies der zweite von zwei lokalen Einträgen ist, setzen Sie das höherwertige Byte auf den Wert 1. Hinweis: Wenn Ihre SPS die optionalen Modbus Plus-Module (S985s oder NOMs) nicht unterstützt, wird das vierte implizierte Register nicht verwendet. 31007525 12/2006 MSTR: Master MSTR-Operation "Globale Daten lesen" Kurzbeschreibung Die Operation "Globale Daten lesen" erhält in jedem Eintrag an der lokalen Netzwerkverbindung, die globale Daten bereitstellt, Daten vom Kommunikationsprozessor. Diese Operation kann Mehrfachzyklen zum Abschließen erfordern, wenn globale Daten vom angeforderten Eintrag nicht zur Verfügung stehen. Wenn globale Daten zur Verfügung stehen, wird die Operation in einem Einzelzyklus abgeschlossen. Ein Master-Transaktionspfad ist nicht erforderlich. Realisierung des Netzwerks Die Operation "Globale Daten lesen" (Typ 6 im angezeigten Register des oberen Eintrags) kann nur für Modbus Plus-Netzwerke implementiert werden. Einsatz des Steuerblocks Die Register im Steuerblock MSTR (oberer Eintrag) werden bei der Operation "Globale Daten lesen" verwendet. 31007525 12/2006 Register Funktion Inhalt Angezeigt Operationstyp 6 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Gibt die Anzahl der Wörter globaler Daten an, die vom Kommunikationsprozessor angefordert werden sollen, angegeben durch den Parameter Routing 1; der Wert für die Länge muss > 0 ≤ 32 sein und darf die Größe des Datenbereichs nicht überschreiten. Drittes impliziertes Register Verfügbare Wörter Enthält die Anzahl der vom angeforderten Eintrag verfügbaren Wörter; der Wert wird per Software automatisch aktualisiert Viertes impliziertes Register Routing 1 Das niederwertige Byte gibt die Adresse des Eintrags an, dessen globale Daten zurückgesendet werden sollen (ein Wert zwischen 1 ... 64); wenn dies der zweite von zwei lokalen Einträgen ist, setzen Sie das höherwertige Byte auf den Wert 1. Hinweis: Wenn Ihre SPS die optionalen Modbus PlusModule (S985s oder NOMs) nicht unterstützt, wird das höherwertige Byte des vierten implizierten Register nicht verwendet und die Bits des höherwertigen Bytes müssen alle auf 0 gesetzt sein. 765 MSTR: Master MSTR-Operation "Fernstatistik abfragen" Kurzbeschreibung Die Operation "Fernstatistik abfragen" bezieht Informationen, die dezentralen Teilnehmer im Netzwerk betreffen. Diese Operation kann mehrere Zyklen erfordern und benötigt keinen Masterdaten-Transaktionspfad Realisierung des Netzwerks Die Operation "Fernstatistik abfragen" (Typ 7 im angezeigten Register des oberen Eintrags) kann für Modbus Plus- und TCP/IP Ethernet-Netzwerke implementiert werden. Sie wird nicht verwendet für SY/MAX Ethernet. Einsatz des Steuerblocks Bei der Operation "Fernstatistik abfragen" enthalten die Register im Steuerblock MSTR (oberer Eintrag) Informationen, die je nach verwendetem Netzwerktyp unterschiedlich sind. z Modbus Plus z TCP/IP Ethernet Steuerblock für Modbus Plus Register Funktion Angezeigt Operationstyp 7 Inhalt Erstes impliziertes Fehlerstatus Register Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Länge Ausgehend vom Offset, die Anzahl der vom dezentralen Eintrag zu beziehenden Statistikwörter; die Länge muss > 0 ≤ der Gesamtzahl der verfügbaren Statistik (54) sein und darf die Größe des Datenbereichs nicht überschreiten. Drittes impliziertes Offset Register Gibt einen Offset-Wert im Verhältnis zum ersten verfügbaren Wort in der Statistiktabelle an, der die Zahl der verfügbaren Statistikwörter nicht überschreiten darf. Viertes ... achtes impliziertes Register Routing 1 ... 5 Gibt jeweils die 1. bis 5. Routing-Pfadadresse an; das letzte nicht auf 0 gesetzte Byte im Routing-Pfad ist das Zielgerät. Der dezentrale Kommunikationsprozessor gibt auf Anfrage immer seine komplette Statistiktabelle aus, selbst wenn weniger als die gesamte Tabelle angefordert wird. Der MSTR-Befehl kopiert dann nur die Anzahl der abgefragten Worte in die festgelegten 4x-Register. 766 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet Register Funktion Angezeigt Operationstyp 7 Erstes impliziertes Fehlerstatus Register Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Ausgehend vom Offset, die Anzahl der Statistikwörter der Statistiktabelle des lokalen Prozessors; die Länge muss im > 0 ≤ Datenbereich liegen Länge Drittes impliziertes Offset Register 31007525 12/2006 Inhalt Ein Offset-Wert im Verhältnis zum ersten verfügbaren Wort der Statistiktabelle des lokalen Prozessors; wenn für das Offset 1 angegeben ist, weist die Funktion Statistiken beginnend mit dem zweiten Wort in der Tabelle auf. Viertes impliziertes Register Niederwertige Steckplatzadresse des Netzwerkadaptermoduls s Byte Fünftes achtes impliziertes Register Ziel Jedes Register enthält ein Byte der 32-Bit-IP-Adresse 767 MSTR: Master MSTR-Operation "Fernstatistik löschen" Kurzbeschreibung Die Operation "Fernstatistik löschen" löscht die Statistik zum dezentralen Netzwerkeintrag aus dem Datenbereich im lokalen Eintrag. Diese Operation kann mehrere Zyklen in Anspruch nehmen und benötigt einen einzigen MasterdatenTransaktionspfad. Hinweis: Wenn Sie die Operation "Fernstatistik löschen" ausgeben, werden nur die Worte 13 ... 22 in der Statistiktabelle gelöscht Realisierung des Netzwerks Die Operation "Fernstatistik löschen" (Typ 8 im angezeigten Register des oberen Eintrags) kann für Modbus Plus und TCP/IP Ethernet-Netzwerke implementiert werden. Sie wird nicht verwendet für SY/MAX Ethernet. Die folgende Netzwerkstatistik steht zur Verfügung. Modbus Plus-Netzwerkstatistik z TCP/IP Ethernet-Netzwerkstatistik z Einsatz des Steuerblocks Steuerblock für Modbus Plus Bei der Operation "Fernstatistik löschen" enthalten die Register im Steuerblock MSTR (oberer Eintrag) Informationen, die je nach verwendetem Netzwerktyp unterschiedlich sind. z Modbus Plus z TCP/IP Ethernet Register Funktion Angezeigt Operationstyp 8 Inhalt Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Reserviert Drittes impliziertes Register Reserviert Viertes ... achtes Routing 1 ... 5 Bezeichnet die erste ... fünfte Routing-Pfad-Adresse; impliziertes Register das letzte von Null verschiedene Byte im Routing-Pfad ist das Zielgerät 768 31007525 12/2006 MSTR: Master Steuerblock für TCP/IP Ethernet Register Funktion Inhalt Angezeigt Operationstyp 8 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Nicht zutreffend Drittes impliziertes Register 31007525 12/2006 Viertes impliziertes Register Niederwertiges Byte Steckplatzadresse des Netzwerkadaptermoduls Fünftes achtes impliziertes Register Ziel Jedes Register enthält ein Byte der 32-Bit-IPAdresse 769 MSTR: Master MSTR-Operation "Peer Cop Status" Kurzbeschreibung Die Operation "Peer Cop Status" liest ausgewählte Daten aus der Health-Tabelle der Peer Cop-Kommunikation und lädt diese Daten in die angegebenen 4x-Register im Signalspeicher. Die Health-Tabelle der Peer Cop Kommunikation hat eine Länge von 12 Wörtern, die über diese MSTR-Operation indexiert sind als Worte 0 ... 11. Realisierung des Netzwerks Die Operation "Peer Cop Status" (Typ 9 im angezeigten Register des oberen Eintrags) kann nur für Modbus Plus-Netzwerke implementiert werden. Einsatz des Steuerblocks Die Register im Steuerblock MSTR (oberer Eintrag) werden bei der Operation "Peer Cop Status" verwendet. Register Funktion Inhalt Angezeigt Operationstyp 9 Erstes impliziertes Fehlerstatus Register (siehe S. 785) Zweites impliziertes Register Funktionsfähigkeitsstatus der Peer Cop Kommunikation 770 Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Umfang der Daten Anzahl der Wörter, die von der Peer Cop Tabelle angefordert werden (Bereich von 1 ... 12) Drittes impliziertes Index Register Erstes in der Tabelle zu lesendes Wort (Bereich 0 bis 11, wo 0 = das erste Wort in der Peer CopTabelle und 11 = das letzte Wort in der Tabelle) Viertes impliziertes Register Wenn dies der zweite von zwei lokalen Einträgen ist, setzen Sie das höherwertige Byte auf den Wert 1. Hinweis: Wenn Ihre SPS die optionalen Modbus Plus-Module (S985s oder NOMs) nicht unterstützt, wird das vierte implizierte Register nicht verwendet. Routing 1 Die Health-Tabelle der Peer Cop Kommunikation umfasst 12 benachbarte Register, die über eine MSTR-Operation indexiert werden können als Worte 0 ... 11. Jedes Bit in jedem Tabellenwort steht für einen Aspekt des Kommunikationsfähigkeit in Bezug auf einen spezifischen Teilnehmer im Modbus Plus-Netzwerk. 31007525 12/2006 MSTR: Master Verhältnis zwischen Bits und Netzwerkteilnehmern Die Bits in den Worten 0 bis 3 repräsentieren die Funktionsfähigkeit der "Globaler Eingang"-Kommunikation der Teilnehmer 1 bis 64. Die Bits in den Worten 4 bis 7 stellen die Funktionsfähigkeit des Ausgangs eines spezifischen Teilnehmers dar. Die Bits in den Worten 8 bis 11 stehen für die Funktionsfähigkeit des Eingangs zu einem spezifischen Teilnehmer: Statustyp Globaler Eingang Wortindex 0 1 2 3 Spezifischer Ausgang 4 5 6 7 Spezifischer Eingang 8 9 10 11 31007525 12/2006 Verhältnis zwischen Bits und Netzwerkteilnehmern 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 771 MSTR: Master Status eines Peer Cop Status-Bits 772 Der Status des Peer Cop Status-Bits spiegelt den aktuellen Kommunikationsstatus seines zugeordneten Teilnehmers wider. Ein Health-Bit wird gesetzt, wenn sein zugehöriger Teilnehmer Eingänge für seine Peer Cop Eingangs-Datengruppe akzeptiert oder feststellt, dass ein anderer Teilnehmer spezifische Ausgangsdaten seiner Peer Cop Ausgangs-Datengruppe akzeptiert hat. Ein Health-Bit wird gelöscht, wenn es innerhalb der konfigurierten Timeout-Periode des Peer Cop Status zu keiner Kommunikation mit seiner zugeordneten Datengruppe kam. Alle Health-Bits werden gelöscht, wenn der Schnittstellenbefehl "Put Peer Cop" zur SPS-Startzeit ausgeführt wird. Die Tabellenwerte sind solange nicht gültig, bis nach Ausführung des Schnittstellenbefehls "Put Peer Cop" nicht mindestens ein voller Token-Rotationszyklus abgeschlossen ist. Das Health-Bit eines bestimmten Teilnehmers ist immer 0, wenn der zugehörige Peer Cop-Eintrag gleich 0 ist. 31007525 12/2006 MSTR: Master MSTR-Operation "Reset des Optionsmoduls" Kurzbeschreibung Die Operation "Reset des Optionsmoduls" bewirkt, dass ein Quantum NOEOptionsmodul in den Reset-Zyklus gesetzt wird, um seine Betriebsumgebung zurückzusetzen. Realisierung des Netzwerks Die Operation "Reset des Optionsmoduls" (Typ 10 im angezeigten Register des oberen Eintrags) kann für TCP/IP und SY/MAX Ethernet-Netzwerke implementiert werden, auf die über einen entsprechenden Netzwerkadapter zugegriffen werden kann. Modbus Plus-Netzwerke verwenden diese Operation nicht. Einsatz des Steuerblocks Bei der Operation "Reset des Optionsmoduls" unterscheiden sich die Register im Steuerblock MSTR (oberer Eintrag) je nach verwendetem Netzwerktyp. z TCP/IP Ethernet z SY/MAX Ethernet Steuerblock für TCP/IP Ethernet Register Funktion Inhalt Angezeigt Operationstyp 10 Erstes impliziertes Fehlerstatus Register Zweites impliziertes Register Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Nicht zutreffend Drittes impliziertes Register 31007525 12/2006 Viertes impliziertes Register Steckplatz-ID Fünftes achtes impliziertes Register Nicht zutreffend Die im niederwertigen Byte angezeigte Nummer, Bereich von 1 ... 16, die den Steckplatz im lokalen Baugruppenträger angibt, wo das Optionsmodul untergebracht ist 773 MSTR: Master Steuerblock für SY/MAX Ethernet Register Funktion Angezeigt Operationstyp Erstes impliziertes Fehlerstatus Register Zweites impliziertes Register Inhalt 10 Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Nicht zutreffend Drittes impliziertes Register 774 Viertes impliziertes Register Steckplatz-ID Fünftes achtes impliziertes Register Nicht zutreffend Niederwertiges Byte: Steckplatzadresse des Netzwerkadaptermoduls 31007525 12/2006 MSTR: Master MSTR-Operation "CTE lesen (Konfigurationserweiterungstabelle)" Kurzbeschreibung Die Operation "CTE lesen" liest eine bestimmte Anzahl von Bytes aus der Erweiterungstabelle der Ethernet-Konfiguration in den angezeigten Puffer des SPSSpeichers. Die zu lesenden Bytes starten mit einem Byte-Offset am CTE-Beginn. Der Inhalt der Ethernet CTE-T wird im mittleren Eintrag des MSTR-Blocks angezeigt. Realisierung des Netzwerks Die Operation "CTE lesen" (Typ 11 im angezeigten Register des oberen Eintrags) kann für TCP/IP und SY/MAX Ethernet-Netzwerke implementiert werden, auf die über einen entsprechenden Netzwerkadapter zugegriffen werden kann. Modbus Plus-Netzwerke verwenden diese Operation nicht. Einsatz des Steuerblocks Bei der Operation "CTE lesen" unterscheiden sich die Register im Steuerblock MSTR (oberer Eintrag) je nach verwendetem Netzwerktyp. z TCP/IP Ethernet z SY/MAX Ethernet Steuerblock für TCP/IP Ethernet Register Funktion Inhalt Angezeigt Operationstyp 11 Erstes impliziertes Fehlerstatus Register Zweites impliziertes Register Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Nicht zutreffend Drittes impliziertes Register 31007525 12/2006 Viertes impliziertes Register Map-Index Entweder ein im höherwertigen Byte des Registers angezeigter Wert oder keiner verwendet Steckplatz-ID Die im niederwertigen Byte angezeigte Nummer, Bereich von 1 ... 16, die den Steckplatz im lokalen Baugruppenträger angibt, wo das Optionsmodul untergebracht ist Fünftes achtes impliziertes Register Nicht zutreffend 775 MSTR: Master Steuerblock für SY/MAX Ethernet Register Funktion Inhalt Angezeigt Operationstyp 11 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Datenlänge Anzahl der übertragenen Wörter Drittes impliziertes Register Basisadresse Byte-Offset in der SPS-Registerstruktur, die darauf verweist, wo CTE-Bytes geschrieben werden Viertes impliziertes Register Niederwertiges Byte Steckplatzadresse des NOE-Moduls Höherwertiges Byte Endzeichen (FF hex) Fünftes achtes impliziertes Register Implementierung der CTEAnzeige (mittlerer Eintrag) Die Werte in der Ethernet-Konfigurationserweiterungs-Tabelle (CTE) werden in einer Registerreihe im mittleren Eintrag des MSTR-Befehls angezeigt, wenn eine CTE-Leseoperation realisiert wird. Der mittlere Eintrag enthält das erste von 11 benachbarten 4x-Registern. Die Register zeigen folgende CTE-Daten an. Parameter Register Inhalt Rahmentyp Angezeigt 1 = 802.3 2 = Ethernet Erstes impliziertes Register Erstes Byte der IP-Adresse Zweites impliziertes Register Zweites Byte der IP-Adresse IP-Adresse Teilnetzmaske Gateway 776 Nicht zutreffend Drittes impliziertes Register Drittes Byte der IP-Adresse Viertes impliziertes Register Viertes Byte der IP-Adresse Fünftes impliziertes Register Höherwertiges Wort Sechstes impliziertes Register Niederwertiges Wort Siebentes impliziertes Register Erstes Byte der Gateway Achtes impliziertes Register Zweites Byte der Gateway Neuntes impliziertes Register Drittes Byte der Gateway Zehntes impliziertes Register Viertes Byte der Gateway 31007525 12/2006 MSTR: Master MSTR-Operation "CTE schreiben (Konfigurationserweiterungstabelle)" Kurzbeschreibung Die Operation "CTE schreiben" schreibt die CTE-Konfigurationstabelle anhand der im mittleren Eintrag angegebenen Daten in eine angezeigte Erweiterungstabelle der Ethernet-Konfiguration oder in einen spezifischen Steckplatz. Realisierung des Netzwerks Die Operation "CTE schreiben" (Typ 12 im angezeigten Register des oberen Eintrags) kann für TCP/IP und SY/MAX EtherNet-Netzwerke implementiert werden, auf die über einen entsprechenden Netzwerkadapter zugegriffen werden kann. Modbus Plus-Netzwerke verwenden diese Operation nicht. Einsatz des Steuerblocks Bei der Operation "CTE schreiben" unterscheiden sich die Register im Steuerblock MSTR (oberer Eintrag) je nach verwendetem Netzwerktyp. z TCP/IP Ethernet z SY/MAX Ethernet Steuerblock für TCP/IP Ethernet Register Funktion Inhalt Angezeigt Operationstyp 12 Erstes impliziertes Fehlerstatus Register Zweites impliziertes Register Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Nicht zutreffend Drittes impliziertes Register 31007525 12/2006 Viertes impliziertes Register Map-Index Entweder ein im höherwertigen Byte des Registers angezeigter Wert oder keiner verwendet Steckplatz-ID Die im niederwertigen Byte angezeigte Nummer, Bereich von 1 ... 16, die den Steckplatz im lokalen Baugruppenträger angibt, wo das Optionsmodul untergebracht ist Fünftes achtes impliziertes Register Nicht zutreffend 777 MSTR: Master Steuerblock für SY/MAX Ethernet Implementierung der CTEAnzeige (mittlerer Eintrag) 778 Register Funktion Inhalt Angezeigt Operationstyp 12 Erstes impliziertes Register Fehlerstatus Zeigt gegebenenfalls einen Hex-Wert an, der auf einen MSTR-Fehler hinweist Zweites impliziertes Register Datenlänge Anzahl der übertragenen Wörter Drittes impliziertes Register Basisadresse Byte-Offset in der SPS-Registerstruktur, die darauf verweist, wo CTE-Bytes geschrieben werden Viertes impliziertes Register Niederwertiges Steckplatzadresse des NOE-Moduls Byte Höherwertiges Byte Zielstationsnummer Fünftes impliziertes Register Endzeichen FF Hex Sechstes ... achtes impliziertes Register Nicht zutreffend Die Werte der Erweiterungstabelle der Ethernet-Konfiguration (CTE) werden in mehreren Registern im mittleren Eintrag der MSTR-Instruktion angezeigt, wenn die Operation "CTE schreiben" implementiert wird. Der mittlere Eintrag enthält das erste von 11 benachbarten 4x-Registern. Die Register dienen zur Übertragung folgender CTE-Daten. Parameter Register Inhalt Rahmentyp Angezeigt 1 = 802.3 2 = Ethernet IP-Adresse Erstes impliziertes Register Erstes Byte der IP-Adresse Zweites impliziertes Register Zweites Byte der IP-Adresse Drittes impliziertes Register Drittes Byte der IP-Adresse Viertes impliziertes Register Viertes Byte der IP-Adresse Teilnetzmaske Fünftes impliziertes Register Höherwertiges Wort Sechstes impliziertes Register Niederwertiges Wort Gateway Siebentes impliziertes Register Erstes Byte der Gateway Achtes impliziertes Register Zweites Byte der Gateway Neuntes impliziertes Register Drittes Byte der Gateway Zehntes impliziertes Register Viertes Byte der Gateway 31007525 12/2006 MSTR: Master Modbus Plus-Netzwerkstatistik Modbus PlusNetzwerkstatistik Die folgende Tabelle enthält die am Modbus Plus-Netzwerk verfügbare Statistik. Sie können diese Informationen abrufen, indem Sie die entsprechende MSTROperation oder den Modbus-Funktionscode 8 verwenden. Hinweis: Wenn Sie die Operationen "Lokale Statistik oder Fernstatistik löschen" ausgeben, werden nur die Worte 13 ... 22 gelöscht. Modbus Plus-Netzwerkstatistik Wort Bits 00 01 Bedeutung Eintrags-ID 0 Unbekannter Eintragstyp 1 SPS-Eintrag 2 Modbus Bridge-Eintrag 3 Programmiergerät-Eintrag 4 Bridge Plus-Eintrag 5 Peer E/A-Eintrag 0 ... 11 Software-Versionsnummer in Hex (zum Lesen isolieren Sie die Bits 12-15 des Worts) 12 ... 14 Reserviert 15 Definiert Fehlerzähler von Wort 15 (siehe Wort 15) Das höchstwertige Bit definiert die Verwendung von Fehlerzählern in Wort 15. Die niederwertigste Hälfte des oberen Bytes und des unteren Bytes enthält die SoftwareVersion: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Software version number (in HEX) Word 15 error counter (see word 15) 02 31007525 12/2006 Netzadresse dieser Station 779 MSTR: Master Wort Bits Bedeutung 0 Inbetriebnahmestatus 1 Anzeigen Offline-Status 2 Duplizieren Offline-Status 3 Ruhestatus 4 Token-Verwendungsstatus 5 Arbeits-Antwortstatus 6 Token-Übergabestatus 7 Antwort-Anforderungsstatus 8 Status "Überprüfen der Übergabe" 9 Token-Anforderungsstatus 10 Antwort-Anforderungsstatus 03 MAC-Statusvariable: 04 Peer Status (LED-Code); gibt den Status dieser Einheit in Bezug auf das Netzwerk an: 0 Monitor-Verbindungsoperation 32 Normale Verbindungsoperation 64 Erhält Token nie 96 Einzelstation 128 05 06 07 08 09 Token-Umlaufzeit in ms LO Bitabbildung Datenmasterausfall während Tokenbesitz HI Bitabbildung (Bitmap) Programmmasterausfall während Tokenbesitz LO Bitmap Aktivität Tokenbesitz des Datenmaster HI Bitmap Aktivität Tokenbesitz des Programmmaster LO Bitmap Aktivität Tokenbesitz des Datenslave HI Bitmap Aktivität Tokenbesitz des Programmslave 10 HI Bitmap Übertragungsanfrage Befehl "Datenslave/Slave-Abruf" 11 LO Bitmap Antwort-Übertragungsanfrage Befehl "Programmmaster/MasterAbruf" HI Bitmap Übertragungsanfrage Befehl "Programmslave/Slave-Abruf" LO Bitmap Verbindungsstatus des Programmmaster HI Bitmap automatische Abmeldung des Programmslave 12 780 Station duplizieren Token-Übergabezähler; inkrementiert jedes Mal, wenn diese Station den Token erhält 31007525 12/2006 MSTR: Master Wort 13 14 Bits Bedeutung LO Vorübertragungs-Verzögerungsfehlerzähler HI Empfangspuffer DMA-Überlauf-Fehlerzähler LO Empfangszähler wiederholter Befehl HI Fehlerzähler Datenblockgröße 15 Wenn Bit 15 von Wort 1 nicht gesetzt ist, hat Wort 15 folgende Bedeutung: LO Fehlerzähler Empfänger-Kollisionsabbruch HI Fehlerzähler Empfängerausrichtung LO Datenblockfehler an Kabel A Wenn Bit 15 von Wort 1 gesetzt ist, hat Wort 15 folgende Bedeutung: 16 Datenblockfehler an Kabel B Fehlerzähler CRC-Empfänger HI Fehlerzähler falsche Paketlänge 17 LO Fehlerzähler falsche Link-Adresse HI Fehlerzähler DMA-Unterlauf Übertragungszwischenspeicher 18 LO Fehlerzähler falsche interne Paketlänge HI Fehlerzähler falscher MAC-Funktionscode 19 LO Kommunikationswiederholungszähler 20 21 22 23 24 25 31007525 12/2006 HI LO HI Fehlerzähler Kommunikation gescheitert LO Zähler Paketempfang erfolgreich HI Fehlerzähler kein Antwortempfang LO Fehlerzähler unerwarteter Antwortempfang HI Fehlerzähler unerwarteter Pfad LO Fehlerzähler unerwartete Antwort HI Fehlerzähler übergangene Transaktion LO Bitmap aktive Stationstabelle, Einträge 1 ... 8 HI Bitmap aktive Stationstabelle, Einträge 9 ... 16 LO Bitmap aktive Stationstabelle, Einträge 17 ... 24 HI Bitmap aktive Stationstabelle, Einträge 25 ... 32 LO Bitmap aktive Stationstabelle, Einträge 33 ... 40 HI Bitmap aktive Stationstabelle, Einträge 41 ... 48 26 LO Bitmap aktive Stationstabelle, Einträge 49 ... 56 HI Bitmap aktive Stationstabelle, Einträge 57 ... 64 27 LO Bitmap Token-Stationstabelle, Einträge 1 ... 8 HI Bitmap Token-Stationstabelle, Einträge 9 ... 16 781 MSTR: Master Wort 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 782 Bits Bedeutung LO Bitmap Token-Stationstabelle, Einträge 17 ... 24 HI Bitmap Token-Stationstabelle, Einträge 25 ... 32 LO Bitmap Token-Stationstabelle, Einträge 33 ... 40 HI Bitmap Token-Stationstabelle, Einträge 41 ... 48 LO Bitmap Token-Stationstabelle, Einträge 49 ... 56 HI Bitmap Token-Stationstabelle, Einträge 57 ... 64 LO Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 1 ... 8 HI Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 9 ... 16 LO Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 17 ... 24 HI Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 25 ... 32 LO Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 33 ... 40 HI Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 41 ... 48 LO Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 49 ... 56 HI Bitmap-Tabelle für Vorhandensein globaler Daten, Einträge 57 ... 64 LO Bitmap benutzter Empfangspuffer, Puffer 1-8 HI Bitmap benutzter Empfangspuffer, Puffer 9 ... 16 LO Bitmap benutzter Empfangspuffer, Puffer 17 ... 24 HI Bitmap benutzter Empfangspuffer, Puffer 25 ... 32 LO Bitmap benutzter Empfangspuffer, Puffer 33 ... 40 HI Zähler aktivierter verarbeiteter Befehle zur Stationsverwaltung LO Zähler Aktivierung Befehl Ausgangspfad 1 des Datenmaster HI Zähler Aktivierung Befehl Ausgangspfad 2 des Datenmaster LO Zähler Aktivierung Befehl Ausgangspfad 3 des Datenmaster HI Zähler Aktivierung Befehl Ausgangspfad 4 des Datenmaster LO Zähler Aktivierung Befehl Ausgangspfad 5 des Datenmaster HI Zähler Aktivierung Befehl Ausgangspfad 6 des Datenmaster LO Zähler Aktivierung Befehl Ausgangspfad 7 des Datenmaster HI Zähler Aktivierung Befehl Ausgangspfad 8 des Datenmaster LO Zähler Befehlsverarbeitung Eingangspfad 41 des Datenslave HI Zähler Befehlsverarbeitung Eingangspfad 42 des Datenslave LO Zähler Befehlsverarbeitung Eingangspfad 43 des Datenslave HI Zähler Befehlsverarbeitung Eingangspfad 44 des Datenslave LO Zähler Befehlsverarbeitung Eingangspfad 45 des Datenslave HI Zähler Befehlsverarbeitung Eingangspfad 46 des Datenslave 31007525 12/2006 MSTR: Master Wort 45 46 47 48 49 50 51 52 53 31007525 12/2006 Bits Bedeutung LO Zähler Befehlsverarbeitung Eingangspfad 47 des Datenslave HI Zähler Befehlsverarbeitung Eingangspfad 48 des Datenslave LO Zähler Aktivierung Befehl Ausgangspfade 81 des Programmmaster HI Zähler Aktivierung Befehl Ausgangspfade 82 des Programmmaster LO Zähler Aktivierung Befehl Ausgangspfade 83 des Programmmaster HI Zähler Aktivierung Befehl Ausgangspfade 84 des Programmmaster LO Zähler Aktivierung Befehl Programmmaster HI Zähler Aktivierung Befehl Ausgangspfade 86 des Programmmaster LO Zähler Aktivierung Befehl Ausgangspfade 87 des Programmmaster HI Zähler Aktivierung Befehl Ausgangspfade 88 des Programmmaster LO Zähler Befehlsverarbeitung Eingangspfad C1 des Programmslave HI Zähler Befehlsverarbeitung Eingangspfad C2 des Programmslave LO Zähler Befehlsverarbeitung Eingangspfad C3 des Programmslave HI Zähler Befehlsverarbeitung Eingangspfad C4 des Programmslave LO Zähler Befehlsverarbeitung Eingangspfad C5 des Programmslave HI Zähler Befehlsverarbeitung Eingangspfad C6 des Programmslave LO Zähler Befehlsverarbeitung Eingangspfad C7 des Programmslave HI Zähler Befehlsverarbeitung Eingangspfad C8 des Programmslave 783 MSTR: Master TCP/IP-Ethernet-Statistik TCP/IP EthernetStatistik Eine TCP/IP-Ethernet-Karte antwortet mit folgenden Informationen auf die Befehle "Lokale Statistik abfragen" und "Lokale Statistik festlegen": Wort Bedeutung 00 ... 02 MAC-Adresse, wenn die MAC-Adresse beispielsweise 00 00 54 00 12 34 lautet, wird sie wie folgt angezeigt: 03 784 Wort Inhalt 00 00 00 01 00 54 02 34 12 Schalttafelzustand Bedeutung 0x0001 Läuft 0x4000 APPI LED (1= EIN, 0 = AUS) 0x8000 LED-Verbindung 04 und 05 Anzahl der Empfänger-Interrupts 06 und 07 Anzahl der Sender-Interrupts 08 und 09 Übertragungs-Timeout-Fehlerzählung 10 und 11 Kollisionsnachweis-Fehlerzählung 12 und 13 Fehlende Datenpakete 14 und 15 Speicher-Fehlerzählung 16 und 17 Anzahl der vom Treiber ausgeführten Einstich-Neustarts 18 und 19 Rahmenempfang-Fehlerzähler 20 und 21 Überlauf-Fehlerzählempfänger 22 und 23 CRC-Fehlerzähler empfangen 24 und 25 Überlauf-Fehlerzählempfänger 26 und 27 Sendepuffer-Fehlerzähler 28 und 29 Silo-Unterlaufzähler übertragen 30 und 31 "Späte-Kollision"-Zähler 32 und 33 Trägerverlust-Zähler 34 und 35 Anzahl Neuversuche 36 und 37 IP-Adresse, wenn die IP-Adresse beispielsweise 198.202.137.113 (oder c6 CA 89 71) lautet, wird sie wie folgt angezeigt: Wort Inhalt 36 89 71 37 C6 CA 31007525 12/2006 MSTR: Master Laufzeitfehler Laufzeitfehler Tritt während einer MSTR-Operation ein Fehler auf, wird im ersten implizierten Register im Steuerblock (dem oberen Eintrag) ein hexadezimaler Fehlercode angezeigt. Funktionsfehlercodes sind netzwerkspezifisch. z Fehlercodes für Modbus Plus und SY/MAX Ethernet z Spezifische Fehlercodes für SY/MAX z TCP/IP Ethernet-Fehlercodes z CTE-Fehlercodes für SY/MAX und TCP/IP Ethernet 31007525 12/2006 785 MSTR: Master Modbus Plus- und SY/MAX Ethernet-Fehlercodes Form des Funktionsfehlercodes Hexadezimalfehlercode 786 Die Form des Funktionsfehlercodes für Modbus Plus- und SY/MAX EthernetTransaktionen lautet Mmss, wobei z M für den Hauptcode steht z m für den Nebencode steht z ss für den Subcode steht Hexadezimaler Fehlercode Bedeutung 1001 Benutzer hat das MSTR-Element abgebrochen 2001 Ein nicht unterstützter Operationstyp wurde im Steuerblock angegeben 2002 Ein oder mehrere Parameter des Steuerblocks wurde(n) bei aktivem MSTR-Element geändert (gilt nur für Operationen zum Abschließen von Mehrfachzyklen). Die Parameter des Steuerblocks können nur geändert werden, wenn das MSTR-Element nicht aktiv ist. 2003 Ungültiger Wert im Längenfeld des Steuerblocks 2004 Ungültiger Wert im Offset-Feld des Steuerblocks 2005 Ungültige Werte in den Längen- und Offset-Feldern des Steuerblocks 2006 Ungültiger Slave-Gerät-Datenbereich 2007 Ungültiger Slave-Gerät-Netzwerkbereich 2008 Ungültiges Slave-Gerät-Netzwerk-Routing 2009 Leitweg entspricht Ihrer eigenen Adresse 200A A Versuch, mehr globale Datenworte zu erhalten als verfügbar sind 30ss Modbus-Slave-Ausnahmeantwort 4001 Inkohärente Modbus-Slave-Antwort 5001 Inkohärente Netzwerk-Antwort 6mss) Routing-Fehler 31007525 12/2006 MSTR: Master ss HEX-Wert in Fehlercode 30ss ss Hex-Wert in Fehlercode 6mss Das ss-Subfeld in Fehlercode 30ss lautet: ss Hex-Wert Bedeutung 01 Slave-Gerät unterstützt die angeforderte Operation nicht 02 Nicht vorhandene Register des Slave-Geräts angefordert 03 Ungültiger Datenwert angefordert 04 Reserviert 05 Slave hat einen Programmbefehl von langer Dauer angefordert 06 Funktion kann jetzt nicht durchgeführt werden: Befehl von langer Dauer wird ausgeführt 07 Slave hat einen Programmbefehl von langer Dauer zurückgewiesen 08 ... 255 Reserviert Das m-Subfeld im Fehlercode 6mss ist ein Index der Routing-Informationen und zeigt an, wo ein Fehler erkannt wurde (der Wert 0 weist auf den lokalen Eintrag, der Wert 2 auf das zweite Gerät des Leitwegs usw.). Das ss-Subfeld in Fehlercode 6mss lautet: 31007525 12/2006 ss Hex-Wert Bedeutung 01 Keine Antwort empfangen 02 Programmzugriff verweigert 03 Eintrag offline und kann nicht kommunizieren 04 Ausnahmeantwort empfangen 05 Datenpfade des Router-Eintrags beschäftigt 06 Slave-Gerät nicht funktionsfähig 07 Ungültige Zieladresse 08 Ungültiger Eintragstyp im Routing-Pfad 10 Slave hat den Befehl zurückgewiesen 20 Gestartete Transaktion durch Slave-Gerät vergessen 40 Nicht erwarteter Master-Ausgangspfad empfangen 80 Nicht erwartete Antwort empfangen F001 Falscher Zieleintrag für MSTR-Operation angegeben 787 MSTR: Master SY/MAX-spezifische Fehlercodes Fehlertypen Drei zusätzliche Fehlertypen können in der MSTR-Instruktion gemeldet werden, wenn SY/MAX Ethernet verwendet wird. Die Fehlercodes haben folgende Ziele: 71xx-Fehler: Durch das dezentrale SY/MAX-Gerät erkannte Fehler z 72xx-Fehler: Durch den Server erkannte Fehler z 73xx-Fehler: Durch den Quantum-Übersetzer erkannte Fehler z Hexadezimaler Fehlercode, SY/MAXspezifisch 788 HEX-Fehlercode, SY/MAX-spezifisch: Hexadezimaler Fehlercode Bedeutung 7101 Durch das dezentrale SY/MAX-Gerät erkannter ungültiger Opcode 7103 Durch das dezentrale SY/MAX-Gerät erkannte ungültige Adresse 7109 Versuch, in ein durch das dezentrale SY/MAX-Gerät erkanntes, schreibgeschütztes Register zu schreiben 710F Durch das dezentrale SY/MAX-Gerät erkannter Empfänger-Überlauf 7110 Durch das dezentrale SY/MAX-Gerät erkannte ungültige Länge 7111 Durch das dezentrale SY/MAX-Gerät erkanntes, dezentrales, inaktives, nicht kommunizierendes Gerät (tritt auf, nachdem Wiederholschleifen und Timeout abgelaufen sind) 7113 Durch das dezentrale SY/MAX-Gerät erkannter ungültiger Parameter bei Leseoperation 711D Durch das dezentrale SY/MAX-Gerät erkannter ungültiger Leitweg 7149 Durch das dezentrale SY/MAX-Gerät erkannter ungültiger Parameter bei Schreiboperation 714B A Durch das dezentrale SY/MAX-Gerät erkannte ungültige Stationsnummer 7201 Durch den dezentralen SY/MAX-Server erkannter ungültiger Opcode 7203 Durch den dezentralen SY/MAX-Server erkannte ungültige Adresse 7209 Versuch, in ein durch den dezentralen SY/MAX-Server erkanntes, schreibgeschütztes Register zu schreiben 720F Durch den dezentralen SY/MAX-Server erkannter Empfänger-Überlauf 7210 Durch den dezentralen SY/MAX-Server erkannte ungültige Länge 7211 Durch den SY/MAX-Server erkanntes, dezentrales, inaktives, nicht kommunizierendes Gerät (tritt auf, nachdem Wiederholschleifen und Timeout abgelaufen sind) 31007525 12/2006 MSTR: Master Hexadezimaler Fehlercode Bedeutung 7213 Durch den SY/MAX-Server erkannter ungültiger Parameter bei Leseoperation 721D Durch den SY/MAX-Server erkannter ungültiger Leitweg 7249 Durch den SY/MAX-Server erkannter ungültiger Parameter bei Schreiboperation 724B A Durch den SY/MAX-Server erkannte ungültige Stationsnummer 7301 Ungültiger Opcode bei einer MSTR-Blockanforderung durch den Quantum-Übersetzer 7303 Lesen/Schreiben QSE-Modulstatus (200 Leitwegadressen außerhalb des Bereichs) 7309 Versuch, bei Durchführung des Status-Schreibmodus (200 Leitweg) in ein schreibgeschütztes Register zu schreiben 731D Durch den Quantum-Übersetzer erkannte ungültige Leitweg Gültige Leitwege sind: z dest_drop, 0xFF z 200, dest_drop, 0xFF z 100+drop, dest_drop, 0xFF Alle anderen Routing-Werte erzeugen einen Fehler 734B A 31007525 12/2006 Einer der folgenden Fehler ist aufgetreten: z Keine CTE-Tabelle (Konfigurationserweiterung) wurde konfiguriert z Kein CTE-Tabelleneintrag wurde für die Steckplatznummer des QSEModuls angelegt z Keine gültige Station wurde angegeben z Das QSE-Modul wurde nicht zurückgesetzt, nachdem CTE angelegt wurde Hinweis: Nach dem Schreiben, Konfigurieren und Herunterladen von CTE zum QSE-Modul müssen Sie das QSE-Modul zurücksetzen, damit die Änderungen wirksam werden. z Bei Verwendung der MSTR-Instruktion wurde kein gültiger Steckplatz bzw. kein gültige Station angegeben 789 MSTR: Master TCP/IP Ethernet-Fehlercodes Fehler in MSTR-Routine Ein Fehler in der MSTR-Routine von TCP/IP Ethernet kann einen der Schleppfehler im MSTR-Steuerblock hervorrufen. Die Form des Codes ist Mmss, wobei M für den Hauptcode steht z m für den Nebencode steht z ss für den Subcode steht z HexadezimalFehlercode der MSTR-Routine von TCP/IP Ethernet ss Hex-Wert in Fehlercode 30ss 790 Hexadezimaler Bedeutung Fehlercode 1001 Benutzer hat das MSTR-Element abgebrochen 2001 Ein nicht unterstützter Operationstyp wurde im Steuerblock angegeben 2002 Ein oder mehrere Parameter des Steuerblocks wurde(n) bei aktivem MSTR-Element geändert (gilt nur für Operationen zum Abschließen von Mehrfachzyklen). Die Parameter des Steuerblocks können nur geändert werden, wenn das MSTR-Element nicht aktiv ist. 2003 Ungültiger Wert im Längenfeld des Steuerblocks 2004 Ungültiger Wert im Offset-Feld des Steuerblocks 2005 Ungültige Werte in den Längen- und Offset-Feldern des Steuerblocks 2006 Ungültiger Slave-Gerät-Datenbereich 3000 Generischer Modbus-Fehlercode 30ss Modbus-Slave-Ausnahmeantwort 4001 Inkohärente Modbus-Slave-Antwort Das ss-Subfeld in Fehlercode 30ss lautet: ss Hex-Wert Bedeutung 01 Slave-Gerät unterstützt die angeforderte Operation nicht 02 Nicht vorhandene Register des Slave-Geräts angefordert 03 Ungültiger Datenwert angefordert 04 Reserviert 05 Slave hat einen Programmbefehl von langer Dauer angefordert 06 Funktion kann jetzt nicht durchgeführt werden: Befehl von langer Dauer wird ausgeführt 07 Slave hat einen Programmbefehl von langer Dauer zurückgewiesen 31007525 12/2006 MSTR: Master HEX-Fehlercode TCP/IP EthernetNetzwerk Ein Fehler in Bezug auf das TCP/IP Ethernet-Netzwerk selbst kann einen der folgenden Fehler im MSTR-Steuerblock hervorrufen: Hexadezimaler Bedeutung Fehlercode 5004 31007525 12/2006 Unterbrechung des Systemabrufs 5005 E/A-Fehler 5006 Adresse unbekannt 5009 Austausch-Deskriptor ungültig 500C Speicherplatz unzureichend 500D Zugang verweigert 5011 Eintrag vorhanden 5016 Ungültiges Argument 5017 Überlauf bei interner Tabelle 5020 Anschluss unterbrochen 5023 Diese Operation würde blockieren und der Socket ist nicht blockierend 5024 Der Socket ist nicht blockierend und die Verbindung kann nicht beendet werden 5025 Socket ist nicht blockierend und ein vorheriger Verbindungsversuch ist noch nicht beendet 5026 Socket-Operation bei einem Nicht-Socket 5027 Die Zieladresse ist ungültig. 5028 Nachricht zu lang 5029 Falscher Protokolltyp für Austauschfunktion 502A A Protokoll nicht verfügbar 502B A Protokoll nicht unterstützt 502C Austauschfunktions-Typ nicht unterstützt 502D Dienst wird nicht auf dem Socket unterstützt 502E Protokollfamilie nicht unterstützt 502F Adressfamilie nicht unterstützt 5030 Adresse bereits in Verwendung 5031 Adresse nicht verfügbar 5032 Netzwerk nicht funktionsfähig 5033 Netzwerk unzugängig 5034 Verlust des Netzwerkanschlusses beim Zurücksetzen 5035 Die Verbindung wurde durch Peer abgebrochen 5036 Die Verbindung wurde durch Peer zurückgesetzt 791 MSTR: Master Hexadezimaler Bedeutung Fehlercode 5037 792 Ein interner Puffer ist erforderlich, kann jedoch nicht zugeordnet werden 5038 Der Socket ist bereits verbunden 5039 Der Socket ist nicht verbunden 503A A Senden ist nach Schließen des Sockets nicht möglich 503B A Zu viele Referenzen; kann nicht verbinden 503C Verbindung abgelaufen 503D Der Versuch eines Verbindungsaufbaus wurde verweigert. 5040 Host ist gestoppt 5041 Der Ziel-Host konnte von diesem Eintrag aus nicht erreicht werden. 5042 Verzeichnis ist nicht leer 5046 NI_INIT gab -1 aus 5047 MTU ist ungültig 5048 Die Hardware-Länge ist ungültig. 5049 Die angegebene Route kann nicht gefunden werden 504A A Kollision beim Auswahlaufruf; diese Bedingungen wurden bereits durch einen anderen Task ausgewählt 504B A Die Task-ID ist ungültig F001 im Reset-Betrieb 31007525 12/2006 MSTR: Master CTE-Fehlercodes für SY/MAX und TCP/IP Ethernet CTEFehlercodes für SY/MAX und TCP/IP Ethernet 31007525 12/2006 HEX-Fehlercode der MSTR-Routine von TCP/IP Ethernet: Hexadezimaler Fehlercode Bedeutung 7001 Keine Ethernet-Konfigurationserweiterung 7002 Das CTE steht für Zugriffe nicht zur Verfügung 7003 Das Offset ist ungültig 7004 Offset + Länge sind ungültig 7005 Ungültiges Datenfeld in CTE 793 MSTR: Master 794 31007525 12/2006 MU16: 16-Bit-Multiplikation 122 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MU16 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 796 Darstellung 797 795 MU16: 16-Bit-Multiplikation Kurzbeschreibung Funktionsbeschreibung 796 Die Instruktion MU16 führt eine Multiplikation mit oder ohne Vorzeichen in Bezug auf die 16-Bit-Werte der oberen und mittleren Einträge durch und legt dann das Ergebnis in zwei benachbarten Ausgangsregistern im unteren Eintrag ab. 31007525 12/2006 MU16: 16-Bit-Multiplikation Darstellung Symbol Darstellung der Anweisung Steuereingang Maximaler Wert: 65535 aktiv Wert 1 Wert 2 Maximaler Wert: 65535 Operation mit/ohne Vorzeichen MU16 Produkt Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt Wert 1 x Wert 2 frei Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Wert 1 (oberer Knoten) 3x, 4x INT, UINT Der Multiplikand kann als Ganzzahl (Bereich von 1 ... 65535) explizit angezeigt werden, geben Sie z.B. #65535) ein oder er kann in einem Register gespeichert werden. Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Der Multiplikator kann als Ganzzahl (Bereich von 1 ... 65 535) explizit angezeigt oder in einem Register gespeichert werden Produkt (unterer Knoten) 4x INT, UINT Erstes von zwei benachbarten Ausgangsregistern: das angezeigte Register enthält die eine Hälfte des Produkts und das implizierte Register die andere Hälfte Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs 797 MU16: 16-Bit-Multiplikation 798 31007525 12/2006 MUL: Multiplikation 123 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung MUL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 800 Darstellung 801 Beispiel 803 799 MUL: Multiplikation Kurzbeschreibung Funktionsbeschreibung 800 Die Instruktion MUL multipliziert den Wert 1 ohne Vorzeichen (oberer Eintrag) mit dem Wert 2 ohne Vorzeichen (mittlerer Eintrag) und speichert das Ergebnis in zwei benachbarten Ausgangsregistern im unteren Eintrag ab. 31007525 12/2006 MUL: Multiplikation Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Wert 1 Maximaler Wert: 999 - max. 16-Bit SPS Wert: 9999 - max. 24-Bit SPS Wert: 65535 - *SPS Wert 2 MUL Ergebnis *Verfügbar für Folgendes z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe 31007525 12/2006 801 MUL: Multiplikation Parameterbeschreibung 802 Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = Wert 1 multipliziert mit Wert 2 Wert 1 (oberer Knoten) 3x, 4x UINT Der Multiplikand kann als Ganzzahl (Bereich von 1 ... 9 999) explizit angezeigt oder in einem Register gespeichert werden Maximaler Wert: 999 -16-Bit-SPS Maximaler Wert: 9999 - 24-Bit SPS Maximaler Wert: 65535 - *SPS Wert 2 (mittlerer Knoten) 3x, 4x UINT Der Multiplikator kann als Ganzzahl (Bereich von 1 ... 9 999) explizit angezeigt oder in einem Register gespeichert werden Maximaler Wert: 999 - 16-Bit-SPS Maximaler Wert: 9999 - 24-Bit-SPS Maximaler Wert: 65535 - *SPS Ergebnis (unterer Knoten) 4x UINT Produkt (das erste von zwei benachbarten Ausgangsregistern; angezeigt: höherwertige Ziffern; impliziert: niederwertige Ziffern) Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs 31007525 12/2006 MUL: Multiplikation Beispiel Produkt der Instruktion MUL 31007525 12/2006 Wenn z.B. Wert 1 = 8000 und Wert 2 = 2, dann ist das Produkt 16 000. Das angezeigte Register weist den Wert 0001 auf (die höherwertige Hälfte des Produkts) und das implizierte Register weist den Wert 6000 auf (die niederwertige Hälfte des Produkts). 803 MUL: Multiplikation 804 31007525 12/2006 NBIT: Bit-Steuerung 124 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung NBIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 806 Darstellung 807 805 NBIT: Bit-Steuerung Kurzbeschreibung Funktionsbeschreibung Durch die Instruktion normales Bit (NBIT) können Sie den Status eines Bits von einem Register aus steuern, indem Sie seine zugehörige Bitnummer im unteren Eintrag angeben. Die gesteuerten Bits ähneln Ausgangs-/Merkerbits. Wenn ein Bit auf EIN gesetzt ist, bleibt es auf EIN gesetzt, bis es von einem Steuersignal auf AUS gesetzt wird. Hinweis: Die NBIT-Instruktion richtet sich nicht nach den gleichen Regeln der Netzwerkplatzierung wie 0x-Referenzspulen. Eine NBIT-Instruktion kann nicht in Spalte 11 eines Netzwerks platziert werden, dafür aber links von anderen logischen Einträgen auf den gleichen Kontaktplanebenen. 806 31007525 12/2006 NBIT: Bit-Steuerung Darstellung Symbol Darstellung der Anweisung Bit setzen/löschen aktiv Register Nr. Zu setzende Bitnummer (1 - 16) NBIT (1 ... 16) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Bedeutung Oberer Eingang 0x, 1x Keine EIN = setzt das angegebene Bit auf 1 AUS = setzt das angegebene Bit auf 0 Register Nr. 4x (oberer Knoten) WORD Ausgangsregister, dessen Bitmuster gesteuert wird Bit Nr. (unterer Knoten) INT, UINT Gibt an, welches der 16 Bits gesteuert wird Oberer Ausgang 31007525 12/2006 Signalspeicher- Datentyp Referenz 0x Keine Gibt Rückmeldungen über den Status des oberen Eingangs: EIN = oberer Eingang EIN und angegebenes Bit auf 1 gesetzt AUS = oberer Eingang AUS und angegebenes Bit auf 0 gesetzt 807 NBIT: Bit-Steuerung 808 31007525 12/2006 NCBT: Öffner-Bit 125 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung NCBT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 810 Darstellung 811 809 NCBT: Öffner-Bit Kurzbeschreibung Funktionsbeschreibung 810 Durch die Instruktion Öffner-Bit (NCBT) können Sie den Logikstatus eines Bits von einem Register aus abfragen, indem Sie seine zugehörige Bitnummer im unteren Eintrag angeben. Das Bit steht für einen Öffnerkontakt. Es leitet Strom vom oberen Ausgang, wenn das angegebene Bit auf AUS und der obere Eingang auf EIN gesetzt ist. 31007525 12/2006 NCBT: Öffner-Bit Darstellung Symbol Darstellung der Anweisung Freigabe Nullbit Register Nr. Zu testende Bitnummer (1 - 16) NCBT Bit-Nr. (1 ... 16) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die Bit-Abfrage frei Register Nr. 3x, 4x (oberer Knoten) WORD Register, dessen Bitmuster für Öffnerkontakte verwendet wird Bit Nr. (unterer Knoten) INT, UINT Gibt an, welches der 16 Bits abgefragt wird Keine EIN = oberer Eingang auf EIN und angegebenes Bit auf AUS (Logikstatus 0) gesetzt Oberer Ausgang 31007525 12/2006 Signalspeicher- Datentyp Referenz 0x 811 NCBT: Öffner-Bit 812 31007525 12/2006 NOBT: Schließer-Bit 126 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung NOBT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 814 Darstellung 815 813 NOBT: Schließer-Bit Kurzbeschreibung Funktionsbeschreibung 814 Durch die Instruktion Schließer-Bit (NOBT) können Sie den Logikstatus eines Bits von einem Register aus abfragen, indem Sie seine zugehörige Bitnummer im unteren Eintrag angeben. Das Bit steht repräsentativ für einen Schließerkontakt. 31007525 12/2006 NOBT: Schließer-Bit Darstellung Symbol Darstellung der Anweisung Steuereingang Bitabfrage Register Nr. Zu testende Bitnummer (1 ... 16) NOBT Bit-Nr. (1 ... 16) Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die Bit-Abfrage frei Register Nr. (oberer Knoten) 3x, 4x WORD Register, dessen Bitmuster für Schließerkontakte verwendet wird Bit Nr. (unterer Knoten) Oberer Ausgang 31007525 12/2006 INT, UINT Gibt an, welches der 16 Bits abgefragt wird 0x Keine EIN = oberer Eingang auf EIN und angegebenes Bit auf EIN (Logikstatus 1) gesetzt 815 NOBT: Schließer-Bit 816 31007525 12/2006 NOL: Netzwerk-Optionsmodul für LonWorks 127 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung NOL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 818 Darstellung 819 Detailbeschreibung 820 817 NOL: Netzwerk-Optionsmodul für LonWorks Kurzbeschreibung Funktionsanforderungen Vor Verwendung dieser Instruktion müssen folgende Schritte ausgeführt werden: Schritt 1 Aktion Loadable NSUP.exe zur Konfiguration der Steuerung hinzufügen Hinweis: Dieses Loadable muss nur einmal geladen werden, um mehrere Loadables zu unterstützen, wie etwa ECS.exe und XMIT.exe. ACHTUNG Die Ausgänge der Instruktion werden eingeschaltet, gleichgültig, welche Eingangszustände vorliegen Wenn das Loadable NSUP nicht installiert wird oder nach dem Loadable NOL installiert wird oder in einer Quantum-SPS mit einer Betriebssoftware < V2.0 installiert wird, werden alle drei Ausgänge eingeschaltet, gleichgültig, welche Eingangszustände vorliegen. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. Schritt 2 Funktionsbeschreibung 818 Aktion Entpacken und installieren Sie das DX Loadable NOL. Weitere Informationen finden Sie S. 51. Die Instruktion NOL dient zur Vereinfachung der Verschiebung von großen Datenmengen zwischen dem NOL-Modul und dem Steuerungsregisterspeicherplatz. Das NOL-Modul ist für 16 Eingangsregister (3x) und 16 Ausgangsregister (4x) ausgelegt. Von diesen Registern sind zwei Eingangs- und zwei Ausgangsregister für den Quittungsaustausch zwischen dem NOL-Modul und der Instruktion bestimmt. Die verbliebenen vierzehn Eingangs- und vierzehn Ausgangsregister werden zum Datentransport verwendet. 31007525 12/2006 NOL: Netzwerk-Optionsmodul für LonWorks Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Funktionsnummer Re - Sync beendet Registerblock Fehler NOL Zählwert Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = Gibt die NOL-Funktion frei Mittlerer Eingang 0x, 1x Keine EIN = Initialisieren: veranlasst die Anweisung zur erneuten Synchronisierung mit dem Modul Funktionsnummer 4x (oberer Knoten) INT, UINT, WORD Die Funktionsnummer wählt die Funktion des NOL-Blocks aus Funktion 0 überträgt Daten zum/vom Modul. Jede andere Funktionsnummer ruft einen Fehler hervor. Registerblock (mittlerer Knoten) INT, UINT, WORD Registerblock (erstes von 16 benachbarten Registern) INT, UINT Gesamtzahl der für die Anweisung erforderlichen Register 4x Summe (unterer Knoten) 31007525 12/2006 Oberer Ausgang 0x Keine EIN = Anweisung freigegeben und kein Fehler Mittlerer Ausgang 0x Keine Neue Daten Für einen Durchlauf einstellen, wenn der gesamte Datenblock vom Modul in den Registerbereich geschrieben worden it. Unterer Ausgang 0x Keine EIN = Fehler 819 NOL: Netzwerk-Optionsmodul für LonWorks Detailbeschreibung Registerblock (mittlerer Eintrag) Dieser Block stellt die Register für Konfigurations- und Statusinformationen, die Register für die Health-Status-Bits und die Register für die Istdaten der StandardNetzwerk-Variablentypen (SNVT) zur Verfügung. Registerblock Konfigurations- und Statusinformationen Register Inhalt Angezeigtes und erstes impliziertes Register I/O-Map-Eingangsbasis (3x) Zweites und drittes impliziertes Register I/O-Map-Ausgangsbasis (4x) Viertes impliziertes Register Health-Bits freigeben Fünftes impliziertes Register Anzahl der Eingangsregister Sechstes impliziertes Register Anzahl der Ausgangsregister Siebentes impliziertes Register Anzahl der diskreten Eingangsregister Achtes impliziertes Register Anzahl der diskreten Ausgangsregister Neuntes impliziertes Register Konfigurationsprüfsumme (CRC) Zehntes impliziertes Register NOL Version Elftes impliziertes Register Baugruppen-Firmware-Version Zwölftes impliziertes Register NOL DX Version 13. impliziertes Register Modul DX-Version 14. und 15. impliziertes Register Nicht verwendet SNVTs Health-Bit-Status (falls im DX Zoom-Fenster freigegeben) 16. bis 31. impliziertes Register Health-Bits aller programmierbaren Netzwerkvariablen SNVTs Ist-Daten Health-Bit freigeben = NEIN: vom 16. implizierten Register aufwärts Health-Bit freigeben = JA: vom 32. implizierten Register aufwärts Daten werden in 4 Gruppen abgelegt: Biteingänge Registereingänge Bitausgänge Registerausgänge z z z z Diese Gruppen von Daten werden nacheinander eingerichtet und beginnen an Wortgrenzen. Die ersten 16 Register mit Konfigurations- und Statusinformationen können über das NOL DX Zoom-Fenster programmiert und überwacht werden. Zum Einrichten der Verbindung zum NOL-Modul sind die einzigen Parameter, die eingegeben werden müssen, die Anfangs-3x- und 4x-Register, die bei der E/A-Auslegung des NOL-Moduls verwendet werden. Weitere Informationen finden Sie in der Dokumentation Network Option Module for LonWorks. 820 31007525 12/2006 NOL: Netzwerk-Optionsmodul für LonWorks Anzahl (unterer Eintrag) 31007525 12/2006 Definiert die Gesamtanzahl der vom Funktionsblock benötigten Register. Dieser Wert muss auf einen Wert gesetzt werden, der gleich oder größer ist als die Anzahl der Datenregister, die benötigt werden, um die von dem NOL-Modul verwendeten Netzwerkdaten zu übertragen und abzulegen. Falls der Wert dieser Anzahl nicht genügend groß für die benötigten Daten ist, wird der Fehlerausgang gesetzt. 821 NOL: Netzwerk-Optionsmodul für LonWorks 822 31007525 12/2006 Instruktionsbeschreibungen (O bis Q) V Auf einen Blick Einleitung In diesem Abschnitt werden Instruktionsbeschreibungen in alphabetischer Folge von O bis Q aufgeführt. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: Kapitel 128 31007525 12/2006 Kapitelname Seite ODER: Logisches ODER 825 129 PCFL: Bibliothek der Prozesssteuerfunktionen 831 130 PCFL-AIN: Analogeingang 839 131 PCFL-ALARM: Central Alarm Handler 845 132 PCFL-AOUT: Analogausgang 851 133 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen 855 134 PCFL-CALC: Berechnete Preset-Formel 861 135 PCFL-DELAY: Zeitverzögerungs-Warteschlange 867 136 PCFL-EQN: Formatierter Gleichungsrechner 871 137 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren 877 138 PCFL-KPID: Umfassende, nicht interaktive ISA-PID 881 139 PCFL-LIMIT: Begrenzer für Pv 887 140 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv 891 141 PCFL-LKUP: Linearisierungstabelle 895 142 PCFL-LLAG: Differenzier- oder Verzögerungsfilter erster Ordnung 901 143 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen 905 144 PCFL-ONOFF: EIN/AUS-Werte für Totzone 909 823 Instruktionsbeschreibungen (O bis Q) Kapitel 824 Kapitelname Seite 145 PCFL-PI: Nicht interaktive ISA-PI 915 146 PCFL-PID: PID-Algorithmen 921 147 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate 927 148 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Zeit 933 149 PCFL-RATIO: Vier-Stationen-Verhältnisregler 937 150 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße 941 151 PCFL-SEL: Eingangs-Auswahl 945 152 PCFL-TOTAL: Summierer für Dosierfluss 951 153 PEER: PEER-Transaktion 957 154 PID2: Proportional-Integral-Differential-Regler 961 31007525 12/2006 ODER: Logisches ODER 128 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung ODER beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 826 Darstellung 827 Parameterbeschreibung 829 825 ODER: Logisches ODER Kurzbeschreibung Funktionsbeschreibung Die Anweisung ODER führt eine boolesche ODER-Operation an den Bitmustern der Quell- und Zielmatrix durch. Das durch ODER verknüpfte Bitmuster wird dann in der Zielmatrix gespeichert, wobei der vorherige Inhalt überschrieben wird. Quelle Bits 0 0 1 1 0 ODER ODER ODER ODER 0 0 1 1 1 1 Ziel Bits 1 WARNUNG GESPERRTE SPULEN Prüfen Sie vor Verwendung der Anweisung ODER auf deaktivierte Spulen. ODER überschreibt Ausgangsbits innerhalb einer Zielmatrix, ohne diese freizugeben. Dies kann zu Körperverletzungen führen, wenn eine Spule eine Operation für Reparatur- oder Wartungszwecke gesperrt hat, weil der Spulenstatus durch eine ODER-Operation geändert werden kann. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! 826 31007525 12/2006 ODER: Logisches ODER Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quellmatrix Quellmatrix Zielmatrix Länge: 1 bis 100 Register (16 bis 1600 Bits) Parameterbeschreibung Länge Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine Startet ODER Quellmatrix (oberer Knoten) 0x, 1x, 3x, 4x ANY_BIT Erste Referenz in der Quellmatrix. Zielmatrix (mittlerer Knoten) 0x, 4x ANY_BIT Erste Referenz in der Zielmatrix Länge (unterer Knoten) Oberer Ausgang 31007525 12/2006 Quellbit: 0 0 1 1 Vergleichsbit: 0 1 0 1 Ergebnisbit: 0111 OR- INT, UINT Matrixlänge, Bereich: 1 ... 100. 0x Keine Gibt den Status des oberen Eingangs an 827 ODER: Logisches ODER ODER-Beispiel Wenn Kontakt 10001 aktiv ist, wird die Quellmatrix, die durch das Bitmuster in den Registern 40600 und 40601 gebildet wird, durch ODER mit der Zielmatrix verknüpft, die durch das Bitmuster in den Registern 40606 und 40607 gebildet wird. Das durch ODER verknüpfte Bitmuster wird dann in die Register 40606 und 40607 kopiert, wodurch das ursprüngliche Bitmuster überschrieben wird. Quellmatrix 40600 = 1111111100000000 40601 = 1111111100000000 40600 10001 40606 ODER 00002 Ursprüngliche Zielmatrix 40606 = 1111111111111111 40607 = 0000000000000000 Durch ODER verknüpfte Zielmatrix 40606 = 1111111111111111 40607 = 1111111100000000 ACHTUNG EINSCHRÄNKUNGEN BEI AUSGÄNGEN/SPULEN BEI DER ODERANWEISUNG Schalten Sie Ausgänge und Spulen bei Verwendung der ODER-Anweisung nicht aus. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. Hinweis: Wenn Sie das ursprüngliche Zielbitmuster der Register 40606 und 40607 beibehalten möchten, kopieren Sie die Informationen in eine andere Tabelle, indem Sie vor dem Ausführen der ODER-Operation die BLKM-Anweisung verwenden. 828 31007525 12/2006 ODER: Logisches ODER Parameterbeschreibung Matrixlänge (unterer Eintrag) 31007525 12/2006 Der im unteren Eintrag eingegebene Ganzzahlwert gibt die Matrixlänge an, d.h. die Anzahl der Register oder 16-Bit-Worte der beiden Matrizen. Die Matrixlänge kann im Bereich von 1 ... 100 liegen. Die Länge 2 gibt an, dass 32 Bits in jeder Matrix durch ODER verknüpft sind. 829 ODER: Logisches ODER 830 31007525 12/2006 PCFL: Bibliothek der Prozesssteuerfunktionen 129 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung PCFL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 832 Darstellung 833 Parameterbeschreibung 834 831 PCFL: Bibliothek der Prozesssteuerfunktionen Kurzbeschreibung Funktionsbeschreibung Die Instruktion PCFL ermöglicht Ihnen den Zugriff auf eine Bibliothek von Prozesssteuerfunktionen, die analoge Werte verwenden. PCFL-Operationen fallen in drei Kategorien. Erweiterte Rechenarten z Signalverarbeitung z Regelung z Eine PCFL-Funktion wird aus einer Liste alphabetischer Unterfunktionen in einen Pulldownmenü in der Steuerungssoftware ausgewählt, und die Unterfunktion wird im oberen Eintrag der Instruktion angezeigt (Liste der Unterfunktionen und Beschreibungen siehe S. 834). PCFL verwendet dieselbe Gleitkomma-Bibliothek wie EMTH. Falls die von Ihnen für PCFL verwendete SPS nicht über den integrierten 80x87 Koprozessor-Chip für mathematische Funktionen verfügt, ist die Ausführung von Berechnungen relativ zeitaufwändig. SPS mit dem Koprozessor für mathematische Funktionen können PCFL-Berechnungen zehnmal so schnell ausführen wie SPS ohne diesen Chip. Geschwindigkeit dürfte jedoch für die meisten herkömmlichen Prozesssteuerungsanwendungen, bei denen die Auflösungszeiten in Sekunden und nicht in Millisekunden gemessen werden, keine entscheidende Frage sein. 832 31007525 12/2006 PCFL: Bibliothek der Prozesssteuerfunktionen Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich Funktion Fehler Parameterbaustein PCFL Länge: 1 - 255 Länge Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine funktion (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Prozesssteuerfunktion Ein Indikator für die ausgewählte PCFLBibliotheksfunktion wird im oberen Knoten festgelegt. (Weitere Informationen finden Sie S. 834.) 4x INT, UINT, WORD Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Länge (unterer Knoten) INT, UINT Länge des Parameterblocks (abhängig von der ausgewählten Unterfunktion) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 833 PCFL: Bibliothek der Prozesssteuerfunktionen Parameterbeschreibung Funktion (oberer Eintrag) Eine Unterfunktion für die ausgewählte PCFL-Bibliotheksfunktion wird im oberen Eintrag festgelegt. Betrieb Unterfunktion Beschreibung Zeitabhängige Operationen Erweiterte Rechenarten AVER Mittelwert der gewichteten Eingänge Nein CALC Voreingestellte Formel berechnen Nein EQN Formatierter Gleichungsrechner Nein ALARM Zentrale Alarm-Behandlungsroutine für einen PV-Eingang Nein AIN Konvertiert Eingänge in skalierte physikalische Einheiten Nein AOUT Konvertiert Ausgänge in Werte im Bereich von 0 ... 4095 Nein DELAY Verzögerungswarteschlange Ja LKUP Verweistabelle Nein INTEG Eingang über ein spezifiziertes Intervall integrieren Ja LLAG Differenzier- oder Verzögerungsfilter erster Ordnung Ja LIMIT Begrenzer für die PV (niedrig/niedrig, niedrig, hoch, hoch/hoch) Nein LIMV Anstiegsbegrenzer für Änderungen in der Ja PV (niedrig, hoch) MODE Eingang auf Automatikbetrieb oder Handbetrieb setzen Nein RAMP Rampe mit konstantem Anstieg zum Sollwert Ja RMPLN Logarithmische Rampe zum Sollwert (~2/ Ja 3 näher zum Sollwert für jede Zeitkonstante) RATE Berechnung der Differentialrate über eine Ja spezifizierte Zeit SEL Wahl hoher/niedriger/mittlerer Eingang Signalverarbeitung 834 Nein 31007525 12/2006 PCFL: Bibliothek der Prozesssteuerfunktionen Erweiterte Rechenarten Betrieb Unterfunktion Beschreibung Zeitabhängige Operationen Regelung KPID Umfassende ISA ohne Wechselwirkung proportional-integral-differential (PID) Ja ONOFF Legt EIN/AUS-Werte für Totzone fest Nein PID PID-Algorithmen Ja PI ISA ohne Wechselwirkung PI (mit Merkmalen Stopp-/Hand-/ Automatikbetrieb) Ja RATIO Vier-Stations-Verhältnisregler Nein TOTAL Summierer für Dosierfluss Ja Die erweiterten Rechenarten werden für allgemeine mathematische Zwecke verwendet und sind nicht auf Prozesssteuerfunktionen beschränkt. Die erweiterten Rechenarten ermöglichen Ihnen, spezielle Signalverarbeitungsalgorithmen zu generieren, den Regelprozessstatus oder statistische Prozessmaßnahmen abzuleiten usw. Die EMTH-Instruktionen haben bereits einfache mathematische Programme angeboten. Die von PCFL angebotene Rechenfunktionalität ist ein Gleichungsrechner, der spezielle Gleichungen schreibt, anstatt verschiedene mathematische Operationen nacheinander zu programmieren. Signalverarbeitung Signalverarbeitungsfunktionen werden zum Einstellen von Prozess- und abgeleiteten Prozesssignalen verwendet. Dies kann auf vielerlei Weise geschehen; sie können ein Signal linearisieren, filtern, verzögern oder auf andere Weise ändern. Diese Kategorie würde solche Funktionen umfassen wie einen analogen Ein-/ Ausgang, Begrenzer, Differenzier-/Verzögerungsfilter (Lead/Lag) und RampenGeneratoren. Regelung Regelfunktionen führen in verschiedenartigen Applikationen geschlossene Regelungen durch. Typischerweise handelt es sich dabei um PID (Proportional Integral Differential)-Regelschleifen mit negativer Rückführung. Die PID-Funktionen von PCFL bieten verschiedene Funktionalitätsgrade. Die Funktion 75, PID, hat dieselbe allgemeine Funktionalität wie die Instruktion PID2, verwendet aber die mathematischen Funktionen mit Gleitkomma und stellt einige Optionen auf andere Weise dar. Die Verwendung von PID ist sinnvoll, wenn PID2 aus numerischen Gründen, wie z.B. Abrundung, nicht angewendet werden kann. Weitere Informationen finden Sie S. 21. 31007525 12/2006 835 PCFL: Bibliothek der Prozesssteuerfunktionen Parameterblock (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste in einem Block zusammenhängender Ausgangsregister, in denen die Parameter für die spezifizierte PCFL-Operation abgelegt werden. Die Art und Weise, wie die verschiedenen PCFL-Operation den Parameterblock implementieren, wird in der Beschreibung der verschiedenen Unterfunktionen (PCFL-Operationen) erläutert. Innerhalb des Parameterblockes einer jeden PCFL-Funktion existieren zwei Register, die für den Status von Eingang und Ausgang verwendet werden. Ausgangs-Flags In allen PCFL-Funktionen definieren die Bits 12 ... 16 des Ausgangsstatusregisters die folgenden Standard-Ausgangs-Flags: 1 2 Bit 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 - 11 Nicht verwendet 12 1 = Mathematischer Fehler - ungültiges Gleitkomma oder ungültiger Ausgang 13 1 = unbekannte PCFL-Funktion 14 nicht verwendet 15 1 = Größe der zugeordneten Registertabelle ist nicht ausreichend 16 1 = Es ist ein Fehler aufgetreten - unteren Ausgang aktivieren Für zeitabhängige PCFL-Funktionen werden die Bits 9 und 11 auch wie folgt genutzt: 1 836 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1-8 Nicht verwendet 9 1 = Initialisierung läuft 10 Nicht verwendet 11 1 = Ungültiges Auflösungsintervall 12 1 = Mathematischer Fehler - ungültiges Gleitkomma oder ungültiger Ausgang 13 1 = unbekannte PCFL-Funktion 14 nicht verwendet 15 1 = Größe der zugeordneten Registertabelle ist nicht ausreichend 16 1 = Es ist ein Fehler aufgetreten - unteren Ausgang aktivieren 31007525 12/2006 PCFL: Bibliothek der Prozesssteuerfunktionen Eingangs-Flags Bei allen PCFL-Funktionen definieren die Bits 1 und 3 des Eingangsstatusregisters die folgenden Standard-Eingangs-Flags: 1 Länge (unterer Eintrag) 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1 1 = Funktionsinitialisierung beendet oder läuft 0 = Die Funktion initialisieren 2 nicht verwendet 3 1 = Zeitgeber-Übersteuerung 4 -16 nicht verwendet 13 14 15 16 Der im unteren Eintrag eingegebene Ganzzahlwert legt die Länge, d.h. die Anzahl der Register des PCFL-Parameterblocks fest. Die maximal zulässige Länge ist von der Funktion abhängig, die Sie spezifizieren. 837 PCFL: Bibliothek der Prozesssteuerfunktionen 838 31007525 12/2006 PCFL-AIN: Analogeingang 130 Auf einen Blick Einleitung In diesem Kapitel ist die Unterfunktion PCFL-AIN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 840 Darstellung 841 Parameterbeschreibung 842 839 PCFL-AIN: Analogeingang Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die Funktion AIN skaliert den von analogen Eingangsmodulen erzeugten Roheingang in physikalische Einheiten um, welche in den nachfolgenden Berechnungen verwendet werden können. Es sind drei Skalierungsoptionen verfügbar. Auto-Eingangsskalierung z Handeingangsskalierung z Implementierung der Prozess-Quadratwurzel am Eingang, um das Signal vor der Skalierung zu linearisieren z 840 31007525 12/2006 PCFL-AIN: Analogeingang Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich AIN Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei AIN (oberer Knoten) 31007525 12/2006 Auswahl der Unterfunktion AIN Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 843. 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion AIN (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 841 PCFL-AIN: Analogeingang Parameterbeschreibung Funktionsweise AIN unterstützt die Bereichsauflösungen für folgende Gerätetypen: Bereiche physikalischer Einheiten bei Quantum Auflösung Bereich: Gültig Bereich: Unter Bereich: Über 10 V 768 ... 64 768 767 64 769 16 768 ... 48 768 16 767 48 769 0 ... 10 V 0 ... 64 000 0 64 001 0 ... 5 V 0 ... 32 000 0 32 001 1 ... 5 V 6 400 ... 32 000 6 399 32 001 V Quantum-Thermoelement Auflösung Bereich: Gültig Gradeinteilung des Thermoelements -454 ... +3 308 Einteilung 0,1 Grad -4 540 ... +32 767 Unverarbeitete Einheiten des Thermoelements 0 ... 65 535 Quantum-Spannungsmesser Auflösung 842 Bereich: Gültig Bereich: Unter Bereich: Über 10 V -10 000 ... +10 000 -10 001 +10 001 5V -5 000 ... +5 000 -5 001 +5 001 0 ... 10 V 0 ... 10 000 0 10 001 0 ... 5 V 0 ... 5 000 0 5 001 1 ... 5 V 1 000 ... 5 000 999 5 001 31007525 12/2006 PCFL-AIN: Analogeingang Parameterblock (mittlerer Eintrag) Ausgangszustand 31007525 12/2006 Die Länge des AIN-Parameterblocks beträgt 14 Register. Register Inhalt Angezeigt Eingang aus einem 3x-Register Erstes impliziertes Register Reserviert Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziert Skalierung 100 % physikalische Einheiten Sechstes und siebentes impliziertes Register Skalierung 0 % physikalische Einheiten Achtes und neuntes impliziertes Register Handeingang Zehntes und elftes impliziertes Register Auto-Eingang 12.und 13. impliziertes Register Ausgang Bit Funktion 1...5 Nicht verwendet 6 1 = Mit TC PSQRT, ungültig: Im Extrapolationsbereich wird PSQRT nicht verwendet. 7 1 = Eingang außerhalb des Bereichs 8 1 = Echo-Bereichsunterschreitung von Eingangsmodul 9 1 = Echo-Bereichsüberschreitung von Eingangsmodul 10 1 = Ungültiger Ausgangsmodus gewählt 11 1 = Ungültige physikalische Einheiten 12 ... 16 Standard-Ausgangsbits (Flags) 843 PCFL-AIN: Analogeingang Eingangszustand Bit Funktion 1 ... 3 Standard-Eingangsbits (Flags) 4 ... 8 Bereiche (siehe folgende Tabellen) 9 1 = Quadratwurzelverarbeitung mit Roheingang 10 1 = Manueller Skalierungsmodus 0 = Automatischer Skalierungsmodus 11 1 = Extrapolieren von Bereichsüber/-unterschreitung bei Automatikmodus 0 = Begrenzen von Bereichsüber/-unterschreitung bei Automatikmodus 12 ... 16 Nicht verwendet Bereiche physikalischer Einheiten bei Quantum Bit 4 5 6 7 8 Bereich 0 1 0 0 0 +/- 10V 0 1 0 0 1 +/-5V 0 1 0 1 0 0 ... 10 V 0 1 0 1 1 0 ... 5 V 0 1 1 0 0 1 ... 5 V Quantum-Thermoelement Bit 4 5 6 7 8 Bereich 0 1 1 0 1 Gradeinteilung des Thermoelements 0 1 1 1 0 Einteilung 0,1 Grad 0 1 1 1 1 Unverarbeitete Einheiten des Thermoelements Quantum-Spannungsmesser Bit 4 5 6 7 8 Bereich 1 0 0 0 0 +/- 10V 1 0 0 1 0 +/-5V 1 0 1 0 0 0 ... 10 V 1 0 1 1 0 0 ... 5 V 1 1 0 0 0 1 ... 5 V Hinweis: Bit 4 in diesem Register wird nicht dem Standard entsprechend verwendet. 844 31007525 12/2006 PCFL-ALARM: Central Alarm Handler 131 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-Alarm beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 846 Darstellung 847 Parameterbeschreibung 848 845 PCFL-ALARM: Central Alarm Handler Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Mit der ALARM-Funktion steht Ihnen eine zentrale Alarmeinheit zur Verfügung, wo Sie hohe (H), niedrige (L), hohe hohe (HH) und niedrige niedrige (LL) Grenzen bei einer Prozessvariablen setzen können. Durch ALARM können Sie Folgendes festlegen: normalen oder Abweichungs-Betriebsmodus z ob Sie H/L oder H/L- und HH/LL-Grenzen verwenden wollen z ob Sie Totzonen (DB) um Grenzwerte verwenden wollen oder nicht z 846 31007525 12/2006 PCFL-ALARM: Central Alarm Handler Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich ALRM Fehler Parameterbaustein PCFL #16 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine ALRM (oberer Knoten) Parameterblock (mittlerer Knoten) Auswahl der Unterfunktion ALARM 4x 16 (unterer Knoten) 31007525 12/2006 INT, UINT, Erstes in einem Block von benachbarten WORD Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 849. INT, UINT Länge des Parameterblocks für die Unterfunktion ALARM (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang Keine EIN = Fehler 0x 847 PCFL-ALARM: Central Alarm Handler Parameterbeschreibung Funktionsweise Die folgenden Betriebsmodi stehen zur Verfügung. Betriebsart Bedeutung Normaler Betriebsmodus ALARM sorgt für eine Operation unmittelbar am Eingang. Normal ist Standardzustand. AbweichungsBetriebsmodus ALARM sorgt für einen Wechsel zwischen aktuellem und letztem Eingang. Totzone Bei Freigabe ist die DB-Option in den HH/H/LL/L-Grenzwerten integriert. Diese berechneten Grenzwerte sind im größeren Bereich enthalten. Wenn z.B. der Eingang im hohen Bereich war, bleibt der Ausgang hoch und wechselt nicht, wenn der Eingang den berechneten H-Grenzwert erreicht. Operationen Ein Flag wird gesetzt, wenn der Eingang oder die Abweichung dem entsprechenden Grenzwert entspricht oder diesen übersteigt. Wenn die DB-Option verwendet wird, werden die HH, H-, LL-, L-Grenzwerte intern zum Prüfen der Grenzwertüberschreitung und zur Hysterese angepasst. Hinweis: ALARM führt automatisch den letzten Eingang nach, selbst wenn Sie einen normalen Betrieb angeben, um einen reibungslosen Übergang zum Abweichungs-Modus zu erleichtern. 848 31007525 12/2006 PCFL-ALARM: Central Alarm Handler Parameterblock (mittlerer Eintrag) Ausgangszustand Eingangszustand 31007525 12/2006 Die Länge des ALARM-Parameterblocks beträgt 16 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingangsregister Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register HH-Grenzwert Sechstes und siebentes impliziertes Register H-Grenzwert Achtes und neuntes impliziertes Register L-Grenzwert Zehntes und elftes impliziertes Register LL-Grenzwert 12.und 13. impliziertes Register Totzone um die Grenzwerte 14. und 15. impliziertes Register Letzter Eingang Bit Funktion 1 ... 4 Nicht verwendet 5 1 = Totzone auf negative Zahl festgelegt 6 1 = Abweichungs-Betrieb mit DB-Option ausgewählt 7 1 = LL überschritten (x ≤ LL 8 1 = L überschritten (x ≤ L oder LL < x ≤ L) mit gesetzter HH/LL-Option 9 1 = H überschritten (x ≥ H oder H ≤ x < HH) mit gesetzter HH/LL-Option 10 1 = HH überschritten (x ≥ HH) 11 1 = ungültige Grenzwerte festgelegt 12 ... 16 Standard-Ausgangsbits (Flags) Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = Abweichungs-Betrieb 0 = normaler Betrieb 6 1 = sowohl H/L- als auch HH/LL-Grenzwerte gelten 7 1 = DB freigegeben 8 1 = H/L-Flag speichern, wenn HH/LL-Grenzwerte überschritten sind 9 ... 16 Nicht verwendet 849 PCFL-ALARM: Central Alarm Handler 850 31007525 12/2006 PCFL-AOUT: Analogausgang 132 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-AOUT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 852 Darstellung 853 Parameterbeschreibung 854 851 PCFL-AOUT: Analogausgang Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die AOUT-Funktion dient als Schnittstelle für berechnete Signale von Ausgangsmodulen. Sie konvertiert das Signal in einen Wert im Bereich von 0 ... 4 096. Formel Formel der AOUT-Funktion: × ( IN – LEU -) OUT = scale -----------------------------------------------( HEU – LEU ) Bedeutung der Elemente: 852 Element Bedeutung HEU Obere physikalische Einheit IN Eingang LEU Untere physikalische Einheit OUT Ausgang Skalierung Skalierung 31007525 12/2006 PCFL-AOUT: Analogausgang Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich AOUT Fehler Parameterbaustein PCFL #9 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine AOUT (oberer Knoten) 31007525 12/2006 EIN = gibt die spezifizierte Prozesssteuerfunktion frei Auswahl der Unterfunktion AOUT Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 854. 9 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion AOUT (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 853 PCFL-AOUT: Analogausgang Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand Eingangszustand 854 Die Länge des AOUT-Parameterblocks beträgt 9 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingang in physikalischen Einheiten Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Obere physikalische Einheiten Sechstes und siebentes impliziertes Register Untere physikalische Einheiten Achtes und neuntes impliziertes Register Ausgang Bit Funktion 1 ... 7 Nicht verwendet 8 1 = Begrenzung niedrig 9 1 = Begrenzung hoch 10 nicht verwendet 11 1 = ungültige H/L-Grenzwerte 12 ... 16 Standard-Ausgangsbits (Flags) Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 31007525 12/2006 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen 133 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-AVER beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 856 Darstellung 857 Parameterbeschreibung 858 855 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Erweiterte Berechnung. Mit der AVER-Funktion kann der Mittelwert von bis zu 4 gewichteten Eingängen berechnet werden. Formel Formel der AVER-Funktion: ( k + ( w 1 × In 1 ) + ( w 2 × In 2 ) + ( w 3 × In 3 ) + ( w 4 × In 4 ) ) RES = ---------------------------------------------------------------------------------------------------------------------------------------1 + w1 + w2 + w3 + w4 Bedeutung der Elemente: 856 Element Bedeutung In1 ... In4 Eingänge k Konstante RES Ergebnis w1 ... w4 Gewichtungen 31007525 12/2006 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich AVER Fehler Parameterbaustein PCFL #24 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine AVER (oberer Knoten) Parameterblock (mittlerer Knoten) Auswahl der Unterfunktion AVER 4x 24 (unterer Knoten) 31007525 12/2006 INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 858. INT, UINT Länge des Parameterblocks für die Unterfunktion AVER (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 857 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand 858 Die Länge des AVER-Parameterblocks beträgt 24 Register. Register Inhalt Angezeigtes und erstes impliziertes Register reserviert Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Wert von In1 Sechstes und siebentes impliziertes Register Wert von Inv2 Achtes und neuntes impliziertes Register Wert von In3 Zehntes und elftes impliziertes Register Wert von In4 12.und 13. impliziertes Register Wert von k 14. und 15. impliziertes Register Wert von wv1 16. und 17. impliziertes Register Wert von wv2 18. und 19. impliziertes Register Wert von wv3 20. und 21. impliziertes Register Wert von wv4 22. und 23. impliziertes Register Wert des Ergebnisses 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 9 Nicht verwendet 10 1 = kein Eingänge aktiviert 11 1 = negatives Ergebnis 0 = positives Ergebnis 12 ... 16 Standard-Ausgangsbits (Flags) 10 11 12 13 14 15 16 31007525 12/2006 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge Eingangszustand 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = In4 und w4 werden verwendet 6 1 = In3 und w3 werden verwendet 7 1 = In2 und w2 werden verwendet 8 1 = In1 und w1 werden verwendet 9 1 = k ist aktiv 10 ... 16 Nicht verwendet 11 12 13 14 15 16 Ein Gewicht kann nur verwendet werden, wenn sein zugehöriger Eingang freigegeben ist, z.B. können die 20. und 21. implizierten Register (welche den Wert w4 enthalten) nur verwendet werden, wenn die 10. und 11. implizierten Register (welche In4 enthalten) freigegeben sind. I im Nenner wird nur verwendet, wenn die Konstante freigegeben ist. 31007525 12/2006 859 PCFL-AVER: Mittelung (Mittelwert) der gewichteten Eingänge berechnen 860 31007525 12/2006 PCFL-CALC: Berechnete Preset-Formel 134 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-CALC beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 862 Darstellung 863 Parameterbeschreibung 864 861 PCFL-CALC: Berechnete Preset-Formel Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Erweiterte Berechnung. Mit der CALC-Funktion kann eine Preset-Formel mit bis zu 4 Eingängen berechnet werden, wobei jeder in einem separaten Register des Parameterblocks behandelt wird. 862 31007525 12/2006 PCFL-CALC: Berechnete Preset-Formel Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich CALC Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine CALC (oberer Knoten) Parameterblock (mittlerer Knoten) Auswahl der Unterfunktion CALC 4x 14 (unterer Knoten) 31007525 12/2006 INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 864. INT, UINT Länge des Parameterblocks für die Unterfunktion CALC (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 863 PCFL-CALC: Berechnete Preset-Formel Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand 864 Die Länge des CALC-Parameterblocks beträgt 14 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Reserviert Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Wert von Eingang A Sechstes und siebentes impliziertes Register Wert von Eingang B Achtes und neuntes impliziertes Register Wert von Eingang C Zehntes und elftes impliziertes Register Wert von Eingang D 12.und 13. impliziertes Register Wert des Ausgangs 1 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1...10 Nicht verwendet 11 1 = ungültiger Eingangscode ausgewählt 12 ... 16 Standard-Ausgangsbits (Flags) 12 13 14 15 16 31007525 12/2006 PCFL-CALC: Berechnete Preset-Formel Eingangszustand 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 6 nicht verwendet 7 ... 10 Formelcode 11 ... 16 Nicht verwendet 11 12 13 14 15 16 Formelcode Bit 31007525 12/2006 Formelcode 7 8 9 10 0 0 0 1 (A × B) – (C × D) 0 0 1 1 (A × B) ⁄ (C × D) 0 1 0 0 A ⁄ (B × C × D) 0 1 0 1 (A × B × C) ⁄ D 0 1 1 0 A×B×C×D 0 1 1 1 A+B+C+D 1 0 0 0 A × B ( C –D ) 1 0 0 1 A[(B ⁄ C) ] 1 0 1 0 A × LN(B ⁄ C) 1 0 1 1 ( A – B ) – ( C – D ) ⁄ LN [ ( A – B ) ⁄ ( C – D ) ] 1 1 0 0 (A ⁄ B) 1 1 0 1 ( A –B ) ⁄ ( C – D ) D ( –C ⁄ D ) 865 PCFL-CALC: Berechnete Preset-Formel 866 31007525 12/2006 PCFL-DELAY: Zeitverzögerungs-Warteschlange 135 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-DELAY beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 868 Darstellung 869 Parameterbeschreibung 870 867 PCFL-DELAY: Zeitverzögerungs-Warteschlange Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die DELAY-Funktion kann verwendet werden, um mehrere Messungen für den Zeitverzögerungs-Ausgleich innerhalb einer Logik vorzunehmen. Bis zu 10 Sampling-Instanzen können zur Verzögerung eines Eingangs eingesetzt werden. Alle Werte werden über Register weitergeleitet, wobei Register x[0] den aktuellen abgetasteten Eingang beinhaltet. Die zehnte Verzögerungsperiode muss nicht gespeichert werden. Wenn die zehnte Instanz in der Sequenz an der Reihe ist, kann der Wert in Register x[9] direkt zum Ausgang geleitet werden. Eine DXDONE-Meldung wird ausgegeben, wenn die Berechnung abgeschlossen ist. Die Funktion kann durch Umschalten des ersten Zyklus-Bits zurückgesetzt werden. 868 31007525 12/2006 PCFL-DELAY: Zeitverzögerungs-Warteschlange Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich DELY Fehler Parameterbaustein PCFL #32 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei DELY (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion DELY 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 870. 32 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion DELY (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang Keine EIN = Fehler 0x 869 PCFL-DELAY: Zeitverzögerungs-Warteschlange Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des DELAY-Parameterblocks beträgt 32 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingang bei Zeit n Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register x[0] Verzögerung 12.und 13. impliziertes Register x[1] Verzögerung 14. und 15. impliziertes Register x[2] Verzögerung ... ... 28. und 29. impliziertes Register x[9] Verzögerung 30. und 31. impliziertes Register Ausgangsregister Ausgangszustand 1 2 Bit Eingangszustand 4 5 6 7 8 9 10 1...3 Nicht verwendet 4 1 = k außerhalb des Bereichs 5 ... 8 Zähler der Register zu initialisieren 9 ... 16 Standard-Ausgangsbits (Flags) 1 11 12 13 14 15 16 11 12 13 14 15 16 Funktion 2 Bit 870 3 3 4 5 6 7 8 9 10 Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 8 Zeitverzögerung ≤ 10 9 ... 11 Rückmeldung der Anzahl von Registern, die noch zu initialisieren sind 12 ... 16 Nicht verwendet 31007525 12/2006 PCFL-EQN: Formatierter Gleichungsrechner 136 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-EQN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 872 Darstellung 873 Parameterbeschreibung 874 871 PCFL-EQN: Formatierter Gleichungsrechner Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Erweiterte Berechnung. Bei der EQN-Funktion handelt es sich um einen formatierten Gleichungsrechner. Sie müssen die Gleichung im Parameterblock mit verschiedenen Codes definieren, die Operatoren, Eingangsauswahl und Eingänge festlegen. EQN wird für Gleichungen verwendet, die über vier oder weniger Variablen verfügen, aber nicht dem CALC-Format entsprechen. Es ergänzt die CALCFunktion, da Sie eine Gleichung mit Gleitkommazahl- und Ganzzahl-Eingängen sowie Operatoren eingeben können. 872 31007525 12/2006 PCFL-EQN: Formatierter Gleichungsrechner Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich EQN Fehler Parameterbaustein PCFL #64 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine EQN (oberer Knoten) Parameterblock (mittlerer Knoten) Auswahl der Unterfunktion EQN 4x 15 ... 64 (unterer Knoten) 31007525 12/2006 INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 874. INT, UINT Länge des Parameterblocks für die Unterfunktion EQN Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 873 PCFL-EQN: Formatierter Gleichungsrechner Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des EQN-Parameterblocks kann bis zu 64 Register betragen. Register Inhalt Angezeigtes und erstes impliziertes Register Reserviert Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Variable A Sechstes und siebentes impliziertes Register Variable B Achtes und neuntes impliziertes Register Variable C Zehntes und elftes impliziertes Register Variable D 12.und 13. impliziertes Register Ausgang 14. impliziertes Register Erster Formelcode 15. impliziertes Register Zweiter möglicher Formelcode ... ... 63. impliziertes Register Letztmöglicher Formelcode Ausgangszustand 874 1 2 3 4 5 Bit Funktion 1 Stapelfehler 6 7 8 9 10 11 2...3 Nicht verwendet 4 ... 8 Code des letzten Fehlers eingetragen 9 1 = ungültiger Operationsauswahlcode 10 1 = EQN nicht vollständig programmiert 11 1 = ungültiger Eingangscode ausgewählt 12 ... 16 Standard-Ausgangsbits (Flags) 12 13 14 15 16 31007525 12/2006 PCFL-EQN: Formatierter Gleichungsrechner Eingangszustand Formelcode 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 10 11 12 5 1 = Grad/Radiant-Option für Trigonometrie 6 ... 8 nicht verwendet 9 ... 16 Gleichungsgröße für Anzeige in Concept 13 14 15 16 Jeder Formelcode der EQN-Funktion legt entweder einen Eingangs-Auswahlcode oder einen Operator-Auswahlcode fest. Formelcode (Parameterblock) 1 2 3 Bit 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 ... 4 Nicht verwendet 5 ... 8 Definition der Eingangsauswahl 9 ... 11 Nicht verwendet 12 ... 16 Definition der Operatorauswahl Eingangsauswahl Bit 31007525 12/2006 Eingangsauswahl 5 6 7 8 0 0 0 0 Verwenden der Operatorauswahl 0 0 0 1 Gleitkomma-Eingang 0 0 1 1 16-Bit-Ganzzahl 1 0 0 0 Variable A 1 0 0 1 Variable B 1 0 1 0 Variable C 1 0 1 1 Variable D 875 PCFL-EQN: Formatierter Gleichungsrechner Operatorauswahl Bit 876 Operatorauswahl 12 13 14 15 16 0 0 0 0 0 Keine Operation 0 0 0 0 1 Absoluter Wert 0 0 0 1 0 Addition 0 0 0 1 1 Division 0 0 1 0 0 Exponent 0 0 1 1 1 LN (natürlicher Logarithmus) 0 1 0 0 0 G (Logarithmus) 0 1 0 0 1 Multiplikation 0 1 0 1 0 Negation 0 1 0 1 1 Exponent 0 1 1 0 0 Quadratwurzel 0 1 1 0 1 Subtraktion 0 1 1 1 0 Sinus 0 1 1 1 1 Cosinus 1 0 0 0 0 Tangens 1 0 0 0 1 Arcus-Sinus 1 0 0 1 0 Arcus-Cosinus 1 0 0 1 1 Arcus-Tangens 31007525 12/2006 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren 137 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-INTEG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 878 Darstellung 879 Parameterbeschreibung 880 877 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die INTEG-Funktion dient zur Integration während eines angegebenen Zeitintervalls. Bei dieser Funktion ist kein Schutz vor integralem Abschluss vorgesehen. INTEG ist zeitabhängig. Wenn Sie also einen Eingangswert von 1/s integrieren, kann es davon abhängen, ob die Operation eine Sekunde (dann lautet das Ergebnis 1) oder eine Minute (dann lautet das Ergebnis 60) abläuft. Sie können Flags setzen, um die Funktion nach einer unbestimmten Auszeit zu initialisieren oder neu zu starten. Sie können auch die Integral-Summe zurücksetzen, wenn Sie möchten. Wenn Sie das Flag zur Initialisierung setzen, müssen Sie einen Reset-Wert (0 oder den letzten Ausgang bei Stromausfall) angeben und die Berechnung wird für eine Stichprobe übersprungen. Die Funktion gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 878 31007525 12/2006 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich INTG Fehler Parameterbaustein PCFL #16 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei INTG (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion INTEG 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 880. 16 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion INTEG (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang Keine EIN = Fehler 0x 879 PCFL-INTEG: Eingang bei angegebenem Intervall integrieren Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des INTEG-Parameterblocks beträgt 16 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingangsstrom Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Letzter Eingang 12.und 13. impliziertes Register Wert zurücksetzen 14. und 15. impliziertes Register Ergebnis Ausgangszustand 1 3 4 5 6 7 8 9 Bit Funktion 1...8 Nicht verwendet 9 ... 16 Standard-Ausgangsbits (Flags) Eingangszustand 880 2 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 Summe zurücksetzen 6 ... 16 Nicht verwendet 10 11 12 13 14 15 16 10 11 12 13 14 15 16 31007525 12/2006 PCFL-KPID: Umfassende, nicht interaktive ISA-PID 138 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-KPID beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 882 Darstellung 883 Parameterbeschreibung 884 881 PCFL-KPID: Umfassende, nicht interaktive ISA-PID Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die KPID-Funktion bietet mit der PID-Funktion eine übergeordnete Funktionalität mit zusätzlichen Funktionsmerkmalen: z Verstärkungsreduzierungszone z Ein separates Register für stoßfreie Übertragung, wenn der Integralanteil nicht verwendet wird z Reset-Betrieb z Einen externen Sollwert für Kaskadenregelung z Integrierte Geschwingigkeitsbegrenzer für Änderungen von Sollwert und Handausgang z Eine variable Differential-Filterkonstante z Optionale Erweiterung von Anti-Reset-Abschlussgrenzwerten 882 31007525 12/2006 PCFL-KPID: Umfassende, nicht interaktive ISA-PID Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich KPID Fehler Parameterbaustein PCFL #64 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine KPID (oberer Knoten) Parameterblock (mittlerer Knoten) Auswahl der Unterfunktion KPID 4x 64 (unterer Knoten) 31007525 12/2006 INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 884. INT, UINT Länge des Parameterblocks für die Unterfunktion KPID (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 883 PCFL-KPID: Umfassende, nicht interaktive ISA-PID Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des KPID-Parameterblocks beträgt 64 Register: Allgemeine Parameter Eingangsparameter Eingänge 884 Register Inhalt Angezeigtes und erstes impliziertes Register Realer Eingang, x Zweites impliziertes Register Ausgangsstatus, Register 1 Drittes impliziertes Register Ausgangsstatus, Register 2 Viertes impliziertes Register Reserviert Fünftes impliziertes Register Eingangszustand Sechstes und siebentes impliziertes Register Proportionale Rate, KP Achtes und neuntes impliziertes Register Rücksetzungszeit, TI Zehntes und elftes impliziertes Register Vorhaltezeit, TD 12.und 13. impliziertes Register Verzögerungszeitkonstante, TD1 14. und 15. impliziertes Register Verstärkungsreduzierungszone, GRZ 16. und 17. impliziertes Register Verstärkungsreduzierungszone in GRZ, KGRZ 18. und 19. impliziertes Register Grenzwertanstieg des Handsollwerts 20. und 21. impliziertes Register Grenzwertanstieg des Handausgangs 22. und 23. impliziertes Register Oberer Grenzwert für Y 24. und 25. impliziertes Register Unterer Grenzwert für Y 26. und 27. impliziertes Register Erweiterung für Anti-ResetAbschlussgrenzwerte 28. und 29. impliziertes Register Externer Sollwert für Kaskadenregelung 30. und 31. impliziertes Register Handsollwert 32. und 33. impliziertes Register Hand Y 34. und 35. impliziertes Register Reset für Y 36. und 37. impliziertes Register Bezugswert 31007525 12/2006 PCFL-KPID: Umfassende, nicht interaktive ISA-PID Register Ausgänge Zeitangaben Ausgang Ausgangsstatus, Register 1 31007525 12/2006 1 2 3 Inhalt 38. und 39. impliziertes Register Stoßfreies Transfer-Register, BT 40. und 41. impliziertes Register Berechnete Regeldifferenz (Differenzglied), XD 42. impliziertes Register Vorheriger Betriebsmodus 43. und 44. impliziertes Register Dt (in ms) seit letztem Zyklus 45. und 46. impliziertes Register Vorherige Regeldifferenz, XD_1 47. und 48. impliziertes Register Vorheriger Eingang, X_1 49. und 50. impliziertes Register Integralteil fürY, YI 51. und 52. impliziertes Register Differentialteil fürY, YD 53. und 54. impliziertes Register Sollwert, SP 55. und 56. impliziertes Register Proportionaler Teil für Y, YP 57. impliziertes Register Vorheriger Betriebsstatus 58. impliziertes Register 10 ms Uhr bei Zeit n 59. impliziertes Register Reserviert 60. und 61. impliziertes Register Auflösungsintervall (in ms) 62. und 63. impliziertes Register Ausgangsstellgröße, Y 4 5 6 7 8 9 10 Bit Funktion 1 Fehler 2 1 = unterer Grenzwert überschritten 3 1 = oberer Grenzwert überschritten 4 1 = Kaskadenbetrieb ausgewählt 5 1 = Automatikbetrieb ausgewählt 6 1 = Haltbetrieb ausgewählt 7 1 = Handbetrieb ausgewählt 8 1 = Reset-Betrieb ausgewählt 9 ... 16 Standard-Ausgangsbits (Flags) 11 12 13 14 15 16 885 PCFL-KPID: Umfassende, nicht interaktive ISA-PID Ausgangsstatus, Register 2 1 3 4 5 6 7 8 9 10 Bit Funktion 1...4 Nicht verwendet 5 1 = Vorheriger D-Betrieb ausgewählt 6 1 = Vorheriger I-Betrieb ausgewählt 7 1 = Vorheriger P-Betrieb ausgewählt 8 1 = Vorheriger Betrieb ausgewählt 9 ... 16 Nicht verwendet Eingangszustand 886 2 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 10 11 12 13 14 15 16 11 12 13 14 15 16 5 1 = Reset-Betrieb 6 1 = Handbetrieb 7 1 = Haltbetrieb 8 1 = Kaskadenbetrieb 9 1 = proportionalen Algorithmus ausführen 10 1 = integralen Algorithmus ausführen 11 1 = Differentialalgorithmus ausführen 12 1 = Differentialalgorithmus basierend auf x ausführen 0 = Differentialalgorithmus basierend auf xd ausführen 13 1 = Anti-Reset-Abschluss nur bei YI 0 = normaler Anti-Reset-Abschluss 14 1 = stoßfreie Übertragung sperren 0 = stoßfreie Übertragung 15 1 = Hand Y führt Y nach 16 1 = umgekehrte Aktion für Schleifenausgang 0 = direkte Aktion für Schleifenausgang 31007525 12/2006 PCFL-LIMIT: Begrenzer für Pv 139 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-LIMIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 888 Darstellung 889 Parameterbeschreibung 890 887 PCFL-LIMIT: Begrenzer für Pv Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die LIMIT-Funktion begrenzt den Eingang auf einen Bereich zwischen einem festgelegten oberen und unteren Wert. Wenn der obere oder untere Grenzwert erreicht ist, setzt die Funktion ein H- oder L-Flag und begrenzt den Ausgang. LIMIT gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 888 31007525 12/2006 PCFL-LIMIT: Begrenzer für Pv Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich LIMIT Fehler Parameterbaustein PCFL #9 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine LIMIT (oberer Knoten) Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 890. 9 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion LIMIT (kann nicht geändert werden) Oberer Ausgang 31007525 12/2006 Auswahl der Unterfunktion LIMIT 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 889 PCFL-LIMIT: Begrenzer für Pv Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des LIMIT-Parameterblocks beträgt 9 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Aktueller Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Unterer Grenzwert Sechstes und siebentes impliziertes Register Oberer Grenzwert Achtes impliziertes Register Ausgangsregister Ausgangszustand Eingangszustand 1 2 4 5 6 Bit Funktion 1...8 Nicht verwendet 7 8 9 10 9 1 = Eingang < unterer Grenzwert 10 1 = Eingang > oberer Grenzwert 11 12 13 14 15 11 1 = ungültige obere/untere Grenzwerte (z.B. untere ≥ obere 12 ... 16 Standard-Ausgangsbits (Flags) 1 2 Bit 890 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 16 Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 31007525 12/2006 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv 140 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-LIMV beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 892 Darstellung 893 Parameterbeschreibung 894 891 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die LIMV-Funktion begrenzt die Geschwindigkeitsänderung in der Eingangsvariablen zwischen einem festgelegten oberen und unteren Wert. Wenn der obere oder untere Grenzwert erreicht ist, setzt die Funktion ein H- oder L-Flag und begrenzt den Ausgang. LIMV gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 892 31007525 12/2006 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich LIMV Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine LIMV (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion LIMV 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Ausführliche Informationen finden Sie S. 894.) 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion LIMV (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 893 PCFL-LIMV: Geschwindigkeitsbegrenzer für Änderungen in Pv Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des LIMV-Parameterblocks beträgt 14 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingangsregister Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Anstiegsbegrenzung /s 12.und 13. impliziertes Register Ergebnis Ausgangszustand 1 2 Bit Eingangszustand 894 3 4 5 6 7 8 9 10 12 13 14 15 16 11 12 13 14 15 16 Funktion 1...5 Nicht verwendet 6 1 = negative Anstiegsbegrenzung 7 1 = Eingang < unterer Grenzwert 8 1 = Eingang > oberer Grenzwert 9 ... 16 Standard-Ausgangsbits (Flags) 1 11 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 10 31007525 12/2006 PCFL-LKUP: Linearisierungstabelle 141 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-LKUP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 896 Darstellung 897 Parameterbeschreibung 898 895 PCFL-LKUP: Linearisierungstabelle Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die LKUP-Funktion erstellt über einen linearen Algorithmus eine Linearisierungstabelle zur Interpolation zwischen Punkten. LKUP kann Variablen-Punktintervalle und Variablen-Punktanzahl verarbeiten. 896 31007525 12/2006 PCFL-LKUP: Linearisierungstabelle Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich LKUP Fehler Parameterbaustein PCFL #39 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine LKUP (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion LKUP 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 899.) 39 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion LKUP (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 897 PCFL-LKUP: Linearisierungstabelle Parameterbeschreibung Funktionsweise Die LKUP-Funktion erstellt über einen linearen Algorithmus eine Linearisierungstabelle zur Interpolation zwischen Punkten. LKUP kann Variablen-Punktintervalle und Variablen-Punktanzahl verarbeiten. Wenn der Eingang (x) außerhalb des festgelegten Punktebereichs liegt, wird der Ausgang (y) auf den entsprechenden Ausgang y0 oder yn begrenzt. Wenn die festgelegte Länge des Parameterblocks zu klein ist oder die Anzahl der Punkte außerhalb des Grenzbereichs liegt, prüft die Funktion xn nicht, weil die Informationen des Zeigers ungültig sind. Zu interpolierende Punkte werden durch einen binären Suchalgorithmus bestimmt, der in der Nähe des Zentrums von x-Daten beginnt. Die Suche ist gültig für x1 < x < xn. Die Variable x kann mehrere Male mit dem gleichen Wert auftreten. Bei dem aus der Linearisierungstabelle gewählten Wert handelt es sich um die erste gefundene Instanz. Wenn die Tabelle z.B.: x y 10,0 1,0 20,0 2,0 30,0 3,0 30,0 3,5 40,0 4,0 dann findet ein Eingang von 30,0 die erste Instanz von 30,0 und weist 3,0 als Ausgang zu. Ein Eingang von 31,0 würde den Wert 3,55 als Ausgang zuweisen. Kein Sortieren erfolgt in der Linearisierungstabelle. Unabhängige VariablenTabellenwerte müssen in aufsteigender Reihenfolge eingegeben werden, um übermäßige Lücken in der Tabelle zu vermeiden. Die Funktion gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 898 31007525 12/2006 PCFL-LKUP: Linearisierungstabelle Parameterblock (mittlerer Eintrag) Die Länge des LKUP-Parameterblocks beträgt 39 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Anzahl Punktpaare Fünftes und sechstes impliziertes Register Punkt x1 Siebentes und achtes impliziertes Register Punkt y1 Neuntes und zehntes impliziertes Register Punkt x2 Elftes und zwölftes impliziertes Register Punkt y2 ... ... 33. und 34. impliziertes Register Ausgangszustand Eingangszustand 31007525 12/2006 Punkt x8 35. und 36. impliziertes Register Punkt y8 37. und 38. impliziertes Register Ausgang 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit Funktion 1 ... 9 Nicht verwendet 10 1 = Eingang begrenzt, d.h. außerhalb des Tabellenbereichs 11 ! = Ungültige Anzahl von Stützstellen 12 ... 16 Standard-Ausgangsbits (Flags) 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 10 11 12 13 14 15 16 16 899 PCFL-LKUP: Linearisierungstabelle 900 31007525 12/2006 PCFL-LLAG: Differenzieroder Verzögerungsfilter erster Ordnung 142 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-LLAG beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 902 Darstellung 903 Parameterbeschreibung 904 901 PCFL-LLAG: Differenzier- oder Verzögerungsfilter erster Ordnung Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die LLAG-Funktion sorgt für einen dynamischen Ausgleich bei einer bekannten Störung. Sie tritt gewöhnlich bei einem Voreilalgorithmus oder als dynamischer Filter auf. LLAG durchläuft den Eingang über einen Filter mit Differenzierzeitkonstante (Zähler) und Verzögerungszeitkonstante (Nenner) im Frequenzbereich und multipliziert diesen dann mit einer Verstärkung. Differenzier-, Verzögerungszeit, Verstärkung und Auflösungsintervall müssen benutzerspezifisch sein. Optimale Ergebnisse erhalten Sie, wenn Sie die Differenzierzeit- und Verzögerungszeitkonstanten ≥ 4 *Δt verwenden. Dadurch wird eine ausreichende Auflösung in der Ausgangsgröße erreicht. LLAG gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 902 31007525 12/2006 PCFL-LLAG: Differenzier- oder Verzögerungsfilter erster Ordnung Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich LLAG Fehler Parameterbaustein PCFL #20 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine LLAG (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion LLAG 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 904.) 20 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion LLAG (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 903 PCFL-LLAG: Differenzier- oder Verzögerungsfilter erster Ordnung Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand Eingangszustand 904 Die Länge des LLAG-Parameterblocks beträgt 20 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingangsstrom Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Letzter Eingang 12.und 13. impliziertes Register Differenzierzeitkonstante 14. und 15. impliziertes Register Verzögerungszeitkonstante 16. und 17. impliziertes Register Filterverstärkung 18. und 19. impliziertes Register Ergebnis 1 2 3 4 5 6 7 8 9 Bit Funktion 1...8 Nicht verwendet 9 ... 16 Standard-Ausgangsbits (Flags) 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 10 11 12 13 14 15 16 10 11 12 13 14 15 16 31007525 12/2006 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen 143 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-MODE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 906 Darstellung 907 Parameterbeschreibung 908 905 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die MODE-Funktion definiert eine Hand- oder Automatik-Station, um Datenübertragungen zum nächsten Block freizugeben oder zu sperren. Diese Funktion geht wie eine Instruktion BLKM vor, die einen Wert zum Ausgangsregister bewegt. Im Automatikbetrieb wird der Eingang zum Ausgang kopiert. Im Handbetrieb wird der Ausgang durch einen Benutzereintrag überschrieben. MODE gibt eine DXDONE-Meldung aus, wenn die Operation abgeschlossen ist. 906 31007525 12/2006 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich MODE Fehler Parameterbaustein PCFL #8 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine MODE (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion MODE 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 908.) 8 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion MODE (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 907 PCFL-MODE: Eingang auf Automatik- oder Handbetrieb setzen Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des MODE-Parameterblocks beträgt 8 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Handeingang Sechstes und siebentes impliziertes Register Ausgangsregister Ausgangszustand 1 2 Bit 4 5 6 7 8 9 Nicht verwendet 11 Echo-Betrieb: 1 = Handbetrieb 0 = Automatikbetrieb 12 ... 16 Standard-Ausgangsbits (Flags) 1 10 11 12 13 14 15 16 10 11 12 13 14 15 16 Funktion 1 ... 10 Eingangszustand 2 Bit 908 3 3 4 5 6 7 8 9 Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = Handbetrieb 0 = Automatikbetrieb 6 ... 16 Nicht verwendet 31007525 12/2006 PCFL-ONOFF: EIN/AUS-Werte für Totzone 144 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-ONOFF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 910 Darstellung 911 Parameterbeschreibung 912 909 PCFL-ONOFF: EIN/AUS-Werte für Totzone Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die ONOFF-Funktion dient zum Steuern des Ausgangssignals zwischen Fully EINund Fully AUS-Zuständen, damit der Benutzer den Ausgang manuell auf EIN oder AUS forcieren kann. Sie können den Ausgang entweder über eine direkte oder umgekehrte Konfiguration steuern: Konfiguration Wenn Eingang ... dann Ausgang Direkt < (SP - DB) EIN > (SP + DB) AUS Umgekehrt Überschreiben von Hand 910 > (SP + DB) EIN < (SP - DB) AUS Zwei Bits im Eingangsstatuswort (das dritte implizierte Register im Parameterblock) werden für das Überschreiben von Hand verwendet. Wenn Bit 6 auf 1 gesetzt, wird Handbetrieb durchgeführt. Beim Handbetrieb forciert eine 0 in Bit 7 den Ausgang auf AUS und eine 1 in Bit forciert ihn auf EIN. Der Status von Bit 7 ist nur im Handbetrieb von Bedeutung. 31007525 12/2006 PCFL-ONOFF: EIN/AUS-Werte für Totzone Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich ONOFF Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine ONOFF (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion ONOFF 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 912.) 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion ONOFF (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 911 PCFL-ONOFF: EIN/AUS-Werte für Totzone Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des ONOFF-Parameterblocks beträgt 14 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Eingangsstrom Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Sollwert, SP Sechstes und siebentes impliziertes Register Totzone um SP Achtes und neuntes impliziertes Register Fully EIN (maximaler Ausgang) Zehntes und elftes impliziertes Register Fully AUS (minimaler Ausgang) 12.und 13. impliziertes Register Ausgang, EIN oder AUS Ausgangszustand 912 1 2 3 4 5 6 7 8 9 10 11 Bit Funktion 1 ... 8 Nicht verwendet 9 1 = Totzone auf negative Zahl festgelegt 10 Echo-Betrieb: 1 = Überschreiben von Hand 0 = Automatikbetrieb 11 1 = Ausgang auf EIN gesetzt 0 = Ausgang auf AUS gesetzt 12 ... 16 Standard-Ausgangsbits (Flags) 12 13 14 15 16 31007525 12/2006 PCFL-ONOFF: EIN/AUS-Werte für Totzone Eingangszustand 31007525 12/2006 1 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = umgekehrte Konfiguration 0 = direkte Konfiguration 6 1 = Überschreiben von Hand 0 = Automatikbetrieb 7 1 = Ausgang EIN in Handbetrieb forcieren 0 = Ausgang AUS in Handbetrieb forcieren 8 ... 16 Nicht verwendet 13 14 15 16 913 PCFL-ONOFF: EIN/AUS-Werte für Totzone 914 31007525 12/2006 PCFL-PI: Nicht interaktive ISA-PI 145 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-PI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 916 Darstellung 917 Parameterbeschreibung 918 915 PCFL-PI: Nicht interaktive ISA-PI Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die PI-Funktion führt einfache proportional-integrale Operationen anhand mathematischer Funktionen mit Gleitkomma durch. Zur Funktion gehören Halt-/ Hand- und Automatikbetrieb. Sie ähnelt den Funktionen PID und KPID, aber weist nicht so viele Optionen auf. Sie ist verfügbar für Hochgeschwindigkeits- oder innere Regelkreise in der Kaskadierung. 916 31007525 12/2006 PCFL-PI: Nicht interaktive ISA-PI Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich PI Fehler Parameterbaustein PCFL #36 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine PI (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion PI 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 918.) 36 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion PI (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 917 PCFL-PI: Nicht interaktive ISA-PI Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des PI-Parameterblocks beträgt 36 Register. Allgemeine Parameter Eingänge Ausgänge Zeitangaben Eingangsparameter Ausgang 918 Register Inhalt Angezeigtes und erstes impliziertes Register Realer Eingang, x Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Fehlerwort Viertes impliziertes Register Reserviert Fünftes impliziertes Register Eingangszustand Sechstes und siebentes impliziertes Register Sollwert, SP Achtes und neuntes impliziertes Register Handausgang Zehntes und elftes impliziertes Register Berechnete Regeldifferenz (Fehler), XD Zwölftes impliziertes Register Vorheriger Betriebsmodus 13. und 14. impliziertes Register Dt (in ms) seit letztem Zyklus 15. und 16. impliziertes Register Vorherige Regeldifferenz, XD_1 17. und 18. impliziertes Register Integralteil von Ausgang Y 19. und 20. impliziertes Register Vorheriger Eingang, X_1 21. impliziertes Register Vorheriger Betriebsstatus 22. impliziertes Register 10 ms Uhr bei Zeit n 23. impliziertes Register Reserviert 24. und 25. impliziertes Register Auflösungsintervall (in ms) 26. und 27. impliziertes Register Proportionale Rate, KP 28. und 29. impliziertes Register Rücksetzungszeit, TI 30. und 31. impliziertes Register Oberer Grenzwert für Ausgang Y 32. und 33. impliziertes Register Unterer Grenzwert für Ausgang Y 34. und 35. impliziertes Register Ausgangsstellgröße, Y 31007525 12/2006 PCFL-PI: Nicht interaktive ISA-PI Ausgangszustand 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 Fehler 2 1 = unterer Grenzwert überschritten 3 1 = oberer Grenzwert überschritten 4 ... 8 Nicht verwendet 9 ... 16 Standard-Ausgangsbits (Flags) 11 12 13 14 15 16 11 12 13 14 15 16 Fehlerwort 1 2 3 4 5 6 7 8 Bit Funktion 1...11 Nicht verwendet 12 ... 16 Fehlerbeschreibung 9 10 Fehlerbeschreibung Bit 13 14 15 16 1 0 1 1 0 Negative Nachstellzeit-Konstante 1 0 1 0 1 Oberer/unterer Grenzwertfehler (unten ≥ oben) Eingangszustand 31007525 12/2006 Bedeutung 12 1 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 Nicht verwendet 6 1 = Handbetrieb 7 1 = Haltbetrieb 8 ... 15 Nicht verwendet 16 1 = umgekehrte Aktion für Schleifenausgang 0 = direkte Aktion für Schleifenausgang 13 14 15 16 919 PCFL-PI: Nicht interaktive ISA-PI 920 31007525 12/2006 PCFL-PID: PID-Algorithmen 146 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-PID beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 922 Darstellung 923 Parameterbeschreibung 924 921 PCFL-PID: PID-Algorithmen Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die PID-Funktion führt nicht interaktive, proportional-integrale ISA-DifferentialOperationen (PID) anhand mathematischer Funktionen mit Gleitkomma durch. Sie verwendet FP-Math (ganz anders als bei PID2), Rundungsfehler sind zu vernachlässigen. Im Abschnitt "Allgemeine Informationen" finden Sie S. 25. 922 31007525 12/2006 PCFL-PID: PID-Algorithmen Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich PID Fehler Parameterbaustein PCFL #44 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine PID (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion PID 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 924.) 44 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion PID (kann nicht geändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 923 PCFL-PID: PID-Algorithmen Parameterbeschreibung Parameterblock (mittlerer Eintrag) Allgemeine Parameter Eingänge Ausgänge Zeitangaben Eingänge 924 Die Länge des KPID-Parameterblocks beträgt 44 Register. Register Inhalt Angezeigtes und erstes impliziertes Register Realer Eingang, x Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Fehlerwort Viertes impliziertes Register Reserviert Fünftes impliziertes Register Eingangszustand Sechstes und siebentes impliziertes Register Sollwert, SP Achtes und neuntes impliziertes Register Handausgang Zehntes und elftes impliziertes Register Summenverbindung, Bezugswert 12.und 13. impliziertes Register Fehler, XD 14. impliziertes Register Vorheriger Betriebsmodus 15. und 16. impliziertes Register Abgelaufene Zeit (in ms) seit letztem Zyklus 17. und 18. impliziertes Register Vorherige Regeldifferenz, XD_1 19. und 20. impliziertes Register Vorheriger Eingang, X_1 21. und 22. impliziertes Register Integralteil von Ausgang Y, YI 23. und 24. impliziertes Register Differentialteil von Ausgang Y, YD 25. und 26. impliziertes Register Proportionaler Teil von Ausgang Y, YP 27. impliziertes Register Vorheriger Betriebsstatus 28. impliziertes Register Aktuelle Zeit 29. impliziertes Register Reserviert 30. und 31. impliziertes Register Auflösungsintervall (in ms) 34. und 35. impliziertes Register Rücksetzungszeit, TI 36. und 37. impliziertes Register Vorhaltezeit, TD 38. und 39. impliziertes Register Oberer Grenzwert für Ausgang Y 40. und 41. impliziertes Register Unterer Grenzwert für Ausgang Y 42. und 43. impliziertes Register Manipulierter Steuerausgang, Y 31007525 12/2006 PCFL-PID: PID-Algorithmen Ausgangszustand 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 Fehler 2 1 = unterer Grenzwert überschritten 3 1 = oberer Grenzwert überschritten 4 ... 8 Nicht verwendet 9 ... 16 Standard-Ausgangsbits (Flags) 11 12 13 14 15 16 11 12 13 14 15 16 Fehlerwort 1 2 3 4 5 6 7 8 Bit Funktion 1...11 Nicht verwendet 12 ... 16 Fehlerbeschreibung 9 10 Fehlerbeschreibung Bit 31007525 12/2006 Bedeutung 12 13 14 15 16 1 0 1 1 1 Negativer Differenzierbeiwert 1 0 1 1 0 Negative Nachstellzeit-Konstante 1 0 1 0 1 Oberer/unterer Grenzwertfehler (unten ≥ oben) 925 PCFL-PID: PID-Algorithmen Eingangszustand 926 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 10 11 5 Nicht verwendet 6 1 = Handbetrieb 7 1 = Haltbetrieb 8 Nicht verwendet 9 1 = proportionalen Algorithmus ausführen 10 1 = integralen Algorithmus ausführen 12 13 14 11 1 = Differentialalgorithmus ausführen 12 1 = Differentialalgorithmus basierend auf x ausführen 0 = Differentialalgorithmus basierend auf xd ausführen 13... 15 Nicht verwendet 16 1 = umgekehrte Aktion für Schleifenausgang 0 = direkte Aktion für Schleifenausgang 15 16 31007525 12/2006 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate 147 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-RAMP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 928 Darstellung 929 Parameterbeschreibung 930 927 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Mit der RAMP-Funktion können Sie bei einer festgelegten Annäherungsgeschwindigkeit eine lineare Zweiflankensteuerung zu einem Zielsollwert durchführen. Folgendes müssen Sie dabei angeben: Der Zielsollwert sowie die Inhalte des Eingangsregisters sind in den gleichen Einheiten angegeben. z Messwerterfassungsrate z Eine positive Rate zum Zielsollwert, negative Raten sind ungültig z Die Richtung der Rampe ist abhängig vom Verhältnis zwischen Zielsollwert und Eingang, d.h. wenn x < SP, dann ist die Rampe oben; wenn x > SP, ist die Rampe unten. Sie können ein Flag einsetzen, um nach einer unbestimmten Auszeit zu initialisieren. Die Funktion speichert ein neues Beispiel und wartet dann auf einen Zyklus, um das zweite Beispiel zu erfassen. Berechnungen werden einen Zyklus lang übersprungen und der Ausgang bleibt unverändert, nachdem die Rampe wieder bewegt wird. RAMPE ist beendet, wenn die ganze Rampen-Operation abgeschlossen ist (nach Mehrfachzyklen) und eine DXDONE-Meldung ausgegeben wird. Starten der Rampe Die folgenden Schritte sind erforderlich beim Starten der Rampe (nach oben/unten) und jedes Mal, wenn sie gestartet oder wieder gestartet werden muss. Schritt 928 Aktion 1 Setzen Sie Bit 1 der Standard-Eingangsbits auf "1" (drittes impliziertes Register des Parameterblocks). 2 Schalten Sie entsprechend der Instruktion den oberen Eingang um (Eingang freigeben). Die Rampe wird nun anfangen, von dem vorher konfigurierten Initialwert aus nach oben/unten zum zuvor konfigurierten Sollwert zu laufen. Überwachen Sie das 12. implizierte Register des Parameterblocks bezüglich des Gleitkommawerts der sich verändernden Rampe. 31007525 12/2006 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich RAMP Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei RAMP (oberer Knoten) Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 930.) 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion RAMP (kann nicht verändert werden) Oberer Ausgang 31007525 12/2006 Markierung der Unterfunktion RAMP 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 929 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des RAMP-Parameterblocks beträgt 14 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Sollwert (Eingang) Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Anstiegsveränderung (pro Sekunde) auf den Sollwert zu 12.und 13. impliziertes Register Ausgang Ausgangszustand Eingangszustand 930 1 2 3 4 5 6 Bit Funktion 1 ... 4 Nicht verwendet 7 8 9 10 11 5 1 = Rampenänderungsrate ist negativ 6 1 = Rampe beendet 0 = Rampe in Veränderung 7 1 = Rampe verläuft nach unten 8 1 = Rampe verläuft nach oben 9 ... 16 Standard-Ausgangsbits (Flags) 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 10 11 12 13 14 15 16 12 13 14 15 16 31007525 12/2006 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate Oberer Ausgang (Befehl erfolgreich) Der obere Ausgang der PCFL-Unterfunktion RAMP wird bei jedem benachbarten binären Rampenschritt nach oben/unten aktiv. Dies geschieht so schnell, dass er ständig aktiv zu sein scheint. Dieser obere Ausgang sollte NICHT als "Rampe-fertigBit" verwendet werden. Bit 6 des Ausgang-Status-Registers (zweites impliziertes Register des Parameterblocks) sollte als "Rampe-fertig-Bit" verwendet werden. 31007525 12/2006 931 PCFL-RAMP: Rampe zu Sollwert bei konstanter Rate 932 31007525 12/2006 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Zeit 148 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-RATE beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 934 Darstellung 935 Parameterbeschreibung 936 933 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Zeit Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die RATE-Funktion berechnet die Anstiegsveränderung über die letzten zwei Eingangswerte. Wenn man ein Initialisierungflag setzt, zeichnet die Funktion ein Muster auf und setzt die entsprechenden Flags. Wenn versucht wird, eine Operation "Division durch Null" auszuführen, gibt die Funktion eine DXERROR-Meldung aus. Es gibt eine DXDONE-Meldung aus, wenn die Operation erfolgreich abgeschlossen wird. 934 31007525 12/2006 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich RATE Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei RATE (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Markierung der Unterfunktion RATE 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 936.) 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion RATE (lässt sich nicht verändern) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 935 PCFL-RATE: Berechnung der Differentialrate über eine festgelegte Zeit Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand Eingangszustand Die Länge des RATE-Parameterblocks beträgt 14 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Aktueller Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Letzter Eingang 12.und 13. impliziertes Register Ergebnis 1 2 4 5 6 7 8 9 Bit Funktion 1 ... 8 Nicht verwendet 9 ... 16 Standard-Ausgangsbits (Flags) 1 2 Bit 936 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 11 12 13 14 15 16 Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 31007525 12/2006 PCFL-RATIO: Vier-Stationen-Verhältnisregler 149 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-RATIO beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 938 Darstellung 939 Parameterbeschreibung 940 937 PCFL-RATIO: Vier-Stationen-Verhältnisregler Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die RATIO-Funktion stellt einen Vier-Stationen-Verhältnisregler bereit. Verhältnisregelung kann in Anwendungen verwendet werden, wo ein oder mehr Rohbestandteile von einem Primärbestandteil abhängen. Der Primärbestandteil wird gemessen, und die Messung wird über eine AIN-Funktion in physikalische Einheiten umgewandelt. Der umgewandelte Wert wird verwendet, um das Ziel für die anderen im Verhältnis dazu stehenden Eingänge festzusetzen. Ausgangssignale vom Verhältnisregler können Führungsgrößen für die anderen Regler liefern. Sie können auch in einer offenen Schleife für Anwendungen eingesetzt werden, wo eine Rückkopplung nicht erforderlich ist. 938 31007525 12/2006 PCFL-RATIO: Vier-Stationen-Verhältnisregler Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich RATIO Fehler Parameterbaustein PCFL #20 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei RATIO (oberer Knoten) Parameterblock (mittlerer Knoten) 31007525 12/2006 Auswahl der Unterfunktion RATIO 4x INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 940. 20 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion RATIO (lässt sich nicht verändern) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 939 PCFL-RATIO: Vier-Stationen-Verhältnisregler Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des RATIO-Parameterblocks beträgt 20 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Realer Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Verhältnis für Eingang 1 Sechstes und siebentes impliziertes Register Verhältnis für Eingang 2 Achtes und neuntes impliziertes Register Verhältnis für Eingang 3 Zehntes und elftes impliziertes Register Verhältnis für Eingang 4 12.und 13. impliziertes Register Ausgangssignal für Eingang 1 14. und 15. impliziertes Register Ausgangssignal für Eingang 2 16. und 17. impliziertes Register Ausgangssignal für Eingang 3 18. und 19. impliziertes Register Ausgangssignal für Eingang 4 Ausgangszustand 1 3 4 5 6 7 8 9 10 11 Bit Funktion 1 ... 9 Nicht verwendet 10 1 = Parameter außerhalb des Bereichs 11 1 = kein Eingänge aktiviert 12 ... 16 Standard-Ausgangsbits (Flags) Eingangszustand 940 2 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = Eingang 4 aktiv 6 1 = Eingang 3 aktiv 7 1 = Eingang 2 aktiv 8 1 = Eingang 1 aktiv 9 ... 16 Nicht verwendet 10 11 12 13 14 15 16 12 13 14 15 16 31007525 12/2006 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße 150 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-RMPLN beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 942 Darstellung 943 Parameterbeschreibung 944 941 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die RMPLN-Funktion ermöglicht es, sich logarithmisch mit einer festgelegten Annäherungsgeschwindigkeit einer Zielführungsgröße zu nähern. Bei jedem neuen Aufruf berechnet sie die Ausgangsgröße, bis sie innerhalb einer angegebenen Totzone (DB) liegt. Die Totzone ist notwendig, weil der inkrementale Abstand, um den die Rampe pendelt, sich mit jedem Zyklus verkleinert. Folgendes müssen Sie dabei angeben: Der Zielsollwert sowie die Inhalte des Eingangsregisters sind in den gleichen Einheiten angegeben. z Messwerterfassungsrate z Die Zeitkonstante, die für die logarithmische Rampe verwendet wird, ist die Zeit, die benötigt wird, um 63,2 % des neuen festgelegten Punktes zu erreichen. z Optimale Ergebnisse erhalten Sie, wenn Sie die Größe t verwenden, die ≥ 4 *Δt entspricht. Dadurch wird eine ausreichende Auflösung in der Ausgangsgröße erreicht. Sie können ein Flag einsetzen, um nach einer unbestimmten Auszeit zu initialisieren. Die Funktion speichert ein neues Beispiel und wartet dann auf einen Zyklus, um das zweite Beispiel zu erfassen. Berechnungen werden einen Zyklus lang übersprungen und der Ausgang bleibt unverändert, nachdem die Rampe wieder bewegt wird. RMPLN legt fest, wann die Eingangsgröße den Zielsollwert + die festgelegte Totzone erreicht, und gibt eine DXDONE-Meldung aus. 942 31007525 12/2006 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich RMPLN Fehler Parameterbaustein PCFL #16 Parameterbeschreibung Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = gibt die spezifizierte Prozesssteuerfunktion frei RMPLN (oberer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind Weitere Informationen finden Sie S. 944. 16 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion RMPLN (lässt sich nicht verändern) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler Parameterblock (mittlerer Knoten) 31007525 12/2006 Markierung der Unterfunktion RMPLN 4x 943 PCFL-RMPLN: Logarithmische Rampe zur Führungsgröße Parameterbeschreibung Parameterblock (mittlerer Eintrag) Die Länge des RMPLN-Parameterblocks beträgt 16 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Sollwert (Eingang) Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Zeitkonstante, τ, (pro Sekunde) der exponentiellen Rampe zum Zielsollwert hin 12.und 13. impliziertes Register Totzeit (in physikalischen Einheiten) 14. und 15. impliziertes Register Ausgang Ausgangszustand 1 2 Bit Eingangszustand 4 5 6 7 8 9 10 11 12 13 14 1 ... 4 Nicht verwendet 5 1 = Totzeit oder τ festgesetzt auf negative Einheiten 6 1 = Rampe beendet 0 = Rampe in Veränderung 7 1 = Rampe verläuft nach unten 8 1 = Rampe verläuft nach oben 9 ... 16 Standard-Ausgangsbits (Flags) 1 15 16 15 16 Funktion 2 Bit 944 3 3 4 5 6 7 8 9 10 11 12 13 14 Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 ... 16 Nicht verwendet 31007525 12/2006 PCFL-SEL: Eingangs-Auswahl 151 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-SEL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 946 Darstellung 947 Parameterbeschreibung 948 945 PCFL-SEL: Eingangs-Auswahl Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Signalverarbeitung. Die SEL-Funktion vergleicht bis zu vier Eingänge und trifft eine Auswahl, die entweder auf dem höchsten, niedrigsten oder dem Durchschnittswert beruht. Sie wählen die zu vergleichenden Eingänge und das Vergleichskriterium. Der Ausgang ist eine Kopie des gewählten Eingangs. SEL gibt eine DXDONE-Meldung aus, wenn die Operation erfolgreich abgeschlossen wird. 946 31007525 12/2006 PCFL-SEL: Eingangs-Auswahl Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich SEL Fehler Parameterbaustein PCFL #14 Parameterbeschreibung Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine SEL (oberer Knoten) 31007525 12/2006 EIN = gibt die spezifizierte Prozesssteuerfunktion frei Markierung der Unterfunktion SEL Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 948.) 14 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion SEL (lässt sich nicht verändern) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 947 PCFL-SEL: Eingangs-Auswahl Parameterbeschreibung Parameterblock (mittlerer Eintrag) Ausgangszustand 948 Die Länge des SEL-Parameterblocks beträgt 14 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Reserviert Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes und fünftes impliziertes Register Eingang 1 Sechstes und siebentes impliziertes Register Eingang 2 Achtes und neuntes impliziertes Register Eingang 3 Zehntes und elftes impliziertes Register Eingang 4 12.und 13. impliziertes Register Ausgang 1 2 3 4 5 6 Bit Funktion 1 ... 9 Nicht verwendet 7 8 9 10 Ungültige Auswahlbetriebsarten 11 Keine Eingänge ausgewählt 12 ... 16 Standard-Ausgangsbits (Flags) 10 11 12 13 14 15 16 31007525 12/2006 PCFL-SEL: Eingangs-Auswahl Eingangszustand 1 2 3 4 5 6 7 8 9 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = Eingang 1 freigeben 0 = Eingang 1 sperren 6 1 = Eingang 2 freigeben 0 = Eingang 2 sperren 7 1 = Eingang 3 freigeben 0 = Eingang 3 sperren 8 1 = Eingang 4 freigeben 0 = Eingang 4 sperren 9 ... 10 Auswahlbetriebsart 11 ... 16 Nicht verwendet 10 11 12 13 14 15 16 Auswahlbetriebsart Bit 31007525 12/2006 Bedeutung 9 10 0 0 Durchschnitt auswählen 0 1 HIGH Auswählen 1 0 LOW auswählen 1 1 reserviert/ungültig 949 PCFL-SEL: Eingangs-Auswahl 950 31007525 12/2006 PCFL-TOTAL: Summierer für Dosierfluss 152 Auf einen Blick Einleitung In diesem Kapitel wird die Unterfunktion PCFL-TOTAL beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 952 Darstellung 953 Parameterbeschreibung 954 951 PCFL-TOTAL: Summierer für Dosierfluss Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist eine Unterfunktion der Instruktion PCFL. Sie gehört zur Kategorie Regelung. Die Funktion TOTAL stellt einen Materialsummierer für die Chargenverarbeitung von Reagenzien bereit. Das Eingangssignal enthält Gewichts- oder Volumeneinheiten pro Zeiteinheit. Der Summierer integriert den Eingang über die Zeit. Der Algorithmus führt drei Ausgangsgrößen auf: Die Integrationssumme z Den noch zu messenden Rest z Den Ventilausgang (in physikalischen Einheiten). z 952 31007525 12/2006 PCFL-TOTAL: Summierer für Dosierfluss Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich TOTAL Fehler Parameterbaustein PCFL #28 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x EIN = gibt die spezifizierte Prozesssteuerfunktion frei Keine TOTAL (oberer Knoten) 31007525 12/2006 Auswahl der Unterfunktion TOTAL Parameterblock 4x (mittlerer Knoten) INT, UINT Erstes in einem Block von benachbarten Ausgangsregistern, in denen die Parameter für die spezifizierte Unterfunktion abgelegt sind (Weitere Informationen finden Sie S. 955.) 28 (unterer Knoten) INT, UINT Länge des Parameterblocks für die Unterfunktion TOTAL (kann nicht verändert werden) Oberer Ausgang 0x Keine EIN = Operation erfolgreich Unterer Ausgang 0x Keine EIN = Fehler 953 PCFL-TOTAL: Summierer für Dosierfluss Parameterbeschreibung Funktionsweise Die Funktion verwendet bis zu drei verschiedene Sollwerte: Ein Sollwert für Schwellwertdurchfluss z Ein Zielsollwert z Ein zusätzlicher Sollwert für Schwellwertdurchfluss z Der Zielsollwert steht für die volle Menge, die abgemessen werden soll. An diesem Punkt wird der Ausgang abgeschaltet. Der Sollwert für Schwellwertdurchfluss ist der Abschaltpunkt, bei dem der Ausgang von vollem Durchfluss auf einen Prozentsatz des Vollwerts verringert werden soll, so dass der Zielsollwert mit besserer Auflösung erreicht wird. Der zusätzliche Sollwert für Schwellwertdurchfluss ist optional. Er wird verwendet, um ein anderes Auflösungsniveau zu erreichen. Wenn dieser Sollwert freigegeben ist, wird der Ausgangswert weiter auf 10 % des Tröpfelausgangswerts verringert. Der Summierer arbeitet von 0 bis zu einem Basispunkt. Der Sollwert muss ein positiver Wert sein. Bei normalem Betrieb wird der Ventilausgangswert auf 100 % Durchfluss eingestellt, wenn der integrierte Wert unter dem Sollwert für Schwellwertdurchfluss liegt. Wenn die Summe den Sollwert für Schwellwertdurchfluss überquert, lässt sich Ventildurchfluss durch Programmierung als Prozentsatz des vollen Durchflusses festlegen. Wenn die Summe den gewünschten Zielsollwert erreicht, wird der Ventildurchfluss auf 0 % Fluss festgelegt. Sollwerte können relativ oder absolut sein. Bei einem relativen Sollwert wird die Abweichung zwischen der letzten Summation und dem Sollwert verwendet. Im anderen Fall wird die Summation zum absoluten Vergleich mit dem Sollwert verwendet. Es gibt eine Haltoption, mit dem im System die Integration angehalten wird. Wenn der Vorgang beendet ist, wird die ausgegebene Summation zum späterem Gebrauch gespeichert. Optional kann diese Summe gelöscht werden. Bei einigen Anwendungen ist es wichtig, die Summe zu speichern, z.B. wenn die Messgeräte oder Messdosen nicht die ganze Charge mit einem Mal bewältigen können und die Messungen aufgeteilt werden, wenn für eine Charge mehrere Tanks gefüllt werden müssen und man sich über Chargen- und Produktionssummen auf dem Laufenden halten will. 954 31007525 12/2006 PCFL-TOTAL: Summierer für Dosierfluss Parameterblock (mittlerer Eintrag) Die Länge des TOTAL-Parameterblocks beträgt 28 Wörter. Register Inhalt Angezeigtes und erstes impliziertes Register Realer Eingang Zweites impliziertes Register Ausgangszustand Drittes impliziertes Register Eingangszustand Viertes impliziertes Register Zeitregister Fünftes impliziertes Register Reserviert Sechstes und siebentes impliziertes Register Δt (in ms) seit letztem Zyklus Achtes und neuntes impliziertes Register Auflösungsintervall (in ms) Zehntes und elftes impliziertes Register Letzter Eingang, X_1 12.und 13. impliziertes Register Wert zurücksetzen 14. und 15. impliziertes Register Sollwert, Ziel 16. und 17. impliziertes Register Sollwert, Schwellwertdurchfluss 18. und 19. impliziertes Register % des vollen Durchflusses für Schwellwertdurchfluss-Sollwert 20. und 21. impliziertes Register Materialfluss (100 %) 22. und 23. impliziertes Register Restmenge zu Sollwert 24. und 25. impliziertes Register Resultierendes Ergebnis 26. und 27. impliziert Register Ausgang für Endsteuerelement Ausgangszustand 31007525 12/2006 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit Funktion 1 ... 2 Nicht verwendet 3 ... 4 0 0 = AUS 0 1 = Schwellwertdurchfluss 1 0 = Materialfluss (100 %) 5 1 = Operation abgeschlossen 6 1 = Summierung läuft 7 1 = Hinausschwingen über den Sollwert um mehr als 5 %. 8 1 = Parameter außerhalb des Bereichs 9 ... 16 Standard-Ausgangsbits (Flags) 16 955 PCFL-TOTAL: Summierer für Dosierfluss Eingangszustand 956 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 ... 4 Standard-Eingangsbits (Flags) 5 1 = Summe zurücksetzen 6 1 = Integration anhalten 7 1 = Abweichung Sollwert 0 = absoluter Sollwert 8 1 = zusätzlichen Sollwert für Schwellwertdurchfluss verwenden 9 ... 16 Nicht verwendet 31007525 12/2006 PEER: PEER-Transaktion 153 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung PEER beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 958 Darstellung 959 Parameterbeschreibung 960 957 PEER: PEER-Transaktion Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist nur verfügbar wenn Sie die DX Loadables ausgepackt und installiert haben. Weitere Informationen finden Sie S. 51. Die Module S975 Modbus II mit Schnittstelle verfügen über zwei ladefähige Funktionsbausteine: MBUS und PEER. Die PEER-Instruktion kann identische Meldungstransaktionen bei immerhin 16 Geräten gleichzeitig an Modbus II initiieren. Bei einer PEER-Transaktion kann man nur Registerdaten schreiben. 958 31007525 12/2006 PEER: PEER-Transaktion Darstellung Symbol Darstellung der Anweisung Steuereingang beendet Steuerblock Wiederholen aktiv Datenblock Fehler PEER Länge: 1 - 249 Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine MBUS-Transaktion freigeben Mittlerer Eingang 0x, 1x Keine Transaktion bei gleichem Zyklus wiederholen Steuerblock (oberer Knoten) 4x INT, UINT, WORD Erstes der 19 benachbarten Register im PEER-Steuerblock (Weitere Informationen finden Sie S. 960.) Datenblock 4x (mittlerer Knoten) INT, UINT Das erste Register in einem Datenblock, der von der PEER-Funktion zu übertragen ist Länge (unterer Knoten) INT, UINT Länge, d.h. die Zahl der Ausgangsregister des Datenblocks, Bereich: 1 ... 249. 0x Keine Transaktion abgeschlossen Mittlerer Ausgang 0x Keine Transaktion läuft gerade oder neue Transaktion wird gestartet Unterer Ausgang Keine Fehler bei der Transaktion erkannt Oberer Ausgang 31007525 12/2006 Länge 0x 959 PEER: PEER-Transaktion Parameterbeschreibung Steuerblock (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste von 19 benachbarten Registern im PEER-Steuerblock. Register Funktion Angezeigt Zeigt den Status der Transaktionen bei jedem Gerät an, wobei das Bit ganz links der Status des Gerätes Nr. 1 und das Bit ganz rechts der Status des Gerätes Nr. 16 ist: 0 = OK, 1 = Transaktionsfehler Erstes impliziertes Register Definiert die Referenz zu dem ersten 4x-Register, das in das Empfangsgerät geschrieben wird; eine 0 in diesem Feld ist ein ungültiger Wert und führt zu einem Fehler (der untere Ausgang wechselt auf EIN). Zweites impliziertes Register Zulässige Zeit für den Abschluss einer Transaktion, bevor ein Fehler festgestellt wird; sie wird als Vielfaches von 10 ms angegeben. 100 entspricht z.B. 1.000 ms; der StandardTimeout ist 250 ms. Drittes impliziertes Register Die Modbus Port 3-Adresse des ersten der Empfangsgeräte; Adressenbereich: 1 ... 255 (0 = keine Transaktion angefordert) Viertes impliziertes Register Die Modbus Port 3-Adresse des zweiten der Empfangsgeräte; Adressenbereich: 1 ... 255 (0 = keine Transaktion angefordert) ... 18. impliziertes Register 960 ... Die Modbus Port 3-Adresse des sechzehnten der Empfangsgeräte (Adressenbereich: 1 ... 255) 31007525 12/2006 PID2: Proportional-IntegralDifferential-Regler 154 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung PID2 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 962 Darstellung 963 Detailbeschreibung 965 Parameterbeschreibung 968 Laufzeitfehler 973 961 PID2: Proportional-Integral-Differential-Regler Kurzbeschreibung Funktionsbeschreibung Die PID2-Instruktion implementiert einen Algorithmus, der Proportional-IntegralDifferential-Operationen ausführt. Der Algorithmus stimmt die Funktion der Regelung ähnlich wie bei der herkömmlichen pneumatischen und analogen elektronischen Regelung ab. Er verwendet einen den Anstiegsverstärkungsfaktor begrenzendes (RGL-)Filter, wodurch höherfrequentes (zufällig oder durch den Prozess erzeugtes) Rauschen der Prozessvariablen (PV) herausgefiltert wird. Formel Proportionalregelung M V = K 1 E + bias Proportional-Integral-Regelung t ⎛ ⎞ M V = K 1 ⎜ E + K 2 ∫ EΔt⎟ ⎜ ⎟ ⎝ ⎠ 0 Proportional-Integral-Differential-Regelung MV 962 t ⎛ ⎞ ΔPV ⎜ = K 1 E + K 2 ∫ EΔt + K 3 ------------⎟ ⎜ Δt ⎟ ⎝ ⎠ 0 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler Darstellung Symbol Darstellung der Anweisung Manuell/Automatisch Schleifenausführung Quelle Integrale Vorlast Alarm hoch Ziel Direkte/umgekehrte Aktion Alarm niedrig PID2 Länge: 1 - 255 31007525 12/2006 Lösungsintervall 963 PID2: Proportional-Integral-Differential-Regler Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine 0 = Handbetrieb 1 = Automatikmodus Mittlerer Eingang 0x, 1x Keine 0 = Integrale Vorlast AUS 1 = Integrale Vorlast EIN Unterer Eingang 0x, 1x Keine 0 = Ausgangsgröße steigt an bei Anwachsen von E 1 = Ausgangsgröße verringert sich bei Abfallen von E Quelle (oberer Knoten) 4x INT, UINT Erstes von 21 benachbarten Ausgangsregistern in einem Quellblock (Weitere Informationen finden Sie S. 968.) Ziel (mittlerer Knoten) 4x INT, UINT Erstes von 9 benachbarten Ausgangsregistern, die für die PID2Berechnung verwendet werden. Laden Sie nichts in diese Register! (Weitere Informationen finden Sie S. 971.) Lösungsintervall (unterer Knoten) 964 INT, UINT Enthält eine Zahl im Bereich von 1 ... 255; sie gibt an, wie oft die Funktion ausgeführt werden soll. Oberer Ausgang 0x Keine 1 = Ungültiger Benutzerparameter oder Regelung aktiv, wird aber gerade nicht ausgeführt. Mittlerer Ausgang 0x Keine 1 = PV ≥ oberer Grenzwertalarm Unterer Ausgang 0x Keine 1 = PV ≤ unterer Grenzwertalarm 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler Detailbeschreibung Blockschaltbild + Xn-1 Differentialanteil Xn Xn + (4y + 6)/8 (4y + 6)/8 Δ Pv - Δx + PV RGL 60(RGL - 1)K3 RGL Ts Zn 4x13 SP + E E + Proportionalanteil (4x1 - 4x2) 100 PB x 4095 (4x11 - 4x12) GE + Bezugsw ert 4x8 Mn-1 + Integralrückkopplung M TIOC 4x20 4x2 In + Vorlademodus Mn 4x17 4x18 Integralanteil - FIOC 4x16 Qn Integralklemme Wn + - ΔI K2 T 2 600000 In-1 In-1 Ausgangsklemme + + + In In 4y + 3, + 4, + 5 31007525 12/2006 965 PID2: Proportional-Integral-Differential-Regler Die Elemente in diesem Blockschaltbild haben die folgende Bedeutung: Element Bedeutung E Fehler, ausgedrückt in rohen Analogeinheiten SP Sollwert, im Bereich von 0 ... 4095 PV Prozessvariable, im Bereich von 0 ... 4095 x Gefilterte PV K2 Verstärkungskonstante im Integralmodus, ausgedrückt in 0,01 min-1 K3 Verstärkungskonstante im Differentialmodus, ausgedrückt in hundertstel Minuten RGL Konstante des den Anstiegsverstärkungsfaktor begrenzenden Filters, im Bereich von 2 ... 30 Ts Lösungsdauer, ausgedrückt in hundertstel Sekunden PB Proportionalbereich, im Bereich von 5 ... 500 % Bezugswert Bezugswertfaktor des Reglerausgangs, im Bereich von 0 ... 4095 M Reglerausgang GE Rohdifferenz (GE), Proportional-Differential-Anteil am Reglerausgangswert Z Differentialbeiwert zur GE Qn Reglerausgang ohne Bezugswert F Rückkopplungswert, im Bereich von 0 ... 4095 I Integralanteil zum Reglerausgangswert niedrig Anti-Reset-Windup niedriger Sollwert, im Bereich 0 4095 hoch Anti-Reset-Windup hoher Sollwert, im Bereich 0 4095 K1 100/PB Hinweis: Die Berechnung des Integralanteils integriert tatsächlich die Differenz zwischen der Ausgangsgröße und der Integralsumme, was effektiv dasselbe ist wie die Integration des Fehlers. 966 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler Proportionalregelung Bei ausschließlicher Proportionalregelung (P) kann man die Stellgröße durch Multiplikation des Fehlers mit einer proportionalen Konstante, K1, und anschließende Addition eines Bezugswerts berechnen. Siehe S. 962. Jedoch werden die Prozessbedingungen bei den meisten Anwendungen durch andere Systemvariable verändert, so dass der Bezugswert nicht konstant bleibt; das Ergebnis ist die bleibende Regelabweichung, bei der die Prozessvariable ständig vom Sollwert abweicht. Dieser Zustand beschränkt die Fähigkeit der ausschließlichen Proportionalregelung. Hinweis: Der Wert im Integralausdruck (in den Registern 4y +3, 4y + 4, und 4y + 5) wird immer verwendet, auch wenn der Integralmodus nicht freigegeben ist. Die Verwendung dieses Werts ist notwendig, um einen stoßfreien Übergang zwischen den Modi zu erreichen. Wenn Sie den stoßfreien Übergang sperren wollen, müssen diese Register gelöscht werden. Im Handbetrieb werden Sollwertänderungen nur dann wirksam, wenn die obigen drei Register gelöscht werden und der Modus zurück auf Automatik gestellt wird. Die Übertragung ist nicht stoßfrei. ProportionalIntegralRegelung Um diese bleibende Regelabweichung zu beseitigen, ohne den Bezugswert manuell verändern zu müssen, kann eine Integralfunktion zur Regelungsgleichung addiert werden. Siehe S. 962. Die Proportional-Integral-Regelung (PI) beseitigt die bleibende Regelabweichung durch Integration von E als Funktion der Zeit. K1 ist die Integralkonstante, ausgedrückt in Wiederholungen pro Minute. Solange E ≠ 0, erhöht (oder verringert) der Integrator seinen Wert und stellt dabei Mv ein. Dies setzt sich fort, bis die bleibende Regelabweichung beseitigt ist. ProportionalIntegralDifferentialRegelung Möglicherweise möchten Sie Differentialfunktionalität zur Regelungsgleichung hinzufügen, um die Wirkung häufiger Lastwechsel zu minimieren oder um die Integralfunktion aufzuheben, damit der Sollwertzustand schneller erreicht wird. Siehe S. 962. Die Proportional-Integral-Differential(PID)-Regelung kann genutzt werden, um Energie im Prozess zu sparen oder als Sicherheitsventil für den Fall einer plötzlichen, unerwarteten Änderung im Prozessverlauf zu dienen. K3 ist die Differentialzeitkonstante, ausgedrückt in Minuten. DPV ist die Änderung der Prozessvariablen über einen Zeitabschnitt von Δt. Beispiel 31007525 12/2006 Ein Beispiel für die PID2-Niveauregelung finden Sie im Beispiel einer PID2Niveauregelung. 967 PID2: Proportional-Integral-Differential-Regler Parameterbeschreibung Quellblock (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste von 21 benachbarten Ausgangsregistern in einem Quellblock. Der Inhalt des fünften ... achten implizierten Registers bestimmt, ob der Regelungsvorgang P, PI oder PID ist: Betrieb Fünftes impliziertes Register Sechstes impliziertes Register P EIN PI EIN EIN PID EIN EIN Siebentes impliziertes Register Achtes impliziertes Register EIN EIN Der Quellblock enthält die folgenden Registerzuweisungen: 968 Register Name Inhalt Angezeigt Skalierter PV Wird von dem Block jedes Mal geladen, wenn eine Abtastung erfolgt; auf dem Register 4x + 13 wird eine lineare Skalierung mit Hilfe der oberen und unteren Bereiche aus den Registern 4x + 11 und 4x + 12 durchgeführt: Skalierte PV = (4x13 / 4095) * (4x11 - 4x12) + 4x12 Erstes impliziertes Register SP Sie müssen den Sollwert in physikalischen Einheiten spezifizieren; der Wert muss < der Wert im 11. implizierten Register und > der Wert im 12. implizierten Register sein. Zweites impliziertes Register Mv Vom Block nach jedem Durchlauf einer Programmschleife neu geladen, wird es auf einen Bereich von 0 ... 4095 begrenzt, wodurch die Kompatibilität des Ausgangs mit einem Analogausgangsmodul gewährleistet wird. Das Stellgrößenregister kann für weitere CPUBerechnungen, wie z.B. kaskadierte Schleifen, verwendet werden. Drittes impliziertes Register Grenzwert Alarm hoch Laden Sie einen Wert in dieses Register, um einen HIGH-Alarm für die Prozessvariable (beim Sollwert oder darüber) festzulegen; geben Sie den Wert in physikalischen Einheiten innerhalb des Bereiches ein, der im 11. und 12. implizierten Register definiert ist. Viertes impliziertes Register Grenzwert Alarm niedrig Laden Sie einen Wert in dieses Register, um einen LOWAlarm für PV (gleich oder kleiner als SP) zu spezifizieren; geben Sie den Wert in physikalischen Einheiten innerhalb des angegebenen Bereichs im 11. und 12. implizierten Register ein. 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler 31007525 12/2006 Register Name Inhalt Fünftes impliziertes Register Proportionalband Laden Sie dieses Register mit der gewünschten Proportionalkonstante in den Bereich 5 bis 500; je kleiner die Zahl ist, desto größer ist der P-Anteil; damit PID2 arbeiten kann, ist eine gültige Zahl in diesem Register erforderlich. Sechstes impliziertes Register ResetZeitkonstante Laden Sie dieses Register, um eine Integralwirkung in die Berechnung einzubringen; geben Sie einen Wert zwischen 0000 ... 9999 ein, um einen Bereich von 00,00 ... 99,99 Wiederholungen pro Minute darzustellen. Je größer die Zahl, desto höher ist der Integralanteil; ein Wert > 9999 stoppt die PID2-Berechnung. Siebentes impliziertes Register AnstiegsZeitkonstante Laden Sie dieses Register, um eine Differentialwirkung in die Berechnung einzubringen; geben Sie einen Wert zwischen 0000 ... 9999 ein, um einen Bereich von 00,00 ... 99,99 min darzustellen. Je größer die Zahl, desto höher ist der Differentialbeiwert; ein Wert > 9999 stoppt die PID2-Berechnung. Achtes impliziertes Register Bezugswert Laden Sie dieses Register, um dem Ausgangswert einen Bezugswert hinzuzufügen; der Wert muss zwischen 000 ... 4095 liegen und direkt zu Mv hinzuaddiert werden, unabhängig davon, ob der Integralanteil freigegeben ist oder nicht. Neuntes impliziertes Register Oberer Grenzwert IntegralWindup Laden Sie dieses Register mit dem oberen Grenzwert des Ausgangswerts (zwischen 0 ... 4095), wo die Verhinderung des Stellgliedeingriffs wirksam wird; die Aktualisierung der Integralsumme wird angehalten, wenn sie diesen Wert übersteigt (das ist normalerweise 40954) Zehntes impliziertes Register Unterer Grenzwert IntegralWindup Laden Sie dieses Register mit dem unteren Grenzwert des Ausgangswerts (zwischen 0 ... 4095), wo die Verhinderung des Stellgliedeingriffs wirksam wird (das ist normalerweise 0) Elftes impliziertes Register Oberer physikalischer Bereich Laden Sie dieses Register mit dem höchsten Wert, der den Bereich des Messgerätes begrenzt. Wenn ein Widerstandstemperaturmessgerät z.B. von 0 ... 500 ° C reicht, ist der obere physikalische Bereichswert 500. Der Bereich muss als eine positive ganze Zahl zwischen 0001 ... 9999 angegeben werden, entsprechend dem unbearbeiteten analogen Eingangswert 4095. Zwölftes impliziertes Register Unterer physikalischer Bereich Laden Sie dieses Register mit dem niedrigsten Wert, der den Bereich des Messgerätes begrenzt. Der Bereich muss als eine positive ganze Zahl zwischen 0 ... 9998 angegeben werden, und er muss kleiner als der Wert im 11. implizierten Register sein; er entspricht dem unbearbeiteten analogen Eingangswert 0 969 PID2: Proportional-Integral-Differential-Regler 970 Register Name Inhalt 13. impliziertes Register Unverarbeitete r AnalogMesswert Das Logikprogramm lädt PV in dieses Register; der Messwert muss skaliert und linear sein im Bereich von 0 ... 4095 14. impliziertes Register Der Wert, den Sie in dieses Register laden, ist ein Zeiger Zeiger zum Schleifenzähler auf das Register, das die Anzahl der bei jedem Abtastzyklus ausgeführten Regelkreise zählt; die -Register Eingabe wird durch Wegfall der Stelle mit dem höchsten Wert in dem Register bestimmt, in dem der Regler die ausgeführten Regelkreise/Abtastzyklus zählt. Wenn die Steuerung beispielsweise die Zählung im Register 41236 durchführt, laden Sie 1236 in das 14. implizierte Register; derselbe Wert muss in das 14. implizierte Register in jeden PID2-Baustein im Logikprogramm geladen werden. 15. impliziertes Register Maximalzahl von Regelschleifen Ausgeführt in einem Programmzyklus: Wenn das 14. implizierte Register einen Wert ungleich Null enthält, können Sie in dieses Register einen Wert laden, um die Anzahl der Schleifen zu begrenzen, die in einem Abtastzyklus auszuführen sind. 16. impliziertes Register Zeiger zum ResetRückkopplungs eingang: Der Wert, den Sie in dieses Register laden, ist ein Zeiger zu dem Ausgangsregistern, das den Rückkopplungswert (F) enthält; lassen Sie die 4 bei dem Rückkopplungsregister wegfallen und geben Sie die verbleibenden vier Stellen in dieses Register ein; die Integrationsberechnungen hängen vom F-Wert ab, wobei F variieren sollte von 0 ... 4095 17. impliziertes Register Oberer Begrenzungsw ert Ausgang Der in dieses Register eingegebene Wert bestimmt den oberen Grenzwert von Mv (dies ist normalerweise 4095) 18. impliziertes Register Unterer Begrenzungsw ert Ausgang Der in dieses Register eingegebene Wert bestimmt den unteren Grenzwert von Mv (dies ist normalerweise 0) 19. impliziertes Register Konstante "Rate Gain Limit" (RGL) Der in dieses Register eingegebene Wert bestimmt das effektive Maß der Differentialfilterung; der Bereich reicht von 2 ... 30; je kleiner der Wert, desto stärker ist die Filterung 20. impliziertes Register Zeiger auf die integrale Vorlast Der in dieses Register geladene Wert ist ein Zeiger zu dem Ausgangsregister, das den Wert des Nachführungseingangs (T) enthält; lassen Sie die 4 bei dem Nachführungsegister wegfallen, und geben Sie die verbleibenden vier Stellen in dieses Register ein; der Wert im T-Register wird immer dann mit dem Eingang für das Nacheilen des I-Anteils verbunden, wenn das AutoBit und das Integral-Vorbelastungsbit beide wahr sind. 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler Ziel (mittlerer Eintrag) 31007525 12/2006 Das in den mittleren Eintrag eingegebene 4y-Register ist das erste von neun lückenlosen Ausgangsregistern, die für PID2-Berechnungen verwendet werden. Sie müssen nichts in diese Register laden: Register Name Inhalt Angezeigt Schleifen-StatusRegister 12 der 16 Bits in diesem Register werden zur Definition des Schleifenstatus verwendet. Erstes impliziertes Register Fehlerstatusbits (E) Dieses Register zeigt PID2-Fehlercodes an. Zweites impliziertes Register Schleifen-TimerRegister Dieses Register speichert die Messwerte der Echtzeituhr auf der Systemuhr jedes Mal, wenn die Schleife aufgelöst wird. Die Differenz zwischen dem aktuellen Uhrzeitwert und dem im Register gespeicherten Wert ist die verstrichene Zeit; nach Verstreichen der Zeit ≥ für das Auflösungsintervall (10 Mal der Wert, der im unteren Eintrag des PID2Bausteins angegeben ist) sollte die Programmschleife bei diesem Abtastzyklus ausgeführt werden. Drittes impliziertes Register Für internen Gebrauch Integral (I-Anteil) Viertes impliziertes Register Für internen Gebrauch Integral-Bruch 1 (1/3 000) Fünftes impliziertes Register Für internen Gebrauch Integral-Bruch 2 (1/600 000) Sechstes impliziertes Register Pv x 8 (Gefiltert) Dieses Register speichert das Ergebnis des gefilterten Analogeingangs (aus Register 4x14), multipliziert mit 8; dieser Wert ist hilfreich bei Regelvorgängen mit D-Anteil Siebentes impliziertes Register Absolutwert von E Dieses Register, das nach jeder Schleifenausführung aktualisiert wird, enthält den Absolutwert von (SP - PV); Bit 8 in Register 4y + 1 gibt das Vorzeichen von E an Achtes impliziertes Register Für internen Gebrauch Aktuelles Auflösungsintervall 971 PID2: Proportional-Integral-Differential-Regler Schleifen-StatusRegister Auflösungsintervall (unterer Eintrag) 972 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 Zustand oberer Ausgang (Eintragssperrung oder Parameterfehler) 2 Zustand mittlerer Ausgang (HIGH-Alarm) 3 Zustand unterer Ausgang (LOW-Alarm) 4 Schleife im Modus AUTO und Zeit seit der letzten Auflösung ≥ Auflösungsintervall 5 Modus Wind-down (für REV B oder höher) 6 Schleife im Modus AUTO, wird jedoch nicht ausgeführt. 7 Register 4x14, referenziert durch 4x15, ist gültig 8 Vorzeichen von E in 4y + 7: z 0 = + (plus) z 1 = - (minus) 9 Rev. B oder höher 10 Integral-Windup-Grenzwert wurde nie gesetzt 11 Integral-Windup gesättigt 12 Negative Werte in der Gleichung 13 Zustand unterer Eingang (direkte/umgekehrte Wirkungsweise) 14 Zustand unterer Eingang (Nachführungsmodus) z 1 = Nachführung z 0 = keine Nachführung 15 Zustand oberer Eingang (MAN/AUTO) 16 Bit 16 wird nach erstem Start oder Installation der Schleife gesetzt. Wenn Sie das Bit löschen, können die folgenden Aktionen in einem Zyklus stattfinden: z Das Schleifenstatusregister 4y wird zurückgesetzt z Der aktuelle Wert in der Echtzeituhr wird im ersten implizierten Register (4y+1) gespeichert z Werte im dritten ... fünften Register (4y+2,3) werden gelöscht z Der Wert im 13. implizierten Register (4x+13) x 8 wird im 6. implizierten Register (4y+6) gespeichert z Das 7. und 8. implizierte Register (4y+7,8) werden gelöscht Der untere Eintrag gibt an, dass dies eine PID2-Funktion ist, und enthält eine Zahl von 1 ... 255; sie gibt an, wie oft die Funktion ausgeführt werden soll. Die Zahl entspricht einem Zeitwert in Zehntelsekunden; zum Beispiel gibt die Zahl 17 an, dass die PID-Funktion alle 1,7 s ausgeführt werden soll. 31007525 12/2006 PID2: Proportional-Integral-Differential-Regler Laufzeitfehler Fehlerstatusbit Das erste implizierte Register des Ziels enthält die Fehlerstatusbits: Code 31007525 12/2006 Erklärung Überprüfen Sie diese Register im Quellblock (oberer Eintrag) 0000 Keine Fehler, alle Bestätigungen OK Keine 0001 Skalierter Sollwert (SP) über 9999 Erstes impliziertes Register 0002 Alarm hoch über 9999 Drittes impliziertes Register 0003 Alarm niedrig über 9999 Viertes impliziertes Register 0004 Proportionalband unter 5 Fünftes impliziertes Register 0005 Proportionalband über 500 Fünftes impliziertes Register 0006 Reset über 99,99 U/min Sechstes impliziertes Register 0007 Anstieg über 99,99 min Siebentes impliziertes Register 0008 Bezugswert über 4095 Achtes impliziertes Register 0009 Oberer Grenzwert Integral über 4095 Neuntes impliziertes Register 0010 Grenzwert niedrig des I-Anteils über 4095 Zehntes impliziertes Register 0011 Obere physikalische Einheit (E.U., Engineering Elftes impliziertes Register Unit) Skala über 9999 0012 Untere E.U. Skala über 9999 Zwölftes impliziertes Register 0013 Obere E.U. unter untere E.U. Elftes und zwölftes impliziertes Register 0014 Skalierter Sollwert (SP) über oberen E.U. Erstes und elftes impliziertes Register 0015 Skalierte Führungsgröße (SP) unter dem unteren Wert (in physikalischen Einheiten) Erstes und zwölftes impliziertes Register 0016 Max. Schleifen/Zyklus > 9999 Hinweis: Aktiviert durch maximales Regelkreismerkmal, d.h. nur, wenn 4x15 nicht gleich Null ist. 15. impliziertes Register 0017 Zeiger zum Rückkopplungs-Reset außerhalb des Bereichs 16. impliziertes Register 0018 Ausgangs-Begrenzungswert hoch über 4095 17. impliziertes Register 0019 Ausgangs-Begrenzungswert niedrig über 4095 18. impliziertes Register 0020 Ausgangs-Begrenzungswert niedrig über Ausgangs-Begrenzungswert hoch 17. und 18. impliziertes Register 0021 RGL unter 2 19. impliziertes Register 973 PID2: Proportional-Integral-Differential-Regler 974 Code Erklärung Überprüfen Sie diese Register im Quellblock (oberer Eintrag) 0022 RGL über 30 19. impliziertes Register 0023 20. impliziertes Register bei Zeiger zu Nachführung F außerhalb des mittlerem Eingang auf EIN Bereichs Hinweis: Nur aktiviert, wenn das Nachführungsmerkmal auf EIN gestellt ist, d.h. wenn der mittlere Eingang des PID2-Bausteins im AUTO-Modus mit Strom versorgt wird. 0024 20. impliziertes Register bei Zeiger zur Nachführung F ist Null mittlerem Eingang auf EIN Hinweis: Nur aktiviert, wenn das Nachführungsmerkmal auf EIN gestellt ist, d.h. wenn der mittlere Eingang des PID2-Bausteins im AUTO-Modus mit Strom versorgt wird. 0025 Keine Eintrag gesperrt (Zyklus zu kurz) Hinweis: Aktiviert durch maximales Regelkreismerkmal, d.h. nur, wenn 4x15 nicht gleich Null ist. Hinweis: Wenn häufig eine Sperrung auftritt und alle Parameter gültig sind, erhöhen Sie die maximale Anzahl der Programmschleifendurchläufen/Abtastzyklus. Eine Sperre kann auch auftreten, wenn die genutzten Zählregister nicht entsprechend den Erfordernissen frei gemacht werden. 0026 Schleifenzählerzeiger ist Null Hinweis: Aktiviert durch maximales Regelkreismerkmal, d.h. nur, wenn 4x15 nicht gleich Null ist. 0027 Schleifenzählerzeiger außerhalb des Bereichs 14. und 15. impliziertes Register 14. und 15. impliziertes Register 31007525 12/2006 Instruktionsbeschreibungen (R bis Z) VI Auf einen Blick Einleitung In diesem Abschnitt werden Instruktionsbeschreibungen in alphabetischer Folge von R bis Z aufgeführt. Inhalt dieses Teils Dieser Teil enthält die folgenden Kapitel: 31007525 12/2006 Kapitel Kapitelname Seite 155 R --> T: Register zu Tabelle 977 156 RBIT: Bit zurücksetzen 981 157 READ: Lesen 985 158 RET: Rücksprung aus einem Unterprogramm 991 159 RTTI - Register zu Eingangstabelle 995 160 RTTO - Register zu Ausgangstabelle 161 RTU - Remote Terminal Unit 1003 162 SAVE: Momentzustand speichern 1009 163 SBIT: Bit setzen 1013 164 SCIF: Ablaufsteuerungsschnittstellen 1017 165 SENS: Abfragen 1023 166 Verbindungen 1029 167 SKP - Überspringen von Netzwerken 1033 168 SRCH: Suchen 1037 169 STAT: Status 1043 170 SU16: 16-Bit-Subtraktion 1071 171 SUB: Subtraktion 1075 172 SWAP – VME-Bitaustausch 1079 173 TTR - Tabelle in Register 1083 174 T --> R Tabelle zu Register 1087 999 975 Instruktionsbeschreibungen (R bis Z) Kapitel 976 Kapitelname Seite 175 T --> T: Tabelle zu Tabelle 1093 176 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber 1099 177 T0.1-Zeitgeber: Zehntelsekunden-Zeitgeber 1103 178 T1.0-Zeitgeber: Sekunden-Zeitgeber 1107 179 T1MS-Zeitgeber: Millisekunden-Zeitgeber 1111 180 TBLK: Tabelle zum Block 1117 181 TEST: Prüfung von zwei Werten 1123 182 UCTR: Aufwärtszähler 1127 183 VMER - VME Lesen 1131 184 VMEW - VME Schreiben 1137 185 WRIT: Schreiben 1143 186 XMIT - Senden 1149 187 XMIT-Kommunikationsbaustein 1157 188 XMIT-Portstatusbaustein 1169 189 XMIT-Konvertierungsbaustein 1177 190 XMRD: Lesen des erweiterten Speichers 1185 191 XMWT: Extended Memory Write (Erweiterten Speicher schreiben) 1191 192 XOR: Exklusives ODER 1197 31007525 12/2006 R --> T: Register zu Tabelle 155 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung R → T beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 978 Darstellung 979 Parameterbeschreibung 980 977 R --> T: Register zu Tabelle Kurzbeschreibung Funktionsbeschreibung 978 Die R→T Instruktion kopiert das Bitmuster eines Registers oder eine Kette von aufeinanderfolgenden Bits in einem Wort in ein spezifisches Register, das sich in einer Tabelle befindet. Sie kann ein Register/Wort pro Zyklus aufnehmen. 31007525 12/2006 R --> T: Register zu Tabelle Darstellung Symbol Darstellung der Anweisung Steuereingang/ Zeiger vergrössern Verhindert die Vergrößerung des Zeigers Zeiger zurücksetzen Länge: max. 255 16-Bit SPS max. 999 24-Bit SPS Parameterbeschreibung 31007525 12/2006 aktiv Quelle Zeiger = Tabellenlänge Zielzeiger R→T Tabellenlänge Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = kopiert Quelldaten und inkrementiert den Zeigerwert. Mittlerer Eingang 0x, 1x Keine EIN = fixiert den Zeigerwert Unterer Eingang 0x, 1x Keine EIN = setzt den Zeigerwert auf Null zurück Quelle (oberer Knoten) 0x, 1x, 3x, 4x INT, UINT, Quelldaten, die im aktuellen Zyklus zu WORD kopieren sind Zielzeiger (mittlerer Knoten) 4x INT, UINT Zieltabelle, in die Quelldaten während des Zyklus kopiert werden Tabellenlänge (unterer Knoten) INT, UINT Anzahl der Register in der Zieltabelle, Bereich: 1 ... 999 Länge: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang Keine EIN = Zeigerwert = Tabellenlänge (Anweisung kann keine weitere Inkrementierung bewirken) 0x 979 R --> T: Register zu Tabelle Parameterbeschreibung Oberer Eingang Die Eingabe in den oberen Eintrag initiiert die DX-Verschiebe-Operation. Mittlerer Eingang Wenn der mittlere Eingang auf EIN wechselt, ist der aktuelle Wert, der im Zielzeigerregister gespeichert ist, blockiert, während die DX-Funktion weiterläuft. Dies hat zur Folge, dass die in den Zielblock kopierten neuen Daten die beim vorherigen Zyklus kopierten Daten überschreiben. Unterer Eingang Wenn der untere Eingang auf EIN wechselt, wird der Wert des Zielzeigerregisters auf Null zurückgesetzt. Dies hat zur Folge, dass die DX-Operation Quelldaten in das erste Register der Zieltabelle kopiert. Quelldaten (oberer Eintrag) Zielzeiger (mittlerer Eintrag) Wenn Sie die Registertypen 0x oder 1x verwenden: Erste 0x-Referenz in einer Reihe von 16 benachbarten Ausgangs-/Merkerbits oder Ausgangsbits z Erste 1x-Referenz in einer Zeichenkette von 16 Biteingängen z Das in den mittleren Eintrag eingegebene 4x-Register ist ein Zeiger zur Zieltabelle, in die Quelldaten während des Zyklus kopiert werden. Das erste Register der Zieltabelle ist das auf den Zeiger folgende nächste benachbarte 4x-Register, d.h. wenn das Zeigerregister die Adresse 400027 hat, liegt das erste Register der Zieltabelle bei 400028. Der in das Zeigerregister eingetragene Wert zeigt das Register in der Zieltabelle an, in das Quelldaten kopiert werden. Ein Wert von Null zeigt an, dass die Quelldaten in das erste Register in der Zieltabelle kopiert werden; ein Wert von 1 zeigt an, dass die Quelldaten in das zweite Register in der Zieltabelle kopiert werden usw. Hinweis: Der in das Zielregister eingetragene Wert kann nicht größer sein als die in diesem Eintrag angegebene ganze Zahl für die Tabellenlänge. Ausgänge 980 R→T kann zwei mögliche Ausgangswerte erzeugen, aus dem oberen und mittleren Eintrag. Der Status des Ausgangs aus dem oberen Eintrag widerspiegelt den Status des oberen Eingangs. Der Ausgangswert aus dem mittleren Eintrag wechselt auf EIN, wenn der Wert im Zielregister gleich der angegebenen Tabellenlänge ist. An diesem Punkt kann die Instruktion keine weitere Inkrementierung mehr bewirken. 31007525 12/2006 RBIT: Bit zurücksetzen 156 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung RBIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 982 Darstellung 983 981 RBIT: Bit zurücksetzen Kurzbeschreibung Funktionsbeschreibung Die Instruktion Bit zurücksetzen (RBIT) ermöglicht das Löschen eines auf EIN festgehaltenen Bits durch Aktivieren des oberen Eingangs. Das Bit bleibt auch nach dem Deaktivieren des Eingangs gelöscht. Diese Instruktion dient zum Löschen eines mit der SBIT-Instruktion gesetztes Bits. Hinweis: Die RBIT-Instruktion befolgt nicht dieselben Regeln der Netzwerkplatzierung wie die 0x-referenzierten Merkerbits. Eine RBIT-Instruktion kann nicht in Spalte 11 eines Netzwerks platziert werden, jedoch kann sie links von anderen logischen Einträgen auf denselben Kontaktplanebenen platziert werden. 982 31007525 12/2006 RBIT: Bit zurücksetzen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register Nr. Zurückzusetzende Bitnummer (1 - 16) Parameterbeschreibung 31007525 12/2006 RBIT Bit-Nr. (1 ... 16) Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = setzt das angegebene Bit auf 0. Das Bit bleibt auch nach dem Deaktivieren des Eingangs gelöscht. Register Nr. (oberer Knoten) 4x WORD Ausgangsregister, dessen Bitmuster gesteuert wird Bit Nr. (unterer Knoten) INT, UINT Gibt an, welches der 16 Bits gelöscht wird Oberer Ausgang 0x Keine EIN = das angegebene Bit ist auf 0 gesetzt worden 983 RBIT: Bit zurücksetzen 984 31007525 12/2006 READ: Lesen 157 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung READ beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 986 Darstellung 987 Parameterbeschreibung 989 985 READ: Lesen Kurzbeschreibung Funktionsbeschreibung Die READ-Instruktion ermöglicht es, Daten aus einem Gerät mit ASCII-Eingang (Tastatur, Strichcodeleser usw.) in den Speicher der SPS über ihr RIO-Netzwerk einzulesen. Die Verbindung mit dem ASCII-Gerät erfolgt über eine RIOSchnittstelle. Beim Umgang mit der Meldeoperation erfüllt READ die folgenden Aufgaben: Überprüft die Längen variabler Datenfelder z Überprüft die Korrektheit der ASCII-Kommunikationsparameter, z.B. die Portnummer, die Nachrichtennummer z Führt die Fehlererkennung und -aufzeichnung durch z Erstellt einen Bericht zum RIO-Schnittstellenstatus z READ erfordert zwei Registertabellen: eine Zieltabelle, in der wiedergefundene variable Daten (die Nachricht) gespeichert werden, und einen Steuerblock, in dem Kommunikationsport- und Nachrichtenparameter identifiziert werden. Weitere Informationen zur Formatierung von Nachrichten finden Sie unter S. 31. 986 31007525 12/2006 READ: Lesen Darstellung Symbol Darstellung der Anweisung Steuerung (aus nach ein) aktiv Steuerblock Operationspause Fehler (ein Zyklus) Ziel Operationsabbruch Abgeschlossen (ein Zyklus) READ Länge: max. 255 16-Bit SPS max. 999 24-Bit SPS 31007525 12/2006 Tabellenlänge 987 READ: Lesen Parameterbeschreibung Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN = initiiert eine READ-Operation Mittlerer Eingang 0x, 1x Keine EIN = lässt die READ-Operation pausieren Unterer Eingang 0x, 1x Keine EIN = bricht die READ-Operation ab Steuerblock 4x (oberer Knoten) INT, UINT, Steuerblock (erstes von sieben WORD benachbarten Ausgangsregistern) Ziel (mittlerer Knoten) 4x Tabellenlänge (unterer Knoten) 988 Bedeutung INT, UINT, Zieltabelle WORD INT, UINT Länge der Zieltabelle (Anzahl der Register, in denen die Meldungsdaten gespeichert werden), Bereich: 1 ... 999 Länge: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang 0x Keine EIN = Fehler bei der Kommunikation oder Operation hat Timeout erreicht (für einen Zyklus) Unterer Ausgang 0x Keine EIN = READ abgeschlossen (für einen Zyklus) 31007525 12/2006 READ: Lesen Parameterbeschreibung Steuerblock (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste von 7 benachbarten Ausgangsregistern im Steuerblock. Register Definition Angezeigt Portnummer und Fehlercode Erstes impliziertes Register Nachrichtennummer Zweites impliziertes Register Anzahl der Register, die zur Erfüllung von Formatforderungen benötigt werden Drittes impliziertes Register Zählung der Anzahl bis dahin übertragener Register Viertes impliziertes Register Programmschleifenstatus Fünftes impliziertes Register Reserviert Sechstes impliziertes Register Prüfsumme der Register 0 ... 5 Portnummer und Fehlercode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 ... 4 SPS-Fehlercode 5 Nicht verwendet 6 Eingabe vom ASCII-Gerät nicht kompatibel mit Format 7 Eingangspuffer-Überlauf, Daten wurden zu schnell in RIOP eingelesen 8 USART-Fehler, ungültiges Byte am RIOP aufgenommen 9 ASCII-Gerät offline, Verkabelung kontrollieren 10 Ungültiges Format, vom RIOP nicht ordnungsgemäß aufgenommen 11 ASCII-Nachricht frühzeitig beendet (im Tastatur-Modus) 12 ... 16 Kommunikationsport Nr. (1 ... 32) SPS-Fehlercode Bit 31007525 12/2006 Bedeutung 1 2 3 4 0 0 0 1 Fehler bei der Eingabe vom ASCII-Gerät in den RIOP 0 0 1 0 Ausnahmereaktion vom RIOP, ungültige Daten 0 0 1 1 Reihenfolgenummer vom RIOP weicht vom erwarteten Wert ab 989 READ: Lesen Bit Ziel (mittlerer Eintrag) Bedeutung 1 2 3 4 0 1 0 0 Prüfsummenfehler des Benutzerregisters, häufig verursacht durch sich ändernde READ-Register, während der Block aktiv ist 0 1 0 1 Ungültige Schnittstellen- oder Nachrichtennummer festgestellt 0 1 1 0 Vom Benutzer initiierter Abbruch, unterer Eingang aktiviert 0 1 1 1 Keine Antwort von der E/A-Station, Kommunikationsfehler 1 0 0 0 Eintrag abgebrochen wegen SKP-Instruktion 1 0 0 1 Nachrichtenbereich durcheinander gebracht, Speicher neu laden 1 0 1 0 Schnittstelle nicht in der E/A-Bestückungsliste konfiguriert 1 0 1 2 Ungültige ASCII-Anfrage 1 1 0 0 Unbekannte Antwort vom ASCII-Port 1 1 0 1 Ungültiges ASCII-Element in der Benutzerlogik festgestellt 1 1 1 1 RIOP in der SPS ist abgeschaltet Der mittlere Eintrag enthält das erste 4x-Register in einer Zieltabelle. Variable Daten in einer READ-Nachricht werden in diese Tabelle geschrieben. Die Länge der Tabelle wird im unteren Eintrag festgelegt. Berücksichtigen Sie diese READ-Nachricht: Passwort eingeben: AAAAAAAAAA (Eingebetteter Text) (Variable Daten) Hinweis: Eine ASCII-READ-Nachricht kann den eingebetteten Text zwischen Anführungsstrichen sowie die variablen Daten in der Formatangabe, d.h. die ASCII-Nachricht, enthalten. Das 10-Zeichen-ASCII-Feld AAAAAAAAAA ist das variable Datenfeld; variable Daten müssen über ein ASCII-Eingabegerät eingegeben werden. 990 31007525 12/2006 RET: Rücksprung aus einem Unterprogramm 158 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung RET beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 992 Darstellung: RET - Rücksprung zur verwalteten Logik 993 991 RET: Rücksprung aus einem Unterprogramm Kurzbeschreibung Funktionsbeschreibung Die RET-Instruktion kann verwendet werden, um den Zyklus unmittelbar nach dem zuletzt ausgeführten JSR-Block zum Eintrag zurückzugeben. Diese Instruktion kann nur innerhalb des Unterprogrammsegments, des (nicht verwalteten) letzten Segments im Anwenderprogramm, ausgeführt werden. Hinweis: Wenn ein Unterprogramm keinen RET-Block enthält, dient entweder ein LAB Block oder das Logikende (je nachdem, was zuerst kommt) als Standardrücksprung aus dem Unterprogramm. Ein Beispiel für die Handhabung des Unterprogramms finden Sie unter S. 49. 992 31007525 12/2006 RET: Rücksprung aus einem Unterprogramm Darstellung: RET - Rücksprung zur verwalteten Logik Symbol Darstellung der Anweisung RÜCKSPRUNG ZUR VORHERIGEN LOGIK RET FEHLER 00001 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Bedeutung Oberer Eingang 0x, 1x Keine 00001 INT, UINT Konstanter Wert, kann nicht geändert werden Oberer Ausgang 31007525 12/2006 Signalspeicher- Datentyp Referenz 0x Keine EIN = Rücksprung zur vorherigen Logik EIN bewirkt den Rücksprung des Zyklus zum Knoten unmittelbar nach der zuletzt ausgeführten JSR-Anweisung, oder zu dem Punkt, wo der Interrupt im Zyklus aufgetreten ist. EIN = Fehler im angegebenen Unterprogramm 993 RET: Rücksprung aus einem Unterprogramm 994 31007525 12/2006 RTTI - Register zu Eingangstabelle 159 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung RTTI beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 996 Darstellung 997 995 RTTI - Register zu Eingangstabelle Kurzbeschreibung Funktionsbeschreibung 996 Der Block "Register zu Eingangstabelle" ist eine von vier 484-Ersetzungsanweisungen. Er kopiert die Inhalte eines Eingangsregisters oder Ausgangsregisters in ein anderes Eingangs- oder Ausgangsregister. Auf dieses Zielregister wird durch das Eingangsregister gezeigt, das durch die Konstante im unteren Knoten impliziert ist. Nur eine solche Operation kann vom System in jedem Zyklus untergebracht werden. 31007525 12/2006 RTTI - Register zu Eingangstabelle Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quelle Fehler RTTI Ziel Offset-Zeiger Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine Steuerungsquelle Quelle (oberer Knoten) 3x, 4x INT, UINT Der Quellknoten (oberer Knoten) enthält die Quellregisteradresse. Die in der Quellregisteradresse befindlichen Daten werden in die Zieladresse kopiert, die durch den Ziel-Offset-Zeiger festgelegt wird. Zeiger (unterer Knoten) (1 ... 254) (801 ... 832) INT, UINT Der Zeiger ist ein 3xxxx das durch eine Konstante (d.h. 00018 -> 30018) impliziert wird, deren Inhalte das Ziel angeben. Ein Wert von 1 bis 254 zeigt ein Ausgangsregister (40001 - 40254) und ein Wert von 801 bis 832 ein Eingangsregister (30001 - 30032) an. Wenn der Wert außerhalb dieses Bereichs liegt, wird die Operation nicht ausgeführt, und die FEHLER-Schiene wird aktiviert. Beachten Sie, dass der Wert des Zeigers nicht automatisch erhöht wird. Oberer Ausgang 0x Keine Liefert Rückmeldung des Werts des oberen Eingangs Unterer Ausgang 0x Keine EIN = Fehler Zeigerwert außerhalb des Bereichs 997 RTTI - Register zu Eingangstabelle 998 31007525 12/2006 RTTO - Register zu Ausgangstabelle 160 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung RTTO beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1000 Darstellung 1001 999 RTTO - Register zu Ausgangstabelle Kurzbeschreibung Funktionsbeschreibung 1000 Der Block "Register zu Ausgangstabelle" ist eine von vier 484-Ersetzungsanweisungen. Er kopiert die Inhalte eines Eingangsregisters oder Ausgangsregisters in ein anderes Eingangs- oder Ausgangsregister. Das Ausgangsregister, das durch die Konstante im unteren Knoten impliziert ist, zeigt auf dieses Zielregister. Nur eine solche Operation kann vom System in jedem Zyklus untergebracht werden. 31007525 12/2006 RTTO - Register zu Ausgangstabelle Darstellung Symbol Darstellung der Anweisung Steuereingang Kopieren Quelle Fehler RTTO Ziel Offset-Zeiger Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine Steuerungsquelle Quelle 3x, 4x (oberer Knoten) INT, UINT Der Quellknoten (oberer Knoten) enthält die Quellregisteradresse. Die in der Quellregisteradresse befindlichen Daten werden in die Zieladresse kopiert, die durch den Ziel-Offset-Zeiger festgelegt wird. Zeiger (1 ... 254) (unterer Knoten) (801 ... 824) INT, UINT Der Zeiger ist ein 4xxxx das durch eine Konstante (d.h. 00018 -> 40018) impliziert wird, deren Inhalte das Ziel angeben. Ein Wert von 1 bis 254 zeigt ein Ausgangsregister (40001 - 40254) und ein Wert von 801 bis 832 ein Eingangsregister (30001 - 30032) an. Wenn der Wert außerhalb dieses Bereichs liegt, wird die Operation nicht ausgeführt, und die FEHLER-Schiene wird aktiviert. Beachten Sie, dass der Wert des Zeigers nicht automatisch erhöht wird. Oberer Ausgang 0x Keine Liefert Rückmeldung des Werts des oberen Eingangs Unterer Ausgang 0x Keine EIN = Fehler Zeigerwert außerhalb des Bereichs 1001 RTTO - Register zu Ausgangstabelle 1002 31007525 12/2006 RTU - Remote Terminal Unit 161 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung RTU beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1004 Darstellung 1005 1003 RTU - Remote Terminal Unit Kurzbeschreibung Funktionsbeschreibung Der Modbus-Block RTU (dezentrale Datenerfassungsstation) unterstützt die folgenden Baudraten: z z z z z 1004 1200 2400 4800 9600 19200 31007525 12/2006 RTU - Remote Terminal Unit Darstellung Parameterbeschreibung Registereinträge für Baudraten Beschreibung der Anweisungparameter Register Funktion 4x RTU-Revisionsnummer (schreibgeschützt) 4x + 1 Fehlerstatusfeld (schreibgeschützt) 4x + 2 Feld nicht verwendet 4x + 3 Baudratenregister konfigurieren Ausführliche Informationen zu den Registereinträgen für Baudraten finden Sie im folgenden Abschnitt: "Registereinträge für Baudraten". 4x + 4 Datenbitregister konfigurieren Ausführliche Informationen zu den Registereinträgen für Datenbits finden Sie im folgenden Abschnitt: Registereinträge für Datenbits 4x + 5 Paritätsregister 4x + 6 Stoppbitregister 4x + 7 Feld nicht verwendet 4x + 8 Befehlswortregister konfigurieren Ausführliche Informationen zu den Registereinträgen für Befehlswörter finden Sie im folgenden Abschnitt: Registereinträge für Befehlswörter Der Modbus-Block RTU (dezentrale Datenerfassungsstation) unterstützt die folgenden Baudraten: z z z z z 1200 2400 4800 9600 19200 Nachstehend folgen Registereinträge für die unterstützten Datenübertragungsraten. Um eine Datenübertragungsrate zu konfigurieren, geben Sie die entsprechende Dezimalzahl (beispielsweise 1200) in das Baudratenregister ein. 31007525 12/2006 Registereintrag Baudrate 1200 1200 2400 2400 4800 4800 9600 9600 19200 19200 1005 RTU - Remote Terminal Unit Registereinträge für Datenbits Der RTU-Block unterstützt die Datenbits 7 und 8. Nachstehend folgen die möglichen Registereinträge für das Datenbitfeld: Registereintrag Datenbitfeld 7 7 8 8 Modbus-Nachrichten können im Modbus-RTU-Format oder Modbus-ASCII-Format gesendet werden. z Wenn Nachrichten im Modbus-ASCII-Format gesendet werden, geben Sie 7 in das Feld ein. z Wenn Nachrichten im Modbus-RTU-Format gesendet werden, geben Sie 8 ein. Wenn Sie ASCII-Nachrichten senden, kann dieses Register auf 7 oder 8 Datenbits konfiguriert werden. Registereinträge für Befehlswörter 1006 Der RTU-Block interpretiert jedes Bit des Befehlsworts als Ausführungsfunktion. Es folgen die Bitdefinitionen für die Einträge in das Befehlswortregister. Registereintrag Definitionen 1 (msb) Nicht verwendet 2 RTS/CTS-Steuerung aktivieren 3 Nicht verwendet 4 Nicht verwendet 5 Nicht verwendet 6 Nicht verwendet 7 Nachrichten mit ASCII-Zeichenketten aktivieren 8 Modbus-Nachrichtenübermittlung aktivieren 9 Nicht verwendet 10 Nicht verwendet 11 Nicht verwendet 12 Nicht verwendet 13 Nicht verwendet 14 Modem auflegen 15 Modem wählen 16 (lsb) Modem initialisieren 31007525 12/2006 RTU - Remote Terminal Unit Die folgenden Punkte liefern ausführliche Informationen zu den Bits 2, 7 und 8. z z z 31007525 12/2006 Bit 2 - Steuerung für Sendeanforderung/Sendebereitschaft (RTS/CTS) aktivieren Dieses Bit sollte gesetzt werden (oder gültig sein), wenn ein DCE, das mit der SPS verbunden ist, einen Hardware-Quittierungsaustausch unter Verwendung der RTS/CTS-Steuerung anfordert. Dieses Bit kann in Verbindung mit den Werten verwendet werden, die im Register (4xxxx ¸ 13) Start der Übertragungsverzögerung und im Register (4xxxx + 13) Ende der Übertragungsverzögerung enthalten sind. Durch den Start der Übertragungsverzögerung wird RTS weiterhin für die Zeit von 0-9999 ms aktiviert, bevor der RTU-Block eine Nachricht vom SPS-Port absendet. Nachdem der RTU-Block eine Nachricht gesendet hat, wird RTS weiterhin für 0-9999 ms durch das Ende der Übertragungsverzögerung aktiviert. Sobald das Ende der Übertragungsverzögerung abgelaufen ist, wird RTS durch den RTU-Block deaktiviert. Bit 7 - ASCII-Zeichenketten-Nachrichten aktivieren Dieses Bit sollte gesetzt werden (oder gültig sein), um ASCII-ZeichenfolgenNachrichten vom SPS-Kommunikationport Nr. 1 zu senden. Der RTU-Block kann eine ASCII-Zeichenkette von bis zu 512 Zeichen Länge senden. Jede ASCII-Nachricht muss in benachbarte 4x-Register der SPS programmiert werden. Es sind zwei Zeichen pro Register zulässig. Hinweis: Diese ASCII-Nachrichten-Zeichenkette darf nicht mit einer im ASCIIFormat gesendeten Modbus-Nachricht verwechselt werden. Bit 8 - Modbus-Nachrichten aktivieren Dieses Bit sollte gesetzt werden (oder gültig sein), um Modbus-Nachrichten vom SPS-Kommunikationport Nr. 1 zu senden. Modbus-Nachrichten können entweder im RTU- oder ASCII-Format gesendet werden. z Wenn Modbus-Nachrichten im RTU-Format gesendet werden, setzen Sie die Datenbits im (4xxxx + 4)-Datenbitregister auf 8. z Wenn Modbus-Nachrichten im ASCII-Format gesendet werden, setzen Sie die Datenbits im (4xxxx + 4)-Datenbitregister auf 7. 1007 RTU - Remote Terminal Unit 1008 31007525 12/2006 SAVE: Momentzustand speichern 162 Auf einen Blick Einleitung In diesem Kapitel wird SAVE-Anweisung beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1010 Darstellung 1011 Parameterbeschreibung 1012 1009 SAVE: Momentzustand speichern Kurzbeschreibung Funktionsbeschreibung Hinweis: Diese Instruktion ist verfügbar für die SPS-Familie TSX Compact mit Quantum-CPUs 434 12/ 534 14 und Momentum-CPUs CCC 960 x0/ 980 x0. Die SAVE-Instruktion speichert einen Block von 4x-Registern im Signalspeicher, wo sie vor unberechtigter Änderung geschützt sind. 1010 31007525 12/2006 SAVE: Momentzustand speichern Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register 1, 2, 3, 4 Fehler SPEICHERN nicht zulässig SAVELänge Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Start der SAVE-Operation: muss auf EIN bleiben, bis die Operation erfolgreich abgeschlossen wurde oder ein Fehler aufgetreten ist. Register (oberer Knoten) 4x INT, UINT, Das erste der maximal 512 benachbarten WORD 4x-Register, die im Signalspeicher zu speichern sind 1, 2, 3, 4 (siehe S. 1012) (mittlerer Knoten) INT Ganzzahliger Wert, der den spezifischen Puffer festlegt, in dem der Datenblock gespeichert werden soll Länge (unterer Knoten) INT Anzahl der zu speichernden Wörter, Bereich: 1 ... 512 Oberer Ausgang 0x Keine EIN = SAVE ist aktiv Mittlerer Ausgang (siehe S. 1012) Keine EIN = SAVE ist nicht zulässig 0x 1011 SAVE: Momentzustand speichern Parameterbeschreibung 1, 2, 3, 4 (mittlerer Eintrag) Der mittlere Eintrag definiert den spezifischen Puffer innerhalb des Signalspeichers, in dem der Datenblock gespeichert werden soll. Vier 512-Wort-Puffer sind zulässig. Jeder Puffer wird festgelegt, indem sein entsprechender Wert im mittleren Eintrag eingegeben wird. Der Wert 1 steht also für den ersten Puffer, der Wert 2 für den zweiten Puffer usw. Normale Werte sind 1, 2, 3 und 4. Wenn die SPS gestartet ist, sind alle vier Puffer auf 0 gesetzt. Deshalb können Sie nicht Daten im selben Puffer speichern, ohne vorher die Instruktion LOAD (siehe S. 679) hineinzuladen. Wenn dies versucht wird, schaltet der mittlere Ausgang auf EIN. Sobald also ein Puffer verwendet wird, kann er bis zum Löschen der Daten nicht erneut verwendet werden. Mittlerer Ausgang Der Ausgang vom mittleren Eintrag wechselt auf EIN, wenn auf vorher gespeicherte Daten nicht mit der LOAD (siehe S. 679)-Instruktion zugegriffen wurde. Dies verhindert das unbeabsichtigte Überschreiben von Daten im SAVE-Puffer. 1012 31007525 12/2006 SBIT: Bit setzen 163 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SBIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1014 Darstellung 1015 1013 SBIT: Bit setzen Kurzbeschreibung Funktionsbeschreibung Die Instruktion Bit setzen (SBIT) ermöglicht Ihnen das Setzen des Status des angegebenen Bits auf EIN (1) durch Aktivierung des oberen Eingangs. Hinweis: Die SBIT-Instruktion befolgt nicht dieselben Regeln der Netzwerkplatzierung wie die 0x-referenzierten Merkerbits. Eine SBIT-Instruktion kann nicht in Spalte 11 eines Netzwerks platziert werden, sie kann links von anderen logischen Einträgen derselben Sprossen der Leiter platziert werden. 1014 31007525 12/2006 SBIT: Bit setzen Darstellung Symbol Darstellung der Anweisung EIN setzt Bit auf 1 aktiv Register Nr. SBIT Bit-Nr. (1 ... 16) Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = setzt das angegebene Bit auf 1. Das Bit bleibt auch nach dem Deaktivieren des Eingangs gesetzt. Register Nr. (oberer Knoten) 4x WORD Ausgangsregister, dessen Bitmuster gesteuert wird Bit Nr. (unterer Knoten) INT, UINT Zeigt an, welches der 16 Bits gerade gesetzt wird Oberer Ausgang 0x Keine Wechselt auf EIN, wenn das angegebene Bit gesetzt wird und bleibt EIN, wenn es gelöscht wird (über die RBIT (siehe S. 981)-Anweisung) 1015 SBIT: Bit setzen 1016 31007525 12/2006 SCIF: Ablaufsteuerungsschnittstellen 164 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SCIF beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1018 Darstellung 1019 Parameterbeschreibung 1021 1017 SCIF: Ablaufsteuerungsschnittstellen Kurzbeschreibung Funktionsbeschreibung Die SCIF-Instruktion führt entweder eine Schrittschaltwerk-Operation oder einen Eingangsvergleich (ICMP) unter Verwendung der Daten aus, die in der Schrittdatentabelle festgelegt sind. Die Operation wird durch Festlegen des Werts im ersten Register der Schrittdatentabelle gewählt. z 0 = Trommelmodus Die Instruktion bestimmt die Ausgangswerte in der TrommelSequenzierungsapplikation. z 1 = ICMP-Modus: Die Instruktion liest Eingaben, um so zu sichern, dass Endschalter, Annäherungsschalter, Drucktasten usw. richtig angeordnet sind, so dass die Trommelausgänge gezündet werden können. 1018 31007525 12/2006 SCIF: Ablaufsteuerungsschnittstellen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Schrittzeiger Operationsspezifisch Operationsspezifisch Schrittdatent -abelle Schrittzeiger zurücksetzen Länge: 1 - 255 31007525 12/2006 SCIF Fehler Länge (1 ... 255) 1019 SCIF: Ablaufsteuerungsschnittstellen Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert angegebene Sequenzregeloperation Mittlerer Eingang 0x, 1x Keine Trommelmodus: Schrittzeiger inkrementiert zum nächsten Schritt ICMP-Modus: Vergleichsstatus wird am mittleren Ausgang gezeigt Unterer Eingang 0x, 1x Keine Trommelmodus: EIN = Schrittzeiger auf 0 zurücksetzen ICMP-Modus: nicht verwendet Schrittzeiger (oberer Knoten) 4x INT, UINT Nummer des aktuellen Schrittes in der Schrittdatentabelle Schrittdatentabelle (siehe S. 1021) (mittlerer Knoten) 4x INT, UINT Erstes Register in der Schrittdatentabelle (Ausführliche Informationen finden Sie S. 1021.) INT, UINT Anzahl der anwendungsspezifischen Register, die in der Schrittdatentabelle verwendet werden Länge (siehe S. 1022) (unterer Knoten) 1020 Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine Der Trommelmodus wird für den letzten Schritt auf EIN gestellt Hinweis: Beachten Sie beim Verwenden des mittleren Ausgangs, dass beim Integrieren mit einer anderen Logik, falls der Schrittzeiger auf Null und der mittlere Ausgang auf EIN steht, der mittlere Ausgang ebenfalls auf EIN steht. Dieser Zustand bewirkt, dass der Schrittzeiger einen Schritt außerhalb der Sequenz liegt. Unterer Ausgang 0x Keine EIN = Fehler gefunden 31007525 12/2006 SCIF: Ablaufsteuerungsschnittstellen Parameterbeschreibung Schrittdatentabelle (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste Register in einer Schrittdatentabelle. Die ersten 7 Register in der Tabelle enthalten konstante und variable Daten, die zur Ausführung der Instruktion benötigt werden: Register Registername Beschreibung Angezeigt Unterfunktionstyp 0 = Trommelmodus; 1 = ICMP-Modus (Eingabe eines anderen Werts in dieses Register führt dazu, dass alle Ausgänge AUS gestellt sind) Erstes impliziertes Register maskierte Ausgangsdaten Wird von SCIF jedes Mal geladen, wenn der (im Trommelmodus) Block ausgeführt ist; das Register enthält den Inhalt des aktuellen Schrittdatenregisters, das vom Ausgangsmaskenregister maskiert wird. Roheingangsdaten (im ICMP-Modus) Wird vom Benutzer aus einer Gruppe sequentieller Eingänge geladen, die vom Block für den aktuellen Schritt verwendet werden. Zweites impliziertes Register aktuelle Schrittdaten Wird von SCIF jedes Mal geladen, wenn der Block ausgeführt wird; das Register enthält Daten aus dem aktuellen Schritt (auf den der Schrittzeiger zeigt) Drittes impliziertes Register Ausgangsmaske (im Trommelmodus) Wird vom Benutzer vor der Verwendung des Blocks geladen; der Inhalt wird nicht während der Ausführung der Logik verändert; enthält eine Maske, die auf die Daten für jeden einzelnen Sequenzierschritt angewendet werden muss Eingangsmaske (im ICMP-Modus) Wird vom Benutzer vor der Verwendung des Blocks geladen; enthält eine Maske, die mit AND auf rohe Eingabedaten für jeden Schritt angewendet wird; maskierte Daten werden nicht verglichen; die maskierten Daten werden im maskierten Eingangsdatenregister abgelegt. maskierte Eingangsdaten (im ICMP-Modus) Wird von SCIF jedes Mal geladen, wenn der Baustein ausgeführt wird; enthält das Ergebnis der mit AND verbundenen Eingangsmaske und unverarbeiteten Eingangsdaten. Viertes impliziertes Register Nicht benutzt im Trommelmodus 31007525 12/2006 1021 SCIF: Ablaufsteuerungsschnittstellen Register Registername Beschreibung Fünftes impliziertes Register Vergleichsstatus (im ICMP-Modus) Wird von SCIF jedes Mal geladen, wenn der Baustein ausgeführt wird; enthält das Ergebnis einer XOR-Operation der maskierten Eingangsdaten und die aktuellen Schrittdaten; nicht maskierte Eingänge, die sich nicht im korrekten logischen Zustand befinden, führen dazu, dass das ihnen zugeordnete Bit auf 1 wechselt. Bits, die nicht auf Null gesetzt sind, verursachen einen Vergleichsfehler, und der mittlere Ausgang vom SCIF wechselt auf EIN. Nicht benutzt im Trommelmodus Sechstes impliziertes Register Länge der Stufendatentabelle (unterer Eintrag) 1022 Start der Datentabelle Erstes der K-Register in der Tabelle, das die benutzerdefinierten Steuerdaten enthält Hinweis: Dies und der Rest der Register stellt applikationsspezifische Schrittdaten in dem gerade geregelten Verfahren dar. Der im unteren Eintrag eingegebene Ganzzahlwert entspricht der Länge, d.h. der Anzahl der applikationsspezifischen Register, die in der Schrittdatentabelle verwendet werden. Die Länge kann im Bereich von 1 ... 255 liegen. Die Gesamtzahl der erforderlichen Register in der Schrittdatentabelle ist die Länge +7. Die Länge muss der in das Register "Verwendete Schritte" eingegebene ≥ Wert im mittleren Eintrag sein. 31007525 12/2006 SENS: Abfragen 165 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SENS beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1024 Darstellung 1025 Parameterbeschreibung 1027 1023 SENS: Abfragen Kurzbeschreibung Funktionsbeschreibung 1024 Die SENS-Instruktion prüft den Abfragewert (1 oder 0) einer spezifischen Bitposition in einer Datenmatrix und gibt ihn an. Eine Bitposition wird pro Zyklus abgefragt. 31007525 12/2006 SENS: Abfragen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Bitposition Zeiger: (999 16-Bit SPS) (max.) (9600 24-Bit SPS) Zeiger vergrößern Bitabfrage (ein/aus) Datenmatrix Zeiger zurücksetzen SENS Matrixlänge (max.) 255 Register (4080 Bits 16-Bit SPS) Länge 600 Register (9600 Bits 24-Bit SPS) 31007525 12/2006 Fehler Operation nicht ausgeführt Zeiger > Matrixgröße 1025 SENS: Abfragen Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = fragt die Bitposition ab. Mittlerer Eingang 0x, 1x Keine Die Bitposition beim nächsten Zyklus um eins erhöhen Unterer Eingang 0x, 1x Keine Die Bitposition auf 1 zurücksetzen Bitposition (siehe S. 1027) (oberer Knoten) 3x, 4x WORD Spezifische Bitposition, die in der Datenmatrix abgefragt werden soll; wird explizit als Ganzzahl eingegeben oder in einem Register gespeichert; Bereich: 1 ... 9600 Zeiger: (999 16-Bit-SPS) (max) (9900 24-Bit-SPS) Datenmatrix 0x, 4x (mittlerer Knoten) BOOL, WORD Erstes Wort oder Register in der Datenmatrix Länge (siehe S. 1027) (unterer Knoten) INT, UINT max. Matrixlänge 255 Register (4080 Bits 16-Bit-SPS) 600 Register (9600 Bits 24-Bit-SPS) Oberer Ausgang 1026 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Bitabfrage ist 1 AUS = Bitabfrage ist 0 Unterer Ausgang Keine EIN = Fehler Bitposition > Matrixlänge 0x 31007525 12/2006 SENS: Abfragen Parameterbeschreibung Bitposition (oberer Eintrag) Matrixlänge (unterer Eintrag) 31007525 12/2006 Hinweis: Wenn die Bitposition als Ganzzahl oder in ein 3x-Register eingegeben wird, ignoriert die Instruktion den Status des mittleren und unteren Eintrags. Der Ganzzahlwert im unteren Eintrag gibt die Matrixlänge an, d.h. die Anzahl der 16Bit-Wörter oder -Register in der Datenmatrix. Die Länge kann in einer 24-Bit-CPU im Bereich von 1 ... 600 liegen, z.B. weist eine Matrixlänge von 200 auf 3200 Bitpositionen hin. 1027 SENS: Abfragen 1028 31007525 12/2006 Verbindungen 166 Auf einen Blick Einleitung In diesem Kapitel wird das Anweisungselement Verbindungen (Shorts) beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1030 Darstellung 1031 1029 Verbindungen Kurzbeschreibung Funktionsbeschreibung 1030 Verbindungen (Shorts) sind einfache, geradlinige Verbindungen zwischen Kontakten und/oder Anweisungen eines Ladder Logic-Netzwerks. Vertikale (|) und horizontale (—) Verbindungen dienen zum Herstellen von Verbindungen zwischen den Zeilen und Spalten der Logik. Um eine vertikale Verbindung aufzuheben, verwenden Sie eine Funktion zum Öffnen der vertikalen Verbindung. 31007525 12/2006 Verbindungen Darstellung Vertikale Verbindungen Vertikale Verbindungen dienen zum vertikalen Verbinden von Kontakten oder Anweisung in einer Netzwerkspalte, oder von Knoteneingängen und -ausgängen, um Entweder-Oder-Zustände herzustellen. Wenn zwei Kontakte durch vertikale Verbindungen miteinander verbunden sind, liegt ein aktiver Zustand vor, wenn an einen oder beide Kontakte Strom angelegt wird. Horizontale Verbindungen Horizontale Verbindungen dienen zur horizontalen Erweiterung der Logik an einem Strompfad in einem Ladder Logic-Netzwerk. 31007525 12/2006 1031 Verbindungen 1032 31007525 12/2006 SKP Überspringen von Netzwerken 167 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SKP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1034 Darstellung 1035 1033 SKP - Überspringen von Netzwerken Kurzbeschreibung Funktionsbeschreibung WARNUNG ÜBERSPRUNGENE EINGÄNGE UND AUSGÄNGE Achten Sie bei Verwendung der SKP-Anweisung auf übersprungene Eingänge und Ausgänge. SKP ist eine gefährliche Anweisung, die mit Vorsicht zu verwenden ist. Wenn Eingänge und Ausgänge, die normalerweise die Steuerung ausführen, unbeabsichtigt übersprungen werden (oder nicht), kann dies zu gefährlichen Situationen für das Personal und die für die Anwendung erforderlichen Geräte führen. Die Nichtbeachtung dieser Anweisung kann den Tod, Körperverletzung oder Materialschäden zur Folge haben! ACHTUNG LESEN VON WERTEN WÄHREND DER ÄNDERUNG 3xxxx- und 4xxxx-Register sind mit Vorsicht zu verwenden. Der Prozessor kann den Wert lesen, während dieser sich ändert. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. Die SKP-Anweisung ist eine Standardanweisung in allen SPS-Systemen. Sie sollte mit Vorsicht verwendet werden. Die Anweisung SKP wird verwendet, um die Zykluszeit zu reduzieren, indem ein Teil der Logik nicht ausgeführt wird. Die Anweisung SKP bewirkt, dass der logische Zyklus bestimmte Netzwerke im Programm überspringt. Die SKP-Funktion kann verwendet werden, um z Selten verwendete Programmabläufe zu umgehen, z Unterprogramme zu erstellen. Die Anweisung SKP ermöglicht das Überspringen einer bestimmten Anzahl von Netzwerken in einem Ladder Logic-Programm. Wenn sie aktiviert ist, wird die SKPOperation in jedem Zyklus ausgeführt. Der übrige Teil des Netzwerks, in dem die Anweisung eingesetzt wird, zählt als das erste einer bestimmten Anzahl von Netzwerken, die zu überspringen sind. Die CPU überspringt Netzwerke, bis die Gesamtanzahl der übersprungenen Netzwerke der im Anweisungsblock angegebenen Anzahl entspricht oder bis eine Segementgrenze erreicht wird. Eine SKP-Operation kann eine Segmentgrenze nicht durchlaufen. Eine SKP-Anweisung kann nur aktiviert werden, wenn Sie im SPS-Konfigurationseditor angeben, dass Überspringen erlaubt ist. SKP ist eine aus einem höherwertigen Bit bestehende Knotenanweisung. 1034 31007525 12/2006 SKP - Überspringen von Netzwerken Darstellung Symbol Darstellung der Anweisung SKP Steuereingang Anzahl übersprungener Netzwerke Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 1x Zahl der 3x, 4x übersprungenen Netzwerke (oberer Knoten) Keine EIN initiiert im aktiven Zustand eine Operation zum Überspringen von Netzwerken. Eine SKP-Operation wird in jedem Zyklus ausgeführt, während der Eingang auf EIN gestellt ist. INT, UINT WORD Der in den Knoten eingegebene Wert bezeichnet die Zahl der zu überspringenden Netzwerke. Der Wert kann z explizit als Ganzzahlkonstante im Bereich von 1 bis 999 angegeben werden, z in einem 3xxxx-Eingangsregister abgelegt sein, z in einem 4xxxx-Ausgangsregister abgelegt sein. Der Knotenwert schließt das Netzwerk ein, das die SKP-Anweisung enthält. Die Knotenbereiche im Netzwerk, in denen das SKP gespeichert ist und die noch nicht abgefragt wurden, werden übersprungen; dies zählt als eines der zu überspringenden Netzwerke. Der Prozessor überspringt weiterhin Netzwerke, bis die Gesamtzahl der übersprungenen Netzwerke dem angegeben Wert entspricht. 31007525 12/2006 1035 SKP - Überspringen von Netzwerken 1036 31007525 12/2006 SRCH: Suchen 168 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SRCH beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1038 Darstellung 1039 Parameterbeschreibung 1041 1037 SRCH: Suchen Kurzbeschreibung Funktionsbeschreibung 1038 Die SRCH-Instruktion sucht die Register in einer Quelltabelle nach einem spezifischen Bitmuster ab. 31007525 12/2006 SRCH: Suchen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quelltabelle Suche starten an Zeigerregister Entsprechung gefunden Zeiger SRCH Länge: 1 - 100 Register Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Suche Mittlerer Eingang 0x, 1x Keine AUS = Suche von Anfang an EIN = Suche ab der letzten Übereinstimmung Quelltabelle (oberer Knoten) 3x, 4x INT, UINT, Zu durchsuchende Quelltabelle WORD Zeiger (siehe S. 1041) (mittlerer Knoten) 4x INT, UINT Zeiger in die Quelltabelle INT, UINT Anzahl der Register in der Quelltabelle, Bereich: 1 ... 100 Tabellenlänge (unterer Knoten) 31007525 12/2006 Tabellenlänge Oberer Ausgang 0x Keine Gibt den Status des oberen Eingangs an Mittlerer Ausgang 0x Keine EIN = Entsprechung gefunden 1039 SRCH: Suchen SRCH-Beispiel In diesem Beispiel wird in einer Quelltabelle, die fünf Register (40421 ... 40425) enthält, nach einem bestimmten Bitmuster gesucht. Das Zeigerregister (40430) zeigt an, dass das gewünschte Bitmuster im Register 40431 gespeichert ist, und das Register enthält einen Bitwert von 3333. 40421 40430 10001 10002 40430 40500 SRCH 00005 BLKM 0001 Quelltabelle 40421 40422 40423 40424 40425 Register Inhalt = 1111 = 2222 = 3333 = 4444 = 5555 Zeiger 40430 Register Inhalt 40431 = 3333 00142 In jedem Zyklus, in dem der Kontakt zur Erkennung von positiven Übergängen 10001 von AUS auf EIN übergeht, wird die Quelltabelle nach einem Bitmuster durchsucht, das dem Wert 3333 entspricht. Wenn die entsprechende mathematische Funktion gefunden wird, liefert der mittlere Ausgang Strom zur Spule 00142. Ist der Schließerkontakt 10002 auf AUS gestellt ist, wenn die Entsprechung im Register 40423 gefunden wird, aktiviert die SRCH-Anweisung die Spule 00142 für einen Zyklus, danach beginnt die Suche erneut im nächsten Zyklus am Anfang der Quelltabelle (Register 40421). Wenn der Kontakt 10002 auf EIN gestellt ist, aktiviert die SRCH-Anweisung die Spule 00142 für einen Zyklus, danach beginnt die Suche in Register 40424. Da der obere Eingang ein Kontakt zur Erkennung von positiven Übergängen ist, wird bei jedem Zyklus, bei dem keine Strom zum oberen Eingang fließt, der Zeigerwert gelöscht. Hier wird eine BLKM-Anweisung verwendet, um den Zeigerwert im Register 40500 zu speichern. 1040 31007525 12/2006 SRCH: Suchen Parameterbeschreibung Zeiger (mittlerer Eintrag) 31007525 12/2006 Das im mittleren Eintrag eingegebene 4x-Register ist der Zeiger in die Quelltabelle. Er zeigt in das Quellregister, das denselben Wert enthält wie der Wert, der im nächsten benachbarten Register nach dem Zeiger gespeichert ist, wenn das Zeigerregister beispielsweise 400015 ist, dann enthält 400016 einen Wert, zu dem die SRCH-Instruktion versucht, ein Gegenstück in der Quelltabelle zu finden. 1041 SRCH: Suchen 1042 31007525 12/2006 STAT: Status 169 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung STAT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1044 Darstellung 1045 Parameterbeschreibung 1046 Beschreibung der Zustandstabelle 1047 SPS-Statuswörter 1 - 11 für Quantum und Momentum 1051 E/A-Modul-Health-Statuswörter 12 - 20 bei Momentum 1056 E/A-Modul-Health-Statuswörter 12 - 171 bei Quantum 1058 Kommunikationsstatuswörter 172 - 277 bei Quantum 1060 SPS-Statuswörter 1 - 11 für TSX COMPACT und Atrium 1065 E/A-Modul-Health-Statuswörter 12 - 15 bei TSX Compact 1068 Globale Health- und Kommunikations-Wiederholstatuswörter 182 ... 184 bei TSX COMPACT 1069 1043 STAT: Status Kurzbeschreibung Funktionsbeschreibung Die STAT-Instruktion greift auf eine angegebene Zahl von Wörtern in einer Statustabelle (siehe S. 1047) im Systemspeicher der SPS zu. Hier werden wichtige Diagnoseinformationen bezüglich des Funktionierens der SPS und ihrer RIOStationen bereitgestellt. Zu diesen Informationen gehören: der SPS-Status z Mögliche Fehlerzustände in den EA-Modulen z der Status der Kommunikation Eingang-zu-SPS-zu-Ausgang z 1044 31007525 12/2006 STAT: Status Darstellung Symbol Darstellung der Anweisung oberer Eingang Ziel STAT Länge Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = kopiert die angegebene Zahl von Wörtern aus der Statustabelle 0x, 4x Ziel (siehe S. 1046) (oberer Knoten) INT, UINT, BOOL, WORD Erste Position im Zielblock Länge (siehe S. 1046) (unterer Knoten) INT, UINT Anzahl der Register oder 16-Bit-Wörter im Zielblock Der Ganzzahlwert im unteren Knoten gibt die Matrixlänge an, d.h. die Anzahl der 16Bit-Wörter oder -Register in der Datenmatrix. Die Länge kann in einer 16Bit-CPU im Bereich von 1 bis 255 und in einer 24-Bit-CPU im Bereich von 1 bis 600 liegen, z.B. zeigt eine Matrixlänge von 200 3200 Bitpositionen an. Hinweis: Wenn 0xxxx-Referenzen als Ziel verwendet werden, können sie nicht als Spulen programmiert werden, sondern nur als Kontakte, die auf diese Spulennummern verweisen. (Ausführliche Informationen zur Tabellenlänge und SPS finden Sie S. 1046.) Keine EIN = Operation erfolgreich Oberer Ausgang 31007525 12/2006 SignalspeicherReferenz 0x 1045 STAT: Status Parameterbeschreibung Funktionsweise Bei der STAT-Instruktion können Sie einige oder alle Statuswörter in einen Block von Registern oder einen Block von zusammenhängenden binären Referenzen kopieren. Das Kopieren in den STAT-Block beginnt immer mit dem ersten Wort in der Tabelle und geht weiter bis zum letzten Wort, das für Sie von Interesse ist. Wenn z.B. die Statustabelle 277 Wörter lang ist und Sie sich nur für die in Wort 11 bereitgestellte Statistik interessieren, kopieren Sie nur die Wörter 1 ... 11, indem Sie eine Länge von 11 in der STAT-Instruktion angeben. Zielblock (oberer Eintrag) Die in den oberen Eintrag eingegebene Referenznummer ist die erste Position im Zielblock, d.h. in dem Block, in den die aktuellen Wörter, die für Sie von Interesse sind, aus der Statustabelle kopiert werden. Die Anzahl von Ausgangsregistern oder 16-Bit-Wörtern im Zielblock wird im unteren Eintrag angegeben (Länge). Hinweis: Wir empfehlen Ihnen, wegen der übermäßig großen Zahl, die zur Speicherung von Statusinformationen benötigt wird, keine Bits im STATZieleintrag zu verwenden. Länge (unterer Eintrag) Die im unteren Eintrag eingegebene Ganzzahl gibt die Zahl der Register oder 16Bit-Wörter im Zielblock an, wo die aktuellen Statusinformation hineingeschrieben werden. Die maximale zulässige Länge ist unterschiedlich, je nach verwendetem SPS-Typ und E/A-Kommunikationsprotokoll. z Bei einer am Chassis angebrachten SPS, 984A, 984B oder 984X, die mit S901 RIO-Protokoll arbeitet, umfasst der verfügbare Bereich der Systemstatustabelle 1 ... 75 Wörter. z Bei einer SPS mit 16-Bit-CPU, die mit S908 RIO-Protokoll arbeitet - z.B. im Steckplatz eingebaute SPS, 38x, 48x und 68x - ist der verfügbare Bereich der Systemstatustabellen 1 ... 255 z Bei einer SPS mit 24-Bit-CPU, die mit S908 RIO-Protokoll arbeitet - z.B. im Steckplatz eingebaute SPS, 78x, Quantum-Steuerung - ist der verfügbare Bereich der Systemstatustabellen 1 ... 277 z Bei Compact-984-Steuerungen ist der verfügbare Bereich der Systemstatustabelle 1 ... 184 z Bei Modicon Micro-Steuerungen ist der verfügbare Bereich der Systemstatustabelle 1 ... 56 1046 31007525 12/2006 STAT: Status Beschreibung der Zustandstabelle Allgemeines Die STAT-Instruktion wird verwendet, um den Status des Regel- und E/A-Systems für Quantum (siehe S. 1047), Atrium (siehe S. 1050), TSX Compact (siehe S. 1050) und Momentum (siehe S. 1049) darzustellen. Die ersten 11 Statuswörter werden von Quantum und Momentum in derselben Weise verwendet; TSX COMPACT und Atrium weisen ebenfalls Gemeinsamkeiten auf. Die nachfolgenden haben eine unterschiedliche Bedeutung, was Quantum, TSX COMPACT und Momentum betrifft. Überblick über Quantum Die 277 Wörter der Statustabelle sind in 3 Sections strukturiert: z SPS-Status (Wörter 1 ... 11) (siehe S. 1051) z E/A-Baugruppen-Health (Wörter 12 171) (siehe S. 1058) z E/A-Kommunikations-Health (Wörter 172 277) (siehe S. 1060) Wörter der Statustabelle 31007525 12/2006 Dezimalwort Wortinhalt Hex-Wort 1 SPS-Status 01 2 Hot Standby-Status 02 3 SPS-Status 03 4 RIO-Status 04 5 SPS-Stoppzustand 06 6 Anzahl von Ladder Logic-Segmenten 06 7 Logikende(EOL)-Zeiger 07 8 RIO-Redundanz und -Timeout 08 9 ASCII-Statusmeldung 09 10 RUN/LOAD/DEBUG-Status 0A A 11 nicht verwendet 0B A 12 Station 1, Rack 1 0C 13 Station 1, Rack 2 0D ... ...... ... 16 Station 1, Rack 5 0F 173 Station 2, Rack 1 10 18 Station 2, Rack 2 11 ... ...... ... 171 Station 32, Rack 5 AB 172 S908 Startfehlercode AC 1047 STAT: Status 1048 Dezimalwort Wortinhalt Hex-Wort 173 Fehler an Kabel A AD 174 Fehler an Kabel A AE 175 Fehler an Kabel A AF 176 Fehler an Kabel B B0 178 Fehler an Kabel B B1 178 Fehler an Kabel B B2 179 Globale Kommunikationsfehler B3 180 Globale Kommunikationsfehler B4 181 Globale Kommunikationsfehler B5 182 Fehler/Health-Status an Punkt 1 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (erstes Wort) B6 183 Fehler/Health-Status an Punkt 1 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (zweites Wort) B7 184 Fehler/Health-Status an Punkt 1 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (drittes Wort) B8 185 Fehler/Health-Status an Punkt 2 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (erstes Wort) B9 ... ...... ... 275 Fehler/Health-Status an Punkt 32 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (erstes Wort) 113 276 Fehler/Health-Status an Punkt 32 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (zweites Wort) 114 277 Fehler/Health-Status an Punkt 32 und Wiederholzähler (bei TSX Compact 984-Steuerungen) (drittes Wort) 115 31007525 12/2006 STAT: Status Überblick über Momentum Die 20 Wörter der Statustabelle sind in 2 Sections strukturiert: z SPS-Status (Wörter 1 ... 11) (siehe S. 1051) z E/A-Baugruppen-Health (Wörter 12 20) (siehe S. 1056) Wörter der Statustabelle 31007525 12/2006 Dezimalwort Wortinhalt Hex-Wort 1 SPS-Status 01 2 Hot Standby-Status 02 3 SPS-Status 03 4 RIO-Status 04 5 SPS-Stoppzustand 06 6 Anzahl von Ladder Logic-Segmenten 06 7 Logikende(EOL)-Zeiger 07 8 RIO-Redundanz und -Timeout 08 9 ASCII-Statusmeldung 09 10 RUN/LOAD/DEBUG-Status 0A A 11 nicht verwendet 0B A 12 Funktionsfähigkeit lokaler Momentum E/A-Baugruppen 0C 13 E/A-Bus-Baugruppen-Health 0D 14 E/A-Bus-Baugruppen-Health 0E 15 E/A-Bus-Baugruppen-Health 0F 16 E/A-Bus-Baugruppen-Health 10 17 E/A-Bus-Baugruppen-Health 11 18 E/A-Bus-Baugruppen-Health 12 19 E/A-Bus-Baugruppen-Health 13 20 E/A-Bus-Baugruppen-Health 14 1049 STAT: Status Überblick über TSX COMPACT und Atrium Die 184 Wörter der Statustabelle sind in 3 Sections strukturiert: SPS-Status (Wörter 1 ... 11) (siehe S. 1065) z E/A-Baugruppen-Health (Wörter 12 15) (siehe S. 1068) z Nicht benutzt (16 ... 181) z Globaler Health- und Kommunikations-Wiederholstatus (Wörter 182 ... 184) (siehe S. 1069) z Wörter der Statustabelle 1050 Dezimalwort Wortinhalt Hex-Wort 1 Prozessorstatus 01 2 nicht verwendet 02 3 SPS-Status 03 4 nicht verwendet 04 5 Prozessor-Stoppstatus 06 6 Anzahl von Ladder Logic-Segmenten 06 7 Logikende(EOL)-Zeiger 07 8 nicht verwendet 08 9 nicht verwendet 09 10 RUN/LOAD/DEBUG-Status 0A A 11 nicht verwendet 0B A 12 E/A-Health-Status Rack 1 0C 13 E/A-Health-Status Rack 2 0D 14 E/A-Health-Status Rack 3 0E 15 E/A-Health-Status Rack 4 0F 16 ... 181 nicht verwendet 10 ... B5 182 Health-Status B6 183 E/A-Fehlerzähler B7 184 PAB-Bus-Wiederholzähler B8 31007525 12/2006 STAT: Status SPS-Statuswörter 1 - 11 für Quantum und Momentum SPS-Status (Wort 1) Hot StandbyStatus (Wort 2) Wort 1 zeigt die folgenden Aspekte des SPS-Status an: 1 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1-5 Nicht verwendet 6 1 = Konstante Abtastung freigeben 7 1 = eine Einzelzyklusverzögerung freigeben. 8 1 = 16-Bit-Benutzerlogik 0 = 24-Bit-Benutzerlogik 9 1 = Stromversorgung ein 10 1 = RUN-Lampe AUS 11 1 = Speicherschutz ausgeschaltet (AUS) 12 1 = Batterie ausgefallen 13 - 16 Nicht verwendet 13 14 15 16 Wort 2 zeigt den Hot Standby-Status für 984-SPS an, die S911/R911 Hot StandbyModule verwenden: 1 Bit 31007525 12/2006 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 1 = S911/R911 vorhanden und OK 2 - 10 Nicht verwendet 11 0 = Steuerungs-Flip-Flop auf A stellen 1 = Steuerungs-Flip-Flop auf B stellen 12 0 = Steuerungen verfügen über eine zueinander passende Logik 1 = Steuerungen verfügen nicht über eine zueinander passende Logik 13, 14 Status des dezentralen Systems 0 1 = Offline (1 dez) 1 0 = primär (2 dez) 1 1 = Standby (3 dez) 15, 16 Lokaler Systemstatus 0 1 = Offline (1 dez) 1 0 = primär (2 dez) 1 1 = Standby (3 dez) 1051 STAT: Status SPS-Status (Wort 3) RIO-Zustand (Wort 4) SPSStoppzustand (Wort 5) Wort 3 zeigt weitere Aspekte des SPS-Status an: 1 2 3 4 5 6 Bit Funktion 1 1 = erster Zyklus 7 8 9 10 11 2 1 = Startbefehl anstehend 3 1 = Konstante Zykluszeit überschritten 4 1 = vorhandener undefinierter Status 5 - 12 Nicht verwendet 13 - 16 Einzel-Zyklen 12 13 14 15 16 12 13 14 15 16 Wort 4 wird als IOP-Information verwendet: 1 2 3 4 5 6 7 8 9 Bit Funktion 1 1 = IOP ungültig 2 1 = IOP-Timeout 3 1 = IOP-Schleife 4 1 = IOP-Speicherfehler 5 - 12 Nicht verwendet 13 - 16 00 = IO antwortete nicht 01 = keine Antwort 02 = Schleife fehlgeschlagen 10 11 ACHTUNG Verwendung einer Quantum- oder 984-684E/785E-SPS Wenn Sie eine Quantum- oder 984-684E/785E-SPS verwenden, wird das Bit 15 in Word 5 niemals gesetzt. Diese SPS können gestartet werden und laufen bei im Modus RUN (optimiert) deaktivierten Ausgangs-/Merkerbits. Alle Bits in Wort 5 müssen auch auf 0 gesetzt werden, wenn eine dieser SPSs gerade in Betrieb ist. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. 1052 31007525 12/2006 STAT: Status Wort 5 zeigt die Stoppzustände der SPS an: 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 1 = Peripherie-Port-Stop 2 Paritätsfehler am Erweiterungsspeicher (bei am Chassis angebrachten Controllern) oder "Traffic Cop"/S908-Fehler (bei anderen Controllern) Wenn in einer 984B-Steuerungdas Bit = 1 ist, wurde ein Fehler im Erweiterten Speicher festgestellt; die Steuerung läuft dann weiter, jedoch ist für XMRD/ XMWT-Funkionen der Fehlerausgang EIN. Wenn bei jeder anderen nicht am Chassis angebrachten Steuerung Bit = 1 ist, dann wurde entweder ein Fehler am "Traffic Cop" entdeckt oder S908 fehlt in einer Multipunkt-Konfiguration. 3 1 = Steuerung im Status "DIM AWARENESS" (undefinierter Status) 4 1 = ungültiger peripherer Eingriff 5 1 = Segmentverwalter ungültig 6 1 = Durch den Start des Eintrags wurde das Segment nicht gestartet. 7 1 = Signalspeicherprüfung misslungen 8 1 = ungültiger Traffic Cop 9 1 = Watchdog-Timer abgelaufen 10 1 = Echtzeitfehler 11 CPU-Logik fehlgeschlagen (bei am Chassis befestigten Steuerungen) oder Tabelle für Ausgangs-/Merkerbitbenutzung (bei anderen Steuerungen) Wenn bei einer am Chassis befestigten Steuerung das Bit = 1 ist, haben die internen Diagnosefunktionen einen CPU-Fehler entdeckt. Wenn bei jeder anderem nicht am Chassis befestigten Steuerung das Bit = 1 ist, dann entspricht die Tabelle für Ausgangs-/Merkerbitbenutzung nicht den Ausgangs-/Merkerbits der Benutzerlogik. 12 1 = IOP-Fehler 13 1 = Ungültiger Eintrag 14 1 = Logik-Prüfsumme 15 1 = Ausgangs-/Merkerbit gesperrt im Läuft-Modus (siehe Achtung unten) 16 1 = ungültige Konfiguration 1053 STAT: Status SPSStoppzustand (Wort 6) SPSStoppzustand (Wort 7) RIO-Redundanz und Timeout (Wort 8) Wort 6 zeigt die Anzahl der Segmente in einer "Ladder Logic" an. Dabei wird eine Binärziffer angezeigt: 1 2 5 6 7 8 9 10 11 12 13 14 Funktion 1 - 16 Anzahl der Segmente (als Dezimalzahl ausgedrückt) 15 16 15 16 Wort 7 zeigt die Adresse des Logikende (EOL)-Zeigers an: 1 2 3 4 5 6 7 8 Bit Funktion 1 - 16 Adresse des EOL-Zeigers 9 10 11 12 13 14 Wort 8 verwendet seine vier letzten niederwertigsten Bits zum anzeigen der dezentralen E/A-Timeout-Konstante: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 - 12 Nicht verwendet 13 - 16 RIO-Timeout-Konstante Wort 9 verwendet seine 4 niederwertigsten Bits, um den Status von ASCIIMeldungen anzuzeigen: 1 2 Bit 1054 4 Bit Bit ASCIINachrichtenstatus (Wort 9) 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 ... 12 Nicht verwendet 13 1 = Missverhältnis zwischen der Anzahl der Meldungen und Zeiger 14 1 = Ungültiger Nachrichtenzeiger 15 1 = Ungültige Nachricht 16 1 = Nachrichten-Prüfsummenfehler 31007525 12/2006 STAT: Status RUN/LOAD/ DEBUG-Status (Wort 10) Wort 11 31007525 12/2006 Wort 10 verwendet seine 2 niederwertigsten Bits, um den Status von RUN/LOAD/ DEBUG-Meldungen anzuzeigen: 1 2 3 4 5 6 7 8 Bit Funktion 1 ... 14 Nicht verwendet 15, 15 0 0 = Debug (0 dez) 0 1 = Ausführen (1 dez) 1 0 = Laden (2 dez) 9 10 11 12 13 14 15 16 Dieses Wort wird nicht verwendet. 1055 STAT: Status E/A-Modul-Health-Statuswörter 12 - 20 bei Momentum E/A-ModulHealth-Status Die Statuswörter 12 ... 20 zeigen den Status der Funktionsfähigkeit der E/ABaugruppe an. 1 Wort wird für jeweils einen Punkt verwendet, während 8 Wörter verwendet werden, um die Funktionsfähigkeit von bis zu 128 E/A-Busmodulen darzustellen. Funktionsfähigkeit lokaler Momentum E/A-Baugruppen 1056 Wort 12 zeigt die lokale Momentum-E/A-Modul-Health an: 1 2 3 4 5 6 7 Bit Funktion 1 1 = Lokales Modul 2 - 16 Nicht verwendet 8 9 10 11 12 13 14 15 16 31007525 12/2006 STAT: Status E/A-BusBaugruppenHealth bei Momentum Die Wörter 13 bis 20 zeigen den Health-Status für Momentum-E/A-Busmodule folgendermaßen an: Wort E/A-Busmodule 13 1 ... 16 14 17 ... 32 15 33 ... 48 16 49 ... 64 17 65 ... 80 18 81 ... 96 19 97 ... 112 20 113 ... 128 Jedes Wort zeigt die Momentum-E/A-Busmodul-Health folgendermaßen an: 1 31007525 12/2006 2 3 4 5 Bit Funktion 1 1 = Modul 1 2 1 = Modul 2 3 1 = Modul 3 4 1 = Modul 4 5 1 = Modul 5 6 1 = Modul 6 7 1 = Modul 7 8 1 = Modul 8 9 1 = Modul 9 10 1 = Modul 10 11 1 = Modul 11 12 1 = Modul 12 13 1 = Modul 13 14 1 = Modul 14 15 1 = Modul 15 16 1 = Modul 16 6 7 8 9 10 11 12 13 14 15 16 1057 STAT: Status E/A-Modul-Health-Statuswörter 12 - 171 bei Quantum RIOStatuswörter Die Statuswörter 12 ... 20 zeigen den Status der Funktionsfähigkeit der E/ABaugruppe an. Fünf Wörter werden für jeden der bis zu 32 Stationen reserviert, davon jeweils 1 Wort für jedes der bis zu 5 möglichen Baugruppenträger (E/A-Gehäuse) an jeder Station. Jeder Baugruppenträger kann bis zu 11 E/A-Baugruppen aufweisen. Bit 1 bis 11 eines jeden Worts steht für die Funktionsfähigkeit (Health) des zugehörigen E/A-Moduls in jedem Rack. 1 2 3 4 5 6 Bit 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 7 8 9 10 11 12 13 14 15 16 Vier Bedingungen müssen erfüllt sein, damit eine E/A-Baugruppe funktionsfähig ist: Der Steckplatz muss "traffic copped" sein. z Im Steckplatz muss sich ein Modul mit korrekter Struktur befinden. z Es müssen gültige Verbindungen zwischen dem Modul und der RIO-Schnittstelle bei dezentralen Punkten vorhanden sein. z Es müssen auch bei jedem dezentralen Punkt gültige Verbindungen zwischen der RIO-Schnittstelle und dem E/A-Prozessor im Regler vorhanden sein. z 1058 31007525 12/2006 STAT: Status Statuswörter für die MMIBedienfelder Der Status der aus 32 Elementen bestehenden Bedienfelder mit Tasten und PanelMate-Einheiten an einem RIO-Netzwerk kann auch mit einem E/A-HealthStatuswort überwacht werden. Die Bedienfelder mit Tasten belegen Steckplatz 4 eines E/A-Rack und können mit Bit 4 des entsprechenden Statusworts überwacht werden. Ein RIO-PanelMate belegt Steckplatz 1 in Baugruppenträger 1 der Station und kann mit Bit 1 des ersten Stationssatusworts überwacht werden. Hinweis: Der Verbindungsstatus des ASCII-Ziffernblocks kann mit den Fehlercodes in den ASCII-Blöcken READ/WRIT überwacht werden. 31007525 12/2006 1059 STAT: Status Kommunikationsstatuswörter 172 - 277 bei Quantum DIO-Status Die Statuswörter 172 ... 277 enthalten den E/A-Systemkommunikationssatus. Die Wörter 172 ... 181 enthalten globale Statuswörter. Drei der übrigen 96 Wörter sind je nach SPS-Typ für jede der bis zu 32 Stationen verfügbar. Wort 172 speichert die Quantum-Startfehlernummer. Bei diesem Wort handelt es sich immer um 0, wenn das System in Betrieb ist. Wenn ein Fehler auftritt, startet der Regler nicht, und der Stoppstatus-Fehlercode 10 (Wort 5 (siehe S. 1052)) wird generiert: Quantum-Startfehlernummern 1060 Code Fehler Bedeutung (wo ist der Fehler aufgetreten?) 01 BADTCLEN Länge "Traffic Cop" 02 BADLNKNUM Dezentrale E/A-Verknüpfungsnummer 03 BADNUMDPS Anzahl der Stationen beim "Traffic Cop" 04 BADTCSUM Prüfsumme des "Traffic Cop" 10 BADDDLEN Länge des Stationsdeskriptors 11 BADDRPNUM E/A-Stationsnummer 12 BADHUPTIM Stations-Haltezeit 13 BADASCNUM ASCII-Portnummer 14 BADNUMODS Anzahl der Baugruppen in der Station 15 PRECONDRP Station bereits konfiguriert 16 PRECONPRT Port bereits konfiguriert 17 TOOMNYOUT Mehr als 1024 Ausgangspunkte 18 TOOMNYINS Mehr als 1024 Eingangspunkte 20 BADSLTNUM Modulsteckplatzadresse 21 BADRCKNUM Modulträgeradresse 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 E/A-/Merker-Bit nicht an der 16-Bit-Begrenzung 30 BADODDOUT Ungepaarte, ungerade Ausgangsbaugruppe 31 BADODDIN Ungepaarte, ungerade Eingangsbaugruppe 32 BADODDREF Unpassende, ungerade Baugruppenreferenz 31007525 12/2006 STAT: Status Kabelstatus A Code Fehler Bedeutung (wo ist der Fehler aufgetreten?) 33 BAD3X1XRF 1x Referenz nach 3x Register 34 BADDMYMOD Leermodulreferenz bereits verwendet 35 NOT3XDMY 3x-Baugruppe ist kein Dummy 36 NOT4XDMY 4x-Baugruppe ist kein Dummy 40 DMYREAL1X Dummy, dann echte 1x-Baugruppe 41 REALDMY1X Echte, dann Dummy 1x-Baugruppe 42 DMYREAL3X Dummy, dann echte 3x-Baugruppe 43 REALDMY3X Echte, dann Dummy 3x-Baugruppe Bei den Wörtern 173 ... 175 handelt es sich um Kabel-A-Fehlerwörter: Wort 173 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 8 Zählt Framing-Fehler 9 ... 16 Zählt Überläufe des DMA-Receivers 11 12 13 14 15 16 11 12 13 14 15 16 11 12 13 14 15 16 Wort 174 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 8 Zählt Receiver-Fehler 9 ... 16 Zählt schlechte Stationsempfänge Wort 175 1 31007525 12/2006 2 3 4 5 6 7 Bit Funktion 1 1 = Rahmen zu kurz 8 2 1 = kein Datenblockende 3 ... 12 Nicht verwendet 13 1 = CRC-Fehler 14 1 = Ausrichtungsfehler 15 1 = Überlauffehler 16 Nicht verwendet 9 10 1061 STAT: Status Kabelstatus B Bei den Wörtern 176 ... 178 handelt es sich um Kabel-A-Fehlerwörter: Wort 176 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 8 Zählt Framing-Fehler 9 ... 16 Zählt Überläufe des DMA-Receivers 11 12 13 14 15 16 11 12 13 14 15 16 11 12 13 14 15 16 14 15 16 Wort 177 1 2 3 4 5 6 7 8 9 10 Bit Funktion 1 ... 8 Zählt Receiver-Fehler 9 -...16 Zählt schlechte Stationsempfänge Wort 178 1 Status der globalen Kommunikation (Wörter 179 ... 181) 1062 2 3 4 5 6 7 8 Bit Funktion 1 1 = Rahmen zu kurz 2 1 = kein Datenblockende 3 ... 12 Nicht verwendet 13 1 = CRC-Fehler 14 1 = Ausrichtungsfehler 15 1 = Überlauffehler 16 Nicht verwendet 9 10 Wort 179 zeigt den globalen Kommunikationsstatus an: 1 2 3 4 5 6 7 8 9 Bit Funktion 1 1 = Kommunikations-Health 2 1 = Status von Kabel A 3 1 = Status von Kabel B 4 Nicht verwendet 10 11 12 5 ... 8 Zähler der Kommunikationsunterbrechung 9 ... 16 Kumulativer Wiederholungszähler 13 31007525 12/2006 STAT: Status Wort 180 ist der globale, kumulative Fehlerzähler von Kabel A: 1 2 3 4 5 6 7 Bit Funktion 1 ... 8 Zählt erkannte Fehler 9 ... 162 Zählt keine Antworten 8 9 10 11 12 13 14 15 16 Wort 181 ist der globale, kumulative Fehlerzähler von Kabel B: 1 RIO-Status (Wörter 182 ... 277) 2 3 4 5 6 7 Bit Funktion 1 ... 8 Zählt erkannte Fehler 9 ... 162 Zählt keine Antworten 8 9 10 11 12 13 14 15 16 Die Wörter 182 ... 277 werden verwendet, um dezentralen E/A-Status zu beschreiben, wobei für jede Station drei Statuswörter verwendet werden. Das erste Wort jeder der 3er Gruppen zeigt den Kommunikationsstatus der entsprechenden Station an: 1 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1 1 = Kommunikations-Health 2 1 = Status von Kabel A 3 1 = Status von Kabel B 4 Nicht verwendet 5 ... 8 Zähler der Kommunikationsunterbrechung 9 ... 16 Kumulativer Wiederholungszähler 13 14 15 16 Beim zweiten Wort jeder der 3er Gruppen handelt es sich um den kumulativen Fehlerzähler an Kabel A der entsprechenden Station: 1 31007525 12/2006 2 3 4 5 6 7 8 9 10 11 12 13 Bit Funktion 1 ... 8 Zumindest ein Fehler in den Wörtern 173 ...175 9 ... 162 Zählt keine Antworten 14 15 16 1063 STAT: Status Beim dritten Wort jeder der 3er Gruppen handelt es sich um den kumulativen Fehlerzähler an Kabel B der entsprechenden Station: 1 2 3 4 5 6 7 8 9 10 11 12 13 Bit Funktion 1 ... 8 Zumindest ein Fehler in den Wörtern 176 ...178 9 ... 162 Zählt keine Antworten 14 15 16 Hinweis: Bei Steuerungen mit für das lokale E/A reservierter Station 1 werden die Statuswörter 182 ... 184 wie folgt verwendet: Wort 182 zeigt den Status der lokalen Station an: 1 2 Bit 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 1 = Alle Module funktionsfähig 2 ... 8 Immer 0 9 ... 162 Häufigkeit, mit der ein Modul als nicht funktionsfähig beurteilt wurde; Zähler läuft über bei 255 Wort 183 ist ein 16-Bit-Fehlerzähler, der die Anzahl von Zugriffen auf ein Modul anzeigt, wobei festgestellt wurde, dass das Modul nicht funktionsfähig ist. Läuft über bei 65535. Wort 184 ist ein 16-Bit-Fehlerzähler, der die Anzahl des Auftretens eines Kommunikationsfehler während des Zugriffs auf ein E/A-Modul anzeigt. Läuft über bei 65535. 1064 31007525 12/2006 STAT: Status SPS-Statuswörter 1 - 11 für TSX COMPACT und Atrium Prozessorstatus (Wort 1) Wort 1 zeigt die folgenden Aspekte des Prozessorstatus an: 1 2 3 4 5 6 7 8 9 10 11 12 Bit Funktion 1-5 Nicht verwendet 6 1 = Konstante Abtastung freigeben 7 1 = eine Einzelzyklusverzögerung freigeben. 8 1 = 16-Bit-Benutzerlogik 0 = 24-Bit-Benutzerlogik 9 1 = Stromversorgung ein 10 1 = RUN-Lampe AUS 11 1 = Speicherschutz ausgeschaltet (AUS) 12 1 = Batterie ausgefallen 13 - 16 Nicht verwendet Wort 2 Dieses Wort wird nicht verwendet. SPS-Status (Wort 3) Wort 3 zeigt weitere Aspekte des Reglerstatus an: Wort 4 31007525 12/2006 1 2 3 4 5 6 Bit Funktion 1 1 = erster Zyklus 7 8 9 10 11 12 13 14 15 16 13 14 15 16 2 1 = Startbefehl anstehend 3 1 = Zykluszeit hat das konstante Zyklusziel überschritten 4 1 = vorhandener undefinierter Status 5 - 12 Nicht verwendet 13 - 16 Einzel-Zyklen Dieses Wort wird nicht verwendet. 1065 STAT: Status ProzessorStoppstatus (Wort 5) Anzahl der Segmente im Programm (Wort 6) Wort 5 zeigt die Stoppzustände des Prozessors an: 1 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit Funktion 1 1 = Peripherie-Port-Stop 2 1 = XMEM Paritätsfehler 3 1 = undefinierter Status 4 1 = ungültiger peripherer Eingriff 5 1 = Segmentverwalter ungültig 6 1 = kein Netzwerkstart (SON) am Beginn eines Segmentes 7 1 = Signalspeicherprüfung misslungen 8 1 = kein Logikende (EOL), (ungültiger Traffic Cop) 9 1 = Watchdog-Timer abgelaufen 10 1 = Echtzeitfehler 11 1 = Prozessorfehler 12 Nicht verwendet 13 1 = Ungültiger Eintrag in der Ladder-Logik 14 1 = Logik-Prüfsummenfehler 1 1 = Ausgangs-/Merkerbit gesperrt im RUN-Modus 16 1 = ungültiges SPS-Setup 16 Wort 6 zeigt die Anzahl der Segmente in einer "Ladder Logic" an. Dabei wird eine Binärziffer angezeigt. Während des Einschaltvorgangs wird bestätigt, dass dieses Wort gleich der Anzahl der EOS (DOIO)-Einträge plus 1 (für die Logikende-Einträge) ist; falls unwahr, wird ein Stoppcode gesetzt, der bewirkt, dass das Betriebszustandslicht aus ist: 1 1066 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 - 16 Anzahl der Segmente im aktuellen Ladder Logic-Programm (ausgedrückt als Dezimalzahl) 31007525 12/2006 STAT: Status Adresse des LogikendeZeigers (Wort 7) Wort 7 zeigt die Adresse des Logikende (EOL)-Zeigers an: 1 2 3 4 5 6 7 8 Bit Funktion 1 - 16 Adresse des EOL-Zeigers 9 10 11 12 13 14 15 16 Wort 8, Wort 9 Diese Wörter werden nicht verwendet. RUN/LOAD/ DEBUG-Status (Wort 10) Wort 10 verwendet seine 2 niederwertigsten Bits, um den Status von RUN/LOAD/ DEBUG-Meldungen anzuzeigen: Wort 11 31007525 12/2006 1 2 3 4 5 6 7 8 Bit Funktion 1 ... 14 Nicht verwendet 15, 16 0 0 = Debug (0 dez) 0 1 = Ausführen (1 dez) 1 0 = Laden (2 dez) 9 10 11 12 13 14 15 16 Dieses Wort wird nicht verwendet. 1067 STAT: Status E/A-Modul-Health-Statuswörter 12 - 15 bei TSX Compact TSX Compact E/ABaugruppenHealth Wörter 12 ... 15 wird zur Anzeige der Funktionsfähigkeit der A120 E/A-Module in den vier Racks verwendet: Wort Rack Nr. 12 1 13 2 14 3 15 4 Jedes Wort enthält den Funktionsfähigkeitsstatus von bis zu fünf A120 E/AModulen. Das höchstwertige (am weitesten links stehende) Bit stellt die Funktionsfähigkeit des Moduls in Steckplatz 1 des Rack dar: 1 2 3 4 5 6 Bit Funktion 1 1 = Steckplatz 1 2 1 = Steckplatz 2 3 1 = Steckplatz 3 4 1 = Steckplatz 4 5 1 = Steckplatz 5 6 ... 16 Nicht verwendet 7 8 9 10 11 12 13 14 15 16 Wenn ein Modul E/A-bestückt und AKTIV ist, hat das Bit den Wert "1". Wenn ein Modul nicht aktiv oder nicht E/A-bestückt ist, hat das Bit den Wert "0". Hinweis: Steckplatz 1 und 2 in Rack 1 (Wort 12) werden nicht benutzt, weil die Steuerung selbst diese zwei Steckplätze verwendet. 1068 31007525 12/2006 STAT: Status Globale Health- und Kommunikations-Wiederholstatuswörter 182 ... 184 bei TSX COMPACT Übersicht Es gibt drei Wörter, die Funktionsfähigkeits- und Kommunikationsinformationen über die installierten E/A-Module enthalten. Bei Überwachung mit dem Stat-Block findet man sie in den Wörtern 182 bis 184. Das erfordert, dass der Stat-Block eine Länge von mindestens 184 hat (Wörter 16 bis 181 werden nicht benutzt). Wörter 16 ... 181 Diese Wörter werden nicht verwendet. Funktionsfähigkeitsstatus (Wort 182) Wort 182 erhöht sich jedes Mal, wenn ein Modul funktionsunfähig wird. Wenn ein Modul funktionsunfähig wird, erhöht sich der Zähler nicht mehr, bis das Modul seine Funktionsfähigkeit wiedererlangt und dann wieder verliert. 1 2 Bit 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktion 1 1 = Alle Module funktionsfähig 2 ... 9 Nicht verwendet 10 ... 16 Zähler für "Modul wurde funktionsunfähig" E/A-Fehlerzähler (Wort 183) Dieser Zähler ähnelt dem oben genannten, jedoch erhöht sich das Wort bei jedem Zyklus, in dem das Modul im Status der Funktionsunfähigkeit bleibt. PAB BusWiederholzähler (Wort 184) Die Diagnose wird für die Kommunikation über den Bus ausgeführt. Dabei sollten in diesem Wort normalerweise nur Nullen auftreten. Wenn nach 5 Wiederholungen immer noch ein Busfehler festgestellt wird, hält der Regler an, und es wird eine Fehlernummer 10 angezeigt. Ein Fehler kann auftreten, wenn es einen Kurzschluss auf der Grundplatine gibt oder wenn Rauschen auftritt. Der Zähler läuft während des Betriebs. Wenn die Zahl der Wiederholungen kleiner als 5 ist, wird kein Busfehler festgestellt. 31007525 12/2006 1069 STAT: Status 1070 31007525 12/2006 SU16: 16-Bit-Subtraktion 170 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SU16 beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1072 Darstellung 1073 1071 SU16: 16-Bit-Subtraktion Kurzbeschreibung Funktionsbeschreibung 1072 Die SU16-Instruktion führt eine 16-Bit-Subtraktion mit oder ohne Vorzeichen (Wert 1 - Wert 2) mit den Werten aus dem oberen und mittleren Eintrag aus und stellt dann die Differenz, mit oder ohne Vorzeichen behaftet, in einem 4x-Ausgangsregister im unteren Eintrag bereit. 31007525 12/2006 SU16: 16-Bit-Subtraktion Darstellung Symbol Darstellung der Anweisung Steuereingang Wert 1 Oberer Wert > mittlerer Wert (+ Ergebnis) Max. Wert 65535 Wert 2 Oberer Wert = mittlerer Wert (Nullergebnis) SU16 Oberer Wert < mittlerer Wert (- Ergebnis) Max. Wert 65535 Mit Vorzeichen Differenz Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = aktiviert Wert 1 - Wert 2 Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Wert 1 (oberer Knoten) 3x, 4x INT, UINT Minuend, kann explizit als Ganzzahl (Bereich von 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Wert 2 3x, 4x (mittlerer Knoten) INT, UINT Subtrahend, kann explizit als Ganzzahl (Bereich von 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Differenz (unterer Knoten) 4x INT, UINT Differenz Oberer Ausgang 0x Keine EIN = Wert 1 > Wert 2 Mittlerer Ausgang 0x Keine EIN = Wert 1 = Wert 2 Unterer Ausgang Keine EIN = Wert 1 < Wert 2 0x 1073 SU16: 16-Bit-Subtraktion 1074 31007525 12/2006 SUB: Subtraktion 171 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SUB beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1076 Darstellung 1077 1075 SUB: Subtraktion Kurzbeschreibung Funktionsbeschreibung Die SUB-Instruktion führt eine 16-Bit-Subtraktion mit oder ohne Vorzeichen (Wert 1 - Wert 2) mit den Werten aus dem oberen und mittleren Eintrag aus und stellt dann die Differenz, mit oder ohne Vorzeichen behaftet, in einem 4x-Ausgangsregister im unteren Eintrag bereit. Hinweis: SUB wird oft als Vergleichseinrichtung verwendet, wobei der Zustand der Ausgänge bestimmt, ob der Wert 1 größer als, gleich oder kleiner als Wert 2 ist. 1076 31007525 12/2006 SUB: Subtraktion Darstellung Symbol Darstellung der Anweisung Steuereingang max. 999 16-Bit SPS 9999 24-Bit SPS 65535-785L max. 999 16-Bit SPS 9999 24-Bit SPS 65535-785L Parameterbeschreibung 31007525 12/2006 Wert 1 Oberer Wert > mittlerer Wert (+ Ergebnis) Wert 2 Oberer Wert = mittlerer Wert (Nullergebnis) SUB Oberer Wert < mittlerer Wert (- Ergebnis) Differenz Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = aktiviert Wert 1 - Wert 2 Wert 1 (oberer Knoten) 3x, 4x INT, UINT Minuend, kann explizit als Ganzzahl angezeigt oder in einem Register gespeichert werden Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535-785L Wert 2 (mittlerer Knoten) 3x, 4x INT, UINT Subtrahend, kann explizit als Ganzzahl angezeigt oder in einem Register gespeichert werden Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535-785L Differenz (unterer Knoten) 4x INT, UINT Differenz Oberer Ausgang 0x Keine EIN = Wert 1 > Wert 2 Mittlerer Ausgang 0x Keine EIN = Wert 1 = Wert 2 Unterer Ausgang 0x Keine EIN = Wert 1 < Wert 2 1077 SUB: Subtraktion 1078 31007525 12/2006 SWAP – VME-Bitaustausch 172 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung SWAP beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1080 Darstellung 1081 1079 SWAP – VME-Bitaustausch Kurzbeschreibung Funktionsbeschreibung Der SWAP-Block ermöglicht dem Benutzer, einen von drei verschiedenen Austauschbefehlen auszugeben: z Höherwertige und niederwertige Bits eines 16-Bit-Worts tauschen z Höherwertige und niederwertige Wörter eines 32-Bit-Doppelworts tauschen z Bits innerhalb des niederwertigen Byte eines Worts tauschen (umkehren) Hinweis: Nur bei der Quantum-VME-424/X-Steuerung verfügbar. 1080 31007525 12/2006 SWAP – VME-Bitaustausch Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Wert Fehler Register SWAP beendet Anzahl von Registern 31007525 12/2006 1081 SWAP – VME-Bitaustausch Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN gibt die SWAP Operation frei Wert (oberer Knoten) INT, UINT, WORD Enthält eine Konstante im Bereich von 1 bis 3, die angibt, welcher Austauschtyp ausgeführt werden soll: 1. Höherwertige und niederwertige Bits eines 16-Bit-Worts tauschen. 2. Höherwertige und niederwertige Wörter eines 32-Bit-Doppelworts tauschen. 3. Bits innerhalb des niederwertigen Byte eines Worts tauschen (umkehren). Register 3x, 4x (mittlerer Knoten) INT, UINT, WORD Enthält das Register, bei dem der Austausch ausgeführt werden soll Anzahl von Registern (unterer Knoten) INT, UINT, WORD Enthält eine Konstante, die anzeigt, wieviele Register getauscht werden sollen, beginnend mit dem Quellregister. Keine Liefert Rückmeldung des Zustands des oberen Eingangs Oberer Ausgang 1082 0x Mittlerer Ausgang 0x Keine Fehler Unterer Ausgang Keine Austausch erfolgreich ausgeführt 0x 31007525 12/2006 TTR - Tabelle in Register 173 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung TTR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1084 Darstellung: TTR - Tabelle zu Register 1085 1083 TTR - Tabelle in Register Kurzbeschreibung Funktionsbeschreibung Der Block "Tabelle zu Register" ist eine von vier 484-Ersetzungsanweisungen. Er kopiert die Inhalte eines Quellregisters (Eingangs- oder Ausgangs-/ Merkerwörter) in ein Ausgangsregister, das durch die Konstante im unteren Knoten impliziert ist. Auf dieses Quellregister wird durch das im oberen Knoten angegebene Eingangs- oder Ausgangsregister gezeigt. Nur eine solche Operation kann vom System in jedem Zyklus untergebracht werden. Hinweis: Verfügbar nur bei den Steuerungen 984-351 und 984-455. 1084 31007525 12/2006 TTR - Tabelle in Register Darstellung: TTR - Tabelle zu Register Symbol Darstellung der Anweisung STEUEREINGANG KOPIE Quelle FEHLER TTR Ziel Offset-Zeiger Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine Steuerungsquelle Quelle 3x, 4x (oberer Knoten) INT, UINT Der Quellknoten (oberer Knoten) enthält die Quellregisteradresse. Die in der Quellregisteradresse befindlichen Daten werden in die Zieladresse kopiert, die durch den Ziel-Offset-Zeiger festgelegt wird. Ziel (1 ... 254) (unterer Knoten) (801 ... 824) INT, UINT Der Zeiger ist ein 3xxxx oder 4xxxx, dessen Inhalte die Quelle angeben. Ein Wert von 1 bis 254 zeigt ein Ausgangsregister (40001 - 40254) und ein Wert von 801 bis 832 ein Eingangsregister (30001 - 30032) an. Wenn der Wert außerhalb dieses Bereichs liegt, wird die Operation nicht ausgeführt, und die FEHLER-Schiene wird aktiviert. Oberer Ausgang 0x Keine Wird aktiv, wenn der obere Eingang Energie erhält. Unterer Ausgang 0x Keine Zeigerwert außerhalb des Bereichs 1085 TTR - Tabelle in Register 1086 31007525 12/2006 T --> R Tabelle zu Register 174 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T→R beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1088 Darstellung 1089 Parameterbeschreibung 1091 1087 T --> R: Tabelle zu Register Kurzbeschreibung Funktionsbeschreibung 1088 Die T→R Instruktion kopiert das Bitmuster eines Registers oder 16 benachbarte Bits in einer Tabelle in ein bestimmtes Ausgangsregister. Sie kann ein Register/Wort pro Zyklus aufnehmen. Sie hat drei Steuereingänge und erzeugt zwei mögliche Ausgänge. 31007525 12/2006 T --> R: Tabelle zu Register Darstellung Symbol Darstellung der Anweisung Steuereingang/ Zeiger vergrößern Quelltabelle aktiv Verhindert, dass Zeiger vergrößert wird Zeiger Zeiger = Tabellenlänge Zeiger zurücksetzen T →R Tabellenlänge max. 255 16-Bit SPS 999 24-Bit SPS 31007525 12/2006 Tabellenlänge 1089 T --> R: Tabelle zu Register Parameterbeschreibung 1090 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = kopiert Quelldaten und inkrementiert den Zeigerwert. Mittlerer Eingang (siehe S. 1091) 0x, 1x Keine EIN = fixiert den Zeigerwert Unterer Eingang 0x, 1x (siehe S. 1091) Keine EIN = setzt den Zeigerwert auf Null zurück Quelltabelle (oberer Knoten) 0x, 1x, 3x, 4x INT, UINT, Erstes Register oder erste Bitreferenz in WORD der Quelltabelle. Ein Register oder eine Folge von aufeinanderfolgenden Bits aus dieser Tabelle wird in einem Zyklus kopiert. Zeiger (siehe S. 1091) (mittlerer Knoten) 4x INT, UINT Zeiger zum Ziel, zu dem die Quelldaten kopiert werden. Tabellenlänge (unterer Knoten) INT, UINT Länge der Quelltabelle Anzahl der Register, die kopiert werden können; Bereich: 1 ... 999 Länge: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang Keine EIN = Zeigerwert = Tabellenlänge (Anweisung kann keine weitere Inkrementierung bewirken) 0x 31007525 12/2006 T --> R: Tabelle zu Register Parameterbeschreibung Mittlerer Eingang Wenn der mittlere Eingang auf EIN wechselt, ist der aktuelle Wert, der im Zeigerregister gespeichert ist, blockiert, während die DX-Funktion weiterläuft. Dadurch werden dieselben Tabellendaten bei jedem Zyklus in das Zielregister geschrieben. Unterer Eingang Wenn der untere Eingang auf EIN wechselt, wird der Wert im Zeiger auf Null zurückgesetzt. Dies hat zur Folge, dass die nächste DX-Verschiebungsoperation das erste Zielregister in die Tabelle kopiert. Zeiger (mittlerer Eintrag) Das in den mittleren Eintrag eingegebene 4x-Register ist ein Zeiger zum Ziel, in welches die Quelldaten kopiert werden. Das Zielregister ist das nächste auf den Zeiger folgende 4x-Register. Wenn z.B. der mittlere Eintrag einen Zeiger von 400100 anzeigt, dann ist 400101das Zielregister für die T→R-Kopie. Der im Zeigerregister gespeicherte Wert gibt an, welches Register in der Quelltabelle während des aktuellen Zyklus in das Zielregister kopiert wird. Ein Wert von 0 im Zeigerregister gibt an, dass das Bitmuster im ersten Register der Quelltabelle zum Ziel kopiert wird, ein Wert von 1 im Zeigerregister gibt an, dass das Bitmuster im zweiten Register der Quelltabelle zum Zielregister kopiert wird usw. 31007525 12/2006 1091 T --> R: Tabelle zu Register 1092 31007525 12/2006 T --> T: Tabelle zu Tabelle 175 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T→T beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1094 Darstellung 1095 Parameterbeschreibung 1097 1093 T --> T: Tabelle zu Tabelle Kurzbeschreibung Funktionsbeschreibung 1094 Die T→T Instruktion kopiert das Bitmuster eines Registers oder von 16 Bits aus einer Position innerhalb einer Tabelle an eine äquivalente Position in einer anderen Registertabelle. Sie kann ein Register/Wort pro Zyklus aufnehmen. Sie hat drei Steuereingänge und erzeugt zwei mögliche Ausgänge. 31007525 12/2006 T --> T: Tabelle zu Tabelle Darstellung Symbol Darstellung der Anweisung Steuereingang/ Zeiger vergrößern Quelltabelle Verhindert, dass Zeiger vergrößert wird Zeiger Zeiger zurücksetzen Tabellenlänge max. 255 16-Bit SPS 999 24-Bit SPS 65535 *SPS aktiv Zeiger = Tabellenlänge T→T Tabellenlänge *Verfügbar für Folgendes z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe 31007525 12/2006 1095 T --> T: Tabelle zu Tabelle Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine EIN = kopiert Quelldaten und inkrementiert den Zeigerwert. Mittlerer Eingang 0x, 1x (siehe S. 1097) Keine EIN = fixiert den Zeigerwert Unterer Eingang (siehe S. 1097) 0x, 1x Keine EIN = setzt den Zeigerwert auf Null zurück Quelltabelle (oberer Knoten) 0x, 1x, 3x, 4x INT, UINT, WORD Erstes Register oder erste Bitreferenz in der Quelltabelle. Ein Register oder eine Folge von aufeinanderfolgenden Bits aus dieser Tabelle wird in einem Zyklus kopiert. Zeiger (siehe S. 1097) (mittlerer Knoten) 4x INT, UINT Zeiger sowohl in die Quell- wie auch in die Zieltabelle Tabellenlänge (unterer Knoten) 1096 INT, UINT Länge der Quell- und der Zieltabelle (müssen gleich lang sein) Bereich: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535 785L Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang 0x Keine EIN = Zeigerwert = Tabellenlänge (Anweisung kann keine weitere Inkrementierung bewirken) 31007525 12/2006 T --> T: Tabelle zu Tabelle Parameterbeschreibung Mittlerer Eingang Wenn der Eingang zum mittlere Eintrag auf EIN wechselt, wird der aktuelle Wert, der im Zeigerregister gespeichert ist, blockiert, während die DX-Funktion weiterläuft. Dies hat zur Folge, dass die in den Zielblock kopierten neuen Daten die beim vorherigen Zyklus kopierten Daten überschreiben. Unterer Eingang Wenn der Eingang zum unteren Eintrag auf EIN wechselt, wird der Wert im Zeigerregister auf Null zurückgesetzt. Dies hat zur Folge, dass die DX-Operation Quelldaten in das erste Register der Zieltabelle kopiert. Zeiger (mittlerer Eintrag) Das in den mittleren Eintrag eingegebene 4x-Register ist ein Zeiger sowohl auf die Quell- wie auf die Zieltabelle, der angibt, von wo und wohin die Daten im aktuellen Zyklus kopiert werden. Das erste Register in der Zieltabelle ist das auf den Zeiger folgende 4x-Register. Wenn z.B. der mittlere Eintrag eine Zeigerreferenz von 400100 angibt, hat das erste Register in der Zieltabelle die Adresse 400101. Der im Zeigerregister gespeicherte Wert gibt an, welches Register in der Quelltabelle während des aktuellen Zyklus in welches Register in der Zieltabelle kopiert wird. Da die Länge der zwei Tabellen gleich groß ist und die T→T-Kopie in das äquivalente Register in der Zieltabelle ausgeführt wird, gibt der aktuelle Wert im Zeigerregister auch an, in welches Register in der Zieltabelle die Quelldaten kopiert werden. Ein Wert von 0 im Zeigerregister gibt an, dass das Bitmuster im ersten Register der Quelltabelle in das erste Register der Zieltabelle kopiert wird; ein Wert von 1 im Zeigerregister gibt an, dass das Bitmuster im zweiten Register der Quelltabelle in das zweite Register des Zielregisters kopiert wird usw. 31007525 12/2006 1097 T --> T: Tabelle zu Tabelle 1098 31007525 12/2006 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber 176 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T.01-Zeitgeber beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1100 Darstellung 1101 1099 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber Kurzbeschreibung Funktionsbeschreibung 1100 Die T.01-Instruktion misst die Zeit in Intervallen von Hundertstelsekunden. Sie kann zur zeitlichen Abstimmung eines Ereignisses oder zum Erzeugen einer Verzögerung verwendet werden. T.01 hat zwei Steuereingänge und kann einen von zwei möglichen Ausgängen erzeugen. 31007525 12/2006 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber Darstellung Symbol Darstellung der Anweisung Steuereingang Zeitgeber = Voreinstellung max. 999 16-Bit SPS 9999 24-Bit SPS 65535 - 785L Zeitgebervoreinstellung Aktivieren/Zurücksetzen Zeitgeber < Voreinstellung T.01 akkumulierte Zeit Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine AUS → EIN = initiiert die Zeitgeberoperation: Die Zeit wird in Hundertstelsekunden hochgezählt, wenn der obere und untere Eingang EIN sind. Unterer Eingang 0x, 1x Keine AUS = hochgezählte Zeit auf 0 zurücksetzen EIN = Zeitgeber zählt hoch Zeitgebervoreinst 3x, 4x ellung (oberer Knoten) INT, UINT Vorgabewert (Zahl der Inkremente von Hundertstelsekunden), kann explizit als Ganzzahl angezeigt und in einem Register gespeichert werden Bereich: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535 785L hochgezählte Zeitdauer (unterer Knoten) 4x INT, UINT Zeit-Zählersumme in Inkrementen von Hundertstelsekunden. Oberer Ausgang 0x Keine EIN = hochgezählte Zeit = ZeitgeberVoreinstellung Unterer Ausgang 0x Keine EIN = hochgezählte Zeit < ZeitgeberVoreinstellung 1101 T.01-Zeitgeber: Hundertstelsekunden-Zeitgeber 1102 31007525 12/2006 T0.1-Zeitgeber: Zehntelsekunden-Zeitgeber 177 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T0.1-Zeitgeber beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1104 Darstellung 1105 1103 T0.1 Timer: Zehntelsekunden-Zeitgeber Kurzbeschreibung Funktionsbeschreibung Die T0.1-Instruktion misst die Zeit in Intervallen von zehntel Sekunden. Sie kann zur zeitlichen Abstimmung eines Ereignisses oder zum Erzeugen einer Verzögerung verwendet werden. T0.1 hat zwei Steuereingänge und kann einen von zwei möglichen Ausgängen erzeugen. Hinweis: Wenn Sie T0.1-Zeitgeber mit Voreinstellungen von 1 in einer Kaskade anordnen, tritt bei diesen eine Zeitabschaltung (Timeout) auf. Um dieses Problem zu vermeiden, ändern Sie die Voreinstellungen auf 10 und setzen einen T.01Zeitgeber (siehe S. 1099) ein. 1104 31007525 12/2006 T0.1 Timer: Zehntelsekunden-Zeitgeber Darstellung Symbol Darstellung der Anweisung Steuereingang Zeitgeber = Voreinstellung max. 999 16-Bit SPS 9999 24-Bit SPS 65535 - 785L Zeitgebervoreinstellung Aktivieren/Zurücksetzen Zeitgeber < Voreinstellung T0.1 akkumulierte Zeit Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Bedeutung Oberer Eingang 0x, 1x Keine AUS → EIN = initiiert die Zeitgeberoperation: Die Zeit wird in Zehntelsekunden hochgezählt, wenn der obere und untere Eingang EIN sind. Unterer Eingang 0x, 1x Keine AUS = hochgezählte Zeit auf 0 zurücksetzen EIN = Zeitgeber zählt hoch Zeitgebervoreinstellung (oberer Knoten) 3x, 4x INT, UINT Vorgabewert (Zahl der Inkremente von Zehntelsekunden), kann explizit als Ganzzahl angezeigt und in einem Register gespeichert werden Bereich: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535 785L hochgezählte Zeitdauer (unterer Knoten) 4x INT, UINT Zeit-Zählersumme in Inkrementen von Zehntelsekunden. Oberer Ausgang 0x Keine EIN = hochgezählte Zeit = ZeitgeberVoreinstellung Unterer Ausgang 0x Keine EIN = hochgezählte Zeit < ZeitgeberVoreinstellung 1105 T0.1 Timer: Zehntelsekunden-Zeitgeber 1106 31007525 12/2006 T1.0-Zeitgeber: Sekunden-Zeitgeber 178 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T0.1 Timer (T0.1-Zeitgeber) beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1108 Darstellung 1109 1107 T1.0 Timer: Ein-Sekunden-Zeitgeber Kurzbeschreibung Funktionsbeschreibung Die T1.0-Zeitgeber-Instruktion misst die Zeit in Sekunden-Inkrementen. Sie kann zur zeitlichen Abstimmung eines Ereignisses oder zum Erzeugen einer Verzögerung verwendet werden. T1.0 hat zwei Steuereingänge und kann einen von zwei möglichen Ausgängen erzeugen. Hinweis: Wenn Sie T1.0-Zeitgeber mit Voreinstellungen von 1 in einer Kaskade anordnen, tritt bei diesen eine Zeitabschaltung (Timeout) auf. Um dieses Problem zu vermeiden, ändern Sie die Voreinstellungen auf 10 und setzen einen T0.1Zeitgeber (siehe S. 1103) ein. 1108 31007525 12/2006 T1.0 Timer: Ein-Sekunden-Zeitgeber Darstellung Symbol Darstellung der Anweisung Steuereingang Zeitgeber = Voreinstellung max. 999 16-Bit SPS 9999 24-Bit SPS 65535 - 785L Zeitgebervoreinstellung Aktivieren/Zurücksetzen Zeitgeber < Voreinstellung T1.0 akkumulierte Zeit Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine AUS → EIN = initiiert die Zeitgeberoperation: Die Zeit wird in Sekunden hochgezählt, wenn der obere und untere Eingang EIN sind. Unterer Eingang 0x, 1x Keine AUS = hochgezählte Zeit auf 0 zurücksetzen EIN = Zeitgeber zählt hoch Zeitgebervoreinst 3x, 4x ellung (oberer Knoten) INT, UINT Vorgabewert (Zahl der Inkremente von Sekunden), kann explizit als Ganzzahl angezeigt und in einem Register gespeichert werden Bereich: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535 785L hochgezählte Zeitdauer (unterer Knoten) 4x INT, UINT Zeit-Zählersumme in SekundenInkrementen Oberer Ausgang 0x Keine EIN = hochgezählte Zeit = ZeitgeberVoreinstellung Unterer Ausgang 0x Keine EIN = hochgezählte Zeit < ZeitgeberVoreinstellung 1109 T1.0 Timer: Ein-Sekunden-Zeitgeber 1110 31007525 12/2006 T1MS-Zeitgeber: Millisekunden-Zeitgeber 179 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung T1MS-Zeitgeber beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1112 Darstellung 1113 Beispiel 1114 1111 T1MS Timer: Millisekunden-Zeitgeber Kurzbeschreibung Funktionsbeschreibung Die T1MS-Zeitgeber-Instruktion misst die Zeit in Millisekunden-Inkrementen. Sie kann zur zeitlichen Abstimmung eines Ereignisses oder zum Erzeugen einer Verzögerung verwendet werden. Hinweis: Die Instruktion T1MS ist nur bei B984-102, dem Micro-Produkten 311, 411, 512 und 612, sowie Quantum 424 02 verfügbar. 1112 31007525 12/2006 T1MS Timer: Millisekunden-Zeitgeber Darstellung Symbol Darstellung der Anweisung Steuereingang Voreingestellter max. 999 (in ms.) Aktivieren/ Zurücksetzen Zeitgebervor -einstellung Zeitgeber = Voreinstellung Zeitgeber < Voreinstellung hochgezählte Zeitdauer T1MS #1 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert die Zeitgeberoperation: Die Zeit wird in Millisekunden hochgezählt, wenn der obere und mittlere Eingang EIN sind. Mittlerer Eingang 0x, 1x Keine AUS = hochgezählte Zeit auf 0 zurücksetzen EIN = Zeitgeber zählt hoch Zeitgebervoreinst ellung (oberer Knoten) 3x, 4x INT, UINT Vorgabewert (Zahl der MillisekundenInkremente, die der Zeitgeber hochzählen kann), kann explizit als Ganzzahl (Bereich von 1 ... 999) angezeigt oder in einem Register abgelegt werden hochgezählte Zeitdauer (mittlerer Knoten) 4x INT, UINT Zeit-Zählersumme in MillisekundenInkrementen #1 (unterer Knoten) 31007525 12/2006 INT, UINT Konstantenwert von Nr. 1 Oberer Ausgang 0x Keine EIN = hochgezählte Zeit = ZeitgeberVoreinstellung Mittlerer Ausgang 0x Keine EIN = hochgezählte Zeit < ZeitgeberVoreinstellung 1113 T1MS Timer: Millisekunden-Zeitgeber Beispiel Ein Beispiel für einen MillisekundenZeitgeber Hier ist die Ladder-Logik für eine Echtzeituhr mit Millisekundengenauigkeit: 100 000001 400055 10 T1MS UCTR 400054 000002 000001 1 60 000003 UCTR 400053 60 000002 000004 UCTR 400052 24 000003 000005 UCTR 400051 000004 000005 Die T1MS-Instruktion ist so programmiert, dass sie in 100-ms-Intervallen aktiv wird; sie wird gefolgt von einer Kaskade von vier Aufwärtszählern (siehe S. 1127), die die Zeit in Einheiten von Hundertstelsekunden, Zehntelsekunden, Sekunden, Minuten bzw. Stunden speichern. Wenn die logische Problemlösung beginnt, fängt der Wert für die abgelaufene Zeit an, in Register 40055 des T1MS-Blocks zu wachsen. Nach 100 MillisekundenInkrementen wird der obere Ausgang aktiv und schaltet Spule 00001 ein. An dieser Stelle wird der Wert in Register 40055 im Zeitgeber auf 0 zurückgesetzt. Der Wert der Zählersumme in Register 40054 im ersten UCTR-Block erhöht sich um 1, was anzeigt, dass 100 ms vergangen sind. Weil die Zeit-Zählersumme in T1MS nicht mehr der Zeitgeber-Voreinstellung entspricht, fängt der Zeitgeber an, wieder die Zeit in ms hochzuzählen. Wenn sich die Zählersumme in Register 40054 der ersten UCTR-Instruktion auf 10 erhöht, wird der obere Ausgang von diesem Instruktionsblock aktiviert und schaltet Spule 00002 ein. Der Wert in Register 40054 wird dann auf 0 zurückgesetzt, und die Zählersumme in Register 40053 des zweiten UCTR-Blocks erhöht sich um 1. 1114 31007525 12/2006 T1MS Timer: Millisekunden-Zeitgeber Wenn sich die Zeit in jedem Zähler erhöht, kann die Uhrzeit folgendermaßen in fünf Ausgangsregistern abgelesen werden: Register 31007525 12/2006 Zeiteinheit Gültiger Bereich 40055 Tausendstelsekunden 0 ... 100 40054 Zehntelsekunden 0 ... 10 40053 Sekunden 0 ... 60 40052 Minuten 0 ... 60 40051 Stunden 0 ... 24 1115 T1MS Timer: Millisekunden-Zeitgeber 1116 31007525 12/2006 TBLK: Tabelle zum Block 180 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung TBLK beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1118 Darstellung 1119 Parameterbeschreibung 1121 1117 TBLK: Tabelle zum Block Kurzbeschreibung Funktionsbeschreibung 1118 Die Instruktion TBLK (Tabelle-zum-Block) kombiniert die Funktionen von T→R (siehe S. 1087) und der Funktion BLKM (siehe S. 77) in einer einzigen Instruktion. In einem Programmzyklus kann sie bis zu 100 zusammenhängende 4x-Register aus einer Tabelle in einen Zielblock kopieren. Der Zielblock hat eine feste Länge. Der Registerblock, der aus der Quelltabelle kopiert wird, hat dieselbe Länge, die Gesamtlänge der Quelltabelle ist nur durch die Anzahl der Register Ihrer Systemkonfiguration beschränkt. 31007525 12/2006 TBLK: Tabelle zum Block Darstellung Symbol Darstellung der Anweisung Steuereingang Operation erfolgreich Quelltabelle Zeiger halten Fehler Zeiger Zeiger zurücksetzen TBLK Blocklänge Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Oberer Eingang 0x, 1x Keine EIN = initiiert die Verschiebeoperation 0x, 1x Keine EIN = Zeiger halten Die Eingänge zum mittleren und unteren Knoten können verwendet werden, um den Wert im Zeiger zu steuern, so dass die Größe der Quelltabelle gesteuert werden kann. Wichtig: Sie sollten externe Logik in Verbindung mit dem mittleren oder unteren Eingang verwenden, um den Wert im Zielzeiger auf einen sicheren Bereich zu begrenzen. Wenn der Eingang zum mittlere Knoten auf EIN steht, ist der Wert des Zeigerregisters blockiert, während die TBLK-Operation weiterläuft. Dadurch werden dieselben Quelldaten bei jedem Zyklus in die Zieltabelle geschrieben. Mittlerer Eingang (siehe S. 1121) 31007525 12/2006 Signalspeicher- Datentyp Bedeutung Referenz 1119 TBLK: Tabelle zum Block Parameter Signalspeicher- Datentyp Bedeutung Referenz Unterer Eingang (siehe S. 1121) 0x, 1x Keine EIN = Zeiger auf Null zurücksetzen Quelltabelle 4x (siehe S. 1121) (oberer Knoten) INT, UINT, WORD Erstes Ausgangsregister in der Quelltabelle Das im oberen Knoten eingegebene 4xxxxRegister ist das erste Ausgangsregister in der Quelltabelle. Hinweis: Die Quelltabelle ist in verschiedene Registerblöcke unterteilt, von denen jeder dieselbe Länge wie der Zielblock besitzt. Die Größe der Quelltabelle ist daher ein Vielfaches der Länge des Zielblocks, ihre Gesamtgröße ist jedoch nicht speziell durch die Anweisung definiert. Wenn keine Überwachung erfolgt, ist es möglich, dass die Quelltabelle alle in der SPS-Konfiguration verfügbaren 4xxxxRegister einnimmt. Zeiger (siehe S. 1121) (mittlerer Knoten) INT, UINT Zeiger zum Quellblock, Zielblock INT, UINT Anzahl der Register des Zielblocks und der Blöcke in der Quelltabelle; Bereich: 1 ... 100 4x Blocklänge (unterer Knoten) 1120 Oberer Ausgang 0x Keine EIN = Verschiebung erfolgreich Mittlerer Ausgang 0x Keine EIN = Fehler/Verschieben nicht möglich 31007525 12/2006 TBLK: Tabelle zum Block Parameterbeschreibung Mittlerer Eingang Wenn der mittlere Eingang auf EIN steht, ist der Wert des Zeigerregisters blockiert, während die TBLK-Funktion weiterläuft. Dadurch werden dieselben Quelldaten bei jedem Zyklus in die Zieltabelle geschrieben. Unterer Eingang Wenn der untere Eingang EIN ist, wird der Wert im Zeiger auf Null zurückgesetzt. Dies hat zur Folge, dass die TBLK-Operation Daten vom ersten Registerblock in die Quelltabelle kopiert. ACHTUNG Beschränken Sie den Wert im Zielzeiger auf einen sicheren Bereich. Zur Beschränkung des Zielzeigers auf einen sicheren Bereich sollten Sie externe Logik in Verbindung mit dem mittleren und unteren Eingang einsetzen. Die Nichtbeachtung dieser Anweisung kann Körperverletzung oder Materialschäden zur Folge haben. Quelltabelle (oberer Eintrag) Das im oberen Eintrag eingegebene 4x-Register ist das erste Ausgangsregister in der Quelltabelle. Hinweis: Die Quelltabelle ist in verschiedene Registerblöcke unterteilt, von denen jeder dieselbe Länge wie der Zielblock besitzt. Die Größe der Quelltabelle ist daher ein Vielfaches der Länge des Zielblocks, ihre Gesamtgröße ist jedoch nicht speziell durch die Instruktion definiert. Wenn keine Überwachung erfolgt, ist es möglich, dass die Quelltabelle alle in der SPS-Konfiguration verfügbaren 4x-Register einnimmt. Zeiger (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist der Zeiger in den Quellblock. Das erste Register im Zielblock ist das auf den Zeiger folgende Register. Wenn z.B. der Zeiger das Register 400107 ist, dann ist das erste Register im Zielblock 400108. Der im Zeiger gespeicherte Wert gibt an, welcher Datenblock aus der Quelltabelle in den Zielblock kopiert wird. Dieser Wert gibt die Blocknummer innerhalb der Quelltabelle an. 31007525 12/2006 1121 TBLK: Tabelle zum Block 1122 31007525 12/2006 TEST: Prüfung von zwei Werten 181 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung TEST beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1124 Darstellung 1125 1123 TEST: Prüfung von zwei Werten Kurzbeschreibung Funktionsbeschreibung 1124 Die TEST-Instruktion vergleicht die vorzeichenbehaftete oder vorzeichenlose Größe der 16-Bit-Werte im oberen und mittleren Eintrag und gibt die Beschreibung des Zusammenhang über die Blockausgänge aus. 31007525 12/2006 TEST: Prüfung von zwei Werten Darstellung Symbol Darstellung der Anweisung Steuereingang Oberer Wert > mittlerer Wert Wert 1 Maximaler Wert: 65535 Oberer Wert = mittlerer Wert Wert 2 Maximaler Wert: 65535 Mit Vorzeichen Oberer Wert < mittlerer Wert TEST #1 Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN = vergleicht Wert 1 und Wert 2 Unterer Eingang 0x, 1x Keine EIN = Operation mit Vorzeichen AUS = Operation ohne Vorzeichen Wert 1 (oberer Knoten) 3x, 4x INT, UINT Wert 1, kann explizit als Ganzzahl (Bereich von 1 ... 65 535) angezeigt oder in einem Register abgelegt werden Wert 2 3x, 4x (mittlerer Knoten) INT, UINT Wert 2, kann explizit als Ganzzahl (Bereich von 1 ... 65 535) angezeigt oder in einem Register abgelegt werden 1 (unterer Knoten) INT, UINT Konstanter Wert, kann nicht verändert werden Oberer Ausgang 31007525 12/2006 0x Keine EIN = Wert 1 > Wert 2 Mittlerer Ausgang 0x Keine EIN = Wert 1 = Wert 2 Unterer Ausgang Keine EIN = Wert 1 < Wert 2 0x 1125 TEST: Prüfung von zwei Werten 1126 31007525 12/2006 UCTR: Aufwärtszähler 182 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung UCTR beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1128 Darstellung 1129 1127 UCTR: Aufwärtszähler Kurzbeschreibung Funktionsbeschreibung 1128 Die UCTR-Instruktion zählt bei jedem Übergang des Steuereingangs von AUS nach EIN von Null aufwärts bis zu einem Voreinstellwert des Zählers. 31007525 12/2006 UCTR: Aufwärtszähler Darstellung Symbol Darstellung der Anweisung Steuern ZählervoreinsVoreinstellwert: 999 16-Bit SPS tellung (max.) 9999 24-Bit SPS 65535 - *SPS Aktivieren/Zurücksetzen Zählwert Ausgangsbedingung UCTR: Zählwert = Voreinstellwert Ausgangsbedingung UCTR: Zählwert < Voreinstellwert UCTR hochgezählter Zählwert *Verfügbar für Folgendes z E685/785-Steuerungen z L785-Steuerungen z Steuerungen der Quantum-Baureihe Parameterbeschreibung 31007525 12/2006 Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine AUS → EIN = initiiert den Betriebs des Zählers Unterer Eingang 0x, 1x Keine AUS = Akkumulator auf 0 zurücksetzen EIN = Zähler zählt Zählervoreinstellung (oberer Knoten) 3x, 4x INT, UINT Voreinstellwert, kann explizit als Ganzzahl angezeigt oder in einem Register gespeichert werden Voreinstellwert: Max. 255 16-Bit-SPS Max. 999 24-Bit-SPS Max. 65535 785L Zählersumme (unterer Knoten) 4x INT, UINT Zählwert (aktueller Wert), der sich bei jedem Übergang des oberen Eingangs von AUS nach EIN um 1 erhöht, bis er den festgelegten Zähler-Voreinstellwert erreicht. Oberer Ausgang 0x Keine EIN = hochgezählter Zählwert = ZählerVoreinstellung Unterer Ausgang 0x Keine EIN = hochgezählter Zählwert < ZählerVoreinstellung 1129 UCTR: Aufwärtszähler 1130 31007525 12/2006 VMER - VME Lesen 183 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung VMER beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1132 Darstellung 1133 Parameterbeschreibung 1135 1131 VMER - VME Lesen Kurzbeschreibung Funktionsbeschreibung Der "VME Lesen"-Block ermöglicht dem Benutzer, Daten aus Geräten am VME-Bus zu lesen. Wenn der Byteaustausch aktiv ist, wird das höherwertige Byte mit dem niederwertigen Byte eines Worts getauscht, nachdem es aus dem VME-Bus gelesen wurde. Wenn Word Swap (Wortaustausch) aktiviert ist, wird das obere Wort mit dem unteren Wort eines Doppelworts getauscht, nachdem es gelesen wurde. Ein Fehler tritt auf, wenn beide Eingänge gleichzeitig freigegeben werden. Hinweis: Nur bei der Quantum-VME-424/X-Steuerung verfügbar. 1132 31007525 12/2006 VMER - VME Lesen Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register Byteaustausch Fehler Zeiger Wortaustausch beendet VMER Wert (1 ... 255) 31007525 12/2006 1133 VMER - VME Lesen Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Referenz Oberer Eingang 0x, 1x Keine EIN aktiviert den Lesevorgang Mittlerer Eingang 0x, 1x Keine EIN = Byteaustausch Unterer Eingang 0x, 1x Keine EIN = Wortaustausch Register 4x (oberer Knoten) INT, UINT, WORD Im oberen Knoten sind fünf Steuerregister vorhanden. Sie werden wie folgt zugewiesen: 4x - VME Addressmodifikatorcode (39, 3A, 3D, 3E, 29 oder 2D) 4x+1 to 4x+4 - VME-Steuerblock (Ausführliche Informationen finden Sie in der Tabelle mit der Bezeichnung S. 1135.) Zeiger (mittlerer Knoten) 4x Wert (unterer Knoten) 1134 Bedeutung INT, UINT Ein Zeiger auf das erste Zielregister. WORD (Ausführliche Informationen finden Sie in der Tabelle mit der Bezeichnung S. 1135.) INT, UINT Eine Konstante, welche die Anzahl von WORD Zielregistern angibt, zu denen Daten übertragen werden sollen. Diese Konstante kann im Bereich von 1 bis 255 liegen. Oberer Ausgang 0x Keine EIN, wenn der obere Eingang Energie erhält Mittlerer Ausgang 0x Keine EIN, wenn ein Fehler auftritt Unterer Ausgang 0x Keine EIN, wenn der Lesevorgang abgeschlossen ist 31007525 12/2006 VMER - VME Lesen Parameterbeschreibung VMESteuerblock Fehlercodestatus 31007525 12/2006 Dies ist der VME-Steuerblock. Register Beschreibung Angezeigt VME-Addressmodifikatorcode Erstes impliziertes Reg. Fehlercodestatus Siehe Fehlercodestatus-Tabelle Zweites impliziertes Reg. Länge der Daten, die gelesen/geschrieben werden sollen Drittes impliziertes Reg. VME-Geräteadresse (niederwertiges Byte) Viertes impliziertes Reg. VME-Geräteadresse (höherwertiges Byte) Dies ist die Fehlercodestatus-Tabelle Fehler Beschreibung 01 Ungültige Wortzählung. Es muss eine geradzahlige Anzahl von Wörtern sein 02 Ungültige Länge, größer als 255 03 Ungültige Datenlänge. Länge war 0 oder größer als 255 04 Ungültiger Adressmodifikator im ersten Steuerblock 05 Ungültiger Befehl im oberen Knoten des SWAP-Blocks 06 Ungültige VME-Busschnittstelle 07 VME-Busadresse nicht vorhanden 08 VME-486-Timeout 09 ME-Busschnittstelle ist nicht konfiguriert worden 10 Beide BYTE- und WORD-Austauscheingänge sind gewählt worden 11 Abstimmen des implizierten Typs durch den AM-Code (A16 oder A2) 1135 VMER - VME Lesen 1136 31007525 12/2006 VMEW - VME Schreiben 184 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung VMEW beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1138 Darstellung 1139 Parameterbeschreibung 1141 1137 VMEW - VME Schreiben Kurzbeschreibung Funktionsbeschreibung Der VME Write-Block ermöglicht dem Benutzer, Daten in Geräte am VME-Bus zu schreiben. Wenn BYTE SWAP (BYTEAUSTAUSCH) aktiv ist, wird das höherwertige Byte mit dem niederwertigen Byte eines Worts getauscht, bevor es in den VME-Bus geschrieben wird. Wenn WORD SWAP (Wortaustausch) aktiviert ist, wird das obere Wort mit dem unteren Wort eines Doppelworts getauscht, bevor es geschrieben wird. Ein Fehler tritt auf, wenn beide Eingänge gleichzeitig freigegeben werden. Hinweis: Nur bei der Quantum-VME-424/X-Steuerung verfügbar. 1138 31007525 12/2006 VMEW - VME Schreiben Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Register Byteaustausch Fehler Zeiger Wortaustausch beendet VMEW Wert (1 ... 255) 31007525 12/2006 1139 VMEW - VME Schreiben Parameterbeschreibung Beschreibung der Anweisungsparameter Parameter Signalspeicher- Datentyp Bedeutung Referenz Oberer Eingang 0x, 1x Keine EIN aktiviert den Lesevorgang Mittlerer Eingang 0x, 1x Keine EIN = Byteaustausch Unterer Eingang 0x, 1x Keine EIN = Wortaustausch Register 4x (oberer Knoten) INT, UINT WORD Im oberen Knoten sind fünf Steuerregister vorhanden. Sie werden wie folgt zugewiesen: 4x - höherwertiges Byte: VME Addressmodifikatorcode (39, 3A, 3D, 3E, 29 oder 2D) 4x - niederwertiges Byte: Datenbusumfang 4x + 1 to 4x + 4 - VME-Steuerblock (Ausführliche Informationen finden Sie in der Tabelle mit der Bezeichnung S. 1141.) Zeiger (mittlerer Knoten) INT, UINT WORD Ein Zeiger auf das erste Zielregister. (Ausführliche Informationen finden Sie in der Tabelle mit der Bezeichnung S. 1141.) INT, UINT WORD Eine Konstante, welche die Anzahl von Zielregistern angibt, zu denen Daten übertragen werden sollen. Diese Konstante kann im Bereich von 1 bis 255 liegen. 3x, 4x Wert (unterer Knoten) 1140 Oberer Ausgang 0x Keine EIN, wenn der obere Eingang Energie erhält Wird aktiv, wenn der obere Eingang Energie erhält. Mittlerer Ausgang 0x Keine EIN, wenn ein Fehler auftritt Unterer Ausgang 0x Keine EIN, wenn der Schreibvorgang abgeschlossen ist 31007525 12/2006 VMEW - VME Schreiben Parameterbeschreibung VMESteuerblock Fehlercodestatus 31007525 12/2006 Dies ist der VME-Steuerblock. Register Beschreibung Angezeigt VME-Addressmodifikatorcode Erstes impliziertes Reg. Fehlercodestatus Siehe Fehlercodestatus-Tabelle Zweites impliziertes Reg. Länge der Daten, die gelesen/geschrieben werden sollen Drittes impliziertes Reg. VME-Geräteadresse (niederwertiges Byte) Viertes impliziertes Reg. VME-Geräteadresse (höherwertiges Byte) Dies ist die Fehlercodestatus-Tabelle Fehler Beschreibung 01 Ungültige Wortzählung. Es muss eine geradzahlige Anzahl von Wörtern sein 02 Ungültige Länge, größer als 255 03 Ungültige Datenlänge. Länge war 0 oder größer als 255 04 Ungültiger Adressmodifikator im ersten Steuerblock 05 Ungültiger Befehl im oberen Knoten des SWAP-Blocks 06 Ungültige VME-Busschnittstelle 07 VME-Busadresse nicht vorhanden 08 VME-486-Timeout 09 ME-Busschnittstelle ist nicht konfiguriert worden 10 Beide BYTE- und WORD-Austauscheingänge sind gewählt worden 11 Abstimmen des implizierten Typs durch den AM-Code (A16 oder A2) 1141 VMEW - VME Schreiben 1142 31007525 12/2006 WRIT: Schreiben 185 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung WRIT beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1144 Darstellung 1145 Parameterbeschreibung 1146 1143 WRIT: Schreiben Kurzbeschreibung Funktionsbeschreibung Die WRIT-Instruktion sendet eine Meldung vom SPS über die RIO-Kommunikationsverbindung an ein ASCII-Anzeigegerät (Monitor, Drucker usw.). Beim Senden der Meldeoperation erfüllt WRIT die folgenden Aufgaben: Überprüft die Korrektheit der ASCII-Kommunikationsparameter, z.B. die Portnummer, die Nachrichtennummer z Überprüft die Längen variabler Datenfelder z Führt die Fehlererkennung und -aufzeichnung durch z Erstellt einen Bericht zum RIO-Schnittstellenstatus z WRIT erfordert zwei Registertabellen: eine Quelltabelle, in der variable Daten (die Nachricht) gespeichert werden, und einen Steuerblock, in dem Kommunikationsport- und Nachrichtenparameter identifiziert werden. Weitere Informationen zur Formatierung von Nachrichten finden Sie S. 31. 1144 31007525 12/2006 WRIT: Schreiben Darstellung Symbol Darstellung der Anweisung Steuereingang aktiv Quelle Operationspause Steuerblock Operationsabbruch Fehler (ein Zyklus) Abgeschlossen (ein Zyklus) WRIT Tabellenlänge max. 255 Parameterbeschreibung 31007525 12/2006 Tabellenlänge Beschreibung der Anweisungsparameter Parameter SignalspeicherReferenz Datentyp Bedeutung Oberer Eingang 0x, 1x Keine EIN = initiiert eine WRIT-Operation Mittlerer Eingang 0x, 1x Keine EIN = lässt die WRIT-Operation pausieren EIN = bricht die WRIT-Operation ab Unterer Eingang 0x, 1x Keine Quelle (siehe S. 1146) (oberer Knoten) 3x, 4x INT, UINT, Quelltabelle WORD Steuerblock 4x (siehe S. 1146) (mittlerer Knoten) INT, UINT, ASCII-Steuerblock (erstes von sieben WORD benachbarten Ausgangsregistern) (Ausführliche Informationen finden Sie S. 1146.) Tabellenlänge (unterer Knoten) INT, UINT Länge der Quelltabelle (Anzahl der Register, in denen die Meldungsdaten gespeichert werden), Bereich: 1 ... 255 Oberer Ausgang 0x Keine Liefert Rückmeldung des Zustands des oberen Eingangs Mittlerer Ausgang 0x Keine EIN = Fehler bei der Kommunikation oder Operation hat Timeout erreicht (für einen Zyklus) Unterer Ausgang 0x Keine EIN = WRIT abgeschlossen (für einen Zyklus) 1145 WRIT: Schreiben Parameterbeschreibung Quelltabelle (oberer Eintrag) Der obere Eintrag enthält das erste 3x- oder 4x-Register in einer Quelltabelle, deren Länge im unteren Eintrag angegeben wird. Diese Tabelle enthält die Daten, die zum Füllen des Variablenfeldes in einer Nachricht benötigt werden. Beachten Sie die folgende WRIT-Meldung. vessel #1 temperature is: III Das 3-Zeichen-ASCII-FeldIII ist das variable Datenfeld. Variable Daten werden, im typischen Fall durch DX-Verschiebungen, in eine Tabelle von variablen Felddaten geladen. Steuerblock (mittlerer Eintrag) Das im mittleren Eintrag eingegebene 4x-Register ist das erste von sieben benachbarten Ausgangsregistern im Steuerblock. Register Definition Angezeigt Portnummer und Fehlercode, S. 1147 Erstes impliziertes Register Nachrichtennummer Zweites impliziertes Register Anzahl der Register, die zur Erfüllung von Formatforderungen benötigt werden Drittes impliziertes Register Zählung der Anzahl bis dahin übertragener Register Viertes impliziertes Register Programmschleifenstatus Fünftes impliziertes Register Reserviert Sechstes impliziertes Register Prüfsumme der Register 0 ... 5 1146 31007525 12/2006 WRIT: Schreiben Portnummer und Fehlercode Portnummer und Fehlercode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bit Funktion 1 ... 4 SPS-Fehlercode (siehe Tabelle unten) 5 Nicht verwendet 6 Eingabe vom ASCII-Gerät nicht kompatibel mit Format 7 Eingangspuffer Überlauf, Daten wurden zu schnell in RIOP eingelesen 8 USART-Fehler, ungültiges Byte am RIOP aufgenommen 9 Ungültiges Format, vom RIOP nicht ordnungsgemäß aufgenommen 10 ASCII-Gerät offline, Verkabelung kontrollieren 11 ASCII-Nachricht frühzeitig beendet (im Tastatur-Modus) 12 ... 16 Kommunikationsport Nr. (1 ... 32) SPS-Fehlercode Bit 31007525 12/2006 Bedeutung 1 2 3 4 0 0 0 1 Fehler bei der Eingabe vom ASCII-Gerät in den RIOP 0 0 1 0 Ausnahmereaktion vom RIOP, ungültige Daten 0 0 1 1 Reihenfolgenummer vom RIOP weicht vom erwarteten Wert ab 0 1 0 0 Prüfsummenfehler des Benutzerregisters, häufig verursacht durch sich ändernde READ-Register, während der Block aktiv ist 0 1 0 1 Ungültige Schnittstellen- oder Nachrichtennummer festgestellt 0 1 1 0 Vom Benutzer initiierter Abbruch, unterer Eingang aktiviert 0 1 1 1 Keine Antwort von der E/A-Station, Kommunikationsfehler 1 0 0 0 Eintrag abgebrochen wegen SKP-Instruktion 1 0 0 1 Nachrichtenbereich durcheinander gebracht, Speicher neu laden 1 0 1 0 Schnittstelle nicht in der E/A-Bestückungsliste konfiguriert 1 0 1 1 Ungültige ASCII-Anfrage 1 1 0 0 Unbekannte Antwort vom ASCII-Port 1 1 0 1 Ungültiges ASCII-Element in der Benutzerlogik festgestellt 1 1 1 1 RIOP in der SPS ist abgeschaltet 1147 WRIT: Schreiben 1148 31007525 12/2006 XMIT - Senden 186 Auf einen Blick Einleitung In diesem Kapitel wird die Anweisung XMIT - Senden beschrieben. Inhalt dieses Kapitels Dieses Kapitel enthält die folgenden Themen: 31007525 12/2006 Thema Seite Kurzbeschreibung 1150 XMIT Modbus-Funktionen 1151 1149 XMIT - Senden Kurzbeschreibung Funktionsbeschreibung Der Funktionsblock XMIT (Transmit, Senden) sendet Modbus-Nachrichten von einer Master-SPS zu mehreren Slave-SPS oder ASCII-Zeichenketten über den Modbus-Slave-Port Nr. 1 oder Nr. 2 der SPS an ASCII-Drucker und Endgeräte. XMIT sendet diese Nachrichten über Telefonwählmodems, Funkmodems oder einfach über Direktverbindungen. Weitere Informationen zum Funktionsblock XMIT finden Sie S. 1151. XMIT verfügt über drei Modi: Kommunikation, Portstatus und Konvertierung. Diese Modi werden in den folgenden Abschnitten beschrieben. z z z XMIT-Kommunikationsbaustein, S. 1157 XMIT-Portstatusbaustein, S. 1169 XMIT-Konvertierungsbaustein, S. 1177 XMIT führt allgemeine ASCII-Eingangsfunktionen im Kommunikationsmodus aus, darunter einfaches ASCII und abgeschlossenes ASCII. Sie können einen zusätzlichen XMIT-Block zum Melden von Port-Status-Informationen in Register verwenden, während ein anderer XMIT-Block 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 Block verfügt über eine integrierte Diagnose, die sicherstellt, dass keine anderen XMIT-Blöcke in der SPS aktiv sind. Innerhalb des XMIT-Blocks können Sie mit einer Steuertabelle die Kommunikationsverbindung zwischen der SPS und dem DCE (Data Communication Equipment, Datenkommunikationsgerät) steuern, das an Modbus-Port Nr. 1 oder 2 der SPS angeschlossen ist. Der XMIT-Block aktiviert nicht die Port-LED, wenn er Daten überträgt. Hinweis: Das Modbus-Protokoll ist ein Master/Slave-Protokoll und kann nur einen Master haben, wenn mehrere Slaves abgefragt werden. Wenn Sie also den XMITBlock in einem Netzwerk mit mehreren Mastern verwenden, müssen Sie sich um die Vermeidung konkurrierender Zugriffe und Datenkollisionen kümmern. Dies läßt sich auf einfachem Wege über die Ladder Logic-Programmierung erreichen. 1150 31007525 12/2006 XMIT - Senden XMIT Modbus-Funktionen Auf einen Blick Der XMIT-Funktionsbaustein unterstützt die folgenden Modbus-Funktionscodes: z z z z 01 ... 06 08 15 und 16 20 und 21 Für Modbus-Nachrichten muss der Bereich MSG_OUT die Modbus-Definitionstabelle enthalten. Die Modbus-Definitionstabelle für den Modbus-Funktionscode: 01, 02, 03, 04, 05, 06, 15 und 16 ist fünf Register lang. Sie müssen XMIT_SET.MessageLen auf 5 setzen, um eine erfolgreiche XMIT-Operation zu gewährleisten. In der folgenden Tabelle ist die Modbus-Definitionstabelle beschrieben. ModbusFunktionscodes 01 - 06 Für Modbus-Nachrichten muss der Bereich MSG_OUT die Modbus-Definitionstabelle enthalten. Die Modbus-Definitionstabelle für den Modbus-Funktionscode: 01, 02, 03, 04, 05, 06, 15 und 16 ist fünf Register lang. Sie müssen XMIT_SET.MessageLen auf 5 setzen, um eine erfolgreiche XMIT-Operation zu gewährleisten. In der folgenden Tabelle ist die Modbus-Definitionstabelle beschrieben. Modbus-Definitionstabelle für die Funktionscode (01 - 06, 15 und 16) 31007525 12/2006 Inhalt Beschreibung ModbusFunktionscode (MSG_OUT[1]) Das XMIT-Modul unterstützt die folgenden Funktionscodes: 01 = Mehrere Ausgangs-/Merkerbits lesen (0x) 02 = Mehrere Digitaleingänge lesen (1x) 03 = Mehrere Halteregister lesen (4x) 04= Mehrere Eingangsregister lesen (3x) 05 = Einzelnes Ausgangs-/Merkerbit schreiben (0x) 06 =Einzelnes Halteregister schreiben (4x) 15 = Mehrere Ausgangs-/Merkerbits schreiben (0x) 16 = Mehrere Halteregister schreiben (4x) 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 Halteregister aus der Slave-SPS zu lesen, oder 32, um 32 Ausgangs-/Merkerbits in eine Slave-SPS zu schreiben. Es gibt eine Einschränkung hinsichtlich der Menge. Diese Einschränkung ist vom SPSModell abhängig. Ausführlichere Informationen zu diesen Einschränkungen finden Sie im Anhang A. 1151 XMIT - Senden Inhalt Beschreibung Adresse der Slave-SPS (MSG_OUT[3]) Geben Sie die Adresse der Modbus-Slave-SPS ein. Der ModbusAdressbereich liegt normalerweise zwischen 1 - 247. Um eine ModbusNachricht an mehrere SPS zu senden, geben Sie 0 für die Slave-SPSAdresse ein. Diese Adresse gibt den Broadcast-Modus an. Der BroadcastModus unterstützt nur Modbus-Funktionscodes, die Daten von der MasterSPS an Slave-SPS schreiben. Der Broadcast-Modus unterstützt NICHT Modbus-Funktionscodes, die Daten von den Slave-SPS lesen. Slave-SPSDatenbereich (MSG_OUT[4]) Bei einem Lesebefehl ist der Slave-SPS-Datenbereich die Datenquelle. Bei einem Schreibbefehl ist der Slave-SPS-Datenbereich das Datenziel. Wenn Sie beispielsweise Ausgangs-/Merkerbits (00300 - 00500) von einer SlaveSPS lesen möchten, geben Sie 300 in dieses Feld ein. Wenn Sie Daten von einer Master-SPS lesen und in das Register (40100) einer Slave-SPS schreiben möchten, geben Sie 100 in dieses Feld 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-SPSDatenbereich (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 MasterSPS-Datenbereich die Datenquelle. Wenn Sie beispielsweise Ausgangs-/ Merkerbits (00016 - 00032), die sich in der Master-SPS befinden, in eine Slave-SPS schreiben möchten, geben Sie 16 in das Feld ein. Wenn Sie Eingangsregister (30001 - 30100) von einer Slave-SPS lesen und die Daten dann in den Master-SPS-Datenbereich (40100 - 40199) schreiben möchten, geben Sie 100 in dieses Feld 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 Funktionscodes (01 - 06, 15 und 16) Funktionscode Master-SPS-Datenbereich Slave-SPS-Datenbereich 03 (Mehrere lesen 4x) 4x (Ziel) 4x (Quelle) 04 (Mehrere lesen 3x) 4x (Ziel) 3x (Quelle) 01 (Mehrere lesen 0x) 0x (Ziel) 0x (Quelle) 02 (Mehrere lesen 1x) 0x (Ziel) 1x (Quelle) 16 (Mehrere schreiben 4x) 4x (Quelle) 4x (Ziel) 15 (Mehrere schreiben 0x) 0x (Quelle) 0x (Ziel) 05 (Einzelnen schreiben 0x) 0x (Quelle) 0x (Ziel) 06 (Einzelnen schreiben 4x) 4x (Quelle) 4x (Ziel) Wenn Sie 20 Modbus-Nachrichten von der SPS aus versenden möchten, müssen Sie nach jeder erfolgreichen Ausführung von XMIT nacheinander 20 ModbusDefinitionstabelllen in MSG_OUT übertragen. Sie können aber auch 20 separate XMIT-Blöcke programmieren und sie dann jeweils einzeln über die Benutzerlogik aktivieren. 1152 31007525 12/2006 XMIT - Senden ModbusFunktionscode (08) Die Modbus-Definitionstabelle für den Modbus-Funktionscode: 08 ist fünf Register lang, und Sie müssen XMIT_SET.MessageLen auf 5 für Modbus-Nachrichten setzen. Der MSG_OUT-Bereich muss die Modbus-Definition für eine erfolgreiche XMIT-Operation enthalten. In der folgenden Tabelle ist die Modbus-Definitionstabelle beschrieben. Modbus-Definitionstabelle für die Funktionscodes (08) 31007525 12/2006 Inhalt Beschreibung Modbus-Funktionscode (MSG_OUT[1]) Das XMIT-Modul unterstützt den folgenden Funktionscode: 08 = Diagnose Diagnose (MSG_OUT[2]) Geben Sie den Dezimalwert für den DiagnoseUnterfunktionscode in dieses Feld ein, um die gewünschte spezifische Diagnosefunktion durchzuführen. Die folgenden Diagnose-Unterfunktionen werden unterstützt: Code Beschreibung 00 Zurücksenden der Abfragedaten 01 Komm.-Option neu starten 02 Diagnoseregister rückmelden 03 ASCII-Eingangsbegrenzer ändern 04 Modus "Nur Zuhören" forcieren 05 ... 09 Reserviert 10 Zähler zurücksetzen (& Diagnoseregister in 384, 484) 11 Anzahl der Busnachrichten zurückmelden 12 Anzahl der Buskommunikationsfehler zurückmelden 13 Anzahl der Busausnahmefehler zurückmelden 14 ... 15 Nicht unterstützt 16 Anzahl der Nichtbestätigungen des Slaves zurückmelden 17 Anzahl der "Slaves belegt" Nachrichten zurückmelden 18 Anzahl der Bus-Zeichenüberlauf-Nachrichten zurückmelden 19 ... 21 Nicht unterstützt Adresse der Slave-SPS (MSG_OUT[3]) Geben Sie die Adresse der Modbus-Slave-SPS ein. Der Modbus-Adressbereich liegt normalerweise zwischen 1 247. Der Funktionscode 8 unterstützt NICHT den Broadcast-Modus (Adresse 0). 1153 XMIT - Senden ModbusFunktionscodes (20, 21) Inhalt Beschreibung Inhalt des Datenfelds "Diagnosefunktion" (MSG_OUT[4]) Sie müssen den für den Datenbereich der spezifischen Diagnoseunterfunktion erforderlichen Dezimalwert eingeben. Für die 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 (MSG_OUT[5]) Bei allen Unterfunktionen ist der Master-SPS-Datenbereich das Ziel für die vom Slave zurückgemeldeten Daten. Sie müssen ein 4x-Register angeben, das den Beginn des Datenbereichs markiert, in dem die zurückgemeldeten Daten gespeichert werden. Um beispielsweise die Daten in den Master-SPS-Datenbereich beginnend bei (40100) zu speichern, geben Sie