# Datentyp word umwandeln



## win98 (10 August 2009)

hallo.

ich lese aus meinem AI einen wert aus und der ist vom datentyp word

die adresse ist PEW272

 als ergebnis erhalte ich werte von min -32768 bis max 32767

diese entsprechen einer scala von 0 bis 120 und ich möchte diese entsprechend umwandeln:

120/32767*(Wert von PEW272)

nur kann ich keinen UMWANDLER, MULTIPLIKATIONS und DIVISIONSBAUSTEIN benutzen, weil der datentyp aus PEW272 word ist.

wie kann ich das umgehn? bzw womit kann ich word in real oder int umwandeln..

bin für jede hilfe dankbar


----------



## Taddy (10 August 2009)

Hallo,
im Symbol Editor sollst Du PEW 272 INT als Datentyp eintragen.
INT -> Real 

L PEW272
ITD     (Wandlung 16 auf 32 Bits)
DTR    (Wandlung DINT auf Real)
T MD XXX


----------



## Approx (10 August 2009)

win98 schrieb:


> hallo.
> 
> ich lese aus meinem AI einen wert aus und der ist vom datentyp word
> 
> ...


 
Ich glaub der FC105 (SCALE) aus der Simatic-Bibliothek ist genau das Richtige für Deinen Anwendungsfall.

Ansonsten: 
WORD in INTEGER:

```
L WERT_Word // MW, DW oder PEW
T WERT_Int // MW, DW usw.
```
 
WORD in REAL so wie schon von Taddy beschrieben.

Gruß Approx


----------



## sps-concept (10 August 2009)

*Scale*

Hallo,

der SCALE funktioniert nur wenn der Wertebereich zwischen -27648 und 27648 liegt. Das ist bei Siemens AI-Modulen der Fall. Bei anderen Herstellern ist das oft nicht so. Der FC105 geht dann in den Über/Untersteuerungsbereich und gibt den MAX/MIN-Wert aus.

André


----------



## Approx (10 August 2009)

Hallo SPS-Concept,
da von Win98 keine Angabe bezüglich der HW gemacht wurde, bin ich mal von einer normalen Siemens-AE-Baugruppe ausgegangen. Wenn der Geber des PEW ein DP-Teilnehmer o.Ä. ist, hast Du natürlich recht.  In dem Link findet Win98 aber auch Lösungsansätze diesbezüglich...

Greez


----------



## sps-concept (10 August 2009)

win98 schrieb:


> die adresse ist PEW272
> als ergebnis erhalte ich werte von min -32768 bis max 32767
> diese entsprechen einer scala von 0 bis 120


 
Dies lässt mich ohne Angabe zur Hardware zu dem Schluss kommen dass der FC105 ungeeignet ist. Vielleicht ist das mit den  -32768 bis max 32767 auch nur ein Trugschluss. Aber ich denke der nächste Beitrag von win98 wird das aufklären. 

Falls das mit dem Wertebereich zutrifft muss noch sichergestellt werden dass kein Drahtbruch/Kurzschluss vorliegt. Bei Siemens AI gibts dafür ne Kennung die der FC105 auch auswertet. Bei anderen Herstellern muss man das anhand der Diagnosedaten des Slaves auswerten.

André


----------



## peter(R) (10 August 2009)

Oder noch einfacher und flexibler sowas wie den FC105 selber programmieren mit freier eingabe ines min und max Eingangswertes. Damit kann man festlegen "wenn der Eingangswert sich von - bis ändert ändert sich der Ausgangswert von - bis.
Ich hatte mal vor kurzem son FB reingestellt.

peter(R)


----------



## Rainer Hönle (10 August 2009)

Soll der Ausgangswert -32768 bis +32767 dem Endwert 0 bis +120 entsprechen?

```
L PEW xxx
ITD
L 32678
+D
L 120
*D
DTR
L 65536.0
/R
T MD yyy
```
Oder entspricht dies -120 bis +120?

```
L PEW xxx
ITD
L 120
*D
DTR
L 32678.0
/R
T MD yyy
```


----------



## peter(R) (10 August 2009)

@ Rainer

habe gerade mal nachgeschaut bei PT100
-50° = 80,31 Ohm,  0° = 100 Ohm, 120° = 146,6 Ohm, 150° = 157,3 Ohm

Damit passt so eine linearität wohl nicht ( ausser der Messwandler bügelt das 
wieder grade). D.h. bevor wir nicht wissen bei wieviel Grad der Messwandler 0 (bzw. 4)mA ausgibt hilft alles nix nur die 20mA bei 100° liegen fest. Steht aber normal auf dem Wandler drauf.

peter(R)


----------



## win98 (10 August 2009)

der Ausgangswert -32768 bis +32767 entspricht dem Endwert 0 bis +120

aber wenn ich das so eingeb und MD beobachte bekomm ich ein statuswert(DEZ) von L#1116536736 und mein PEW272 ist auf 5808

von der hardware häng ich an einem op7 komplettgerät (panel und sps in einem)

meine karte ist Baugruppe C7 AI4/AO4/DI4

mit dem FC105 kämpf ich noch, weil der ja wieder INT will und ich im FUP nicht WORD in INT konvertieren kann


----------



## peter(R) (10 August 2009)

Der FC105 braucht keine Baugruppe !!!

Bei IN gibst Du dein PEW272 ein
bei HI_LIM 120.0
Bei LO_LIM 0.0
Bipolar True (oder einen Merker der immer 1 ist)
Out wird der MD100
RET_VAL wir zB. MW104 (ist nur ein Wert für Fehlermeldung)

peter(R)


----------



## peter(R) (10 August 2009)

So sollte es gehen

peter(R)


----------

