Hallo, ich habe ein Messgerät was laut beschreibung einen RS485 anschluss besitzt. Daraufhin habe ich mir einen USB Adapter gekauft der auch diesen anschluss besitzt und habe sie verbunden. Aus der Beschreibung des Messgerätes werde ich nicht schlau wie ich Daten verschicken soll/kann. Habe einige Programme gedownloadet und benutze gerade den "com port monitor". kurz zur Verständnis = ich muss einen befehl schicken um eine Antwort zu bekommen (messergebnis), richtig ? Wenn ja wie muss ich das eingeben ? rs485 -> usb http://i01.i.aliimg.com/wsphoto/v0/1436452315_6/Free-Shipping-10PCS-lot-USB-2-0-to-RS485-Serial-Converter-Adapter-CH340G-MAX485-or-SN75176.jpg Wenn ich zum testen irgendwas eingebe bekomme ich immer irgendwelche nicht zeichen zurück. Warum ? Bitte um Ganade, habe vor 2 Tagen mit angefangen und werde einfach nicht schlau draus. LG
Matthias H. schrieb: > Wenn ich zum testen irgendwas eingebe bekomme ich immer irgendwelche > nicht zeichen zurück. Warum ? Falsche Geschwindigkeit/Parität/Stopbits
In der Beschreibung steht 9600 bps, 8 bit, parity = 0 und stopbit 1. Das habe ich so übernommen.
Dann tausch doch mal die beiden Drähte. Wenn im Handbuch zum Messgerät nichtsteht, wie Du das Messgerät ansprichst kann es sein, daß der Herstelller das für sich behält und lieber seine eigene Software verkauft. Was für ein Messgerät ist es denn?
http://www.mb-systemtechnik.de/download/beschreibung_co2_messgeraet_weiss.pdf Da steht was dazu nur ich weiß leider nicht genau wie ich es anstellen muss um mein Ergebnis angezeigt zu bekommen. Was und wie muss ich das bei "com port monitor" eingeben ? Vielen Dank PS: Die Drähte sind richtig rum angeschlossen. Sind nur 2.
:
Bearbeitet durch User
Matthias H. schrieb: > PS: Die Drähte sind richtig rum angeschlossen. Sind nur 2. Failsafe-Widerstände auch angeschlossen? Ohne die geht nix. Terminierung jedoch wirds wohl nicht brauchen bei 9600 und nur wenigen Metern.
habe nur die beiden geräte mit 2 drähten miteinander verbunden, brauch ich dazwischen noch einen widerstand ? wo muss der denn hin ? vielen dank PS: die kabellänge beträgt nur 10 cm :)
:
Bearbeitet durch User
Wenn ich das Datenblatt richtig lese bekommst Du auch keine lesbaren Zeichen zurück. Du schickst eine Bytefolge nach dem Aufbau in den Tabellen 2-5 zum Messgerät und bekommst eine Antwort wie in Tabelle 7 beschrieben zurück.
wie muss ich die bytefolge schicken ? was muss ich bei "com port monitor eingeben". ich poste dann mal das ergebnis.
Matthias H. schrieb: > habe nur die beiden geräte mit 2 drähten miteinander verbunden, brauch > ich dazwischen noch einen widerstand ? wo muss der denn hin ? Ist Dir eigentlich schon mal in den Sinn gekommen einfach mal "rs485" zu googlen nur um wenigstens mal nen ganz groben Überblick zu bekommen was das überhaupt ist, so daß Du wenigstens nicht komplett unvorbereitet hier ins Forum reinstolperst?
Ja natürlich, die letzten 2 Tage wenns hoch kommt 15 Stunden. Ich bekomme immer irgendwelche Sonderzeichen als Antwort und das verstehe ich nicht. Ich gebe bestimmt den Befehl falsch ein oder kann das Datenblatt nicht richtig deuten und deshalb dachte ich, frage ich euch einfach mal. Ich weiß was Google ist und auch wie man es benutzt ! Danke für deine nicht Hilfreiche antwort :/ Hilfreich wäre gewesen... Gib es so ein "0x03 0x06 usw." oder "binär" so oder du musst die befehle so oder so schreiben und evtl. das beachten. Vielen Dank
:
Bearbeitet durch User
Matthias H. schrieb: > ch > bekomme immer irgendwelche Sonderzeichen als Antwort und das verstehe > ich nicht. * Erstens: Ist der Bus richtig rum angeschlossen, also d+ nach d+, d- nach d- (denn auf die Bezeichnungen A und B kann man sich nicht verlassen, da gibt es zwei gegensätzliche Konventionen)? * Zweitens: Hast Du die Ruhepegel gemessen? Brauchst Du vielleicht (höchst wahrscheinlich) noch die Failsafe-Widerstände? * Drittens: was für "Sonderzeichen"? Laut Datenblatt erwartet das Ding Binärdaten und antwortet mit Binärdaten. Also schreibst Du ein kleines Programm das die gewünschte Anfrage erstellt samt Prüfsumme, das dann an das Gerät hinschickt und die Antwort entgegennimmt und dann zeigst Du uns genau was Du hingeschickt hast und was zurückkommt (und den Quelltext dieses Testprogrammes zeigst Du uns bitte auch).
Matthias H. schrieb: > Wenn ich zum testen irgendwas eingebe Dann solltest du mal anfangen etwas sinnvolles zu übertragen! Hast du eigendlich irgend etwas verstanden von dem was in dem PDF steht? 1. Jede Übertragung startet mit Startbyte 0x03 2. Dann die Slave ID 0x01-0x07 3. Die gesamtlänge der Übertragung 0x06 4. Das Komando an den Slave. z.B. 0x0A für Aufforderung zur Messwertübertragung 5. Checksumme über 1.-4. 6. Stopbyte 0x04
Matthias H. schrieb: > Habe einige Programme gedownloadet und benutze gerade den > "com port monitor". Nimm mal HTerm. Das kann problemlos mit dem HEX Format umgehen und dir auch mal einen vorkonfigurierten String ans Gerät schicken.
Max Mustermann schrieb: > Hast du eigendlich irgend etwas verstanden von dem was in dem PDF steht? > > 1. Jede Übertragung startet mit Startbyte 0x03 > 2. Dann die Slave ID 0x01-0x07 > 3. Die gesamtlänge der Übertragung 0x06 > 4. Das Komando an den Slave. z.B. 0x0A für Aufforderung zur > Messwertübertragung > 5. Checksumme über 1.-4. > 6. Stopbyte 0x04 Ja ein wenig schon. Wie muss ich das eingeben ? "0x03 0x01 0x06 0x0A 0x04" ? (Das habe ich so ja schon probiert) Wenn die antwort ein Messwert ist muss ja egal was ich als Antwort bekomme, immer anders aussehen. Tut es ja aber nicht :(
Matthias H. schrieb: > Ja ein wenig schon. Wie muss ich das eingeben ? "0x03 0x01 0x06 0x0A > 0x04" ? (Das habe ich so ja schon probiert) Da fehlt aber die Prüfsumme. Das Messgerät wird dir zurückschicken, das da was faul ist. Und natürlich nicht als ASCII Zeichen, sondern als Zahl. 0x0A z.B. wäre dann CTRL-J , 0x06 wäre dann Ctrl-F usw.: http://www.asciitable.com/ Einfacher ists mit HTerm.
:
Bearbeitet durch User
Ich verzweifel so langsam. Habe mir jetzt HTerm geholt und alles auf HEX gestellt und "0x03 0x01 0x06 0x0A 0x00 0x04" und raus kommt "F69F999F9D9FDF usw" auch Decimal bringt mich das auch nicht weiter. Wo steht die Prüfsumme ? ist das 0x00 ? Warum ist das so kompliziert ? Danke für die Mühe
Matthias H. schrieb: > Warum ist das so kompliziert ? Weil Du Dir gleich für den Anfang etwas ausgesucht hast was eigentlich erst in ungefähr einem Jahr drankommt. Du solltest erst mal bei Kapitel 1 anfangen. Deshalb kommt Dir das so kompliziert vor.
Das wird wohl so sein aber ich habe jetzt diesen Ausgang und ich möchte ihn gerne nutzen, ich weiß nicht was in Kapitel 1 dran kommt und ein Jahr möchte ich nicht warten :) Wäre schön wenn sich einer mal kurz Zeit nimmt und mir diese PDF aufschlüsselt. Wenn ich einer Antwort von Slave bekomme, müsste doch die verbindung soweit richtig sein oder gibt es da noch Fehlerquellen ? Danke trotzdem für die Antworten
Matthias H. schrieb: > Wo steht die Prüfsumme ? ist das 0x00 ? Die Stelle stimmt schon, aber die Prüfsumme von 0x03 + 0x01 + 0x06 + 0x0a ist doch nicht 0x00, sondern 0x14 (= 0d20).
:
Bearbeitet durch User
Ich habe mal eine Frage, brauche ich nicht Punkt 6. in meiner PDF ? Ich sitze da jetzt wieder seit heute Mittag vor und komme einfach zu keinem Ergebnis (sage ja nicht das es leicht sein würde) Kann mir nicht einer bitte als Beispiel Punkt 1 - 13 aufschreiben was ich in den HTerm eintragen muss um an mein Messergebnis zu kommen ? Wäre echt zu tiefst Dankbar darüber.
Matthias H. schrieb: > müsste doch die verbindung soweit richtig sein oder gibt es da noch > Fehlerquellen ? Ja, die gibt es. Zum Beispiel könnten die beiden Drähte vertauscht sein, dann käme nur Datenmüll an. Oder Du hast immer noch nicht die Failsafe Widerstände eingebaut, auch dann kommt Datenmüll wenn du Pech hast. Mach dich hierzu bitte mit der korrekten Verdrahtung und Aufbau eines RS485 Busses vertraut. Das ist unverzichtbar.
wenn ich die beiden Drähte vertausche empfange ich nichts und brauche ich die Widerstände bei 10 cm Kabellänge ?
Failsafe brauchst Du immer. Das hat nichts mit der Kabellange zu tun sondern mit dem Ruhepegel. Hast Du mal gegoogelt? Welche Programmiersprache gedenkst du eigentlich zu verwenden für die fertige Anwendung, hast Du schon angefangen? Zeig doch mal was Du bisher schon hast.
Guten Morgen Ja habe schon gegoogelt. 120 Ohm zwischen A und B brauche ich dann wohl. Möchte meine Daten in Excel weiterverarbeiten und benutzte das hier (http://michael-schwimmer.de/vba072.htm), vba verstehe ich aber damit wollte ich erst anfangen wenn ich auch wirklich weiß wie ich an die Messdaten komme.
Matthias H. schrieb: > 120 Ohm zwischen A und B brauche ich dann wohl. Du brauchst vor allem die pullups und pulldowns nach 0 und 5V
Außerdem:
> "F69F999F9D9FDF usw"
Da sind mir erstens zu viele F drin (überhaupt überproportional viele 1
bits in Folge) für das was man erwarten würde was es zurücksenden sollte
(es sollten eigentlich auch ein paar nullen zu sehen sein) und zweitens
fängt das Telegramm scheinbar auch überhaupt nicht mit einem 03 an wie
es sollte)) und das bedeutet irgendwas stimmt noch grundsätzlich nicht
mit der Verbindung (entweder Baudrate oder A und B vertauscht oder
er steigt falsch ein (verpasst ein Startbit) durch fehlenden
Failsafe-Bias oder mehrere der obigen Gründe kombiniert).
:
Bearbeitet durch User
ich habe jetzt 120 Ohm zwischen a und b. gesendet habe ich "03 01 06 0A 14 04" und empfangen "7E 7F BE BD DD 1F"
selbst wenn ich die baud änder, ändert sich nicht das empfangene Ergebnis, gebe ich was falsch ein ? Was schickt er mir da eigentlich als antwort ? er antwortet ja scheinbar auf Sachen die er auch nicht versteht. Das schlussfolgert doch das er mich nicht versteht oder ich es falsch verschicke oder ? zwischen a und gnd und b und gnd habe ich -2,5 Volt zwischen a und gnd und b und gnd auch jeweils 1K Ohm Hilft das evtl. weiter ?
:
Bearbeitet durch User
Matthias H. schrieb: > ich habe jetzt 120 Ohm zwischen a und b. Ich spreche nicht von der Terminierung sondern vom FAILSAFE BIAS, spreche ich etwa chinesisch? Hier zum Beispiel: http://www.ti.com/lit/an/snla031/snla031.pdf im Ruhezustand muss eine 1 erkannt werden, A und B müssen entsprechend vorgespannt sein. Du brauchst widerstände nach +5V und 0V wie in den Bildern zu sehen. ZWISCHEN A und B muss eine kleine Spannung liegen (0.2V mindestens, und zwar richtig rum!) Zeig mal ein Oszillogramm von jeweils beiden Leitungen, einmal wenn Du sendest und einmal wenn das Gerät sendet!
:
Bearbeitet durch User
Bernd K. schrieb: > Zeig mal ein Oszillogramm von jeweils beiden Leitungen, einmal wenn Du > sendest und einmal wenn das Gerät sendet! Kann es evtl. sein, das dieser spassige Chinesenadapter überhaupt nicht mit dem Halbduplex klarkommt? Gibts da ausser dem Bild des Teils noch irgendeinen Waschzettel zu, in dem wenigstens ein bisschen was zu den Specs steht?
Besitze leider kein oszilloskop, lese es gerade durch aber schon hardcore für einen der sowas noch nie gemacht hat. Ich weiß nicht, habe dich noch nie sprechen gehört :)
Matthias Sch. schrieb: > Kann es evtl. sein, das dieser spassige Chinesenadapter überhaupt nicht > mit dem Halbduplex klarkommt? Gibts da ausser dem Bild des Teils noch > irgendeinen Waschzettel zu, in dem wenigstens ein bisschen was zu den > Specs steht? Nein, im Umschlag war nur das Teil, ohne Packungsbeilage :( Das habe ich noch gefunden : Dieser Konverter ermöglicht den einfachen Anschluss von seriellen Geräten über einen USB-Port. Technische Daten USB 2.0 - RS85 Konverter Abwärtskompatibel zu USB 1.1 Anschluss erfolgt über Schraubklemmen Unterstützte Baudrate: 75bps - 115200 bps / bis zu 6 Mbps Niedriger Stromverbrauch, benötigt kein externes Netzteil Unterstützte Betriebssysteme: Windows XP Vista 7 / 8 # Mac # Linux # Windows CE 5.0 Abmessungen: 60 x 18 x 14 mm Gewicht: 9g Farbe: Schwarz / Grün Betriebstemperatur: -40 - +85° C Wir haben diesen Adapter mit dem Raspberry Pi unter Raspbian getestet und können die Kompatibilität bestätigen. In unserem Test war für den Betrieb keine Treiberinstallation notwendig (Plug and Play).
:
Bearbeitet durch User
http://www.mb-systemtechnik.de/download/produktkatalog.pdf Seite 15 Ich habe viel für das ding bezahlt und möchte es ungern kaputt machen, habe keine 5V vcc aber an klemme GND, kann ich das benutzen ? Was für Widerstände muss ich da benutzen ? Danke euch weiterhin für eure Mühe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.