Parameter in Hexa Einlesen

isaridum

Level-1
Beiträge
47
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag, ich schreibe momentan an einem CoE programm und hier ist notwendig den index in hex einzulesen. Leider wird bei der parametereingabe nur in dezimal geschrieben. Ich weiß das man eine Zahl umformen kann indem man 16#Zahl benutzt nur leider geht es nicht mit Varbiablen.
Hat jemand eine idee?
 
Wenn sich sonst keiner dazu äußert, dann wahrscheinlich weil die Infos noch knapp sind.

Zahl zu Zahl kann es nicht sein, da das ja immer diese eine Zahl ergibt ??
Vielleicht könntest Du ein bisschen mehr darüber schreiben, was du eigentlich brauchst ? aus einer String z.B. (dazu gibt's während der Laufzeit Bausteine) oder aus einem Array aus x Stellen welche der Stellen einer Hexadezimalzahl entspricht (eigentlich dasselbe wie bei der String)?

ist es überhaupt Codesys 3.5 ? da gibts ja auch mehrere Möglichkeiten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... hier ist notwendig den index in hex einzulesen. Leider wird bei der parametereingabe nur in dezimal geschrieben.
Woher kommt die Information, dass es notwendig ist, den Index in hex einzulesen?
Bei welcher ParameterEingabe wird leider nur in dezimal geschrieben?
Mir ist total unklar, Was mit welcher Bedeutung dezimal reinkommt und was Du wohin (und warum in hex) weitergeben sollst.
Hast Du da eine SchnittstellenBeschreibung, in der ein Beispiel aufgeführt ist, das die HexadezimalSchreibweise benutzt, (nur) um für den Leser eindeutig zu sein?
Wie sieht es aus mit den DatenTypen? Was wird angeliefert und was gibst Du dann weiter?
 
Woher kommt die Information, dass es notwendig ist, den Index in hex einzulesen?
Da der TE sich noch nicht geäußert hat, äußere ich mal eine Vermutung : das Eingabefeld in der Visu soll beim Eingeben von z.B.180+Nodeid Hex nicht die Dezimalzahl anzeigen/die Eingabe als Hex sehen ? Dann wäre einfach diese Eingabe als String zu definieren und das durch ascii to hex zu schicken. Sofern die Eingabe aber als Dezimal definiert bleibt .. gibs nur die Möglichkeit das in 3 Felder zu teilen und diese respektive mit 16^x zu multiplizieren und zu addieren .. A-F kann man dort aber immer noch nicht eingeben... also muss die Eingabe schon wieder NICHT in einem Zahlenformat sein sondern ein Char/String. Sprich die Wurzel des Problems wären dann eben nicht die Dezimalzahlen
 
Immer noch keine Reaktion? Muss sich wohl von selbst erledigt haben ...
Eigentlich ist das ja ein DauerbrennerThema hier im Forum und es wäre doch interessant zu erfahren, ob diesmal eine neue Variante/Mutation vorliegt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann natürlich auch nur raten, aber wenn mit "Einlesen" eine Eingabe in der Visu gemeint ist, kannst Du den Platzhalter auf %x ändern. Dann ist Eingabe und Anzeige in HEX.
https://help.codesys.com/webapp/_vi...on=3.5.17.0#fur-die-ausgabe-von-ganzen-zahlen
Der Wert der Variable bleibt natürlich gleich, egal ob dezimal oder hexadezimal angezeigt.
Mit Präfix 16# werden Konstanten in HEX definiert, das hat mit der "Umwandlung" nichts zu tun.
Sollte es ein String sein oder ein nummerischer Datentyp in einen String in HEX-Darstellung konvertiert werden müssen, gibt es verschiedene Ansätze. Am einfachsten sind fertige Funktionen. Welche hängt aber davon ab, welche CODESYS Version (2.3 oder 3.5) Du einsetzt und welchen Hersteller - und natürlich von einer etwas aussagekräftigeren Beschreibung Deines Problems.
 
Zurück
Oben