Herunterladen Inhalt Inhalt Diese Seite drucken

Programmierung; Kommunikation Ohne Labview; Grundlegendes; Hinweis Zur Treiber-Bibliothek - Elektro-Automatik IF-U1 Benutzerhandbuch

Inhaltsverzeichnis

Werbung

Verfügbare Sprachen

Verfügbare Sprachen

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 zur Treiber-Bibliothek

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), wobei davon abgeraten
wird, Öffnen und Schließen für jeden Schreib-Lese-Zyklus zu
machen. Die Funktionen FT_Write und FT_Read dienen zum
Transport der Telegrammbytes der eigentlichen Kommunika-
tion, die in den nächsten 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-
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)
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.
© 009, Elektro-Automatik GmbH & Co. KG
Irrtümer und Änderungen vorbehalten
Beispiel 1: Remote-Modus aktivieren über IF-R1/IF-U1
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
0x40
Anfrage
und Castform entweder
0x00
Singlecast oder
0x20
Broadcast
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
„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-
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...
DE
35

Quicklinks ausblenden:

Werbung

Kapitel

Inhaltsverzeichnis
loading

Inhaltsverzeichnis