User manual

33
© 2008, Elektro-Automatik GmbH & Co. KG
Irrtümer und Änderungen vorbehalten
DE
Programmierung
Geräteadresse (device node) auch hier 5, der RID sei mal
auf 8 gesetzt. Gemäß der Formel aus Abschnitt 7.6 ergibt
sich ein Identifier von 8 * 64 + 5 * 2 +1 = 523 (hex = 0x20B).
Die +1 deshalb, weil es eine Anfrage ist. Wir schicken also
an ID 0x20B ein Byte. Die CAN-Nachricht sieht dann für
den User so aus:
02 0B 01 47
Objekt 71 (0x47), Anfrage Istwert
Datenlänge = 1
Identifier
Achtung! Das ist nicht die Byte/Bitaufteilung, die über
den CAN-Bus übertragen wird. Ein CAN-Controller fügt,
je nach Betriebsart, diverse Steuerbits in die Nachricht
ein und hängt an das Ende eine Checksumme. Hier wird
nur gezeigt, was man als User an den CAN-Controller
schicken müßte.
Eine mögliche Antwort auf diese Anfrage könnte so ausse-
hen:
02 0B 06 64 00 0A 00 42 AA
Gleicher Identifier, Datenlänge ist 6, weil immer drei 16-Bit-
Istwerte übertragen werden. Die Istwerte werden als Proz-
entzahlen übertragen und müssen entsprechend des Typs
des Gerätes zurückgerechnet werden. Siehe dafür Abschnitt
„7.5.1 Werte umrechnen“. Für eine EL 9080-200 ergäben
sich hier 100% für Spannung (=80V), 10% für Strom (=20A)
und 66,7% für die Leistung (=1600W).
Die Gerätenennwerte, also Nennstrom, Nennleistung und
Nennspannung, können mit entsprechenden Objekten aus
dem Gerät gelesen werden und zur Umrechnung benutzt
werden.
9.2.1 Das Zeitformat
Dieses Zeitformat läßt mit einem 16bit-Wert Zeiten zwischen
1µs und 100h zu. Zeitwerte werden vom Gerät, an das sie
übertragen werden, auf Plausibilität geprüft. Zu hohe bzw.
zu niedrige Werte werden nicht akzeptiert und es wird mit
einer Fehlermeldung geantwortet. Die oberen 4 Bits des 16-
Bit-Wertes werden als Maske für den Zeitbereich genutzt,
die restlichen Bits für den Zeitwert selbst. Das Zeitformat
wird für das Lesen und Setzen von Werten gleichermaßen
benutzt.
Das Zeitformat ist ltig für alle Geräte, bei denen irgendeine
Funktion Zeitwerte benutzt, sofern diese fernsteuerbar/aus-
lesbar. Die Auflösung der Zeitbereiche in der Tabelle unten
deckt sich nicht immer mit der Auflösung der Zeitwerte am
Gerät. Für diesen Fall werden an das Gerät gesendete Zeit-
werte gerundet. Ein Beispiel: es wird der Zeitwert 0x23E7
an eine elektronische Last geschickt. Das sind laut Tabelle
999 x 1µs = 999µs. Die manual am Gerät einstellbare Zeit
in diesem Zeitbereich ist aber 0,95ms oder 1ms. Die 999µs
werden auf 950µs abgerundet. Deswegen wird auch, wenn
der Zeitwert zurückgelesen wird, nicht 0x23E7 sondern
0x23B6 (=950) geantwortet.
Es werden nicht von jedem Gerät alle Zeitschlüssel
verwendet.
Für die elektronischen Lasten und die Anstiegszeit (Objekt
92) gilt, gemäß der Tabelle unten:
Zeitbereich Schrittweite
am Gerät
Zeitbereichsschlüssel**
30µs ... 99µs 1µs 0x2000
0,10ms ... 0,99ms 10µs 0x2000
1,0ms ... 9,9ms 100µs 0x3000
10ms ... 99ms 1ms 0x6000
100ms ... 200ms
1ms 0x7000
** Werte, die von der Schrittweite abweichen, werden bei Empfang vom Gerät abgerundet
Für die elektronischen Lasten und die Pulsbreite (Objekte
90 und 91) gilt, gemäß der Tabelle unten:
Zeitbereich Schrittweite
am Gerät
Zeitbereichsschlüssel**
0,05ms ... 0,95ms 50µs 0x2000
1,00ms ... 9,95ms 50µs 0x3000
10ms ... 99,9ms 100µs 0x6000
100ms ... 999ms 1ms 0x7000
1,00s ... 9,99s 10ms 0x4000
10,0s ... 100s 100ms 0x9000
** Werte, die von der Schrittweite abweichen, werden bei Empfang vom Gerät abgerundet
Beispiel 1: Sie möchten bei einer elektronischen Last die
Anstiegszeit auf 75ms setzen. Bei 75ms ist die Auflösung an
der Last 1ms. Es ist der also Zeitbereich 0x6000 zu nehmen.
Dessen Auflösung ist 0,1ms, daher ergibt sich ein Wert von
750 (75ms : 0,1ms), das entspricht 0x2EE. Mit dem Schlüssel
müßte dann also 0x62EE als Zeitwert für die Anstiegszeit
(Objekt 92) gesendet werden. LabView-Nutzer müssen die
Zeit anders vorgeben, siehe VI-Beschreibung.
Zeitschlüssel * Zeitwert (Bits 11..0) Auösung resultierende Zeitbereich
Bits 15..13
(1
oder 15..12
(2
min.(dez) min.(hex) max.(dez) max.(hex)
0x2000
(1
0 0x00 999 0x3E7 1us 0 ... 0,999ms
0x3000
(2
100 0x64 999 0x3E7 10us 1ms ... 9,99ms
0x6000
(1
100 0x64 999 0x3E7 100us 10ms ... 99,9ms
0x7000
(2
100 0x64 999 0x3E7 1ms 100ms ... 999ms
0x0000
(1
0 0x00 4999 0x1387 2ms 0 ... 9,998s
0x4000
(1
100 0x64 5999 0x176F 10ms 1,00s ... 59,99s
0x8000
(1
1 0x01 3599 0xE0F 1s 1s ... 59min:59s
0x9000
(2
100 0x64 1000 0x3E8 100ms 10,0s ... 100,0s
0xC000
(1
60 0x3C 5999 0x176F 1m 01:00h ... 99:59h
Tabelle: Zeitformat
* Wenn der Schlüssel ausmaskiert werden soll, um empfangene Zeitwerte in reale Zeitwerte umzurechnen, sind entweder die Bits 15...13 oder 15..12 relevant, je nach Zeitbereich