Moin, ich habe hier einen Sensor den ich über Modbus auslesen können sollte. Nachdem ich recht lang gefrustet habe, hab ich mal mein Oszi rausgeholt und nun gemerkt, dass die Antworten zu langsam reinkommen. Den 'Lese'-Befehl schicke ich mit 9600baud, 2 stopbits, none parity raus. Zurück bekomme ich ein Signal ~10700baud. Aber wodurch kann das entstehen? Im Anhang das Bild vom Oszi. Oberes Decoding mit 9600, unteres Decoding 10700.
Womit erzeugst Du Deine Sendebaudrate? Daß ein Modbus-Device eine krumme Baudrate verwendet, klingt kaputt, denn dann lässt es sich nicht sinnvoll ansprechen, und schon gar nicht mit anderen Modbus-Devices am gleichen Bus verwenden.
Nico W. schrieb: > dass die Antworten zu langsam reinkommen. > Den 'Lese'-Befehl schicke ich mit 9600baud ... > Zurück bekomme ich ein Signal ~10700baud. Wie hast du das berechnet? an den geposteten Screenshots kann ich das nicht ablesen... Für die Baudrate musst du ein Byte vermessen. Aber bitte nicht an dem, was das Oszi interpretiert, sondern an den Rohdaten mit Start- und Stopbit. Rufus Τ. F. schrieb: > Daß ein Modbus-Device eine krumme Baudrate verwendet, klingt kaputt Und zumindest scheint zumindest die Software des Oszis das Signal interpretieren zu können...
:
Bearbeitet durch Moderator
Ich habe hier ein ICPCon i-7561 https://www.spectra.de/produkte/kommunikationstechnik/schnittstellenwandler/usb/i-7561-cr.html#aHR0cHM6Ly93d3cuc3BlY3RyYS5kZS9wcm9kdWt0ZS9rb21tdW5pa2F0aW9uc3RlY2huaWsvc2Nobml0dHN0ZWxsZW53YW5kbGVyL3VzYi8/ZmlsdGVyU2Nobml0dHN0ZWxsZT1SUy00ODVfX19VU0ImbmF2aWdhdGlvbj10cnVlJnNlYXJjaHBhcmFtPSUyQSZjbD1hbGlzdA== Ich habe hier am picoscope solange mit der Baudrate gedreht, bis da was gescheites bei rumkam. Von Start bis Stopbit braucht das Signal 1.04ms. Wenn ich jetzt richtig rechne sind das 10550 baud. Wenn ich allerdings mit 10550 sende bekomme ich keine Antwort.
:
Bearbeitet durch User
Nico W. schrieb: > Wenn ich jetzt richtig rechne sind das 10550 baud. Wenn du mit 2 Stoppbits rechnest: ja. Allerdings sehe ich nur ein Stoppbit, und damit ergeben sich 9600 baud...
Beim ModBus im ASCII-Mode besteht ein Byte aus 1 start bit 7 data bit 1 parity bit 1 stop bit - oder 2 stop bits, wenn kein parity Summe: immer 10 bit Im Screenshot hast Du ja schon einen Frame vermessen (sieht zumindest aus wie Startbit bis Stopbit) und der Zwischenraum sieht nach 10 bit aus. Im weiteren Verlauf wiederholt sich das Start-/Stopbit immer im gleichen Intervall. (zumindet auf meine Bildschirm mit Lineal gemessen) Bei 1,041ms pro 10 bit ergeben sich doch 9600 baud. Natürlich solltest Du auch ein einzelnes Bit mal genau vermessen, aber ich wette, Du bekommst das gleiche Ergebnis.
Oh man... Verlässt man sich einmal auf die Angaben im Datenblatt vom Hersteller. 1 stopbit eingestellt und es läuft. Danke!
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.