Betriebsanleitung Schnittstellenbeschreibung für NE216 Prog. 01 1. Allgemeines Die serielle Schnittstelle kann die gleichen Funktionen erfüllen, wie das Display und die Tastatur am Zähler. Man kann über die Schnittstelle Daten abrufen und Parameter umprogrammieren. Im allgemeinen wird der Zähler beim Betrieb mit der seriellen Schnittstelle von einem Personal-Computer bedient, deshalb wird nachfolgend das externe Gerät kurz PC genannt. Es kann aber auch ein anderes Gerät mit ähnlichen Eigenschaften verwendet werden. 2. Übertragungsprotokoll Die Übertragung erfolgt zeichenweise im ASCII-Code. Jedes Zeichen besteht aus 8 Bit. Das 8. Bit ist das Parity Bit, bei "no Parity" wird das 8. Bit immer Null gesendet. Der Zähler sendet auf jede Anforderung vom PC über die serielle Schnittstelle eine Antwort, sofern die DatenÜbertragung korrekt erfolgt ist. Eine Übertragung von Zeichen wird mit einem Startzeichen <STX> eingeleitet und mit einem Endzeichen <ETX> abgeschlossen. Zusätzlich wird vom Zähler nach dem <ETX> noch ein <CR> (Wagenrücklauf) gesendet. Dies ermöglicht das Einlesen (in Hochsprachen wie BASIC) eines kompletten Datenblocks mit einem Befehl. Nach dem <STX> folgt eine dem Zähler zugeordnete Adresse. Somit kann der Zähler in einem seriellen Netzwerk gezielt angesprochen werden. Nach der Adresse gibt man die Zeile (Position) an, die man auslesen oder programmieren möchte. Bei einem Programmierbefehl folgt dann noch ein "P" (programmieren) und die Daten (Parameter). Das Protokoll wird wie nachfolgend erläutert in 3 Gruppen eingeteilt: a) Lesen von Speicherplätzen (READ-Anweisung): <STX> Adresse Zeile <ETX> [<CR>] b) Programmieren von Speicherplätzen (WRITE-Anweisung): <STX> Adresse Zeile P Daten <ETX> [<CR>] c) Sonderbefehle: <STX> Adresse Parameter <ETX> [<CR>] <STX> Adresse Zeile P Daten Parameter <ETX> <CR> Start of Text (02Hex) 00..99 (Geräteadresse) 01..XX (siehe Bedienungsplan) Programmierbefehl Programmierdaten Sonderbefehle End of Text (03Hex) 0DHex (Steuerzeichen "carriage return") "CR" muss nicht angegeben werden (optional) wird aber vom Zähler immer zurückgesendet. Beispiel: Allgemein Ascii Hex <STX> Adresse Zeile <ETX> <STX>3502<ETX> 02H,33H,35H,30H,32H,03H Baumer IVO GmbH & Co. KG Dauchinger Strasse 58-62 • DE-78056 Villingen-Schwenningen Phone +49 (0)7720 942-0 • Fax +49 (0)7720 942-900 www.baumer.com • [email protected] (Adresse=35; Zeile=02) 03.10 • 171.01.185/3 Irrtum sowie Änderungen in Technik und Design vorbehalten NE216 Wichtig ! Die Leerstellen zwischen den einzelnen Zeichen in den Befehlen dienen nur zur besseren Darstellung. Die Eingabe am PC muss ohne Leerstellen erfolgen. Steuerzeichen (kleiner 20Hex) werden in der Beschreibung in spitze Klammern eingefasst. Wird ein falsches Protokoll vom PC gesendet, so sendet der Zähler eine Fehlermeldung zurück. Dies setzt voraus, dass der NE216 noch ansprechbar bleibt. Lesen Sie dazu den Abschnitt Fehlermeldungen auf Seite 4. 3. Lesen von Speicherplätzen Sämtliche Speicherplätze, die im Programmierschema mit einer Zeilennummer versehen sind, (außer den Trennzeilen die durch Striche gekennzeichnet sind) können ausgelesen werden. Das Protokoll: <STX> Adresse Zeile <ETX> [<CR>] kann auf jede Zeile angewendet werden. Die Rückantwort vom Zähler kann jedoch von Zeile zu Zeile unterschiedlich in der Protokollänge ausfallen. Dies hängt von der Datenlänge des jeweiligen Speicherplatzes ab. Der NE216 kann, wenn er sich im RUN-Modus wie auch im PGM-Modus befindet, gleichermaßen ausgelesen werden. Der Unterschied liegt lediglich darin, daß bei der Rückmeldung vom Zähler der Mode-Parameter ein "R" oder ein "P", wie nachfolgend beschrieben, zurückliefert. Antwort auf einen Read-Befehl (allgemein): <STX> Adresse Zeile Mode [VZ] Daten <ETX> <CR> Mode VZ Daten P=NE216 befindet sich im Programmiermodus R=NE216 befindet sich im RUN-Modus Vorzeichen. Wird nur bei einem Minuszeichen übertragen max. Stellenzahl, mit führenden Nullen ohne Dezimalpunkt (Ausnahme: Zeile 6 - dort mit Dezimalpunkt) 3.1. Beispiele zum Lesen von Speicherplätzen Für die nachfolgenden Beispiele gilt folgende Festlegung: Geräteadresse = 35; Modus des Zählers = R (RUN-Modus) Auslesen des Hauptzählers PC (Zeile=01, Anzeigewert=1500) Anfrage: <STX>3501<ETX> Antwort: <STX>3501R01500<ETX><CR> Auslesen des Skalierungsfaktors SF (Zeile=07, Einstellung=1,0000) Anfrage: <STX>3507<ETX> Antwort: <STX>3507R1.0000<ETX><CR> Auslesen der Zählweise (Zeile=30, Einstellung=Pos. 3) Anfrage: <STX>3530<ETX> Antwort: <STX>3530R3<ETX><CR> (3 entspricht Spur A90ºB Einfachauswertung) Auslesen der Geräte-Adresse (Zeile=54, Geräte-Adresse=35) Anfrage: <STX>3554<ETX> Antwort: <STX>3554R35<ETX><CR> 2 www.baumer.com NE216 4. Programmieren von Speicherplätzen Sämtliche Speicherplätze, die im Programmierschema mit einer Zeilennummer versehen sind, mit Ausnahme der Trennzeilen (die durch Striche gekennzeichnet sind) und den Zeilen 1 und 5 können programmiert werden. Das Protokoll: <STX> Adresse Zeile P [VZ] Daten <ETX> [<CR>] kann auf jede Zeile angewendet werden. Die Rückantwort vom Zähler, die nach jedem Programmieren zurückgesendet wird, ist dieselbe, wie beim Auslesen der Zeile. Das Programmieren aller Speicherplätze kann im RUN- sowie im Programmier-Modus erfolgen. Programmieren im RUN-Modus: Die Daten In den Zeilen 21-23, 30-33, 35, 43, 44 und 51-54 werden erst nach einem Wechsel vom PGMModus in den RUN-Modus intern übernommen. Umschalten in den PGM-Modus siehe unter 5.2. Die übrigen Zeilen sind sofort nach der Programmierung aktiv. Alle im RUN-Modus programmierten Daten werden erst nach einem Wechsel vom PGM-Modus in den RUN-Modus in den nichtflüchtigen Speicher übernommen. Erfolgt kein PGM/RUN-Wechsel, so werden nach einem Netzausfall die alten Daten wieder gültig. Write-Befehl (allgemein): <STX> Adresse Zeile P [VZ] Daten <ETX> [<CR>] 4.1. Beispiele zum Programmieren von Speicherplätzen Folgende Festlegung gilt für die nachfolgenden Beispiele: Geräteadresse = 35; Modus des Zählers = R (RUN-Modus) Programmieren des Setzwertes SC (Zeile=04, Setzwert=360) Befehl: <STX>3504P00360<ETX> Antwort: <STX>3504R00360<ETX><CR> Programmieren eines neg. Setzwertes SC (Zeile=04, Setzwert=-360) Befehl: <STX>3504P-0360<ETX> Antwort: <STX>3504R-0360<ETX><CR> Programmieren des Skalierungsfaktors SF (Zeile=07, Einstellung=1,0000) Befehl: <STX>3507P1.0000<ETX> Antwort: <STX>3507R1.0000<ETX><CR> Programmieren der Zählweise (Zeile=30, Zählweise=1) Befehl: <STX>3530P1<ETX> Antwort: <STX>3530R1<ETX><CR> Programmieren der Ausgangszeit P1 auf Latch(Zeile=41) Befehl: <STX>3541PL<ETX> Antwort: <STX>3541RL<ETX><CR> Programmieren der Geräteadresse (Zeile=54, Geräteadresse=27) Befehl: <STX>3554P27<ETX> Antwort: <STX>3554R27<ETX><CR> www.baumer.com 3 NE216 5. Sonderbefehle Bei den Sonderbefehlen handelt es sich mit Ausnahme des Befehls "Zählerstand löschen" um Anweisungen, die sich auf keine Zeilennummer (Speicherplatz im Bedienerplan) beziehen. 5.1. Zählerstand löschen Der Zählerstand PC (Zeile 1), kann über den folgenden Sonderbefehl gelöscht werden. Es handelt sich hier um eine Zeile, die nicht programmiert werden kann. Alle übrigen Zeilen im Programmierplan (außer Trennzeilen), werden gelöscht indem man den Wert NULL programmiert (wie unter Punkt 4. beschrieben). Der Löschbefehl entspricht einem Reset über C-Taste. Die Rückmeldung (Antwort) des Zählers beim Löschen ist dieselbe wie beim Lesebefehl der entsprechenden Zeile. Allgemein: <STX> Adresse Zeile <DEL> <ETX> Beispiel: Adresse=35, Befehl: Antwort: Löschen des Zählerstands PC Zeile=01, Status=RUN-Modus <STX>3501<DEL><ETX> <STX>3501R00000<ETX><CR> <DEL> = 7FHex 5.2. Zähler in PGM-Modus oder RUN-Modus schalten Mit diesem Befehl kann der Zähler mit jedem Aufruf zwischen dem PGM-Modus und dem RUN-Modus hin und her geschaltet werden. Als Antwort wird die Adresse und der Status zurückgeliefert. Allgemein: <STX> Adresse <DC1> <ETX> Beispiel: Adresse=35, Status=RUN-Modus, Aktuelle Zeile = 1, Anzeigewert=15 Befehl: <STX>35<DC1><ETX> <DC1> = 11Hex Antwort: <STX>35P<ETX><CR> Eine Wiederholung des Befehls schaltet wieder in den RUN-Modus Befehl: <STX>35<DC1><ETX> Antwort: <STX>35R<ETX><CR> 5.3. Zähler-Identifizierung auslesen Die Identifizierungsdaten können nur gelesen werden. Nach der Adresse folgen zwei Parameter. Der BefehlsParameter "I" (für Identifizierung) und der Auswahlparameter "T" (Typ und Programmnummer) oder "D" (Datum und Hardwareversion) für die verschiedenen Identifizierungsdaten. Geräte-Typ und Programmnummer auslesen: Adresse=35, Typ=NE216, Programmnummer=01 Befehl: <STX>35IT<ETX> Antwort: <STX>35NE216 01<ETX><CR> Datum und Versionsnummer auslesen: Adresse=35, Datum=02.10.96, Versionsnummer=01 Befehl: <STX>35ID<ETX> Antwort: <STX>35021096 1<ETX><CR> 6. Fehlermeldungen beim Datentransfer Wird vom PC ein falsches Datenprotokoll an den Zähler gesendet, (z.B.: Zeile, die nicht existiert oder Buchstaben anstatt Ziffern) so wird vom Zähler soweit er noch ansprechbar ist, eine entsprechende Fehlermeldung zurückgeliefert. Um bei einem Fehlerfall noch eine Fehlermeldung zu erhalten, muss mindestens das Steuerzeichen <STX> sowie die Adresse stimmen. Ist dies nicht der Fall, ist der NE216 nicht mehr ansprechbar und kann somit auch keine Rückmeldung an den PC senden. Wird bei einer Anfrage vom PC keine Rückmeldung erhalten, also auch keine Fehlermeldung, so liegt ein fataler Fehler vor. Dies kann der Fall sein, wenn wie schon oben erwähnt das Steuerzeichen <STX> oder die Adresse fehlt, sowie die Schnittstellenparameter von PC und NE216 nicht übereinstimmen. Stimmt dies jedoch, so kann es sich nur noch um einen Fehler an der Hardware oder an der Datenleitung handeln. 4 www.baumer.com NE216 Allgemeiner Aufbau der Fehlermeldungen: <STX> Adresse Zeile Status <CAN> Fehlernummer <ETX> <CR> Beispiel: Adresse=35, Zeile=09 (ungültige Zeile), Fehlernummer=2 <STX>3509R<CAN>2<ETX><CR> Bei der Fehlerrückmeldung entfallen die beiden Positionen "Zeile" und "Status" Fehlerbeschreibung im Einzelnen: Fehler 1: Formatfehler (<ETX> nicht an der richtigen Stelle). Dieser Fehler tritt z.B. auf, wenn das Datenformat bei der Programmierung nicht eingehalten wird.(z.B.: Beim Programmieren des Setzwertes werden nur 4 DatenStellen anstatt 5 übertragen) Fehler 2: Zeile (Position) nicht vorhanden oder Trennzeile Fehler 3: Parameterfehler (Unzulässige Werte im Protokoll). Das heißt zum Beispiel, dass der Skalierungsfaktor nicht nur aus Ziffern sondern auch aus anderen unzulässigen Zeichen besteht oder dass ein angegebener Wert außerhalb eines zulässigen Bereichs liegt. 7. Auflistung der verwendeten Steuerzeichen Steuerzeichen <STX> <ETX> <ACK> <LF> <CR> <DC1> <CAN> <DEL> Hex 02 03 06 0A 0D 11 18 7F Dezimal 02 03 06 10 13 17 24 127 www.baumer.com 5 NE216 8. Bedienungsplan Zeile 6 Werkseinstellung Kundenpro- Kurzbeschreibung 01 02 03 04 05 07 0 1 0 0 1 0 0 0 0 0 1.0 0 0 0 PC P1 P2 SC tot SF 10 - - - - - Trennzeile 11 12 13 14 15 17 S S S S S S 20 - - - - - 21 22 23 24 30 31 32 33 34 35 36 38 40 41 2 2 2 2 3 3 3 3 3 3 3 3 4 4 42 4 43 44 50 4 4 5 t 0.2 2 t 0.2 3 4 0 C o 51 52 53 54 5 5 5 5 1 2 3 4 55 - - - - - t t t t t t 1 2 3 4 0 1 2 3 4 5 6 8 0 1 a a a a a a t t t t t t 0 0 0 2 2 2 S S S S S S t t t t t t a a a a a a t t t t t t PC P1 P2 SC tot SF - - Aktueller Zählerstand Vorwahl 1 Vorwahl 2 Setzwert Summenzähler Skalierungsfaktor Aktueller Zählerstand Vorwahl 1 Vorwahl 2 Setzwert Summenzähler Skalierungsfaktor Trennzeile 0 0 0 0 0 0 0 0 0 0 3 0 0 1 5 2 5 0 0 d 0 2 2 2 2 3 3 3 3 3 3 3 3 4 4 0 0 0 0 1 2 3 4 0 1 2 3 4 5 6 8 0 1 Betriebsart Vorwahlmode Rückstellart Dezimalpunkt für P1, P2, SC, tot Zählweise Frequenz Spur A Frequenz Spur B Eingangslogik Funktion Steuereingang 1 (Anschluß 9) Reaktionszeit für Steuereingang 1 Funktion Steuereingang 2 (Anschluß 10) Übernahme der Vorwahlen P1,P2 und SC Ausgangslogik für Digitalausgang Ausgangszeit für Vorwahl P1 4 2 Ausgangszeit für Vorwahl P2 4 3 4 4 5 0 Zeitbereich bei Betriebsstundenzähler Schnelle Vorwahlerkennung Code-Einstellung 5 5 5 5 Baudrate Parity Stoppbits Adresse 1 2 3 4 Trennzeile www.baumer.com NE216 9. Programmierplan Zl 11-17 0 1 2 Zeile 21 0 1 2 Status für Zeile 1-7 Parameter kann geändert werden Löschen bzw. Eingabe gesperrt Parameter wird übersprungen Betriebsart Addierend (Rückstellung auf SC) Subtrahierend (Rückstellung auf P2) Subtrahierend; jedoch Ausgangskontakt bei SC, autom. Rückstellung bei 0 Zeile 22 0 1 Vorwahlmode Stufenvorwahl P1-Schleppvorwahl Zeile 23 0 1 Rückstellart Mit automatischer Rückstellung Ohne automatische Rückstellung Zeile 24 0 1 2 3 Dezimalpunkt für PC, P1, P2, tot, SC Kein Dezimalpunkt 0000.0 000.00 00.000 Zeile 30 0 1 2 3 4 5 6 7 Zählweise Spur A ggf. UP/DOWN-Signal auf B Differenzzählung (A-B) Summenzählung (A+B) Spur A 90° B Einfachauswertung Spur A 90° B Zweifachauswertung Spur A 90° B Vierfachauswertung Betriebsstundenzähler mit Vorwahl wie 6 jedoch mit Start und Stopp Zeile 31 0 1 2 Zeile 38 0 1 Zeile 40 0 1 2 3 Übernahme der Vorwahlen P1,P2,SC Sofort wirksam Bei Rückstellung Ausgangslogik für Digitalausgänge Beide Ausgänge als Schließer P1 Öffner, P2 Schließer P1 Schließer, P2 Öffner Beide Ausgänge als Öffner Zeile 41 0.25 0.01 99.99 Ausgangszeit P1 Default Min. Max. Zeile 42 0.25 0.01 99.99 Ausgangszeit P2 Default Min. Max. Zeile 43 0 1 2 3 Zeitbereich Betriebsstundenzähler 999s 99/100s 99min 59s 9/10s 999min 59s 999h 59min Zeile 44 0 1 Schnelle Vorwahlerkennung Standard Vorwahlerkennung Schnelle Vorwahlerkennung Zeile 50 0000 : 9999 Code Code nicht aktiv Frequenz Spur A 10 kHz 25 Hz 3 Hz Zeile 51 0 1 2 3 Baudrate 4800 Baud 2400 Baud 1200 Baud 600 Baud Zeile 32 0 1 2 Frequenz Spur B 10 kHz 25 Hz 3 Hz Zeile 52 0 1 2 Parity Even Parity Odd Parity No Parity Zeile 33 0 1 2 3 Eingangslogik PNP Schaltschwelle NPN Schaltschwelle PNP Schaltschwelle NPN Schaltschwelle Zeile 53 0 1 Stoppbits 1 Stoppbit 2 Stoppbits Zeile 54 00 00 99 Adresse Default Min. Max. Zeile 34 0 1 2 3 4 5 6 7 8 9 Zeile 35 0 1 Zeile 36 0 1 2 3 4 5 6 7 8 6 6 3 3 V V V V Funktion Steuereingang 1 (Anschluß 9) Reset statisch Reset flankenaktiv Reset Summenzähler flankenaktiv Stop Hold Programmiersperre Keylock Print Ausgänge EIN (P1,P2) Ausgänge EIN (P1,P2) und Reset fl. Reaktionszeit für Steuereingang 1 30 ms 100 µs Funktion Steuereingang 2 (Anschluß 10) Reset statisch Reset flankenaktiv Reset Summenzähler flankenaktiv Stop Hold Programmiersperre Keylock Print Ausgänge AUS (P1,P2) www.baumer.com 7