Umwandlung von DI in I

Beiträge
50
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Ich habe da mal wieder eine Frage...
Ich möchte einen Analogwert 0 - 27648 in einen Geschwindigkeitswert
0-280Km/h umwandeln (Normieren).
Das habe ich auch soweit erledigt nur jetzt suche ich einen weg den DI Wert in einen I Wert umzuwandeln da der Wertebereich ja nur von 0-280 reicht und somit kein DI Wert nötig ist.
Die einzige Lösung die ich bis jetzt habe ist den DI Wert in einen DB zu laden und nur noch die eine hälfte als I wieder auszulesen. Jedoch werden so 2Byte im DB ungenutzt "verfeuert".
Nun frage ich mich ob es da nicht eine vernünftigere Lösung gibt.
Denn einen Baustein zum umwandeln von DI in I gibt es ja nicht.

Danke für eire Hilfe

MfG
Kai
 
Du kannst ja direkt den Doppelinteger in eine Integervariable schreiben.

Das ist absolut legitim und funktioniert auch bei negativen Zahlen.

D.h. du deklarierst im DB deinen Integer als Wort und beschreibst ihn einfach
 
Zuviel Werbung?
-> Hier kostenlos registrieren
solange du den wertebereich des int nicht überschreitest kannste den di einfach in ein int schieben
 

Anhänge

  • Zwischenablage04.gif
    Zwischenablage04.gif
    3,6 KB · Aufrufe: 29
Hallo,
also ... wie wird denn aus deinem Analogwert (der ja von sich aus im Bereich INT liegt) ein DINT ?

Für die Wandlung von DINT -> INT gibt es tatsächlich keinen Befehl (außer in SCL). Du kannst hier wirklich nur "L DBD" und "T DBW" machen.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,

du schreibst einfach nach der Normierung:

Code:
l real
rnd
t int

wenn der REAL Wert nicht aus einem Baustein kommt, dann kannst du das

Code:
l real 
auch weglassen
z.B.
 
l 5.0
l 10.0
*r
rnd
t int
 
Zurück
Oben