Step 7 Analogeingangswert 3,99mA anstatt 4mA (S7-300)

DennisBerger

Level-2
Beiträge
437
Reaktionspunkte
61
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich hab ein Promass80 Messgerät (durchfluss) von Endress Hauser verdrahtet.
Hardware S7-300 mit 6ES7331-7NF00-0AB0 Analogkarte
eingestellt ist 4-20mA (sowohl im Promass als auch in Siemens)

Leider gibt das Gerät bei null Durchfluss scheinbar anstatt die 4mA nur 3,98 bzw 3,99mA aus und ich hab dann in der SPS den Integer Wert 65536 stehen (ausserhalb Bereich) anstatt zb 0 für keinen Durchfluss.

Offset und Kalibrierung am Promass80 gibt es keine.

Hat jemand eine Idee wie ich das lösen kann?

Problem ist, dass wir eine Leckage messen,
4mA = 0 Leckage und 20mA = 1000mL/min Leckage.
Wenn nun der Wert unter die 4mA geht weil wir real keine Leckage haben aber das Promass anstatt 4mA nur 3,99mA ausgibt bzw nur 3,99mA ankommen,
hab ich in der SPS am scale Baustein dann 65536 anstehen anstatt 0bits

Danke für eure Tipps
 
Zuletzt bearbeitet:
Den Messbereich in der Analogkarte auf 0-20mA parametrieren und danach selbst im Programm skalieren?
 
Ich würde zwischen deinem Netzwerk 3 und 4 ein Netzwerk mit einer Überprüfung einfügen.
Wenn Pro80_int > x (zB.:30000) -> dann setze Flag Leitungsburch
Wenn Pro80_int < y -> dann setze Flag Messfehler und Pro80_int := 0;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe ich nicht so oder so immer 65535 (bzw 32767) bei <4mA (bei Drahtbruch oder Leckage = 0) weil die SPS Leitungsbruch vermutet und immer bei weniger als 4mA 65536 ausgibt?
 
Zuletzt bearbeitet:
Hier ein Auszug aus dem Handbuch einer 7FK02 Analogbaugruppe:
1646731733860.png

Es wird also unterschieden zwischen Untersteuerung und Unterlauf (Drahtbruch). Das kannst du im Programm ja abfragen und entsprechen den Wert im Untersteuerungsbereich auf 0 setzen, und im Unterlauf eine Störung melden
 

Anhänge

  • 1646731667425.png
    1646731667425.png
    61,7 KB · Aufrufe: 11
Ein Drahtbruch wird üblicher Weise erst bei 3,5mA erkannt.

Was du da hast sind Mess- und Bauteiltolleranzen. Alles normal...

Setz dein Lo_Lim mal etwas hoch (so auf 0,36 oder so bis es passt) Dass nennt sich dann Nullabgleich ;)
Das selbe solltest du mit dem Maxwert machen.

Um später negative Werte zu unterdrücken kannst du das Ergebnis durch ein Limit begrenzen.

P.S.: Integer16Bit 0-65535 (65536 ist dann Bit 17)
 
Setz dein Lo_Lim mal etwas hoch (so auf 0,36 oder so bis es passt) Dass nennt sich dann Nullabgleich ;)
Das selbe solltest du mit dem Maxwert machen.
danke euch allen, vor allem für die Übersichtstabelle.

was meinst du mit Lo_lim? wo kann ich das hochsetzen? bei den 200ern steuerungen gab es ein poti.
bei der analogkarte auch?


edit:
oder hast das gemeint?
1646732387208.png
(programmiere mit step7 v5.5)
 
Wenn nun der Wert unter die 4mA geht weil wir real keine Leckage haben aber das Promass anstatt 4mA nur 3,99mA ausgibt bzw nur 3,99mA ankommen,
hab ich in der SPS am scale Baustein dann 65536 anstehen anstatt 0bits
Nein, Du musst den Wert vorzeichnebehaftet interpretieren (INT) dann hast Du -1 und wenn Du jetzt die Leckage auf einen Grenzwert abfragen willst, klappt das auch. Für die Anzeige würde ich negative Werte durch Null ersetzen.
If Wert < 0 then Anzeige = 0 else Anzeige = Wert.
Gruß
Erich
 
Nein, Du musst den Wert vorzeichnebehaftet interpretieren (INT) dann hast Du -1 und wenn Du jetzt die Leckage auf einen Grenzwert abfragen willst, klappt das auch. Für die Anzeige würde ich negative Werte durch Null ersetzen.
If Wert < 0 then Anzeige = 0 else Anzeige = Wert.
Gruß
Erich
okay und Drahtbruch würde dann trotzdem erkannt werden?
weil momentan hab ich seltsamerweise ja bei 3,98 bis 3,99mA einen PEW302 = 65535 ?

@de vliegende hollander ja war word, danke für den Tipp, so spar ich das NW1
 
Zurück
Oben