# Analogeingang S7 314-IFM



## der-rasende-dee (19 Januar 2009)

Hallo Miteinander 

Das ist heute mein aller erstes mal das ich in ein Forum schreibe (wirklich!!!).
Aber ich weiß einfach nicht mehr weiter.

Ich bin Schüler an der Techniker Schule in München und arbeite gerade mit einem 
Kollegen an einem Projekt unserer Schuleigenen Laboranlage.

Als SPS verwenden wir die Simatic S7-314-IFM mit 4 Analogeneingänge und 
1 Analogausgang (Auflösung 11Bit + 1Bit Vorzeichen)
Als Software haben wir den Simatic Manager 5.3

Siehe Beschreibung Link:
1.3 Integrierte Funktionen auf der CPU 314 IFM (Seite 1-5); Bild 1-2
(Integrierte Funktionen CPU 312 IFM / CPU 314 IFM // EWA4NEB 7106058-01a)

http://www.es.fh-mannheim.de/sp/simatic/s7/s73if_d.pdf

*Folgendes:*

Wir haben eine Horizontalen-Dreharm Roboter der über einen Inkrementalgeber in den schnellen Zähler 
der Integrierten Funktion der CPU 314 IFM angeschlossen ist.
Dieser Inkrementalgeber wird durch einen Keilriemen mit dem Horizontalarm verbunden.

Da dieser mit zunehmenden Fahrten immer ungenauer wird und Keine Positionserkennung vom Start weg wollten wir es mit einem 
*10 k-ohm Potentiometer (Winkel von 0-354 Grad)* 
versuchen das direkt an der Welle des Armes montiert ist. 

Wir haben eine Externe Spannungsversorgung von Exakt 10V DC und gehen mit 
dem Mittelabgriff (Spannungsteiler) und der Masse auf den SPS Analogeingang
PEW 128

Als wir nun unsere Werte in dem „Variablen Beobachten/Steuern“ Fenster 
beobachteten schwankte unser Wert immer um den Dezimalwert 16 (sieht man
auch durch die Veränderung des 5ten Bits wenn auf Binär umgestellt wird)
obwohl sie Spannung mit dem Multimeter konstant bleibt!

Durch diese großen Schwankungen ist nun unsere analoge Variante um mindestens
den Faktror 12 ungenauer als mit dem schnellen Zähler. :sb7:

Wir können uns allerdings nicht erklären warum wir ein Delta von +-16 haben und das konstant????
Unsere Auflösung des Analogeingangs sind 11 Bit + 1 Bit Vorzeichen die Spannung am Eingang kann +- 10 V DC betragen

Vielen Dank schon mal im Voraus

Gruß Robert


----------



## crash (19 Januar 2009)

der-rasende-dee schrieb:


> *Wir können uns allerdings nicht erklären warum wir ein Delta von +-16 haben und das konstant????*
> Unsere Auflösung des Analogeingangs sind 11 Bit + 1 Bit Vorzeichen die Spannung am Eingang kann +- 10 V DC betragen
> 
> Vielen Dank schon mal im Voraus
> ...



das liegt daran weil dein analogwert linksbündig in dein PEW128 eingetragen wird.
VZ+11Bit und die rechten 4 Bits (0-3) sind immer 0

guckst du im Handbuch Kapitel 5.1 Analogwertdarstellung


----------



## der-rasende-dee (19 Januar 2009)

*So weit bin ich auch schon*

Danke hab das ganze auch schon gelesen aber ich kann mir nicht vorstellen das nicht mehr geht

Wer kann schon was mit einer Auflösung von 16 anfangen??

Kann man die Letzten 4 Low Bits nicht irgendwie kompensieren wie z.B. mit einer Subnetmask das ich nur noch um +- 1 Schwanke???

Danke für die schnelle Rückmeldung find ich echt super


----------



## crash (19 Januar 2009)

der-rasende-dee schrieb:


> Danke hab das ganze auch schon gelesen aber ich kann mir nicht vorstellen das nicht mehr geht
> 
> Wer kann schon was mit einer Auflösung von 16 anfangen??
> 
> ...



du kannst das PEW um 4 bits nach rechts schieben aber vorsicht bei negativen werten da geht das nicht so einfach.
dann ist es besser wenn du einfach durch 16 teilst.
das bewirkt das gleiche und berücksichtigt auch das vorzeichen.
die 11 bit auflösung bleiben aber, mehr geht nicht.

```
L PEW 128  //Analogwert laden
L 16       //Divisor laden
/I         //Teilen
T MW12     //Ergebnis in MW12 speichern
```


----------



## Ralle (19 Januar 2009)

Genauer wird es nicht werden. Habt ihr denn den Wert schon auf seine tatsächliche Größe normiert? Man kann ja leicht ausrechnen, welche Wert die Schwankung beim normierten Wert hat. Besser geht es nur mit einem höher auflösenden Analogeingang, z.Bsp. 15 Bit. Der kostet meist aber auch etwas mehr.

PS: @Crash
Das ist aber nur Kosmetik, deshalb wird ja die Auflösung nicht besser.


----------



## crash (19 Januar 2009)

Ralle schrieb:


> Genauer wird es nicht werden. Habt ihr denn den Wert schon auf seine tatsächliche Größe normiert? Man kann ja leicht ausrechnen, welche Wert die Schwankung beim normierten Wert hat. Besser geht es nur mit einem höher auflösenden Analogeingang, z.Bsp. 15 Bit. Der kostet meist aber auch etwas mehr.
> 
> PS: @Crash
> Das ist aber nur Kosmetik, deshalb wird ja die Auflösung nicht besser.



ich weis, aber er wollte es doch gerne so haben


----------



## der-rasende-dee (20 Januar 2009)

*Vielen Dank*

Kann mir dann noch einer Zeigen wie ich das mit dem Verschieben um 4 bits machen kann??

Da ich keine Negativen Werte in den Analogeingang gebe

Das mit dem Normieren hab ich mir auch schon ein bisschen angeschaut. Habs aber aufgegeben, weil ich gedacht hab das 
wenn es von hausaus schon um so große Werte schwankt dass das keinen sinn macht??

Dadurch das es ja eine Laboranlage in der Schule ist, kann ich leider keine Analogbaugruppe mit 15 Bit Auflösung montieren.

Wegen der Normierung sollte man da einen SFB hernehmen oder doch selbst schreiben

Gruß Robert


----------



## Ralle (20 Januar 2009)

Schau mal in die Standard-Library. Unter den IEC-Functions suchst du den FC105 (Scale). Dann mal den Cursor drauf und "F1". Der ist auf die Siemens-Baugruppen abgestimmt.


----------



## sk1rie (20 Januar 2009)

Du solltest dabei beachten, dass es "nur" eine Zahl ist. Die Bits nach rechts zu schieben halte ich für die beste Lösung, denn dann schwankt der Wert nur noch um "1".
Objektiv betrachtet ist es doch aber eigentlich egal ob 0,1mm = 1 oder =16 ist. Demzufolge wäre eine zurückgelegte Strecke von 1mm entweder =10 oder =160.
Solange Du das weißt kannst Du doch den Rest Deines Programmes darauf abstimmen ...


----------



## der-rasende-dee (21 Januar 2009)

*Wie geht das denn?*

Wie kann ich dann die Nuller Bits verschwinden lassen damit ich nur noch eine Schwankung von +-1 Habe

Gruß Robert

:sm6:


----------



## OHGN (21 Januar 2009)

> Da dieser mit zunehmenden Fahrten immer ungenauer wird und Keine Positionserkennung vom Start weg wollten wir es mit einem
> *10 k-ohm Potentiometer (Winkel von 0-354 Grad)*


Warum skalierst Du Dir den Eingangswert nicht lieber erstmal auf den Winkel von 0 bis 354 Grad? 
Dann würdest Du zumindestens schon mal erkennen wieviel Grad Deine Schwankungen entsprechen.
Den Wert könntest Du dann auch im Programm weiterbenutzen, das macht sich wesentlich besser als mit dem Integer-Rohwert.


----------



## der-rasende-dee (21 Januar 2009)

*So hab den Fc105 getestet*

Also der Fc105 funktioniert der schon??

Der Ist doch nur für Analogeingangsbaugruppen aber dadurch das ich die 314 IFM habe sind meine Eingänge schon integriert und in der Beschreibung steht das dieser Baustein für Externe Baugruppen ist oder Nicht

Wie kann ich die ersten vier Bits streichen damit ich nur noch um +-1 schwanke

Gruß Robert


----------



## MSB (21 Januar 2009)

Also es ist doch vollkommen scheißegal ob der Wert um +- 1 oder +-16 schwankt.

Du normierst den Eingang mittels Dreisatz auf eine beliebige physikalische Einheit, also Weg, Bratwürste, Kilogramm ... was weiß ich ...

Das ganze geschieht mittels Dreisatz (sofern dein Poti Linear ist) ...


```
PEW-Wert   Physik-Wert
0_________ 0 mm
27648_____ 100,0 mm
```
Das ganze geht übrigens auch mit dem FC105 der dir ja schon ans Herz gelegt wurde ...

Vielleicht hast du eines in der Eile im Handbuch ja überlesen:
Siemens Baugruppen lösen bei Spannung / Strom IMMER von 0 - 27648 (gemäß Messbereich in der HW-Konfig) auf, unabhängig wie die Auflösung der Baugruppe ist.
Das gilt für die 11-Bit Baugruppe genauso wie für eine 15-Bit Baugruppe.

Mfg
Manuel


----------



## der-rasende-dee (22 Januar 2009)

*An Alle die geschrieben haben ein großes Dankeschön*

Halli hallo 

Also hab es jetzt ausprobiert aber ich glaub ich bin einfach zu dumm bei mir funktioniert der FC105 nicht der Wandelt nichts um der bleibt einfach so wie er ist d.h. das Ausgangsdoubel bleibt immer auf 0 weiß nicht ich glaub der ist nur für Externe Baugruppen nicht für Interne

Gruß Robert


----------



## Ralle (22 Januar 2009)

der-rasende-dee schrieb:


> Halli hallo
> 
> Also hab es jetzt ausprobiert aber ich glaub ich bin einfach zu dumm bei mir funktioniert der FC105 nicht der Wandelt nichts um der bleibt einfach so wie er ist d.h. das Ausgangsdoubel bleibt immer auf 0 weiß nicht ich glaub der ist nur für Externe Baugruppen nicht für Interne
> 
> Gruß Robert



Der FC105 funktioniert für alle Siemens-Baugruppen, die 27648 als max. Endwert ausliefern.  Sollte eine Baugruppe das nicht tun, muß trotzdem ein Ergebnis nach der Wandlung ausgegeben werden, dieses Ergebnis ist dann halt falsch. Bleibt alles auf 0 am Ausgang hast du definitiv etwas falsch gemacht. 

Also nochmal, lies bitte unbedingt die Hilfe zum FC105 durch!


----------

