Codesys, Nanotec und Ethercat

Techrotek

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich brauche mal euren Rat bzw. Hilfe. Der generelle Aufbau ist:
Die Codesys-Runtime läuft auf einen Raspberry Pi 2 und soll über Ethercat die Schrittmotosteuerung Nanotec N5 ansteuern. Der Schrittmotor soll mittels inkremetalen Encoder im Closed-Loop betrieben werden.

Als ersten Schritt sollte das Referenzieren auf den Refernzschalter erfolgen. Dazu wollte ich den Baustein SMC_Homing benutzen, die Refernzfahrt wird jedoch nicht nach dem Start geht automatisch ausgeführt. Der Kanal Modes of operation bekommt auch automatisch eine 8 zugewiesen, dieses entspricht dem Cyclic sync position mode. Wenn ich in den Kanal eine 6 (Homing) per Hand einstelle (forcen über Codesys bzw. über das Webinterface der Schrittmotorsteuerung) stellt er den Wert nicht um, er bleibt bei der 8. Den Kanal Modes of operation kann man lesen und schreiben und kann er per PDO gemappet werden.

Ich hoffe ihr könnt mir irgendwie helfen. Wenn ihr noch mehr Information braucht, sagt Bescheid.

Lg Techrotek

Update: Ich habe das jetzt mal getestet ohne den Motor an den Feldbus in Codesys einzupflegen. Dann kann ich den Kanal Modes of operation umstellen auch auf 6 forcen. Wird der Motor wieder eingebunden wird, lässt sich der Kanal nicht mehr ändern.
 
Zuletzt bearbeitet:
Hallo Techrotek,
da gibt es mehrere Möglichkeiten, abhängig von dem was der Nantoec N5 so alles kann (was er an DS402 so unterstützt meine ich)
Aufgrund der Tatsache das der Raspberry Pi keine Echtzeit hat ist die SoftMotion nur eingeschränkt benutzbar. (Für Schrittmotoren oder Poscontrol geht das schon mit dem PI)
Für die SoftMotion ist in der Regel ein aktiviertes Distributed Clocks auf dem Ethercat Slave erforderlich. Daher schlage ich vor du machst einen Versuch mit SoftMotion Light.

Dazu gehst du auf den Slave machst einen rechtsclick und fügst einen "SoftMoitonLight DS402 Axis" Knoten hinzu. (siehe screenshot) verwenden musst du dann die SML PLCopen Bausteine aus der SoftMotion Light Bibliothek.
Am besten du machst gleich den Versuch mit diesem Projekt das über das Setup mit installiert wird:
"c:\Program Files (x86)\3S CODESYS\CODESYS\Projects\SoftMotion\SoftMotionLight\SML_CompatibilityCheck_DS402.project"
oder alternativ mein angehängtes CODESYS Projektarchiv in dem Zip verwenden hier ist alles schon auf Pi und deinen Nanotec angepasst.

Also

1. Auf die SPS clicken und die mit Gerät aktualisieren auf eine Raspberry Pi SPS ändern
2. dann den Accelnet Slave unterhalb des Ethercat Masters raus löschen und hier deinen Nanotec einfügen
3. rechtsclick auf den Nanotec Slave und die SoftMoitonLight DS402 Axis anhängen (den neuen Knoten dann umbenennen zu 'Drive')
4. Download und mit diesem Project deinen Antrieb testen du kannst die zweite Visu Seite dazu verwenden über den PLCopen fb's deinen Antrieb zu verfahren (nachdem der halb automatische Kompabilitätscheck erfolgreich durchgeführt wurde)

->Mit diesem Projekt kannst du prüfen ob der Antrieb für SoftMotion light geeignet ist.


Grüße
 

Anhänge

  • AddSoftMotionAxis.jpg
    AddSoftMotionAxis.jpg
    57,1 KB · Aufrufe: 81
  • SML_CompatibilityCheck_DS402.zip
    9,5 MB · Aufrufe: 66
  • SML_PLCopen.jpg
    SML_PLCopen.jpg
    243,6 KB · Aufrufe: 71
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo HausSPSler,

vielen dank für deine Hilfe ;), ich habe mir mal dein Programm runtergeladen und getestet. Mit dem SoftMoitonLight DS402 Axis kann man die verschiedene Moden benutzen, dass war wirklich ein super Hinweis. Der Kompabilitätscheck verlief auch positiv. Ich bekomme jetzt die 1000 beim ErrorID MS_Home_SML Baustein angezeigt, aber damit kann ich schon mehr arbeiten als zuvor. Dann verusche ich jetzt mal denn Schrittmotor zum laufen zu bekommen. Ich wollt mit dem Raspberry Pi, zwei Schrittmotoren ansteuern und für meine Anwendung reicht der Poscontrol aus.

Könntest du mir kurz sagen, auf was ich beachten bzw. was ich noch einbinden muss, wenn ich ein neues Projekt möchte, weil ich habe den Pi eingebunden, Nanoteg eingepflegt und den Softmotion Light Knoten ausgewählt und auf Drive unbenannt. Danach möchte ich einfach mit MC_Power() den Motor starten und habe für Axis:DriveFeingetragen. Die Fehlermeldung lautet "Typ 'SML_Drive_ETC.Axis_REF_ETC_DSP402_SML' entspricht nicht dem Typ 'Axis_REF_SM3' von VAR_IN-OUT" und das hatte ich bei dem anderen Knoten nicht gehabt. Ich hab mir dein Beispiel angeschaut, aber ich habe jetzt nichts markantes gefunden.

Lieben Gruß

 
Zuletzt bearbeitet:
Hi,
also Error 1000 heiß keine Lizenz für SoftMotionLight, das ist tatsächlich momentan so. Sieht man auch im SPS Logger.
Aktuell kannst du 30min mit den Achsen alles tun bevor die 1000 kommt. Dazu gibt es eine Lizenz im Store.
Dann noch ein Mini Projekt und ein Scrennshot dann wird's deutlicher wie es geht mir den z.B MC_Power_SML fb's.

Grüße
 

Anhänge

  • SML.jpg
    SML.jpg
    152,3 KB · Aufrufe: 57
  • SML.zip
    82,7 KB · Aufrufe: 25
  • SML_VISU.jpg
    SML_VISU.jpg
    175,2 KB · Aufrufe: 47
Zuletzt bearbeitet:
Hi,
ich habe mir die SML_ERROR (ENUM) aus der Hilfe raus genommen und ich habe gedacht die 10000 wäre SML_TIMEOUT_CHANGING_OPMODE, aber wenn das an der Lizenz liegt, verstehe ich warum der Fehler kommt. Ja bevor ich die Lizenz im Store kaufen wollte, wollt ich erstmal ein paar Test Programme durchführen. Vielen dank für deine Hilfe, mit deinem Programm habe ich jetzt meinen Fehler erkannt. Ich habe einen falschen Baustein benutzt.

Lieben Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo HausSPSler,

ich hab noch eine Frage zu der Lizenz und zwar reicht es aus, wenn ich die Raspberry Pi Lizenz kaufe um die
SoftMoitonLight komplett zu benutzen, oder brauch ich beide Lizenzen (Raspberry Pi und SoftMoitonLight ), damit die beide komplett laufen?

Lieben Gruß
 
Hallo,
du musst beides kaufen, SML ist auch wenn du Control Win oder Control RTE verwenden würdest ein extra zu lizensierendes Produkt.

Grüße
 
Zurück
Oben