# S7-1200 Analogwert Problem



## andy8883 (12 Dezember 2009)

Bin neu hier im Forum, daher erstmal ein herzliches Hallo.

Erstmal die Hardware:
-S7 1200 1212C DC/DC/DC 
-1234 4xAI 2xA0 SM

Software:
Totally Integrated Automation Portal V10.5

Problem:
Es sollen 3 Potis (0-10V) eingelesen werden. 2 Potis an den onboard Eingängen der CPU und 1 Poti über die SM1234. Die 2 Potis an der CPU funktionieren einwandfrei, nur bei dem einen an der SM1234 bekomme ich (laut Variablentabelle) bei 0V einen Wert von entweder 0 oder 65534 rein. Der Wert schwank unregelmäßig hin und her. Ansonsten regelt das Poti den Wert gleichmäßig bis 27648 (10V) hoch. SM1234 ist auf +/-10V eingestellt. Die 10V für die Potis bekomme ich von einem Umrichter (Siemens G110). Zusätzlich habe ich den Masse-Eingang vom Kanal 0 (da wo das Poti angeschlossen ist) auf 0V vom 24V Netzteil angeschlossen. Über Google konnte ich nichts finden, daher hoffe ich das mir hier jemand helfen kann.

Schonmal DANKE im voraus.


----------



## thomas_1975 (12 Dezember 2009)

hast du die möglichkeit den Ai auf 0-10V zu parametrieren.
Der Analogwert wandert in den neg. Bereich (msb = 1) .
Habe selbst noch keine 1200ér in der Hand gehabt.  

gruß Thomas


----------



## gravieren (12 Dezember 2009)

Sind alle 3 Poti->Eingange  "gleichwertig"  --> Gleiche Beschaltung  ?


Nimm doch mal eine 1,5 Volt-Batterie und lege diese Spannung 
wechselweitig an die 3 AI.

ACHTUNG:  Alle "anderen" Anschlüsse zu den AI natürlich entfernen.


Was ist dein Ergebnis  ?


----------



## andy8883 (12 Dezember 2009)

Die Karte lässt sich bei der Messart Spannung nur auf +/-10V,+/-5V,+/-2,5V parametrieren. Da der Bereich bei +/-10V zwischen -27648 und +27648 Dez liegt verstehe ich sowieso nicht wie die 65000 zustande kommen (Übersteuerungsbereich ist ja auch nicht so groß). Beschaltung ist an allen Eingängen identisch (mehrfach überprüft). Wenn ich eine 1,5V Batterie an die Eingänge hänge, bekomme ich bei allen ungefähr den gleichen Wert von ca. 4000 Dez.


----------



## gravieren (12 Dezember 2009)

andy8883 schrieb:


> Beschaltung ist an allen Eingängen identisch (mehrfach überprüft).
> Wenn ich eine 1,5V Batterie an die Eingänge hänge,
> bekomme ich bei allen ungefähr den gleichen Wert von ca. 4000 Dez.


 
O.K.   

Grobe Eingrenzung  -->  Kein Programmierfehler   





Sieht aus wie ein Beschaltungsfehler!

Bei der Batterie bekommst du das richtige Ergebnis. 

Schliesse deine Beschaltung erneut im "Orginal" an.

Miss nun die Spannung der AIs.
(Genau an der Stelle, wo du vorher die Batterien angeschlossen hattest.)


Vermutung: Masseverschleppung, Masse nicht "richtig" angeschlossen.


----------



## andy8883 (12 Dezember 2009)

Das Problem tritt nur in der Nullstellung des Poti auf (Nullstellung ist wie eine Brücke am Eingang), sobald man das Poti leicht von der Nullstellung wegbewegt regelt es ganz normal von 0-27648 hoch ohne Fehler. Kann es sein das die +/-10V Eingänge nicht damit klarkommen (im Gegensatz zu den 0-10V Eingängen) wenn der Eingang in Nullstellung gebrückt wird und sozusagen immer eine gewisse Grundlast brauchen? Wenn ja, wie wird sowas in der Praxis beschaltet?

Gruss Andy


----------



## gravieren (12 Dezember 2009)

andy8883 schrieb:


> Das Problem tritt nur in der Nullstellung des Poti auf (Nullstellung ist wie eine Brücke am Eingang)


Was meinst du damit  ?

Mach doch mal eine Skizze deiner Beschaltung.


----------



## andy8883 (12 Dezember 2009)

Ich glaube ich kann es auch verständlich erklären, hoffe ich zumindest. Meine Potis sind mechanisch so aufgebaut, dass wenn das Poti auf Linksanschlag ist (also 0V) der Analogeingang direkt gebrückt wird (0V am Poti und der Schleifringabgang am Poti werden direkt verbunden).


----------



## gravieren (12 Dezember 2009)

andy8883 schrieb:


> Ich glaube ich kann es auch verständlich erklären, hoffe ich zumindest. Meine Potis sind mechanisch so aufgebaut, dass wenn das Poti auf Linksanschlag ist (also 0V) der Analogeingang direkt gebrückt wird (0V am Poti und der Schleifringabgang am Poti werden direkt verbunden).


Verstehe ich NICHT ganz.

Trotzdem, "bilde" doch mal das Poti "nach".

Verbinde doch mal   0V mit Poti-Eingang.  --> Nur Drahtbrücke OHNE Poti.
(Wie das Problem in besagter Poti-Stellung sein soll)



Ich denke, du hast hiernach AUCH 0 Volt am Analog-Eingang.


----------



## crash (12 Dezember 2009)

thomas_1975 schrieb:


> Der Analogwert wandert in den neg. Bereich (msb = 1) .



*ACK*
das denke ich auch.

wenn du den Analogwert normierst dann sollte das passen.
Dann wirst du sehen dass der Wert leicht in den negativen Bereich geht wenn du 0 Volt am Eingang hast.
(kleine Ungenauigkeit des Analogen Eingangs )


----------



## andy8883 (12 Dezember 2009)

Wenn ich 0V auf den Poti Eingang lege (also Drahtbrücke) habe ich die Schwankungen auch, da das daselbe ist wie Poti auf Linksanschlag (Poti auf Linksanschlag ist wie eine Drahtbrücke von 0V auf den Poti Eingang an der Karte).


----------



## andy8883 (12 Dezember 2009)

@Crash

Also heisst das für mich wenn ich den Wert weiterverarbeite und umrechne macht sich diese Schwankung nicht bemerkbar? Aber wie kommt der Wert von 65000 zustande? Rein rechnerisch dürften es mit Übersteuerungsbereich maximal -32000 bis +32000 sein.

Gruß Andy


----------



## crash (12 Dezember 2009)

*-------> normiere deinen Analogwert!*


----------



## crash (12 Dezember 2009)

andy8883 schrieb:


> @Crash
> 
> Also heisst das für mich wenn ich den Wert weiterverarbeite und umrechne macht sich diese Schwankung nicht bemerkbar? Aber wie kommt der Wert von 65000 zustande? Rein rechnerisch dürften es mit Übersteuerungsbereich maximal -32000 bis +32000 sein.
> 
> Gruß Andy


Das liegt wohl an der Darstellungsart
mit VZ -> -32768 bis +32767
ohne VZ -> 0 bis +65535


----------



## andy8883 (12 Dezember 2009)

OK. Danke!

Gruß Andy


----------



## crash (12 Dezember 2009)

Deine 65534 sind in Wirklichkeit -1.


----------



## andy8883 (13 Dezember 2009)

Hallo nochmal,
habe jetzt den Analogwert normiert und scaliert:
Analog Eingabe mit NORM_X auf 0-27648 und dann die Ausgabe mit SCALE_X auf 0-100. Der Fehler besteht aber trotzdem d.h. bei 0V am Eingang bekomme ich entweder einen scalierten Wert von 237 oder 0 (obwohl ich auf 0-100 scaliere). Der Wert wechselt ständig hin und her. Hat vielleicht noch jemand eine Idee an was das liegen könnte?


----------



## Jochen Kühner (13 Dezember 2009)

*man...*

Speicher doch einfach den gemessenen wert in einem Merkerwort zwischen! Und wenn er größer 65000 ist schreibst du einfach 0 in das Merkerwort.

Vieleicht kann der SkallierungsFC nicht mit neg. Zahlen umgehen?


----------



## andy8883 (13 Dezember 2009)

Das mit dem Merkerwort ist eine Möglichkeit. Mich würde aber dennoch interessieren ob das normal ist oder die Karte eventuell einen Fehler aufweist.

Gruß Andy


----------



## crash (13 Dezember 2009)

Ein analoger Wert wird immer etwas schwanken, das ist normal.
Wenn du also einen Wert von 0 hast und der dann etwas schwankt
dann kann da schon mal eine -1 kommen.
Mach es doch so wie Jochen es vorgeschlagen hat.
Den Wert auf kleiner 0 prüfen und wenn er kleiner ist eine 0 rein und fertig.
Ich kenne jetzt nicht den Skalierbaustein der 1200er aber der sollte das
eigentlich auch mit negativen Werten packen wenn er richtig parametriert ist.


----------



## Andy79 (13 Dezember 2009)

Hallo,

warum normierst du von 0-27648 und nicht von -27648 - +27648, wovon auf Seite 1 die Rede ist?

Gruß Andy


----------



## Schmidtchen (20 Januar 2014)

Hallo Leute, 
ich habe ein Problem bei der Analogwertverarbeitung. Ich habe zwei Sensoren, einer liefert 0 bis 20mA und ein anderer liefert  4bis 20 mA. Beide Messsignal habe ich ermittelt und mir auf meinem KTP 600 anzeigen lassen. Das passt soweit alles. Nun möchte ich mir die Messwerte über einen Analogausgang ausgeben lassen (Wenn ich einen Schalter auf dem KTP betätige soll der Messwert des 1. Sensors auf eine Messbuchse gelegt werden und wenn der Schalter unbetätigt ist das Zweite Messsignal). 
Da ich am Ausgang ein 4 bis 20 mA Signal haben möchte muss ich meine Messwerte mit SCALE auf den Wertebereich skalieren oder?? Macht man das so oder wie macht das ein erfahrener Progger?? Bzw kann ich das überhaupt so machen? 

LG :roll:


----------

