TIA KSB Pumpdrive 2 Sollwertvorgabe via Profinet

uweschwarz

Level-2
Beiträge
120
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich arbeite mit TIA V17 und einer S7 1513-1 PN. Ich möchte ein PumpDrive 2 von KSB über Profinet ansteuern. Die Verbindung steht. Ich kann den FU ein- und ausschalten und auch Sollwerte vorgeben. Ich bekomme korrekte Istwerte (d.h. die gleichen wie auf dem Display des FU + KSB Software). Der FU zeigt eine Warnung W63: Grenzwertverletzung Drehzahl; selbst quittierendes Ereignis an.


Aus der Beschreibung der Profinet Karte hier die Belegung der Ausgänge:

1675435922316.png
Dafür habe ich einen Datentyp erstellt:
1675435977795.png
Wie man sieht gibt es keine Adresslücke zwischen CB_Operation_Mode und Setpoint.
in der Variablentabelle sieht das dann aber so aus:
1675436070943.png

Hier gibt es eine Adreßlücke. Das Byte QB4603 ist nicht belegt.
Wenn ich den Setpoint aus dem Datentyp lösche und dem FU Werte in % auf das Byte QW4603 vorgebe, dann nimmt er die auch an. Allerdings nur bis 35,68% dann hat der Motor eine Drehzahl von 1500 U/min entspricht also 100%.
Bei Vorgabe von 1000 (10%) auf das QW4603 meldet der Motor eine Frequenz von 14,0 Hz und 420 1/min. Hier der Code für die Sollwertvorgabe
#HSW_roh_PL6001 := REAL_TO_INT(#HSW_skal_PL6001);
"PL6001_write_SETPOINT" := 100*#HSW_roh_PL6001;
Es sieht so aus als würde ich weder Drehzahl noch Frequenz vorgeben, aber was dann? Ich verstehe es nicht.

Die Frage lautet: Wie gebe ich dem FU eine Prozentzahl vor, die dieser korrekt interpretiert. Also z.B. 50% Vorgabe führt zu Rückmeldung Drehzahl 750 und 25 Hz.


Danke und schönes Wochenende
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich arbeite mit TIA V17 und einer S7 1513-1 PN. Ich möchte ein PumpDrive 2 von KSB über Profinet ansteuern. Die Verbindung steht. Ich kann den FU ein- und ausschalten und auch Sollwerte vorgeben. Ich bekomme korrekte Istwerte (d.h. die gleichen wie auf dem Display des FU + KSB Software). Der FU zeigt eine Warnung W63: Grenzwertverletzung Drehzahl; selbst quittierendes Ereignis an.


Aus der Beschreibung der Profinet Karte hier die Belegung der Ausgänge:

Anhang anzeigen 66740
Dafür habe ich einen Datentyp erstellt:
Anhang anzeigen 66741
Wie man sieht gibt es keine Adresslücke zwischen CB_Operation_Mode und Setpoint.
in der Variablentabelle sieht das dann aber so aus:
Anhang anzeigen 66742

Hier gibt es eine Adreßlücke. Das Byte QB4603 ist nicht belegt.
Wenn ich den Setpoint aus dem Datentyp lösche und dem FU Werte in % auf das Byte QW4603 vorgebe, dann nimmt er die auch an. Allerdings nur bis 35,68% dann hat der Motor eine Drehzahl von 1500 U/min entspricht also 100%.
Bei Vorgabe von 1000 (10%) auf das QW4603 meldet der Motor eine Frequenz von 14,0 Hz und 420 1/min. Hier der Code für die Sollwertvorgabe

Es sieht so aus als würde ich weder Drehzahl noch Frequenz vorgeben, aber was dann? Ich verstehe es nicht.

Die Frage lautet: Wie gebe ich dem FU eine Prozentzahl vor, die dieser korrekt interpretiert. Also z.B. 50% Vorgabe führt zu Rückmeldung Drehzahl 750 und 25 Hz.


Danke und schönes Wochenende
UDTs auf physischen I/Os belegen nur gerade Bytes, hatte ich letztens auch erst
 
Hast du mal nachgeschaut wie die Sollwertverarbeitung bei deinen FU ausschaut. Ich kenne es so das der Sollwert von 0-100% im Hexadezimalen übertragen wird dementsprechend 0 - 4000HEX (0-100%).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist bei SIEMENS weiterhin so, dass bei den E/As 1-Byte-Zugriffe nicht vorgesehen sind.
Wir haben dasselbe Thema bei Keyence-Produkten. Da gibt es Module, deren Schnittstelle nur ein Byte lang ist.
Wir lesen dann einfach ein Array of Byte ein und "transferieren" es per Deserialize auf eine passende Datenstruktur.
 
Zurück
Oben