Zahlensysteme

Gast #3986018
Lesenswert?
• ▲
▼
Hallo Forum,

Ich habe folgendes Problem.
an meiner SPS werden die die Ausgänge wie folgt angepsrochen:

<!--#READPI ADR=QX0.0&FORMAT=%d-->
<!--#READPI ADR=QX0.1&FORMAT=%d-->
<!--#READPI ADR=QX0.2&FORMAT=%d-->
<!--#READPI ADR=QX0.3&FORMAT=%d-->
...
...
...
<!--#READPI ADR=QX0.14&FORMAT=%d-->
<!--#READPI ADR=QX0.15&FORMAT=%d-->
<!--#READPI ADR=QX1.0&FORMAT=%d-->
<!--#READPI ADR=QX1.1&FORMAT=%d-->

allerdings kann ich das Programmtechnisch nicht umsetzten und ich muss 
dies wie folgt in meinem Programm umwandeln.

0.0→1
0.1→2
0.2→3
0.3→4
...
...
...
0.14→14
0.15→15
1.0→16
1.1→17

was auch soweit funktioniert, ich konnte alles überflüssige wegsplitten 
und die Zahl 0.0 = 0 umwandeln etc

0.0→x=0
0.1→x=0
0.2→x=0
0.3→x=0

0.0→y=0
0.1→y=1
0.2→y=2
0.3→y=3

Nun habe ich die Ausgänge mit folgender Formel angesprochen und die 
Zahlen umgewandelt
z=x⋅16+y
allerdings bekomme ich nun ein Problem wenn ich z.B Ausgang 17 ansteuern 
will, wird Ausgang 18 gesetzt. weil es einen übertrag gib, der wie folgt 
aussieht:

kann mir jemand sagen wich man sowas löst?

vielen Dank im voraus
#3986032
Lesenswert?
• ▲
▼
Susanne schrieb:

> allerdings bekomme ich nun ein Problem wenn ich z.B Ausgang 17 ansteuern
> will, wird Ausgang 18 gesetzt. weil es einen übertrag gib, der wie folgt
> aussieht:
>
> kann mir jemand sagen wich man sowas löst?

Prinzipiell genau so, wie du dir das vorstellst.

Ausgang 17 wäre in deiner Punkt-Nomenklatur der Ausgang 1.1

und mit deiner Zerlegung wird daraus x gleich 1 und y gleich 1. 
Eingesetzt in die Formel macht das
1
  1 * 16 + 1
welches 17 ergibt, was auffallend richtig ist.

Irgendwo hast du also ein Problem. Allerdings ist es nicht die 
Umrechnung.

Grob geschäzt würde ich mal sagen
* entweder hast du eienn gedanklichen Fehler und gehst nicht von 1.1 für 
17 aus
* oder du hast bei der Zerlegung von 1.1 für y geschlampt und da kommt 
eben nicht 1 raus, so wie es eigentlich sein sollte.

Persönlich würde ich zu letzterem tendieren. Aber davon zeigst du nun 
mal nichts, wie du das gemacht hast.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.