USB Interface RS485

tubias

Level-1
Beiträge
20
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

ich habe mir das Interface 38211 von http://www.wut.de/e-38211-ww-dade-000.php gekauft. Ich möchte damit über die FTDI D2XX Lib (FTDI Direct Treiber) die Telegramme auf dem RS485 Bus analysieren. Die Baudrate ist 1500000. Wenn ich zwei von den Interface aneinander schließe kann man ordentlich übertragen. Wenn man aber das Interface an den MPI (bzw. BTSS) Bus zwischen HMI und NCU hängt werden permanent Daten von dem Interface an die USB-Schnittstelle übertragen obwohl auf dem Bus außer dem Token keine Telegramme unterwegs sind (Signalleitung-LED leuchtet ständig).

Einstellungen:
BaudRate = 1500000
DataBits = 8
StopBits = 1
Parity = Even
FlowControl = None
RtsHi = false
DtrHi = false
Xon = 0x11
Xoff = 0x13

Liegt das an der Flusssteuerung?


mfg
Tobias
 
Auf dem Bus sind neben dem Token auch immer die Statusabfragen unterwegs. Dazu mal das rote Profibus-Buch von Popp anschauen (kann ich wirklich empfehlen).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

aber auch wenn Daten übertragen werden (z.B. ein MPF-Programm) kommen immer die gleichen USB-Packete an. Wenn ich das USB-Interface von dem MPI-Bus trenne, kommen trotzdem noch einige USB-Packete an. Deshalb dachte ich das die Pegel auf dem Bus wegen falscher Flusskontrolle nicht richtig erkannt werden?

mfg
Tobias
 
Zuletzt bearbeitet:
Wie sehen die Paketdaten aus? Wie wird die Baudrate eingestellt? Gibt es dabei irgendwo einen Fehler? Wie ist das Gerät eingestellt? Zwei- oder Vierdraht?
 
Hi

Wie die Packetdaten aussehen kann ich erst heute Abend schreiben. Ein Word ist fast immer gleich. Ab und zu kommt dann mal irgend eine Binäre Folge.

Die Funktion SetPort der FTD2XX.LIB hat einen Parameter vom Typ TFtConfigData. Dieses struct hat die Attribute die ich oben genannt habe. Dabei gibt es keinen Fehler.
Es wird die 2-Draht-Technik verwendet. Die DIL Schalter SW1 und SW2 sind ON. Die MPI-A+ geht auf PIN2 und MPI-A- geht auf PIN7 des Sub-D (muss ich heute Abend noch mal prüfen ob das so war).

Ich habe auch schon versucht über den VCP-Treiber mit dem HyperTerminal Daten zu empfangen. Da kam aber gar nicht an und das Signalleitung-LED hat nicht geleuchtet.

mfg
Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Also, MPI A- habe ich an Pin2 und MPI B+ habe ich an Pin7 des Sub-D angeschlossen.

Übertragen werden eine Menge Word 0xDC16. Ab und zu auch 0xDC10 und 0xDC4F. Dazwischen kommt dann immer irgend ein Byte-Salat.


mfg
Tobias
 
Info leider unvollständig. Es handelt sich hierbei jedenfalls um das Token-Telegramm. Dies ist wie folgt aufgebaut:
0xDC DA SA, dabei ist DA = destination address und SA = source address
Deshalb: auch mal den Bytesalat reinstellen, am Besten byteweise in hex.
Und außerdem Manfred Popp, PROFIBUS-DP/DPV1 lesen. Hierfür relevante infos stehen in der 2. Auflage ab Seite 28.
Was und wofür soll eigentlich analysiert werden? Warum kommt kein professionelles Tool mit entsprechender Protokollkenntnis und -anzeige zum Einsatz?
 
Hi

hier mal ein Auschnitt:
Code:
FC DC 01 0D 10 03 01 49 4D 16 DC 06 01 10 0C 06 
49 5B 16 DC 0D 06 10 14 0D 49 6A 16 DC 01 0D 10 
04 01 49 4E 16 DC 06 01 DC 0D 06 10 15 0D 49 6B 
16 68 64 64 68 81 8D 7C 19 21 F1 A3 32 07 00 00 
00 00 00 0C 00 47 00 01 12 08 12 02 01 02 00 00 
00 00 FF 09 00 43 00 0B FF 03 00 01 00 00 FF 04 
00 08 00 00 FF 04 00 08 01 00 FF 04 00 08 00 00 
FF 03 00 01 00 00 FF 04 00 08 00 00 FF 04 00 08 
D0 00 FF 04 00 08 00 00 FF 04 00 08 00 00 FF 04 
00 08 00 00 FF 04 00 08 00 A6 16 E5 DC 01 0D 10 
05 01 49 4F 16 68 08 08 68 8D 81 7C 21 19 B0 01 
A3 18 16 E5 DC 06 01 DC 0D 06 10 16 0D 49 6C 16 
DC 01 0D DC 06 01 DC 0D 06 10 17 0D 49 6D 16 DC 
01 0D DC 06 01 DC 0D 06 10 18 0D 49 6E 16 DC 01 
0D DC 06 01 DC 0D 06 10 19 0D 49 6F 16 DC 01 0D 
DC 06 01 10 07 06 49 56 16 DC 0D 06 10 1A 0D 49 
70 16 DC 01 0D DC 06 01 10 08 06 49 57 16 DC 0D 
06 01 10 16 DC 0D 10 16 DC 16 DC DC 06 16 DC 16 
DC 49 58 16 DC 01 10 16 DC 16 DC 16 68 16 DC 10 
17 16 DC 10 08 16 DC 16 DC 16 DC 16 DC 16 DC 10 
00 16 DC 01 10 01 10 16 DC DC 06 16 DC 16 DC 13 
0D 06 10 16 DC 16 DC 49 4C 16 DC 16 DC 16 DC 16 
DC 0D 49 06 10 16 DC 16 DC 01 10 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 10 16 
DC 16 DC 16 DC 0D 10 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 0D 10 0D 49 16 DC 16 DC 0A 06 16 
DC 16 DC 16 DC 4F 16 16 DC 0D 49 16 DC 16 DC 16 
DC 06 10 16 DC 06 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 06 10 16 DC 16 DC 16 DC 16 DC 0D 49 16 DC 0D 
10 16 DC 0D DC 5A 16 16 DC 16 10 16 DC 16 DC 16 
DC 16 DC 06 10 16 DC 16 DC 16 DC 16 DC 4F 16 16 
DC 16 DC 16 DC 06 10 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 64 16 16 DC 16 DC 16 DC 16 DC 16 
DC 01 DC 16 DC 16 DC 16 DC 16 DC 0B 06 16 DC 16 
DC 16 DC 10 03 16 DC 16 DC 16 DC 16 DC DC 0D 16 
DC 16 DC 05 01 16 DC 16 DC 01 0D 59 16 16 DC 06 
10 16 DC 06 10 16 DC 16 DC 16 DC 16 DC 0D 10 16 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 16 DC 49 4D 16 DC 16 10 16 
DC 16 DC 0D DC 0D DC 16 DC 0D 06 16 DC 16 DC DC 
06 16 DC 16 DC 16 DC 16 DC 06 10 16 DC 16 DC 16 
DC 06 01 16 DC 0D 10 01 02 0D 10 0D 10 01 DC 16 
DC 16 DC DC 06 16 DC 0D 10 16 DC 0D DC 16 DC 16 
DC 49 4D 16 DC 16 DC 16 DC 16 DC 16 68 16 DC 0D 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 0D DC 16 DC 16 
DC 06 10 16 DC 16 DC DC 0D 16 DC 16 DC 16 DC 16 
DC 74 16 16 DC 0D 06 16 DC 0D 10 16 DC 16 DC 16 
DC 0D DC 16 DC 16 DC 16 DC 16 DC 16 DC 01 10 16 
DC 16 DC 0D DC 16 DC 16 DC 16 DC 06 DC 00 84 01 
10 06 01 65 16 16 DC 01 0D 16 DC 16 DC 0D 06 16 
DC 16 DC 10 02 16 DC 0D 10 16 DC 16 DC 16 DC 0D 
06 4C 16 16 DC 01 10 0D DC 01 0D 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 16 DC 0D DC DC 01 06 10 16 
DC 08 06 16 DC 01 10 16 DC 0D DC 16 DC 01 0D 16 
DC 16 DC 06 49 08 00 16 DC 16 DC 16 DC 16 DC 4E 
16 16 DC 16 DC 16 DC 06 49 16 DC 01 10 16 DC 4E 
16 DC 06 06 10 16 DC 06 10 16 DC 01 10 16 DC 01 
DC 0D DC 0D DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 01 DC 0D DC 16 DC 06 DC 06 49 16 DC 16 DC 01 
0C 16 DC 16 DC 0D 10 16 DC 16 DC 06 10 16 DC 16 
DC 16 DC 16 DC 4E 16 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 0D 06 01 DC 0D DC 0D 49 16 DC 16 
DC 16 DC 16 DC 16 DC 0D 06 01 DC 02 01 16 DC 0D 
10 16 DC 16 DC 16 DC 16 DC 16 DC 0D 10 16 DC 16 
DC 16 DC 16 DC DC 01 49 5B 16 DC 06 10 16 DC 16 
DC 16 DC 75 16 16 DC 16 DC 16 DC 16 DC 01 DC 0D 
DC 16 DC 16 DC 16 DC DC 01 00 01 16 DC 06 10 DC 
0D 01 DC 0D 10 16 DC 73 16 16 DC 16 DC 16 DC 06 
DC 01 DC 10 04 16 DC 66 16 16 DC 68 17 10 13 16 
DC 16 DC 0D 06 16 DC 16 DC 06 01 16 DC 16 DC 1E 
0D 16 DC 06 10 16 DC 16 DC 16 DC 0D 10 16 DC 11 
0D 16 DC 06 10 0D 06 01 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 0D DC 06 10 0D 06 01 DC 10 04 16 DC 16 
DC 0F 0D 16 DC 16 DC 16 DC 4E 16 16 DC 16 10 16 
10 16 DC 16 DC 16 DC 16 DC 0D 10 16 DC 16 DC 16 
DC 16 DC 16 DC 0D 10 16 DC 0D 10 06 10 06 10 16 
DC 16 DC 16 DC 16 DC 16 DC DC 06 49 70 06 10 DC 
0D 16 DC 01 10 16 DC 01 10 0D DC 16 DC 16 DC DC 
0D 16 DC 01 10 16 DC 16 DC 16 DC 16 68 16 DC 0D 
10 16 DC 08 00 16 E5 06 10 16 DC 16 DC 01 10 16 
DC 16 DC 10 0E 07 06 16 DC 16 DC 16 DC 01 10 16 
DC 0D 10 49 6D 06 10 01 10 16 DC 4D 16 16 DC 16 
DC 16 DC 16 DC 06 DC 16 DC 16 DC 16 DC 16 DC 01 
10 16 DC 16 DC 16 DC 06 10 16 DC 06 10 08 00 16 
DC 16 DC 16 DC 16 DC 0D 10 16 DC 06 DC 0D 06 01 
10 16 DC 03 01 16 DC 0D 10 49 6A 06 10 16 DC 16 
DC 16 DC 10 1A 16 DC 01 10 16 DC 16 DC 49 56 16 
DC 16 DC 06 DC 10 0B 16 DC 16 DC 16 DC 0D 10 16 
DC 0D 10 16 DC 16 DC 0B 06 16 DC 16 68 01 DC 16 
DC 16 DC 0D DC 16 DC 16 DC 16 DC 16 DC 01 DC 16 
DC 16 DC 16 DC 01 0D 16 DC 16 DC 16 DC 06 10 16 
DC 16 DC 16 DC 16 DC 75 16 16 DC 16 DC 08 00 16 
DC 01 DC 16 DC 0D 10 16 DC 12 0D 16 DC 06 10 16 
DC 16 DC 16 DC 10 03 16 DC 16 DC 16 DC 16 DC 0D 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 10 11 16 
DC 06 10 16 DC 06 10 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC DC 01 16 DC 01 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 10 03 16 DC 0D 
10 16 DC 0D DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 08 00 16 DC 0D 10 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 6E 16 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 0D 10 16 DC 16 DC DC 01 16 
DC 01 DC 16 DC 01 10 16 DC 06 01 16 DC 16 DC DC 
01 06 10 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 01 0D 00 00 16 68 16 DC 16 DC 01 10 16 DC 06 
01 16 DC 0D 10 16 DC 16 DC 16 DC 16 DC 49 4C 16 
DC 16 DC 16 DC 0D DC 16 DC 01 10 16 DC 4E 16 16 
DC 16 DC 16 DC 0D DC DC 01 06 10 16 DC 06 10 16 
DC 16 DC 16 DC 16 DC 0D DC 16 DC 16 DC 16 DC 0D 
06 16 DC 16 DC 10 02 16 DC 0D 10 16 DC 16 DC 16 
DC 0D 06 16 DC 16 DC 16 DC 01 10 16 DC 16 DC 16 
DC DC 0D 16 DC 16 DC 16 DC 16 DC 0D DC 01 0D DC 
01 16 DC 16 DC 16 DC 06 10 16 DC 16 DC 01 DC 0D 
10 16 DC 16 DC 06 DC 01 0D 06 10 16 68 16 DC 01 
DC 16 DC 16 DC 16 DC 06 10 16 DC 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 16 DC 06 DC 16 DC 16 DC 01 
10 01 DC 0D DC 16 DC 16 68 E5 DC 06 10 16 DC 06 
49 16 DC 16 DC 01 DC 0D 10 16 DC 16 DC 16 DC DC 
01 49 59 01 10 01 DC 0D 10 16 DC 16 DC 0D DC 16 
DC 16 DC 06 10 16 DC DC 0D 16 DC 16 DC 16 DC 0D 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 0D DC 0D 49 16 
DC 16 DC 16 DC 16 DC 16 DC 0D 06 01 DC 0D 10 16 
DC 0D 10 16 DC 0D 49 16 DC 16 DC 06 10 01 DC 06 
01 0D DC 16 DC 16 DC 06 10 16 DC 16 68 06 10 16 
DC 16 DC 16 DC 16 DC 16 DC 01 0D 16 DC 16 DC 16 
DC 16 DC 16 DC DC 06 16 DC 16 DC 16 DC 16 DC 06 
10 0D 06 01 DC 16 DC 01 10 16 DC 0D 10 16 DC 0D 
DC 06 10 06 10 16 DC 16 DC 01 49 16 DC 16 DC 16 
DC 16 DC 06 10 16 DC 16 DC 01 10 16 DC 16 DC 0D 
DC 16 DC 0D 10 16 DC 08 00 16 E5 16 DC 16 DC 16 
DC 16 DC 16 DC 16 DC 06 10 01 DC 01 10 16 DC 0D 
10 16 DC 16 DC 16 DC 0D 49 06 10 01 DC 16 DC 16 
DC 16 DC 01 10 16 DC 16 DC 06 DC 01 DC 16 DC 16 
DC 16 DC 16 DC 0D DC 16 DC 16 DC 06 10 08 00 16 
DC 16 DC 01 10 16 DC 16 DC 16 DC DC 06 16 DC 06 
DC 16 DC 16 DC 16 DC 16 DC 16 DC 06 01 6A 16 06 
10 0D 06 16 DC 01 10 16 DC 4F 16 16 DC 06 01 16 
DC 06 DC 06 DC 56 16 16 DC 16 DC 01 10 16 DC 16 
DC 0D 10 16 DC 16 DC 06 10 16 DC 16 68 0D 06 16 
DC 16 DC 16 DC 16 DC 0D DC 16 DC 16 DC DC 0D 16 
DC 16 DC 16 DC 16 DC 06 10 16 DC 06 10 16 DC 49 
59 16 DC 01 10 16 DC 16 DC 16 DC 16 DC 00 FF 16 
68 16 DC 06 DC 16 DC 16 DC 0D 10 16 DC 16 DC 57 
16 16 DC DC 0D 16 DC 16 DC 10 01 16 DC 16 DC 0D 
DC 1E 0D 16 DC 16 DC 0B 06 16 DC 16 DC 16 DC 16 
DC 16 DC 58 16 16 DC 16 DC 16 DC 16 DC 16 DC 16 
DC 16 DC DC 01 16 DC 06 10 16 DC 06 10 01 DC 0D 
10 16 DC DC 01 16 DC 16 DC 01 10 16 DC 16 DC 0D 
10 16 DC 16 DC 1A 0D 16 DC DC 01 16 DC 16 DC 06 
10 16 DC 16 DC 16 DC DC 01 16 DC 16 DC 16 DC 17 
68 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 0D 10 16 
DC 1C 0D 16 DC 16 DC 02 01 16 DC 16 DC 0D DC 16 
DC 16 DC 16 DC 01 DC 16 DC 16 DC 16 DC 16 DC 0D 
DC 16 DC 16 DC 06 10 16 DC 16 DC 01 DC 06 49 06 
01 0D 10 16 DC 0D 10 16 DC 00 08 16 DC 16 DC 16 
DC 0D 10 16 DC 16 DC 16 DC 16 DC 16 DC 16 DC 16

Ich werde mir das Buch von Manfred Popp besorgen. Danke!
Das interessiert mich einfach. Will ja kein Dummkopf sein sondern die Wahrheit wissen :cool:

mfg
Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Na das ist doch schon mal was.

Tokentelegramm:
0xDC DA SA

Request FDL-Status:
0x10 DA SA FC FCS 0x16

Hierbei gilt:
DA = Destination Address
SA = Source Address
FC = Function Code (0x49 = suche aktive Teilnehmer, 0x4D = Nachfrage bei Slave nach Ausgangsdaten)
FCS = Frame Checking Sequence

Und die eigentliche Kommunikation läuft über die 0x68-Telegramme (Datentelegramme variabler Länge) ab.
 
Hi

ich muss immer noch auf das Buch warten :(
Kommt man ziemlich schwer dran...

Es müssten dann ja eigentlich eine ganze Menge 0x68 Telegramme vorhanden sein. Der Ausschnitt wurde währen dem Übertragen von Programmen aufgezeichnet. Es sind aber fast nur Token Telegramme zu sehen. Liegt das evtl. an der Größe der USB-Packete? Vielleicht gehen Daten verloren.

mfg
Tobias
 
Hi

ich muss immer noch auf das Buch warten :(
Kommt man ziemlich schwer dran...

Es müssten dann ja eigentlich eine ganze Menge 0x68 Telegramme vorhanden sein. Der Ausschnitt wurde währen dem Übertragen von Programmen aufgezeichnet. Es sind aber fast nur Token Telegramme zu sehen. Liegt das evtl. an der Größe der USB-Packete? Vielleicht gehen Daten verloren.

mfg
Tobias
Dies liegt einfach da dran, dass bei der "Nutzdatenübertragung" immer auf eine logische Quittierung gewartet wird. Und in dieser Zeit läuft selbstverständlich der Token und die Statusanfrage weiter über den Bus.
Einfach die Token- und Statustelegramme ausblenden und den Rest anschauen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Das Interface setzt ja einfach die Pegel auf dem Bus in USB Packete um. Es hat also auch keine Adresse in dem Bus. Die Nutzdaten tauschen sich zwei Slaves aus. Die Quittierungen müssten doch die beiden Busteilnehmer sich ausmachen? Die Daten werden ja auch vollständig von dem einen Slave zum andern Übertragen. An dem Interface habe ich momentan auch nur die Eingänge angeschlossen.

mfg
Tobias
 
Ist schon klar. Aber mit Ausblenden meinte ich, einfach in der Software entsprechende Filter einbauen und dann das gefilterte Ergebnis ordentlich (= paketweise) ausgeben. Das vereinfacht die Analyse ungemein.
Ansonsten schöne Weihnachten und viel Spaß beim Experimentieren.
 
... Die Nutzdaten tauschen sich zwei Slaves aus. Die Quittierungen müssten doch die beiden Busteilnehmer sich ausmachen?
Am Bus ist es klar geregelt: Slaves halten die Klappe und antworten nur wenn sie gefragt werden (ist ungemein praktisch). Deshalb geht die ganze Kommunikation von mindestens einem Master aus. Datenaustausch zwischen Slaves ist mir noch nicht untergekommen. Auch die Staustelegramme und Tokens gehen nur von Busmastern aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Stimmt, die NCU ist der Master. Trotzdem müssten doch viel mehr 0x68 Packete von dem Interface aufgezeichnet werden.
Na ja, ich werde mal sehen. Hoffe dass ich das Buch bald bekomme.

Vielen Dank auf jeden Fall für die Antworten. ich wünsche dir auch schöne Feiertage.

mfg
Tobias
 
Hi

Nein, das dauert bis zu 3 Wochen, wegen Weihnachten evtl. noch länger. Ich implementiere aber gerade schon mal einen Generic-ConnectionLayer und spezialisiere den für verschiedenen Schnittstellen (u.a. FTDI). Der ProtocolLayer kommt dann wenn ich das Buch habe.

mfg
Tobias
 
Hallo

Danke für den Hinweis. Ich habe es vor ein paar Tagen endlich bekommen. Ich werde am WE mit meinem Projekt weiter machen. Mal sehen...

Gruß
Tobias
 
Zurück
Oben