CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions
Deutsche Version English version russian version 
Aktuelle Zeit: Di Okt 17, 2017 9:48 am

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Regelung über eine virtuelle Achse
BeitragVerfasst: Mo Apr 10, 2017 10:12 am 
Offline

Registriert: Mo Nov 23, 2015 3:59 pm
Beiträge: 3
Hallo,
ich betreibe einen Schrittmotor mit einer Nanotec SMCI36 Motorsteuerung, die ich in Codesys über eine CANopen Verbindung als SMCI47S eingebunden habe.
Der Roboterarm, den ich damit bewegen möchte, verfügt über einen Encoder, dessen Auflösung jedoch nicht mit der SMCI36 Motorsteuerung kompatibel ist, weswegen ich die Regelung der Achse über eine virtuelle Achse mit dem Encoder des Roboterarms durchführen möchte. Laut dem Handbuch scheint SM_Drive_PosControl hierfür gut geeignet zu sein. Leider wird mir anhand des Beispiels nicht klar, wie dies über CANopen zu realisieren ist. Hätte jemand eine Idee, wie ich mein Vorhaben realisieren kann?

Danke schon mal im Voraus


Nach oben
   
BeitragVerfasst: Mi Apr 12, 2017 3:04 pm 
Offline

Registriert: Mo Nov 23, 2015 3:59 pm
Beiträge: 3
Hallo,
ich habe das Mapping wie im Bild zu sehen vorgenommen. Durch das Mapping von "Application.DriveA1V.in.dwActPosition" auf "Position actual value" wird der Istwert in der virtuellen Achse übernommen. Leider führt der Motor durch das Mapping von "Application.DriveA1V.out.iSetVelocity" auf "vl target velocity" keine Bewegung aus, wenn ich der virtuellen Achse mit MC_MoveAbsolute eine Position vor gebe. Nur wenn ich mit SMC_FollowVelocity die variable fSetVelocity der virtuellen Achse (DriveA1V) auf die reale Achse (DriveA1) gebe wird der Motor in Bewegung gesetzt.
Des weiteren wird die Position nicht richtig geregelt. Es scheint als ob die virtuelle Achse unabhängig von dem empfangenen Istwert den Sollwert auf die vorgegebene Position bringen möchte. Hab ich vielleicht die Funktionsweise von SM_Drive_PosControl falsch verstanden oder ist meine Vorgehensweise nicht korrekt?


Dateianhänge:
Bild1.png
Bild1.png [ 182.64 KiB | 460 mal betrachtet ]
Nach oben
   
BeitragVerfasst: Fr Sep 15, 2017 5:00 am 
Offline
Site Admin

Registriert: Mo Sep 05, 2005 8:42 am
Beiträge: 2158
Hallo,

sorry das ich jetzt erst Antworte,
bei der SoftMotion musst das Mapping nicht von Hand machen, sondern das passiert alles in den SM Treibern.
Wenn du die reale Achse koppel willst mit einer virtuellen gibt's mehrere Möglichkeiten:
1. MC_GearIn 1:1koppeln (Echte Achse mit virtueller)
2.Logical Achse unterhalb der SoftMotion Achse anhängen.
Die kann z.B dann statt rotatorisch wie die original Achse - > lineaxr skaliert sein usw..

Grüße
Edwin


Dateianhänge:
AddLogicalAxis.jpg
AddLogicalAxis.jpg [ 77.8 KiB | 78 mal betrachtet ]
Logical.jpg
Logical.jpg [ 111.27 KiB | 78 mal betrachtet ]
Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de