Step 7 Temperaturanzeige mit Thermoelement

JulianW

Level-2
Beiträge
43
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag
Ich möchte mit Hilfe von Thermoelenten (Fe-CuNi) Temperaturen auf einem HMI MP 277 10“ darstellen.
Die Thermoelemente gehen auf eine externe Vergleichsstelle.
Mit der Hilfe von Foren-Mitgliedern habe ich das Eingangssignal von einer 16 Bit auf eine 32 Bit Ganzzahl und diese in eine Gleitpunktzahl gewandelt. Diese dann noch durch 10 dividiert.

Im Online-Modus sieht man allerdings dass das nicht so ganzt funktioniert. Ich möchte wissen was ich falsch gemacht habe. Ich leider nicht gerade erfahren was Analogwertverarbeitung geht.

LG Julian
C0563961-1D4B-4958-B9A1-232BE7E46F74.jpeg
 

Anhänge

  • 7A0F294E-A545-47F6-8753-FCBD491DFF86.jpeg
    7A0F294E-A545-47F6-8753-FCBD491DFF86.jpeg
    4,6 MB · Aufrufe: 19
  • EED0FA89-0A65-4DE5-8D73-FE5E2B321DBD.jpeg
    EED0FA89-0A65-4DE5-8D73-FE5E2B321DBD.jpeg
    1,7 MB · Aufrufe: 19
  • BEFECFFC-D3F7-4459-8118-C84AB954A640.jpeg
    BEFECFFC-D3F7-4459-8118-C84AB954A640.jpeg
    4 MB · Aufrufe: 21
  • 38A84D6A-9F1C-496A-AF29-BC49757BA30D.jpeg
    38A84D6A-9F1C-496A-AF29-BC49757BA30D.jpeg
    4 MB · Aufrufe: 19
Guten Morgen,
Du hast eine Überschneidung der Adressbereiche. Die beiden Merker M0.1 und M0.2 liegen im MD0.
Entweder du rangierst das Dword in einen DB oder du änderst die Adresse z.B. auf MD20 oder MD100, wenn diese Bereiche als Merker noch unbenutzt sind.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
Du hast eine Überschneidung der Adressbereiche. Die beiden Merker M0.1 und M0.2 liegen im MD0.
Entweder du rangierst das Dword in einen DB oder du änderst die Adresse z.B. auf MD20 oder MD100, wenn diese Bereiche als Merker noch unbenutzt sind.
Danke für die schnelle Antwort.
Ich werde das im laufe des Tages probieren.
 
Zusatz:
Was auch nicht passt sind deine Adressbereiche für die beiden Real.
Ein Real, sowie ein Dword/Dint haben 4 Byte = 32bit.
Also musst du mit deinen Adressen auch um 4 Byte erhöhen für die nächste Adresse.
Also MD20->MD24->MD28
 
Moin Julian

- Deine Variablen haben Adressüberlappungen und beeinflussen/überschreiben sich dadurch gegenseitig: MD0 und MD2 haben MB2 und MB3 gemeinsam. M0.1..M0.3 liegen im MD0
- Für die Zwischenergebnisse der einzelnen Schritte der Berechnung verwendet man üblicherweise TEMP-Variablen, damit man nicht so viele globale Variablen braucht.
- die Skalierung von Sensoren führt man immer aus. EN der FUP-Boxen läßt man unbeschaltet.

Temperatur_Extr_A : MD8 : REAL : [°C] Temperatur Getriebeöl Extruder A

TEMP:
temp_Dint : DINT
temp_Real : REAL


Deine FUP-Anweisungen müssten z.B. etwa so aussehen:
Code:
    PEW256--| I_DI |-#temp_Dint

#temp_Dint--| DI_R |-#temp_Real

#temp_Real--| DIV_R |-"Temperatur_Extr_A"
      10.0--|       |

Für die Skalierung könntest auch den fertigen FC "SCALE_T" von Deinem ersten Thread nehmen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zusatz:
Was auch nicht passt sind deine Adressbereiche für die beiden Real.
Ein Real, sowie ein Dword/Dint haben 4 Byte = 32bit.
Also musst du mit deinen Adressen auch um 4 Byte erhöhen für die nächste Adresse.
Also MD20->MD24->MD28
Es hat funktioniert, vielen vielen Dank 👍🏻👍🏻
 
Zurück
Oben