Negative Werte an Logo 8!

Hallo,
leider bekomme ich die Übertragung von negativen Werten an die Logo 8 nicht gebacken.
Kann mir da jemand weiterhelfen?


$Aussentemp = GetValueFloat(39050 /*[Klimasensoren Aussen\Aussentemperatur]*/);
SetValue(28948 /*[Aussentemperatur(Fühler am Bürogebäude)\Aussentemperatur]*/ ,$Aussentemp);
S7_WriteSmallInt (18427 /*[Aussentemperatur(Fühler am Bürogebäude)]*/, $Aussentemp *10);
print "$Aussentemp";

Bei der Übertragung zur Logo wird konstant „32767“ ausgelesen, sobald der Wert negativ ist.
Bei postiven Werten wieder alles O.K!

In der SiemensInstanz ist SmallInt eingestellt und 2Byte reserviert.

mfg
cäsar

Negative Werte müssen meines Erachtens für die LOGO!8 normiert (aufbereitet) werden,

Beispiel aus der Dokumentation:

Voraussetzung
Sensor: Temperatursensor, Messbereich: -50 ℃bis100 ℃
Zu messende Temperatur: 25 ℃
Ablauf mit LOGO!Soft Comfort
Der Sensor wandelt die Temperatur von 25 °C in einen Spannungswert von 5,0V um.
LOGO!Soft Comfort wandelt die 5,0
V in den normierten Wert 500 um.
Aus den Angaben zum Sensor und dem Messbereich ermittelt LOGO!Soft Comfort für Gain den Wert 0,15 und für Offset den Wert -50.
Nach der Formel : Analogwert = (Normierter Wert x Gain) + Offset berechnet LOGO!Soft Comfort als Analogwert: Analogwert = (500 x 0,15) - 50 = 25
Ablauf mit LOGO!
Der Sensor wandelt die Temperatur von 25 °C in einen Spannungswert von 5,0V um.
Die LOGO! wandelt die 5,0
V in den normierten Wert 500.
Aus den Angaben zum Sensor und zum Messbereich sind die Werte für Gain und Offset zu bestimmen. Nach den Formeln: Gain = (maxSensor – minSensor) / (maxnorm – minnorm) und Offset = minSensor – (Gain × minnorm) ergibt sich für Gain = (100 – (-50)) / (1000 – 0) = 0,15 Offset = -50 – (0,15 × 0) = -50
Nach der Formel Analogwert = (Normierter Wert x Gain) + Offset berechnet LOGO! als Analogwert: Analogwert = (500 x 0,15) - 50 = 25

Hallo Senior,

danke für die Antwort.

Die Temperaturauswertung in der Logo selbst funktioniert ja auch. Ich lese einen Temperatursensor -30° bis 70° entspricht
0-10V über Analogeingang ein und alles ist gut.

Ich möchte aber einen Temperaturwert von IPS an eine andere Logo senden.
Das funktioniert auch, wenn die Werte >0 sind.

Sobald der Wert < 0 ist, den ich von IPS an die Logo sende, ließt die Logo konstant 32767 aus.

mfg
cäsar

Du musst die Werte dann in IPS normieren z.B -30° entspricht den Wert 0 und +70 entspricht 32767, aber warum sendest du den Wert nicht von LOGO zu LOGO. Normalerweise führt die LOGO immer die Steuerung/Regelung des Prozesses aus und IPS ist das Bedien- und Visualisierungssystem. Damit ist Gewährleistet, dass ein (Industrie-) Prozess wie zB. Heizungsregelung oder Alarmanlage autark läuft.

Viele Grüße aus dem Norden

Hallo Senior,

Würd ich auch prinzipiell so machen, funktioniert aber nicht, weil sich die Logos in unterschiedlichen Subnetzen befinden.

mfg
cäsar

Hallo Cäsar,

damit du kein „Netzwerkmischmasch“ bekommst, solltest du dann für ein sauberes Routing für dein Netzwerk geeignete Router einsetzen, dann kannst du auch gezielt die Geräte einschließlich IPS miteinander verbinden.

Viele Grüsse aus dem Norden

Hallo Senior,

unsere IT wird demnächst div. Umstellungen vornehmen. Dann kann ich alle Logos in gleiche Subnet legen.

Bis dahin muss ich den Umweg über IPS nehmen,

mfg
cäsar

Ich kann das Problem nicht nachstellen. Mir zeigt die Logo Software in der Datentabelle die negativen Werte schön korrekt an.

paresy

Moin,
ok, über die Instanz direkt funktionierts bei mir auch.

Dann liegts wohl am Script?

mfg
cäsar

S7_WriteSmallInt.jpg

SmallInt.jpg

Auch das geht einwandfrei.

paresy

Bild SPS Negativ.png

Hmh,
lass mich bitte nicht dumm sterben… ich sehe keinen Unterschied zu deiner Ausführung.
Bis auf die Adresse, die hab ich extra mal auf VW50 gesetzt, weil ab VW30 alles frei ist…

mfg
cäsar

Ich hab’ keine Ahnung warum es bei dir nicht geht. Ich habe es genauso gemacht wie du :confused::confused:

paresy

Hallo Paresy,

der Fehler ist gefunden. Dummheit von mir.
Die von mir eingesetzte Logo ist eine Logo 7.
Als Instanz hatte ich allerdings Logo 8 gewählt.

Also Logo 7 mit Instanz Logo 8 funktioniert in mit negativen Zahlen nicht, Im postiven Bereich alles i.O.

mfg
cäsar