Die Suche ergab 166 Treffer

von kiaralle
Samstag 31. Januar 2026, 15:12
Forum: Allgemeine Fragen
Thema: rs485 to TCP über Python, Modul
Antworten: 1
Zugriffe: 635

rs485 to TCP über Python, Modul

Hallo,

gibt es eine Möglichkeit die RS485-Modbusabfrage vom USB auf TPC zu legen?
Oder ist MQTT der elegantere Weg?
Gebrauchen kann ich es jetzt aktuell noch nicht.
Aber eventuell mal in einem neuen Projekt.

Gruß Ralf
von kiaralle
Freitag 16. Januar 2026, 17:47
Forum: Allgemeine Fragen
Thema: Dezimalstellen von Float abschneiden und verwenden
Antworten: 5
Zugriffe: 1053

Re: Dezimalstellen von Float abschneiden und verwenden

__blackjack__ hat geschrieben: Freitag 16. Januar 2026, 17:40 Verschiedene Möglichkeiten:

Code: Alles auswählen

In [9]: x
Out[9]: 1234.5678

In [10]: x % 1
Out[10]: 0.5678000000000338

In [11]: math.modf(x)
Out[11]: (0.5678000000000338, 1234.0)

In [12]: x - math.trunc(x)
Out[12]: 0.5678000000000338
Danke :wink:
von kiaralle
Freitag 16. Januar 2026, 17:34
Forum: Allgemeine Fragen
Thema: Dezimalstellen von Float abschneiden und verwenden
Antworten: 5
Zugriffe: 1053

Dezimalstellen von Float abschneiden und verwenden

Hallo,

ich komme wieder nicht weiter.
Gibt es etwas, mit dem ich von Float ohne Umwege die Dezimalstellen abtrennen kann?
Ich benötige nur die Dezimalstellen für eine Berechnung.

x = 1234.5678

Ich benötige 0.5678

Danke :-)
von kiaralle
Sonntag 11. Januar 2026, 16:27
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln



'\x40\x50\x0c\x1c'

Hab ich wo stehen?

Ich bekomme im Fehlerfall nur b'@P\x0c\x1c'


Weißt du was HEX ist? Also Hexadezimaldarstellung?
Falls nicht, musst du dir das jetzt anlesen. Denn darauf basiert deine Dokumentation.
>>> b'@P' == b'\x40\x50'
True
>>> b'@P\x0c\x1c'.hex()
'40500c1c ...
von kiaralle
Sonntag 11. Januar 2026, 16:16
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Laut Dokumentation lesen wir doch 1 Byte aus.

Start | 1| 2 | 3 | 4| 5| 6| 7 | 8 Errorbit| ...

1-6 ist 6Bit Command

das 6 Bit Command ist unterschiedlich lang. Je nach Befehl kommt es unterschiedlich lang zurück.

Errorbit ist immer die Nr.8

Wir lesen ser.read(7) weil wir von 0 -7 = 8 lesen ...
von kiaralle
Sonntag 11. Januar 2026, 16:05
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Das ist doch das, was ich vom Geber zurück bekomme.
Laut Beschreibung "Pos.abfragen" Befehl 42

40 42 00 00 4d 8e c1

40 = Geräteadresse
42 = Befehl, Position abfragen
00+00+46+8e = Position = int.from_bytes(response[2:6],'big',signed=False)
c1 sollte, ist Checksum

Im Fehlerfall sollte ich doch ...
von kiaralle
Sonntag 11. Januar 2026, 15:46
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Ich lese also 1Byte bestehend aus 8 bit aus. Richtig?
von kiaralle
Sonntag 11. Januar 2026, 15:41
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

'\x40\x50\x0c\x1c'

Hab ich wo stehen?

Ich bekomme im Fehlerfall nur b'@P\x0c\x1c'
von kiaralle
Sonntag 11. Januar 2026, 15:23
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln


Kannst du bitte noch einmal Sirius3s Beitrag lesen?
Du verwechselst Bits und Bytes. Kennst du den Unterschied?
b'@P\x0c\x1c' sind 4 BYTES. Ist dir das bewusst?
Du abeitest da auf den BYTES und versuchst auf das 7. BYTE oder das letzte BYTE zuzugreifen. Das hat nichts mit einem BIT zu tun.
Wenn ...
von kiaralle
Sonntag 11. Januar 2026, 15:06
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Wenn ich das so mache, also Bit 7 abrufe, erhalte ich im Fehlerfall 28, sonnst unterschiedliche Zahlen :roll:

Code: Alles auswählen

errorbit =response[-1]
print(errorbit)
von kiaralle
Sonntag 11. Januar 2026, 15:02
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Beispiel für falsche Fehlererkennung.

Der Befehl wird korrekt ausgeführt-
x07 steht für einen Teil der Position und wird hier als Fehler gedeutet.

b'@B\x07\xff\xb1\x8f\xc4'
134197647
07 - Geberreset durch Programmüberwachung aufgetreten
Errorbit ist b''
von kiaralle
Sonntag 11. Januar 2026, 14:41
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Hier noch mal mein kompletter Test - Code.
Das eigentliche Programm funktioniert soweit, nur eben meine Fehlerbehandlung nicht.
Deshalb hier meine Bastelstunde.

Ich rufe den Befehl Hex=42 auf. Es wird korrekt die Position ausgegeben.
Fehler wird keiner erkannt, er wird in meiner sick_error.py ...
von kiaralle
Sonntag 11. Januar 2026, 08:17
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

Ich werde falsch verstanden. Ist aber nicht so schlimm.


Ich sende den sick_string an das Gerät.

sick_string = "Rs485-Adresse + Befehl "

Erhalten werde ich wenn alles iO. ist

response = "Rs485-Adresse + Befehl + 4Bit Position+ Checksum "

Erhalten werde ich wenn nicht alles iO. ist

response ...
von kiaralle
Samstag 10. Januar 2026, 22:23
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

ich zerlege

int.from_bytes(response[2:6],'big',signed=False)

und prüfe vorab ob
int.from_bytes(response[3:4],'big',signed=False)
etwas enthält.
wenn nicht, ist der Datensatz kürzer.
von kiaralle
Samstag 10. Januar 2026, 21:46
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

Re: HEX Länge ermitteln

b'@B\x0c' kann aber auch teil der Daten = Positionszahl sein.

b'@B\x0c\x01,\xc8\xe7' ... Zahl
b'@B\x0c ... Error
von kiaralle
Samstag 10. Januar 2026, 20:32
Forum: Allgemeine Fragen
Thema: HEX Länge ermitteln
Antworten: 24
Zugriffe: 1961

HEX Länge ermitteln

Hi,
hätte mal wieder eine Frage.
Folgenden Hex hätte ich im Angebot

b'@B\x00\x01,\xc8\xe7'

Ich weiß, das sich das Ding aus 4 Segmente (Hex-Werte) zusammen setzt.
Nun erhalte ich wenn etwas nicht funktioniet statt diesem langen HEX nur einen kurzen.

b'@B\x0c

0c is der Fehlercode, mit dem ich was ...
von kiaralle
Freitag 28. November 2025, 15:37
Forum: Allgemeine Fragen
Thema: String in Hex umwandeln
Antworten: 1
Zugriffe: 1086

Re: String in Hex umwandeln

hab es gefunden

setposition = f'{newposition:08x}'
von kiaralle
Freitag 28. November 2025, 15:26
Forum: Allgemeine Fragen
Thema: String in Hex umwandeln
Antworten: 1
Zugriffe: 1086

String in Hex umwandeln

Hallo,

hätte wieder ein kleines Problem.

Ich muss einen Wert (String) zum Beispiel "00000000" in einen Geber ablegen. Hier setze ich ihn auf Null zurück.
Alternativ kann ich auch einen Wert vorgeben.

Die Eingabe realisiere ich über tkinter, was auch funktioniert.

Wie erzwinge ich ein Hex-Format ...
von kiaralle
Sonntag 28. September 2025, 18:17
Forum: Allgemeine Fragen
Thema: mehrere dict nacheinander nach Keys durchsuchen.
Antworten: 39
Zugriffe: 6283

Re: mehrere dict nacheinander nach Keys durchsuchen.

@sparrow

Das funktioniert.


error_code = "01"
error_text = srs["initialisierung"].get(error_code, f"unknown error: {error_code}")
print(error_text)



Abgleichdaten fehlerhaft


Nur muss man dann ja wissen woher der Fehler kommt. Und das genau sagt mir der Geber nicht.

Aber trotzdem Danke ...
von kiaralle
Sonntag 28. September 2025, 17:59
Forum: Allgemeine Fragen
Thema: mehrere dict nacheinander nach Keys durchsuchen.
Antworten: 39
Zugriffe: 6283

Re: mehrere dict nacheinander nach Keys durchsuchen.

@sparrow

Warum prüfst du dann die Fehler des Initialisierung-Kontext wenn eigentlich nur die der Positionen auftreten können?


Auch du hast hier recht.
Die ganze Unterteilung könnte ich mir sparen. Nur stand dies so gesplittet in der Doku er Geber.
Ich könnte beide Fehler in einem zusammen ...