# Sinamics S120 mit 317CPU und Profibus Drehmoment/Drehwinkel gesteuert - Beispiel erwe



## Andy_Scheck (1 Juli 2015)

Hallo Antriebsfreunde,

ich verwende einen S120 mit einer CU 320 DP und möchte einen Antrieb über Profibus wahlweise Drehmoment und Drehwinkel gesteuert antreiben.

Ich hab mir folgendes Beispiel auf der Siemens-Seite geladen und auch soweit eingerichtet:

(Positionierung eines S120 mit STEP 7 V5 über PROFIBUS mit Safety Integrated (via Klemme)
https://support.industry.siemens.com/cs/document/67261457?dti=0&lc=de-WW

Der Antrieb lässt sich soweit einwandfrei über die Visu ansteuern (Drehzahlgesteuert). Nun möchte ich die Umschaltung von Drehzahl auf Drehmomentregelung einfügen sowie auch weitere Werte auslesen (Strom, Drehmoment, Motortemperatur)
Im Starter hab ich hierfür das Standardtelegramm 1 verlängert (Telegrammverlängerung - Länge 8) und unter Kommunikation (Servo) die Kanäle eingefügt.
Muss ich in Simatic nun den Struct UDT 13 um diese Kanäle erweitern bzw. identisch mit dem Aufbau in Starter ergänzen. Lässt sich so ein Baustein-Struct nicht automatisiert erstellen?

Softwar-Umgebung:

S7 V5.5 SP1
Starter 4.4 HF3

Vielen Dank im Vorraus


----------



## zako (5 Juli 2015)

wenn Du momentan Tel. 1 einsetzt, dann verfährst Du drehzahlgeregelt (Du hast noch den Hochlaufgeber aktiviert ?). 
Ich würde nun Zusatzdaten anlegen (oder eine Telegrammverlängerung) und dort z.B die Drehmomentgrenzen vorgeben und eben den Stromistwert r68, Drehmoment r80 und Temperatur r35 hoch zur SPS schicken (Kommunizieren kann man über SFC14/15 in "classic")
Wenn man nun das Drehmoment begrenzt dann kann man z.B. einstellen, wie der Hochlaufgeber reagiert, z.B. kann man den Drehzahlsollwert immer auf den Drehzahlistwert nachführen und wenn das Gegenmoment nachlässt stoßfrei weiterfahren.
Möglichkeiten hast Du durch die Bico-/Konnektortechnologie des SINAMICS ohne Ende - wenn Du willst kannst Du per DCC eigene Logik direkt im Antrieb  programmieren.


----------



## Andy_Scheck (8 Juli 2015)

Hallo,
war leider bis gestern damit beschäftigt die Telegrammverlängerung und die damit verbundene Änderung im UDT zum laufen zu bekommen - passt soweit.
Hab den Stromistwert, das Drehmoment und die Temperatur in die Telegrammverlängerung gepackt (Sendedaten) und lass mir das im WinCC anzeigen.

Nun würde ich gerne eine reine Drehmoment-Regelung realisieren: Bsp. Vorgabe 10Nm - Antrieb läuft Drehzahlunabhängig mit 10 Nm.
Gibt es hierzu keinen Drehmoment-Sollwert?
Im Beispiel von Zako müsste ich die Drehmomentgrenzen benutzen, hier gibt es jeweils
- Drehmomentgrenze oben/motorisch
- Drehmomentgrenze unten/generatorisch
- Drehmomentgrenze oben/motorisch Skalierung
- Drehmomentgrenze unten/generatorisch Skalierung

Schritt 2 wäre dann eine Positionieraufgabe. Gibt es hier auch die Möglichkeit für eine Umschaltung.

Vielen Dank soweit


----------



## zako (8 Juli 2015)

... natürlich kannst Du den Antrieb auch in reiner Drehmomentregelung betreiben (soweit ich es im Kopf habe, in p1501 verschaltest Du ein Bit wo man zwischen Drehzahlregelung und Drehmomentregelung "on the fly" umschalten kannst und über p1503 kann man dann ein Wort verschalten wo man den Drehmomentsollwert vorgeben kann (z.B. vom Bus r2050[x] oder einen Festwert p2930)). Be.i drehzahlgeregelten Achsen kann man da in Betrieb und bei drehender Achse hin- und herschalten (habe ich in VECTOR- Regelung schon gemacht, bei SERVO mit aktivierten Hochlaufgeber sollte das auch funktionieren).

Soll das Umschalten zwischen Lageregelung und Drehmomentregelung bei drehenden Antrieb erfolgen, oder reicht es im Stillstand aus?
Hintergrund: Zum Positionieren macht man über das Funktionsmodul Einfachpositionierer. Bei der Freigabe sollte die Achse aber stehen, zumindest setzt der Interpolator bei Drehzahl 0 auf und verfährt dann. Falls das nicht der Fall ist, dann gibt es weitere Möglichkeiten, aber da würde ich dann mal die Fachberatung befragen.


----------



## Andy_Scheck (9 Juli 2015)

- Die Umschaltung soll prinzipiell im Stillstand erfolgen --> Das Bit zum Umschalten auf Drehmomentregelung hab ich bereits im Steuerwort (p1501)
- Gibt es ein Bit für das Funktionsmodul Einfachpositionierer?
- In der Expertenliste hab ich den r1509 (Drehmomentsollwert vor Drehmomentbegrenzung) --> Wie ich den jetzt mit dem r2050 verschalte ist mir im Moment noch Schleierhaft?
- Einen Parameter p1503 gibt es nicht, r1509 lässt sich nur lesend bzw. in Senderichtung einfügen.


----------



## zako (9 Juli 2015)

... Du kannst es Dir zum Testen erstmal einfach machen:
Du konfigurierst Deine Achse und aktivierst zu Beginn den Einfachpositionierer *ohne Anwahl* eines Standardtelegramms.
Dann machst Du folgende Verschaltungen:
p840 = ControlUnit.r722.0  // DI0 Einschalten der Achse
p2550 = ControlUnit.r723.1 // DI1 invertiert Anwahl Lageregelung
p1501 = ControlUnit.r722.1 // DI1 Umschalten auf Drehmomentregelung (invertiert zur Anwahl Lageregelung)
p1511 = p2930               // Drehmomentsollwert als Festwert
p2930 = 1.0 Nm            // nur mal so als Beispiel (musst Du wissen) 
p2589 = ControlUnitr722.2 // DI2 Anwahl  Tippen

Die Digitaleingäne kann man auch simulieren (falls Du nicht verdrahten möchtest)!
D.h. über DI0 schaltest Du die Achse ein
Über DI1 schaltest Du in Drehmomentregelung: Achse folgt den Drehmomentsollwert von p2930
Über DI1 wieder auf 0 setzen wird wieder der Lageregler aktiv und über setzen von DI2 kann man die Achse Tippen.

Beim Testen in Drehmomentregelung würde ich den Notaustaster daneben legen oder zumindest die Maximaldrehzahl in p1082 reduzieren falls die Achse durchgeht.


----------



## Andy_Scheck (14 Juli 2015)

Hallo, 
Umschaltung auf Drehmomentregelung funktioniert. Ich musste den Parameter p1511 unter Zusatzmomente dafür verschalten, sowie die Skalierung für Zusatzmoment 1 mit einem Festwert belegen. 
Gerne würde ich den Motor so betreiben, dass entweder das erreichen des Momentes die Beschleunigung abbricht oder das erreichen der Maxdrehzahl. Momentan erhalte ich immer die Meldung Maxdrehzahl erreicht. Ich hab den Parameter p1082 runter gesetzt, bringt aber nix. Wie kann ich das im Starter einstellen?

Wenn ich dagegen mit Drehzahlsteuerung fahre und das Moment mit der Momentengrenze p1528 Prozentual auf 10 % begrenze erscheint die Meldung: Motor blockiert/Drehzahlregler am Anschlag!
Kann ich das nicht so einstellen, damit der Motor quasi in Drückung geht und somit die Drehzahl reduziert, ohne deshalb in Störung zu gehen?
Danke!


----------



## zako (14 Juli 2015)

Andy_Scheck schrieb:


> Wenn ich dagegen mit Drehzahlsteuerung fahre und das Moment mit der Momentengrenze p1528 Prozentual auf 10 % begrenze erscheint die Meldung: Motor blockiert/Drehzahlregler am Anschlag!
> Kann ich das nicht so einstellen, damit der Motor quasi in Drückung geht und somit die Drehzahl reduziert, ohne deshalb in Störung zu gehen?
> Danke!



siehe online- Hilfe: man kann auch p2175 / p2177 anpassen (z.B. auf 0 stellen).


----------



## Andy_Scheck (15 Juli 2015)

Hi,

hab den Drehzahlschwellwert auf 0 gesetzt dann läuft das! Danke zako. 
Eine Frage bleibt aber offen. Ich hab im Starter 2 Fenster für Momentenbegrenzung:

1. Steuerung/Regelung -> Momentensollwerte -> Button Momentenbegrenzung: Wenn ich hier 0% einstelle dann beschleunigt der Antrieb (Drehzahlgeregelt), wenn im Zusatzmoment 1 ein Wert größer 2Nm steht. (wirkt wie ein relatives Maximum bezogen auf das absolute Maximum)

2. Steuerung/Regelung -> Momentenbegrenzung (aktiviert) -> Button Momentengrenze Motorisch / Generatorisch: Hier kann ich spielend prozentual den Wert begrenzen (wirkt wie ein Absolutes Maximum)

Wieso gibt es denn 2 Fenster mit fast identischer Bezeichnung und unterschiedlicher Wirkung?

Ps: Die Variable Momentengrenzerweiterung steht auf 1 und wird in beiden Fenstern genutzt.


----------



## zako (15 Juli 2015)

Andy_Scheck schrieb:


> Wieso gibt es denn 2 Fenster mit fast identischer Bezeichnung und unterschiedlicher Wirkung?



es gibt eben Applikationen wo das Sinn macht. Bsp.: Folienfilmwickler- da ist das Zugmoment ggf. sogar niedriger als die Reibung. D.h. Du limitierst entsprechend Deines Zugsollwerts und dahinter kann man z.B. Reibmoment, Unwuchtvorsteuerung, Nutrastmomentkompensierung etc. aufschalten (wenn man eben solche  Anforderungen hat).


----------



## Andy_Scheck (16 Juli 2015)

Guten morgen,
ok, so komplex ist meine Anwendung nicht. Ich möchte Schrauben anziehen 
Was ich aber dann nicht verstehe, warum ich nicht eine reine Drehmomentvorgabe beim Drehmomentbetrieb verwenden kann (1503 nicht vorhanden). Das Zusatzmoment beinflusst ja wiederrum meine Drehzahlregelung.:???:

Wie kann ich denn meine Drehmomentregelung einschränken, damit der Antrieb nicht durch geht? Ich erhalte bei zu großer Drehmomentvorgabe immer den Fehler Überdrehzahl, würde aber gerne den Antrieb zuvor in die Schranken weisen.
Mfg


----------



## zako (16 Juli 2015)

Andy_Scheck schrieb:


> Guten morgen,
> ok, so komplex ist meine Anwendung nicht. Ich möchte Schrauben anziehen
> Was ich aber dann nicht verstehe, warum ich nicht eine reine Drehmomentvorgabe beim Drehmomentbetrieb verwenden kann (1503 nicht vorhanden). Das Zusatzmoment beinflusst ja wiederrum meine Drehzahlregelung.:???:
> 
> ...



... wenn man eine Drehmomentregelung auf Maximaldrehzahl begrenzen möchte, dann gebe ich diese Maximaldrehzahl als Drehzahlsollwert vor und begrenze einfach das Drehmoment.

Aber wenn Du eh den EPos einsetzen kannst dann nehm doch die Betriebsart "Verfahrsätze" und wähle "Fahren auf Festanschlag". Dann kann man dann eine Zielposition vorgeben und in einen Fenster das Drehmoment begrenzen.


----------

