Ea Elektro Automatik EA Elektro-Automatik 33100212 EA-IF-U1 USB-Interface 33100212 用户手册
产品代码
33100212
3
© 008, Elektro-Automatik GmbH & Co. KG
Irrtümer und Änderungen vorbehalten
DE
Programmierung
9. Kommunikation ohne Labview
9.1 Grundlegendes
Im Folgenden wird auf den Aufbau der Telegramme, die
Abhängigkeiten der Kommunikation vom Zustand des zu
steuernden Gerätes und Probleme mit der Kommunikation
eingegangen, ohne detailliert zu erläutern, wie z. B. bei USB
der USB-Treiber anzusprechen ist bzw. wie eine komplette
CAN-Nachricht gebildet wird. Dies ist vom Anwender und
abhängig von der Einsatzsituation unserer Geräte selbst in
Erfahrung zu bringen.
9.1.1 Hinweis zum USB-Treiber
Auf der beiliegenden CD befindet sich im Ordner \manuals\
Auf der beiliegenden CD befindet sich im Ordner \manuals\
other\ftdi ein PDF, daß die Funktionen zum Ansprechen des
Treibers beschreibt. Generell gilt, daß ein Gerät (in dem Fall
die USB-Hardware) zuerst zu öffnen ist (FT_Open o.ä.), dann
zu konfigurieren (FT_SetBaudRate, FT_SetDataCharacte-
ristics und eventuell noch andere) und dann geschrieben
(FT_Write) oder gelesen werden (FT_GetQueueStatus,
FT_Read) kann. Wird das Gerät nicht mehr benutzt, sollte es
geschlossen werden (FT_Close). Die Funktionen FT_Write
und FT_Read dienen zum Transport der Telegrammbytes der
eigentlichen Kommunikation, die in den diesen Abschnitten
beschrieben wird.
9.2 Erstellen von Telegrammen
Das Programmieren der unterschiedlichen Geräte, in denen
die Schnittstellenkarten verwendet werden, erfolgt stets nach
dem gleichen Schema, wenngleich sich Anzahl und Funk-
tion der Kommunikationsobjekte, die durch eine bestimmte
Geräteserie unterstützt werden, unterscheiden.
Generell gilt:
- Überwachung (Monitoring), also reine Abfrage von Istwer-
Generell gilt:
- Überwachung (Monitoring), also reine Abfrage von Istwer-
ten und Status, ist immer möglich. Die Geräte benötigen
dazu keinen Remote-Modus
- Setzen von Zuständen und Sollwerten (Controlling)
erfordert die Aktivierung des Remote-Modus (remote =
ferngesteuert durch eine digitale Schnittstelle)
- der Remote-Modus kann durch bestimmte Umstände blok-
kiert werden, z. B. expliziter Lokalbetrieb (nur PSI9000)
oder wenn sich ein Gerät in einer Betriebsart befindet, die
keinen Remote-Modus zuläßt bzw. eine derartige Anfrage
ignoriert. Näheres dazu entnehmen Sie bitte der Bedie-
nungsanleitung Ihres Gerätes.
Um ein Gerät zu steuern, sprich z. B. einen Sollwert zu
senden und zu setzen, müssen Sie
1. den Remote-Modus aktivieren (Objekt 54)
2. den Sollwert senden
3. den Eingang/Ausgang einschalten (wenn nicht bereits)
2. den Sollwert senden
3. den Eingang/Ausgang einschalten (wenn nicht bereits)
Der Remote-Modus sollte verlassen werden, wenn er nicht
mehr benötigt wird. Solange er aber aktiviert ist, kann das
Gerät nicht oder nur bedingt manuell bedient werden. Der
Modus wird in der Anzeige des Gerätes angezeigt.
Beispiel 1: Remote-Modus aktivieren über IF-R1/IF-U1
Nach der Vorgabe des Telegrammformats (siehe auch 7.5)
Nach der Vorgabe des Telegrammformats (siehe auch 7.5)
ist das erste Byte der Startdelimiter, der von der Richtung
des Telegramms und dem Anfragetyp abhängig ist. Für
dieses Beispiel ergibt sich ein SD von 0xD1, in Bits zerlegt
sieht das so aus:
11 01 00 01
Bits 0...3: 1 = es werden Bytes gesendet
Bit 4: 1 = vom PC gesendet
Bit 5: 0 = Singlecast
Bit 6+7: 11 = Daten senden
Alternativ zum bitweisen Zusammensetzen kann man sich
das vereinfachen, indem man Hexwerte addiert. Ausgehend
von Bit 6+7 ergibt sich folgendes:
SD = Sendungstyp + Castform + Richtung + Datenlänge
wobei Sendungstyp entweder
0xC0 Daten senden oder
SD = Sendungstyp + Castform + Richtung + Datenlänge
wobei Sendungstyp entweder
0xC0 Daten senden oder
0x40 Anfrage
und Castform entweder
0x00 Singlecast oder
und Castform entweder
0x00 Singlecast oder
0x20 Broadcast
und Richtung entweder
0x10 vom PC ans Gerät oder
und Richtung entweder
0x10 vom PC ans Gerät oder
0x00 vom Gerät an den PC
und die Datenlänge - 1 von
0x00...0x0F bis zu 16 Bytes am Stück (bei CAN siehe
und die Datenlänge - 1 von
0x00...0x0F bis zu 16 Bytes am Stück (bei CAN siehe
„7.6.1 Geteilte Telegramme“).
Die Datenlänge entspricht der Anzahl der gesendeten
Bytes -1!! Immer beachten!!
Die Geräteadresse des anzusprechenden Gerätes ist bei-
spielsweise 5, das zu benutzende Objekt 54 (als Hexwert
0x36), die Maske für den Remote-Modus (siehe auch Tabelle
in 9.3) ist 0x10 und das Steuerbyte für Remote auch 0x10.
Somit ergibt sich dieses Telegramm:
D1 05 36 10 10 01 2C
Zum Umkehren des Ganzen, also der Deaktivierung, ist dann
D1 05 36 10 00 01 1C
zu senden. Die Maske bleibt natürlich
gleich, nur das Steuerbyte ändert sich.
Beispiel 2: Istwerte abfragen über CAN
Bei CAN entfallen der Startdelimiter SD und die Checksum-
Bei CAN entfallen der Startdelimiter SD und die Checksum-
me CS, somit benötigen wir nur das Objekt, laut Tabelle 71
(hex = 0x47), den Identifier ID (Berechnungsbeispiel siehe
Abschnitt 7.6) und die Länge der zu sendenden Bytes. Bei
der CAN-Nachricht zählt das Objekt zur Datenlänge, daher
ergibt sich hier eine Datenlänge von 1, weil hier nur das
Objekt zur Anfrage der Istwerte gesendet wird.
Weiter nächste Seite...
Weiter nächste Seite...