Beispielprogramm 10 (Lesen und Schreiben von TEDS Daten)
Programmbeschreibung/ Funktion
In diesem Beispielprogramm wird ein Weg aufgezeigt wie die Daten eines separaten TEDS-Moduls gelesen/geschrieben werden können (TEDS = Transducer Electronic Data Sheet). Solche TEDS-Module sind am Markt für Nachrüstungen von Sensoren oder Aktoren verfügbar, um das Gerät nach der Installation zu identifizieren oder spezifische Daten auszulesen (Kalibrierung, Hersteller, ..). In diesem Beispiel wurde ein HBM TEDS 1−TEDS−BOARD−L, Stand 2018 verwendet.
Dieses Beispielprogramm ist ausdrücklich als Machbarkeitsdemonstration gedacht, ein Anspruch auf Interoperabilität mit beliebigen TEDS-Modulen besteht nicht. Es obliegt dem Anwender die hier formulierten Methoden auf seine eigene Implementation zu übertragen.
Diese Demonstration deckt nicht im Sensor integrierte TEDS-Module ab, die auf den Sensorleitungen kommunizieren. Dies ist so bei IEPE (Schwingung, Vibration) oder Dehnungsmessstreifen/Messbrücken üblich. Der Anschluss eines mit TEDS ausgerüsteten IEPE-Sensors ist u.a. an die Beckhoff ELM3602/ELM3604 Klemmen möglich.
Folgender Aufbau ist erforderlich:
[EK1100] + [EL2262] + [EL9505] + [EL1262-0050] + EL9011
Der Aufbau kann 2 TEDS-Module ansteuern, hier wird nur der 1-kanalige Betrieb aufgezeigt.
Der Spannungsteiler kann z.B. mit R1 = 2180 Ω (z.B. 680 Ω + 1500 Ω) und R2 = 680 Ω dimensioniert werden; die Z‑Diode mit Z = 5,1 V.
Hinweise zum Programm (Visualisierung)
Es ist zunächst die URN auszulesen (A). Nur damit sind weitere Funktionen anwendbar.
Das Programm ermittelt die URN für jedes Bit mit einer Neuinitialisierung des Moduls, da die Klemme für den Eingang einen zu großen Zeitversatz hervorruft (siehe Angabe oben rechts „Bit repeat count“).
Das Schreiben von Daten kann wahlweise durch Eingabe von (B) Hexadezimalwerten oder (C) einer Textzeichenkette (ASCII) erfolgen (Hexadezimalwerte müssen mit Leerzeichen getrennt in dem Textfeld vorliegen). Welche der beiden Eingaben für das Schreiben verwendet werden soll kann mit dem Kontrollkästchen „Write ASCII data“ (E) bestimmt werden:
Die Grundlegende Funktion nach der Ermittelten URN ist (D) das Lesen (READ MEM) und Schreiben (WRITE MEM) von TEDS-Daten. Durch Absetzen eines solchen Kommandos wird in dem Textfeld (H) die zugehörige Kommandoanweisung erzeugt und kann auch verändert sowie dann mit „Execute command“ ausgeführt werden. Über +/- kann eine Änderung der Adresse erfolgen (F). Sowohl die Startadresse als auch "page" kann für Schreib-/ Lesezugriffe direkt eingegeben werden.
Die hexadezimal dargestellten Daten (B) des Textfeldes #1 bis #4 stellen je 32 Byte von insgesamt 128 Byte des Schreib/ Lesepuffers dar, wie er in dem Beispielprogramm konfiguriert ist. Wird das Kontrollkästchen „Complete read size“ (G) deaktiviert, wird i.d.R. nur der Inhalt vom Textfeld #1 für das Schreiben verwendet (es sei denn, das Modul besitzt Seitenspeicheradressen > 32 Byte). Dementsprechend werden von den ASCII Daten nur die ersten Zeichen geschrieben. In jedem Fall werden die Anzahl Bytes verwendet, wie seitens des TEDS-Moduls für eine "page" konfiguriert ist. Zu beachten ist, dass das Modul i.d.R. nur Schreibzugriffe auf Adressen zulässt, die ein Vielfaches einer Seitenspeichergröße sind. Somit führt z.B. bei einer Seitenspeichergröße von 32 Bytes und der Eingabe einer Adresse 234 ein WRITE MEM Befehl zu einer Fehlermeldung 0x35 ‘writing fail’. Wird jedoch die Adresse 352 verwendet, ist das gültig und es kommt zu keinem Fehler.
Zudem erlaubt (G) „Include application register“ auch die Auswahl, ob das Applikationsregister beschrieben oder gelesen werden soll.
Download:
Programm
Informationen zur TEDS‑Funktionalität der ELM3xxx befinden sich im Kapitel
„ELM Features/ TEDS“.