Hallo,
ich möchte einen Schrittmotor via CAN (CANopen) steuern. Das ganze soll im "Profile Position" Modus erfolgen. Ich habe es geschafft via CAN-Bus die Steuerung in die Zustände Pre-Operational, Operational, Ready to Switch On (usw.) mittels des Controlwords zu bekommen. Dementsprechend bekomme ich auch die korrekten Statuswords als Antwort der Motorsteuerung an die SPS zurück.
Aus für mich unersichtlichen Gründen nimmt die Steuerung das Objekt 607A (Target Position) jedoch nicht entgegen, welches ich zur Vorgabe der Soll-Position der Motorsteuerung mitgeben muss. Demzufolge zeigt das Statusword auch immer "Target Reached" an. Und es lässt sich kein Fahrbefehl durch setzen des Bits 4 (und Bit 6 für eine relative Bewegung) starten. Da ich ja auch das Control- und Statusword richtig via PDO Mapping eingerichtet habe und ich da alles sinngemäß zurückbekomme, denke ich nicht, dass dies an meinem Mapping/Hardware Konfiguration liegt. Das Mapping habe ich so vorgenommen, wie es in der EDS der Motorsteuerung (Igus Dryve D1) default-seitig vorgegeben ist. Das Signal für die Target Position (607A) habe ich auch so auf dem CAN Bus mittels Analysetool. Sonstige Parameter für den Positioniermodus wie Profile Velocity, Acceleration usw... sind ebenfalls in der EDS Datei eingetragen.
Woran könnte das liegen, dass die Steuerung die Target Position nicht "übernimmt"/ im OD abspeichert und infolgedessen auch kein Fahrbefehl mittels Controlword gesetzt werden kann?
Einen Fehler auf Seite der Hardwarekonfiguration/Mapping kann ich mir eigentlich nicht mehr vorstellen, da ja ich das jetzt schon mehrmals neu eingerichtet hatte.
Die Hardware ist mittels TIA Portal projektiert (TIA V 15.1)
Die Motorsteuerung Igus D1 zum Ansteuern eines Schrittmotors
Als Schnittstelle zwischen SPS (ET200SP 1512SP F-1 PN ) und der Motorsteuerung verwende ich den Siemens PN/CAN Link ( über den ich ja wie angesprochen Controlword usw. senden kann)
Die Target Position 607A sende ich mittels COB-ID 302 an die Steuerung ( vom Mapping her analog zu dem C-Word, nur statt Datentyp Unsigned 16 Bit halt eben wie vorgegeben Integer 32 Bit) Und im TIA Portal PDO Mapping habe ich als Übertragungsart "Applikationsspezifische Ereignissteuerung" mit Ereignistimer 0 ms/ Sperrzeit 0 ms eingestellt. (funktioniert ja auch beim c-Word)
Ich bin etwas ratlos, da es eigentlich so funktionieren müsste... Hatte da jemand auch schonmal Probleme bei Motorsteuerungen die mittels CAN angesteuert werden ?
Das geiche Problem hatte ich auch bei einer Nanotec Steuerung C5-E-1-09 (dort wird Target Position) ebenfalls nicht übernommen (Mapping Fehler kann ich hier ebenfalls bestreiten..)
Für Hilfe und Ratschläge bin ich überaus dankbar.
Fahrbefehl.jpgSende Target Position.jpgD1 Browser.jpg