Schrittmotor Referenzpunktfahrt

Purepain

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wir haben in der Schule ein Festo Modell, mit einem Bohrer der mit 2 Achsen verfahrbar ist.
Um diesen aber kontrolliert verfahren und positionieren zu können müssen wir erst eine Referenzpunktfahrt machen damit wir wissen von wo wir starten.
Wobei wir auch schon beim Problem wären....
Habe heute schon soviel rumexperimentiert aber der macht definitiv nicht das was er soll...
mal zu den Daten:
Cpu ist eine 315-2PN/DP
angesteuert werden die Schrttmotoren mittels einer
ET200S 1STEP 5V Modul

Also um genau zu sein das gezielte Anhalten am Limit_P funktioniert nicht, kann mir einer auf die Spünge helfen mit einem kleinen Code Schnippsel?
 
Hallo purepain,
hast du das manual.

Hab mal eins angehängt.

Gruß Roland
 

Anhänge

  • ET200s_positioning_manual_d.pdf
    3,1 MB · Aufrufe: 58
Zuviel Werbung?
-> Hier kostenlos registrieren
Jap das Manuel habe ich... kann auch sein das ich die Theorie nicht verstanden habe, ich weiss nicht ob er den Limit_P punkt alleine sucht also beim ersten mal drüber fahren und wieder zurück fahren, und dann wieder mit Basisfrequenz bis zum Sensor fahren, oder ob man das programmieren muss
 
Hallo purepain,
DAS musst du ihm schon sagen, was er machen soll.

Schau dir mal die MODEs im manual an.
Damit kannst du die Aktionen einleiten.

Mit den JOBs kannst du die Parameter (Rampen etc) ändern.

Das Ganze ist aber nicht mit "ein paar Codeschnitzel" erledigt.
Lies dir mal gezielt (1STEP 5V) das manual durch und gehe Schritt für Schritt vor.

Gruß Roland
 
Ich komm kein Stück weiter....
Die Anlage macht einfach was sie will...
oder ist selbst im Ansatz bei mir schon ein Fehler
Code:
 L     L#4800                      //Wegstrecke: 4800 Impulse 
      T     DB3.DBD    0
      L     1                           //Multiplikator G = 1 für Ausgangsfrequenz Fa 
      T     "STEP1".Ausgaenge_X_Achse.Byte0


      SET   
      S     "STEP1".Ausgaenge_X_Achse.DRV_EN    //Impulsfreigabe DRV_EN setzen     (DBX5.2) 
      S     "STEP1".Ausgaenge_X_Achse.Betriebsart    //Betriebsart = 1: refpktfahrtt (DBX4.0) 

//8 Byte zum 1STEP 5V/204kHz schreiben 
      L     DB3.DBD    0
      T     PAD  276                    
      L     DB3.DBD    4
      T     PAD  280

//8 Byte vom 1STEP 5V/204kHz lesen 
      L     PED  272                   
      T     "STEP1".Eingaenge_X_Achse.Restweg
      L     PED  276
      T     DB3.DBD   12
 
So also inzwischen läuft er zwar in die Richtige rictung aber bis zum Anschlag und der Referenznocken interessiert ihn kein stück
Code:
      L     L#4800                      //Wegstrecke: 4800 Impulse 
      T     DB3.DBD    0
      L     1                           //Multiplikator G = 1 für Ausgangsfrequenz Fa 
      T     "STEP1".Ausgaenge_X_Achse.Byte0


      SET   
      S     "STEP1".Ausgaenge_X_Achse.DRV_EN    //Impulsfreigabe DRV_EN setzen     (DBX5.2) 
      S     "STEP1".Ausgaenge_X_Achse.Betriebsart    //Betriebsart = 1: refpktfahrtt (DBX4.0) 
      S     "STEP1".Ausgaenge_X_Achse.LIMIT_M    //Betriebsart = 1: refpktfahrtt (DBX4.0) 



      R     "STEP1".Ausgaenge_X_Achse.Bit4_1    //Reservebit = 0                   (DBX4.1) 
      R     "STEP1".Ausgaenge_X_Achse.Bit4_2    //Reservebit = 0                   (DBX4.2) 
      R     "STEP1".Ausgaenge_X_Achse.Bit4_3    //Reservebit = 0                   (DBX4.3) 
      R     "STEP1".Ausgaenge_X_Achse.DIR_M    //Start rückwärts DIR_M löschen    (DBX4.5) 
      R     "STEP1".Ausgaenge_X_Achse.STOP    //STOP löschen                     (DBX4.6) 
      R     "STEP1".Ausgaenge_X_Achse.R //Reduzierfaktor R löschen         (DBX4.7) 

//8 Byte zum 1STEP 5V/204kHz schreiben 
      L     DB3.DBD    0
      T     PAD  276                    //vgl. HW-Konfig.: Ausgänge: 256...263 
      L     DB3.DBD    4
      T     PAD  280

//8 Byte vom 1STEP 5V/204kHz lesen 
      L     PED  272                    //vgl. HW-Konfig.: Eingänge: 260...267 
      T     "STEP1".Eingaenge_X_Achse.Restweg
      L     PED  276
      T     DB3.DBD   12
NW2
Code:
 U     M     10.0                  //Flanke am Startanstoß erkennen und Start 
      UN    "STEP1".Eingaenge_X_Achse.STS_JOB    // DIR_P setzen, wenn STS_JOB gelöscht ist. 
      S     "STEP1".Ausgaenge_X_Achse.DIR_P



      U     "STEP1".Eingaenge_X_Achse.STS_JOB    //auf STS_JOB warten und 
      R     "STEP1".Ausgaenge_X_Achse.DIR_P    //Start DIR_P zurücksetzen; die Fahrt beginnt 
      R     M     10.0                  //Startanstoß löschen

Was ich vor allem nicht verstehe, wenn ich Limit_P mache läuft er in die verkehrte Richtung
mit Limit_M nach vorne....
aber stoppen tut er nicht ...
 
Zurück
Oben