G120C Parameter r39 auslesen via Profinet

Orbb

Level-2
Beiträge
6
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wir betreiben mehrere G120C an einer S7-319 im Profinet. Das Auslesen verschiedener Parameter wie z.b. aktueller Strom oder Spannung funktioniert einwandfrei. Ich würde allerdings gern den Parameter r39[0] (Energiebilanz - Summe) über Profinet auslesen. Ich habe den FU´s eine freies Telegramm gegeben und versuche nun dort den Parameter in ein Doppelwort zu schreiben. Allerdings geht schon beim Beobachten in STARTER etwas schief. Wenn der Energiezähler 0 ist wird im Telegramm auch eine 0 übermittelt. Sobald der Wert größer 0 ist bekomme ich egal welcher Wert es auch ist immer die gleiche Zahl (dec. 2147483520) im Telegramm dargestellt. Kann mir jemand sagen wo da mein Denkfehler liegt?

Im Anhang habe ich Screenshots aus STARTER

1x Energiebilanz in der Expertenliste (226.95 kWh)
1x Ausgabe im Feldbus
 

Anhänge

  • Expertenliste.jpg
    Expertenliste.jpg
    74,1 KB · Aufrufe: 19
  • Feldbus.jpg
    Feldbus.jpg
    195,2 KB · Aufrufe: 20
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antwort. Ich habe mich leider nicht ganz klar ausgedrückt. Die Programmierung ist noch in Step7 Classic. Mein Problem ist aber nicht das Wort bzw. Doppelkwort zu lesen. Sondern der Wert des Doppelwortes. Wenn ich den Energieverbrauchszähler zurücksetze dann steht im Doppelwort eine NULL. Das ist ja auch korrekt. Sobald der Energieverbrauch größer als NULL ist steht im Doppelwort immer der Gleiche Wert ( Dec. 2147483520 ) egal wieviel Energieverbrauch im Pararameter r39 steht. Ich vermute also, dass ich ein Problem mit der Zuweisung des Wertes in STARTER habe. Ich komme aber nicht dahinter wo der Fehler liegt.

Im Anhang habe ich 2 FU's mit unterschiedlichem Energieverbrauch und die dazugehörige Anzeige im Feldbus. Bei beiden steht im Feldbus die oben gennante Zahl, obwohl die tatsächlichen Energieverbräuche unterschiedlich sind.

Wenn Ihr dazu noch Ideen habt, wäre ich sehr dankbar.
 

Anhänge

  • FU 1&2.pdf
    184,6 KB · Aufrufe: 8
Nochmals vielen Dank für Deine Antworten. Kannst Du mir sagen welchen Baustein zum azyklischen Lesen ich bei S7 Classic verwenden muss?
Ich habe es mit dem SFC59 RD_REC versucht. Da bekomme ich allerdings die Fehlermeldung 8093 -

Datensatz lesen mit der SFC 59 "RD_REC"
Für die über LADDR und IOID ausgewählte Baugruppe ist diese SFC nicht zulässig. (Zulässig sind S7-300-Baugruppen bei S7-300, S7-400-Baugruppen bei S7-400, S7-DP-Baugruppen bei S7-300 und S7-400.)




 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist bei mir jetzt auch schon etwas her wo ich das mal gemacht habe. Aber das waren schon Baussteine wie SFC52/53 (?) oder SFB58/59 (?)

Falls Du den Wert nur am HMI anzeigen willst, dann mach es einfach per HMI Direktzugriff
 
Wenn du in deiner CU, in das Telegramm den r39 legen kannst, dann wird der auch zyklisch gelesen.
In der Online Hilfe empfiehlt Siemen aber den r 42, (Freigabe P43 auf 1 setzen nicht vergessen).
Der r39 ist in Floatingpoint32 in Ws, der r42 in integer32 1= 1Wh

r42.png
 
Danke für Eure Antworten. Der Parameter r39[0] klappt via Feldbus, wie oben beschrieben leider nicht. Mit dem Parameter r42[0] funktioniert es !
Trotzdem werde ich das mit der azyklischen Abfrage noch austetsten. Ich habe da auch ein Beispielprojekt bei SIEMENS gefunden.


Allerdings dort mit PROFIBUS FU. Die Abfrage erfolgt dort mit dem SFC58/59, allerdings habe ich das schon probiert, da bekomme ich die Fehlermeldung:

Für die über LADDR und IOID ausgewählte Baugruppe ist diese SFC nicht zulässig. (Zulässig sind S7-300-Baugruppen bei S7-300, S7-400-Baugruppen bei S7-400, S7-DP-Baugruppen bei S7-300 und S7-400.)

Ich werde das ganze nochmal mit dem SFB52/53 ausprobieren. Ich melde mich zurück mit den Ergebnissen bzw. noch mehr Fragen. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe bisher den r39 oder r42 selbst noch nicht ausgelesen, aber alle Parameter r oder p , die du ins Telegramm reinlegen kannst
können zyklisch übertragen werden. Wenn r39 nicht geht muss das andere Gründe haben.
 
...Wenn r39 nicht geht muss das andere Gründe haben.
Weil es keinen Bezugsparameter "Energie" gibt - es ist ein float Wert.
Darum der r42, der nachträglich in der Firmware dazu kam, wobei 1Wh je nach Anwendung auch schon grob ist.
Bei Condition Monitoring Anwendungen mit Sinamics, z.B. für Regalbediengeräte, berechnet man den Energieverlauf deshalb eher in der Einheit Ws. Dann wird der Energieverbrauch pro Positionierauftrag getrackt und kann mit anderen RBGs querverglichen werden, bzw die Energieverbrauchsentwicklung im Laufe der Zeit. Damit können Anomalien entdeckt werden. Da nimmt man dann auch eher den Sinamics "S" statt "G", da der "S" eine noch weiter verbesserte Drehmoment- und Drehzahlgenauigkeit hat (was ja in die Berechnung der Leistung/Energie direkteingeht).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und nochmals vielen Dank für die Tipps und Anregungen. Ich benötige den Wert aus r0039[0]. Der r0042 ist leider zu klein, mir geht es nicht um kurzzeitige Energieverbräuche sondern um das große Ganze. Da komm ich mit den Wh leider nicht aus.
Aber mit den SFB 52/53 habe ich es jetzt in azyklischer Kommunikation hinbekommen. Ich bekomme den Energieverbrauch ausgelesen.
Morgen noch die Testbausteine aufräumen und das auf alle FU's anwenden. Dann ist das fertig.

Viele Grüße und vielen Dank, ohne Eure Tipps wäre ich da nicht hingekommen.
 
Weil es keinen Bezugsparameter "Energie" gibt - es ist ein float Wert.
Darum der r42, der nachträglich in der Firmware dazu kam, wobei 1Wh je nach Anwendung auch schon grob ist.
Was meinst du damit ? der r39 ist laut Beschreibung der Bezugspunkt für den r42.
Ich werde mit das morgen mal in der echten Welt ansehen.
 
Bei den Bezugsparametern p2000ff gibt es keine "Bezugsenergie". Wenn diese 1.0 kWh wäre, dann könnte man nicht mehr als 2.0kWh im zykl Telegramm übertragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der r42 läuft bei uns bis 32xxx Wh, dann fängt er wieder von vorn an. Das ist sicher für bestimmte Anwendungen interessant. Wir benötigen allerdings den Jahres - Energieverbrauch der steht in kWh in r39[0] ich habe es allerdings nicht geschafft diesen im zyklischen Datensatz wo auch das Zustandswort übertragen wird zu übertragen. Wie bereits oben geschrieben wenn der Verbrauch 0 ist steht eine 0 drin, wenn der Verbrauch größer als 0 ist steht egal wie groß der Wert ist immer Dec. 2147483520 in diesem Datenpunkt.
 
Zurück
Oben