Forum: PC-Programmierung AWL für Messbereich


von Markus (Gast)


Lesenswert?

Hi Leute,

für ein Projekt möchte ich den Strom und die Spannung einer Maschine 
messen.
Dazu benutze ich WAGO-Komponenten.

Die Spannung messen ist kein Problem, das funzt.

Probleme habe ich beim Strom. Dazu messe ich den Spannungsabfall über 
einem SHUNT (bei 100A 60mV Spannungsabfall)...dieser wird von einem 
Messumformer (eingestellt auf : -60mV...60mV) auf 0 bis 10V umgeformt.

Die Auflösung 16Bit (32768)

Messbereiche
                   Anfang       Mitte        Ende

Strom             -100A         0            100A
Bits               0            16384        32768
Messumformereing. -60mV         0            60mV
Messumformerausg.  0V           5V           10V

Wenn ich nun den Strom messe, wenn der Motor aus ist, bekomme ich nicht 
NULL sondern 16384 geliefert, also quasi genau die Mitte von -60mV und 
60mV. Was ja sozusagen auch richtig ist aber ist es denn möglich das 
auch so zu programmieren, dass es bei 0V auch 0A sind???
Muss aber in beide Richtungen messen, da die Maschine als Motor und Gen. 
arbeiten soll. Hab schon die F1-Taste gedrückt aber so richtig geholfen 
hat mir die Hilfe nicht, was auch sicher daran liergt, dass ich kein 
TOP-Programmierer bin. Das hielt sich immer in Grenzen bei mir. Nun 
gehts aber nicht anders...

Vielleicht kann mir ja jemand helfen.

MfG Markus

von Flutsch1987 (Gast)


Lesenswert?

hm,
macht 16 bit nicht einen Wertebereich von 0 bis 65536-1 und 
dementsprechend 15 bit 32786-1 ?
Könnte es also sein das du das Vorzeichenbit nicht berücksichtigt hast? 
Würde dann heißen 16 bit Auflösung macht als Vorzeichenbit und einen 
Wertebereich von -(32786-1) bis 32786-1 ...

von Karl H. (kbuchegg)


Lesenswert?

Markus schrieb:

> Wenn ich nun den Strom messe, wenn der Motor aus ist, bekomme ich nicht
> NULL sondern 16384 geliefert, also quasi genau die Mitte von -60mV und
> 60mV. Was ja sozusagen auch richtig ist

Sehe ich auch so.

> aber ist es denn möglich das
> auch so zu programmieren, dass es bei 0V auch 0A sind???

Speichere den Messwert in einer int Variablen (also einer Variablen, die 
ein Vorzeichen haben kann) ab und zieh 16384 ab.
Schon hast du Werte die von -16384 bis +16384 laufen.
0 entspricht 0A
-16384 entspricht -100A
+16384 entspricht +100A


Wo liegt das Problem ein bischen Mathe zu betreiben und ein wenig 
rumzurechnen?

Dasselbe Ergebnis hättest du ja sowieso bekommen, wenn du deine 
Werteumrechnung von 0 bis 32767 auf -100A bis +100A schon mathematisch 
so weit fertig gemacht hättest. Dort wäre es dann in 1 Formel 
aufgetaucht und jetzt hast du es eben auf 2 mal.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.