# SEW Movidrive, Positionieren und Drehmoment



## Sinix (28 März 2011)

Hallo Experten,

bin zur Zeit in der Planungsphase und möchte mit einem SEW-Movidrive einen Servo zum einen Positionieren und zum anderen ein Werkstück verpressen. 

Im Einzelnen soll die Achse in eine Vorab-Position verfahren werden. Dann soll ein Werkstück auf ein anderes gepresst werden und bis zu 10 Sekunden angedrückt werden. Dazu würde ich zunächst positionieren und anhand des Stromes erfassen, wenn das Werkstück angedrückt ist. Nun muss bei Ist=Sollposition das Moment aufrecht erhalten werden. Anschließend soll die Achse in die Homeposition zurückverfahren. 

Steuerung ist eine S7. Takt und Zykluszeit zweitrangig. 
Für die Positionierung soll die erweiterte Buspositionierung eingesetzt werden. Für das Andrücken würde ich gerne die Parametrierung über Profidrive Datensatz 47 (Read/Write Record) anwenden. 
Als Grundlage habe ich zur Zeit das Beispiel von SEW(FB100). Und hier nun die Fragen an euch:

Wer hat das so ähnlich gemacht und kann mir Tipps geben?
Insbesondere welche Parameter müsste ich für die Momentenregelung angreifen?
Wo finde ich Informationen, bei SEW gibts so einige Applikationen, aber dazu habe ich nichts gefunden.

PS.: Änderungen an der Hardware oder IPOS-Programmierung stehen derzeit nicht zur Diskussion.

Vielen Dank für Antworten
Mäuseklavier


----------



## IBFS (28 März 2011)

Mäuseklavier schrieb:


> .....
> bin zur Zeit in der Planungsphase
> ...
> bei SEW gibts so einige Applikationen, aber dazu habe ich nichts gefunden.
> ...



Solche Aufgabenstellungen würde ich immer erst mal mit den SEW-Experten besprechen.
Im allgemeinen wird so etwas am Ende an SEW outgesourced.
Die haben Servicetechniker, ehe du dass weißt, was die Wissen (MÜSSEN)... 

Frank


----------



## Sinix (29 März 2011)

Hallo Frank,

diese Vorgehensweise ist prinzipiell richtig und praktizieren wir oft auch.
SEW würde hier auf eine selbstentwickelte IPOS-Programmierung zurückgreifen. Das ist aber nicht in meinem Sinne, ich möchte die Programmierung selbst in der Hand haben, zum einen wegen späterer Diagnose, zum anderen zur Vermeidung von Problemen bei Gerätetausch. Warum soll ich also nicht eine Lösung entwickeln, die auf vorhandene Programmierstrategien zurückgreift. An und für sich ist die Anwendung auch nicht zu kompliziert um ausgesourced zu werden. Kenne ich die Parameter die ich angreifen muss und funktioniert die Parametrierung über Datensatz 47 ist der Rest nur noch Gutenberg.

MfG 
MK


----------



## Sinix (30 März 2011)

*keiner hier eine Ahnung?*

Hi,

bin jetzt einen Schritt weiter und kann die Betriebsart im Parameter 8574 von Servo&IPOS auf Servo&Momentenregelung umschalten. Leider geht dies im Moment nur wenn ich an DI0 die Reglerfreigabe wegnehme. Weiß jemand eine Möglichkeit ohne über die Reglerfreigabe an der Klemmleiste in den Betriebszustand 1 zu kommen?

Gruß MK


----------



## Lipperlandstern (30 März 2011)

Warum nicht IPOS ? ... du kannst du die Erweiterte Buspositionierung anwenden um zu positionieren und beim Pressen musst du einen Wert angeben der "im Werkstück" liegt. Den Pressdruck stellt du über den Parameter Drehmoment aus deiner Steuerung ein.


----------



## Sinix (31 März 2011)

Lipperlandstern schrieb:


> Warum nicht IPOS ? ... du kannst du die Erweiterte Buspositionierung anwenden um zu positionieren und beim Pressen musst du einen Wert angeben der "im Werkstück" liegt. Den Pressdruck stellt du über den Parameter Drehmoment aus deiner Steuerung ein.



Kein IPOS, siehe oben.
Welchen Parameter Drehmoment meinst du? 

Zur Zeit schalte ich ja die Betriebsart um, da wird statt der Sollposition der Sollstrom in %In vorgegeben.


----------



## rostiger Nagel (31 März 2011)

Wenn du dir nicht den eigenen Weg mit IPOS verstellen würdest, könntest
du mit ganz einfachen Mitteln den Parameter direkt in die Peripherie legen.
Ich würde wirklich mal bei SEW anfragen, das ist kein Hexenwerk und für
dich später eine einfache und schnelle Lössung.


----------



## Sinix (31 März 2011)

Hallo Helmut,

und von welchem Parameter schreibst du?

Wie schon oben beschrieben funktioniert das ganze und so kompliziert ist es in der S7 nicht. Zum Fc140 kommt der FB100 mit 3 Netzwerken zur Umschaltung dazu. Ich sehe da nur Vorteile. Zwei Probleme Beschäftigen mich noch. Erstens  das ich beim Umschalten der Betriebsart die Reglerfreigabe wegnehmen muss. Zweitens die Auflösung des Iststroms in der S7.

Wie würde sowas in einem  IPOS-Programm aussehen? Gebe ich da Position und Strom gleichzeitig in der Betriebsart Servo&IPOS vor?

Mfg


----------



## rostiger Nagel (31 März 2011)

Hallo Mäuseklavier,
du kannst ja jeden Parameter auf die Profibusschnittstelle ziehen und auch
direkt beschreiben, also währe es möglich auch zur Laufzeit den Maximal
Strom zu ändern. Ich habe mal ein IPOS Programm geschrieben um mit den
Dezentralen FU's MQP (Igel) ein Positionierung durchzuführen. Hier ein Teil
zur Variabeln Deklaration und wie Werte in den Feldbus umgeladen werden.


```
/*==================================================================================================
              IPOS-Quelldatei
    Erstellt am 25.11.05 Helmut_von_der_Reparatur
 
Ansteuerung Antrieb durch die SPS/Application (DP-Prozessausgangsdaten)
--------------------------------------------------------------------------
Wenn bei den Sollwerten Geschwindigkeit oder Rampe eine "0" vorgegeben wird
fährt der Antrieb mit Wert aus den Parametern.
1.   Wort   =   Steuerwort
2/3. Wort   =   Zielposition
4.   Wort   =   Soll-Geschwindigkeit
5.   Wort   =   Hochlaufzeit
6.   Wort   =   Tieflaufzeit
7.   Wort   =   IPOS-Ausgänge
Belegung Steuerwort
15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Reglersperre /Freigabe
|  |  |  |  |  |  |  |  |  |  |  |  |  |  Freigabe /Schnellstop
|  |  |  |  |  |  |  |  |  |  |  |  |  Freigabe /Halt
|  |  |  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  Reset
|  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  Referenzieren
|  |  |  |  |  |  Automatik
|  |  |  |  |  Tippen plus
|  |  |  |  Tippen minus
|  |  |  reserviert
|  |  reserviert
|  reserviert
reserviert
Belegung IPOS-Ausgänge
15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  DO0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  DO1
----           reserviert           ----
Rückmeldung Antrieb an die SPS/Application (DP-Prozesseingangsdaten)
--------------------------------------------------------------------------
1.   Wort   =   Statuswort
2/3. Wort   =   Ist-Position
4.   Wort   =   Ist-Geschwindigkeit
5.   Wort   =   frei
6.   Wort   =   Geräteauslastung
7.   Wort   =   IPOS-Eingänge
Belegung Statuswort
15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Motor-Dreht
|  |  |  |  |  |  |  |  |  |  |  |  |  |  Umrichter Betriebsbereit
|  |  |  |  |  |  |  |  |  |  |  |  |  Antrieb referenziert
|  |  |  |  |  |  |  |  |  |  |  |  Zielposition erreicht
|  |  |  |  |  |  |  |  |  |  |  Bremse geöffnet
|  |  |  |  |  |  |  |  |  |  Fehler
|  |  |  |  |  |  |  |  |  Endschalter rechts
|  |  |  |  |  |  |  |  Endschalter links
Umrichterstatus / Fehler-Code
Belegung IPOS-Eingänge
15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  DI0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  DI1
|  |  |  |  |  |  |  |  |  |  |  |  |  DI2
|  |  |  |  |  |  |  |  |  |  |  |  DI3
----         reserviert       ----
==================================================================================================*/
#include <const.h>
#include <io.h>
#pragma initials  90 127
#pragma globals  210 300
#pragma var      301 400
//-----  Movilink - Profil  -----
MOVCOM      mc;
MCPDATA     mcd;
MCPARADATA  mcpara;
MOVLNK      ml;
MLDATA      mld;
GSPODATA10  DP_OUT;
SSPIDATA10  DP_IN;
//-----  Algemeine Variablen  -----
#define   Betriebsart                   H0
#define   Rueckgabe_betriebsart         H1
#define   Statuswort                    H2
#define   Schnellstop_Rampe             H3
#define   Soll_Speed                    H7
#define   START                         _BitSet(mcd.PO1, 2)
#define   STOP                          _BitClear(mcd.PO1, 2)
long Freigabe, Servicebetrieb, Schmier_T1, Schmier_T2;
//-----  Variablen Skalierung  -----
#define   Faktor_Position               H10
#define   Divisor_Position              H11
#define   Faktor_Speed                  H12
#define   Divisor_Speed                 H13
//-----  Variablen Status  -----
#define   Linkslauf                     H20
#define   Rechtslauf                    H21
#define   IST_Speed                     H22
#define   Motor_dreht_SET               _BitSet(Statuswort, 0)
#define   Motor_dreht_RESET             _BitClear(Statuswort, 0)
#define   Motor_dreht                   (Statuswort & 0x1)
#define   Bereit_SET                    _BitSet(Statuswort, 1)
#define   Bereit_RESET                  _BitClear(Statuswort, 1)
#define   Bereit                        (Statuswort & 0x2)
#define   Bremse_SET                    _BitSet(Statuswort, 4)
#define   Bremse_RESET                  _BitClear(Statuswort, 4)
#define   Bremse                        (Statuswort & 0x10)
long H511_speicher, H511_differenz;
//-----  Variablen Endlagen  -----
#define   SW_endschalter_links          H25
#define   SW_endschalter_rechts         H26
#define   HW_endschalter_links_aktiv    H27
#define   HW_endschalter_rechts_aktiv   H28
#define   Endschalter_links             ((InputLevel >> 2) & 1)
#define   Endlage_links_SET             _BitSet(Statuswort, 7)
#define   Endlage_links_RESET           _BitClear(Statuswort, 7)
#define   Endlage_links                 (Statuswort & 0x80)
#define   Endschalter_rechts            ((InputLevel >> 3) & 1)
#define   Endlage_rechts_SET            _BitSet(Statuswort, 6)
#define   Endlage_rechts_RESET          _BitClear(Statuswort, 6)
#define   Endlage_rechts                (Statuswort & 0x40)
long SW_endschalter_aktiv, SW_Endlage_links, SW_Endlage_rechts,
     SW_endschalter_links_MM, SW_endschalter_rechts_MM,
     HW_Endlage_links, HW_Endlage_rechts;
//-----  Variablen Tippen  -----
#define   Tippen_links_Speed            H30
#define   Tippen_links_Rampe_auf        H31
#define   Tippen_links_Rampe_ab         H32
#define   Tippen_rechts_Speed           H33
#define   Tippen_rechts_Rampe_auf       H34
#define   Tippen_rechts_Rampe_ab        H35
//-----  Automatik  -----
#define   Auto_Speed                    H41
#define   Auto_Rampe_auf                H42
#define   Auto_Rampe_ab                 H43
#define   Pos_erreicht_SET              _BitSet(Statuswort, 3)
#define   Pos_erreicht_RESET            _BitClear(Statuswort, 3)
#define   Pos_erreicht                  (Statuswort & 0x8)
long Auto_Schmier;
//-----  Zielregelung  -----
#define   Reg_Fenster                   H51
#define   Reg_Divisor_Rampe_min         H52
#define   Reg_Divisor_Rampe_max         H53
#define   Reg_Faktor_Rampe              H54
#define   Reg_Divisor_Rampe             H55
#define   Reg_Mindestdrehzahl           H56
#define   Reg_Lose                      H57
#define   Verz_Ziel                     H58
long Reg_Schmier, Reg_Differenz, Reg_Speed, Reg_Lose_fahren,
     Reg_Lose_gefahren;
//-----  Referenzieren  -----
#define  Referenziert_SET               _BitSet(Statuswort, 2)
#define  Referenziert_RESET             _BitClear(Statuswort, 2)
#define  Referenziert                   (Statuswort & 0x4)
//-----  Position Speicher  -----
#define  Start_Pos_Speicher              H90
long Start_Pos_Schmier;
MOVLNK   Start_Pos;
//-----  Störung  -----
#define  Sammelstoerung_SET             _BitSet(Statuswort, 5)
#define  Sammelstoerung_RESET           _BitClear(Statuswort, 5)
#define  Sammelstoerung                 (Statuswort & 0x20)
#define  MM_OVER_CURRENT                1
#define  MM_DC_LINK                     7
#define  MM_THERM_OV_OUT                11
#define  MM_THERM_OV_MOT                84
#define  MM_THERM_OV_BRAKE              85
#define  MQX_IPOS_ILLOP                 10
#define  MQX_SYSTEM_FAULT               91
#define  FEHLER_RESET                   (DP_OUT.PO1 & 0b1000000)
#define  STOERUNG_MM                    (mcd.PI1 & 0b100000)
#define  TIMEOUT_MOVIMOT                0x05000002
long MQX_Fehler, Fehler;
//-----  Betriebsarten  -----
#define  Referenzieren         1
#define  Automatik             2
#define  Hand_rechts           4
#define  Hand_links            8
 
/*=============================================
       Funktion Task2
===============================================*/
Funktion_Task2()
  {
  //-----  Bei Servicebetrieb = "0", Feldbussignale an MQX  -----
  if(!Servicebetrieb)
    _GetSys(DP_OUT, GS_PODATA );
    _SetSys(SS_PIDATA, DP_IN );
  //-----  Freigabe  ----
  _BitMove(mcd.PO1, 6, DP_OUT.PO1, 6);
  if((DP_OUT.PO1 & 0x6) == 6)
    {
    _BitSet (mcd.PO1, 1);
    Freigabe = 1;
    }
    else
    {
    _BitClear (mcd.PO1, 1);
    mcd.PO3 = Schnellstop_Rampe;
    Freigabe = 0;
    }
  //-----  Rueckmeldungen an die SPS  -----
  if(Sammelstoerung)
    Schmier_T2 = Fehler << 8;
    else
    Schmier_T2 = Rueckgabe_betriebsart << 8;
  DP_IN.PI1 = Schmier_T2 | Statuswort;
  Schmier_T2 = ActPos_Mot * Divisor_Position / Faktor_Position;
  DP_IN.PI2 = Schmier_T2 >> 16;
  DP_IN.PI3 = Schmier_T2 & 0xFFFF;
  DP_IN.PI4 = IST_Speed;
  DP_IN.PI6 = mcd.PI2;
  DP_IN.PI7 = H483;
  //-----  Steuersignale an den MQX  -----
//  StdOutpIPOS = DP_OUT.PO6;
  H481 = DP_OUT.PO7;
  //-----  Betriebsart auswählen  -----
  Betriebsart = (DP_OUT.PO1 & 0xFF00) >> 8;
  //-----  Allgemeine Verwaltung  -----
  Funktion_Status();
  Funktion_Endlage();
  Funktion_Start_Pos();
  Fehlerauswertung();
  }
```


----------



## rostiger Nagel (31 März 2011)

....teil 2


```
/*=============================================
    Funktion Task 1
===============================================*/
Funktion_Task1()
  {
    Funktion_Hand_rechts();
    Funktion_Hand_links();
    Funktion_Automatik();
    Funktion_Referenzieren();
    STOP;
  }

/*=============================================
                   Task2
===============================================*/
Task2()
  {
  //Funktion_Task1();
  Funktion_Task2();
  }
/*=============================================
              Interrupt-Routine
===============================================*/
Interrupt()
  {
    Funktion_Geschwindigkeit();
  }
/*=============================================
   Hauptfunktion (IPOS-Eintrittsfunktion)
===============================================*/
main()
  {
  /*-------------------------------------
             Initialisierung
  --------------------------------------*/
  Statuswort = 0;
  Rueckgabe_betriebsart = 0;
  Servicebetrieb = 0;
  //-----  Initialisierung des Prozeßausgangsdatenpuffers  -----
  DP_OUT.BusType = 3;             // Bus Type: Feldbus
  DP_OUT.Len     = 10;            // Länge 10 Worte
  //-----  Initialisierung des Prozeßeingangsdatenpuffers  -----
  DP_IN.Len      = 10;            // Länge 6 Worte
  //-----  Struktur Verbindung MQX <-> Movilink initalisieren  -----
  mc.BusType     = ML_BT_S1;      // Komunikation via RS-485 zum Movilink
  mc.Address     = 1;             // Umrichteradresse
  mc.Format      = ML_FT_3;       // 3 Prozessdatenworte
  mc.PdPointer   = numof(mcd);    // Pointer auf Proßessdaten
  mc.ParaPointer = numof(mcpara); // Pointer auf Parameterdaten
  mcd.PO1        = 0;             // Mowimot Statuswort auf "0" setzen
  _MovCommDef(mc);                // Einrichten der Kommunikationsbeziehung
  _MovCommOn();                   // Start der zyklischen Kommunikation
  //-----  Struktur Verbindung Position_Speicher <-> Movilink initalisieren  -----
  Start_Pos.BusType  = ML_BT_S1;
  Start_Pos.Address  = 253;
  Start_Pos.Format   = ML_FT_PAR;
  Start_Pos.Service  = ML_S_WR;
  Start_Pos.Index    = 11090;
  Start_Pos.DPointer = numof(Start_Pos_Speicher);
  //-----  gesicherte Position zurückspeichern  -----
  H511 = Start_Pos_Speicher;
  if(H511 !=0)
    Referenziert_SET;
    else
    Referenziert_RESET;
  //-----  Task2 aktivieren  -----
  _SetTask2(T2_START, Task2);
  //-----  Interrupt-Routine aktivieren  -----
  _SetInterrupt(SI_TIMER0, Interrupt);     // Ermittlung der Geschwindigkeit
   T0_Reload = 50;
  //----- Schleife Task 1 aufrufen  -----
  while(1)
    {
     Funktion_Task1();
     //Funktion_Task2();
    }
  }
```


----------



## Sinix (31 März 2011)

Hallo Helmut,

danke für deinen Beitrag.


Wann/Wo wird bei deinem Beispiel das Steuerwort-Bit 0 gesetzt?


mfG Mäuseklavier


----------



## Tigerente1974 (31 März 2011)

Mäuseklavier schrieb:


> Zweitens die Auflösung des Iststroms in der S7.



Auszug aus dem Handbuch "Kommunikation und Feldbusgeräteprofil"


----------



## Lipperlandstern (31 März 2011)

Mäuseklavier schrieb:


> Kein IPOS, siehe oben.
> Welchen Parameter Drehmoment meinst du?
> 
> Zur Zeit schalte ich ja die Betriebsart um, da wird statt der Sollposition der Sollstrom in %In vorgegeben.


 

304 Drehmomentengrenze 0 ... 150%

Bei meinen Pressen ändere ich diesen Parameter über den Parameterkanal und bestimme damit den Pressdruck.


----------



## rostiger Nagel (31 März 2011)

Mäuseklavier schrieb:


> Hallo Helmut,
> 
> danke für deinen Beitrag.
> 
> ...


 

ich lade "h6" ins Steuerwort, das Bit bearbeite ich nicht extra

```
if((DP_OUT.PO1 & 0x6) == 6)
    {
    _BitSet (mcd.PO1, 1);
    Freigabe = 1;
    }
    else
    {
    _BitClear (mcd.PO1, 1);
    mcd.PO3 = Schnellstop_Rampe;
    Freigabe = 0;
```


----------



## Sinix (31 März 2011)

Hallo und Danke an alle. 

@Tigerente: super, Auflösung um ein Zehntel genauer ;-)

@Lipperlandstern: Das ist ja ein super Lösungsansatz, da bräuchte ich die Betriebsart nicht umschalten und die Sache ist geritzt. Probier ich morgen gleich aus.

@Helmut: Steuerwort ist bei dir 6dez = 0000 0110bin
Was ist nun mit Bit 0 Reglerfreigabe?

Mfg Mäuseklavier


----------



## rostiger Nagel (31 März 2011)

das ist doch invertiert bei SEW das ist ja eigentlich nicht freigabe,
sondern Reglersperre. SEW kenzeichnet das doch mit den "/".
Siehe folgendes:


```
Belegung Steuerwort
15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Reglersperre [COLOR=red]/Freigabe
[/COLOR]|  |  |  |  |  |  |  |  |  |  |  |  |  |  Freigabe [COLOR=red]/Schnellstop
[/COLOR]|  |  |  |  |  |  |  |  |  |  |  |  |  Freigabe [COLOR=red]/Halt
[/COLOR]|  |  |  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  |  |  Reset
|  |  |  |  |  |  |  |  reserviert
|  |  |  |  |  |  |  Referenzieren
|  |  |  |  |  |  Automatik
|  |  |  |  |  Tippen plus
|  |  |  |  Tippen minus
|  |  |  reserviert
|  |  reserviert
|  reserviert
reserviert
```


----------



## Sinix (31 März 2011)

Helmut_von_der_Reparatur schrieb:


> das ist doch invertiert bei SEW das ist ja eigentlich nicht freigabe,
> sondern Reglersperre. SEW kenzeichnet das doch mit den "/".
> Siehe folgendes:



...mal die Brille aufsetzte und dir Recht gebe...
...und bei mir mal auf "1" setzte und schaue was passiert...


----------



## Sinix (1 April 2011)

*Letzter Schliff?*

ok Parameter 304 entsprechend angepasst und Paramter Drehzahlüberwachung ausgeschaltet. Nun passiert es, dass Positioniert wird bis Drehmomentgrenze erreicht. Soweit so gut. 

Wird aber die Last wieder reduziert (bzw. Leerlauf) geht der Motor bis zur virtuellen Istposition mit scheinbar Vmax durch (virtuell = als wäre er weiter mit normaler Geschwindigkeit gelaufen, da Steuerbit Positionieren noch ansteht). 

Was ist noch zu tun?

MfG Mäuseklavier


----------



## rostiger Nagel (1 April 2011)

ich denke das er ja noch im Positonier Mode ist, wenn du ihn jetzt mit
Strom gegen einen Festanschlag fahren lassen möchtest, versucht der
Regler ja die position zu erreichen, kann es aber nicht.
Vlt. solltest du auf Tippbetrieb umstellen und dann den Strom auswerten,
wenn er eine gewisse Zeit an der Stromgrenze liegt, den Antrieb abschalten.


----------



## Tigerente1974 (1 April 2011)

Für diese Variante aber auch den Parameter 732 (Bremseneinfallzeit) nicht aus den Augen verlieren -> die Bremse muss vollständig einfallen ehe der Regler abgeschaltet wird. Ggf. auch die Haltekraft der Bremse beachten.

Nachtrag zum Steuerwort: h6 geht auf jeden Fall. Falls Du zwischen Normalhalt und Schnellstop einen Unterschied machen möchtest, würde ich aber die Bitvariante empfehlen. Ist aber auch Geschmackssache.


----------



## Sinix (1 April 2011)

@Helmut, auch beim Tippen die gleiche Symptomatik, unabhängig ob ich das Steuerbit Tippen wegnehme oder nicht.

@Tigerente, keine Bremse vorhanden, aber Danke für den Tipp

MfG


----------



## rostiger Nagel (1 April 2011)

Noch ein Versuch, wenn du die stromregelung aktivierst zyklisch die sollposition
mit der aktuellen istposition überschreiben.


----------



## Lipperlandstern (1 April 2011)

Mäuseklavier schrieb:


> ok Parameter 304 entsprechend angepasst und Paramter Drehzahlüberwachung ausgeschaltet. Nun passiert es, dass Positioniert wird bis Drehmomentgrenze erreicht. Soweit so gut.
> 
> Wird aber die Last wieder reduziert (bzw. Leerlauf) geht der Motor bis zur virtuellen Istposition mit scheinbar Vmax durch (virtuell = als wäre er weiter mit normaler Geschwindigkeit gelaufen, da Steuerbit Positionieren noch ansteht).
> 
> ...


 
Ach ja...... das hatte ich vergessen zu erwähnen  Nach dem "Pressvorgang" muss du das Start-Bit zurücksetzen und dann eine neue Positionierung starten.


----------



## Isch (1 April 2011)

Hallo,  wenn man die Betriebsart von Positionieren auf Momentregelung  umschaltet, sollte man noch darauf achten das sowohl die Software- als  auch die Hardwareendschalter dann keine Funktion mehr haben, also im  Zweifelsfall der Antrieb mit der max. Drehzahl und dem eingestellten  Drehmoment in den Anschlag rauscht. (falls SEW das nicht  zwischenzeitlich geändert hat, Stand vor ca. 1Jahr)  

Die Betriebsart kann man zumindest in IPOS auch ohne Reglersperre mit:

```
long Opmode;
...
Opmode = 18; // Betriebsart Positionieren 
...
Opmode = 17; // Betriebsart Momentregelung  
...
_SetSys(SS_OPMODE, Opmode);
```
umschalten.


----------



## Sinix (5 April 2011)

Lipperlandstern schrieb:


> Ach ja...... das hatte ich vergessen zu erwähnen  Nach dem "Pressvorgang" muss du das Start-Bit zurücksetzen und dann eine neue Positionierung starten.



Danke das wars


----------



## Sinix (20 Mai 2011)

*noch Hilfe*

Hallo,

nach den Trockenversuchen habe ich nun die Maschine vor mir und nun folgender Fall:

1) Setze P304  Drehmomentgrenze volatil auf 20%
2) Umrichter bekommt einen Fehler
3) Quittiere Fehler --> dabei wird P304 ungewünscht wieder auf 150% gesetzt.

Gibts eine Möglichkeit den Effekt bei 3) zu verhindern?

Gruß MK


----------



## pommes (23 Mai 2011)

Hallo,
schreib den P304 "non-volatil". Dann ist auch nach Fehler-Reset der zuletzt eingestellte Wert im Umrichter vorhanden.

Vllt. solltest du die drehzahlüberwachung deaktivieren, wenn du mit Drehmomentgrenzen arbeitest. Dann musst du auch weniger quittieren ( F08 ).

Gruß!


----------



## Sinix (23 Mai 2011)

pommes schrieb:


> Hallo,
> schreib den P304 "non-volatil". Dann ist auch nach Fehler-Reset der zuletzt eingestellte Wert im Umrichter vorhanden.
> 
> Vllt. solltest du die drehzahlüberwachung deaktivieren, wenn du mit Drehmomentgrenzen arbeitest. Dann musst du auch weniger quittieren ( F08 ).
> ...



Hallo pommes, soweit bin ich ja schon längst, bitte letzte Frage genau lesen. 
"non volatil" geht nicht, da P304 bei jeden Maschinenzyklus neu geschrieben werden soll.


----------



## pommes (23 Mai 2011)

Wenn du MDX-B Umrichter im Einsatz hast (hast du doch, oder?), warum soll dann non-volatil nicht gehen?


----------



## Sinix (23 Mai 2011)

gehen tut das schon, aber wieviele Schreib-Lesezyklen verträgt der Flash/EEPROM? 

Im Handbuch steht unter anderem, das bei "...Notwendigkeit, Parameter in kurzen Zeitabständen zyklisch zu schreiben, verwenden Sie bitte den Movilink-Service "Write-parameter volatile"..." Bei mir mit bis zu 2000 Zyklen pro Tag gehe ich davon aus.

MfG


----------



## pommes (24 Mai 2011)

Im Movidrive B ist zur Speicherung von Variablen und Parametern ein NV-RAM eingesetzt, d.h. du kannst die Werte zyklisch speichernd beschreiben.

Bei den A-Geräten musste man darauf noch achten.


----------



## Blockmove (24 Dezember 2014)

Hallo und Frohe Weihnachten

ich kram jetzt mal diesen alten Thread wieder hervor und frag mal, ob es mit dem MDX61 folgendes wirklich funktioniert:

Position anfahren mit der erweiterten Buspositionierung
Wenn Position erreicht -> Reglersperre bringen
Drehmoment-Parameter 304 über Profinet auf 20% begrenzen
Betriebsmode auf Tippbetrieb
Reglersperre wegnehmen
Tippen Plus mit dem reduzierten Moment

Hintergrund: Ich muss an einen externen Wickler mein Material mit einem bestimmten Moment übergeben.

Hat zufällig noch jemand ein Codebeispiel wie man Parameter per Profibus im MDX61 liest und schreibt?

Besten Dank und frohe Feiertage

Gruß
Dieter


----------



## Lipperlandstern (24 Dezember 2014)

Hallo Dieter.

für Parameter schreiben über Profibus gibt es bei SEW auf der HP einen Baustein. Der funktioniert sehr gut.  Deine Anwendung ist damit kein Problem. Ein Beispiel kann ich dir schicken aber erst nach Weihnachten. Ich bin ca. 300 km von meinem Programmiergerät entfernt


----------



## halloween20 (1 Oktober 2019)

Sorry für das Ausbuddeln dieses alten Threads...
Nur bin ich über die Suche hier gelandet da hier über den P304 gesprochen wird und wie dieser von der S7 aus geändert wird...

Ich wüsste gern wie das geht 
Ich nutze den FB100 DS47_Param von SEW um unter anderem die Drehzahlüberwachung beim Motor vorrübergehen zu deaktivieren.
Um die meine Anwendung zu verbessen würde ich nun, zusätzlich und zu einem anderen Zeitpunkt, auch noch gerne den P304 ändern.
Hintergrund ist das der Wert für ein Pressvorgang den Wert xx hat. Vor dem Pressen soll der Motor jedoch noch etwas verschieben. dafür soll er einen vergleichsweise geringen Wert haben um das, was er verschiebt nicht zu beschädigen.
in der von mir gefundenen Parameterliste wird der p304 aber nicht aufgelistet.
drehzahlüberwachung ist 216Dh aber die Stelle nach p303 (2146h) ist direkt ein anderer Parameterwert für P310 (2147h) ?!?!?


----------



## Lipperlandstern (1 Oktober 2019)

P304 ist 21F0


----------



## halloween20 (1 Oktober 2019)

da soll einer drauf kommen


----------



## mrtommyt (12 Dezember 2022)

Ich klink mich mal kurz ein hier,
wo finde ich die Parameterzuordnung zu dem Parameterindex des DS47?
304 => 21F0
500 => ???
923 => ???
irgendwie steh ich da auf dem Schlauch...


----------



## Lipperlandstern (12 Dezember 2022)

Schaust du hier 



			https://download.sew-eurodrive.com/download/pdf/16872800.pdf


----------



## maxder2te (12 Dezember 2022)

Wenn du in MotionStudio den Cursor über den betreffenden Parameter stellst, erhälst du die Indizes angezeigt.


----------



## mrtommyt (13 Dezember 2022)

es kann so einfach sein, besten Dank


----------

