Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
mit Hilfe der Bib aus diesem Fred
Ansteuerung des Antriebs und Ermitteln der Position funktioniert soweit mit einem rudimentären Programm ganz gut. Nächster Schritt war die Anpassung an SM_DRIVE_POSCONTROL.
Ich habe das Beispielprogramm durchgesehen, ein neues Projekt erstellt, dort soweit alles übernommen und versucht über IBN die Achse zu fahren, bzw. mit MCPower und MCMove_Velocity zu fahren.
Dabei bekomme ich überall die Fehlermeldung 34 (Axis not ready for motion).
Habe ich da irgendwo ein bitchen übersehen? Bin jetzt schon zwei Zwangsreboots an dem Problem dran...
Gruß
Michael
---Edit---
Wollte eigentlich das Archiv anhängen, 26MB scheinen aber zuviel zu sein. Daher externer Link
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Leider fehlt in dem Archiv die Bibliothek (das ist so gewollt das man nicht versehentlich sein Source libs verschickt, die muss man extra anhaken beim Archiv erzeugen )
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
Der Fehler kommt, wenn der Zustand (nAxisState) der Achse nicht stimmt:
Code:
IF NOT (Axis.nAxisState = discrete_motion OR Axis.nAxisState = continuous_motion OR Axis.nAxisState = synchronized_motion OR Axis.nAxisState = standstill) THEN
Error := TRUE;
ErrorID := SMC_AXIS_NOT_READY_FOR_MOTION;
Leider fehlt in dem Archiv die Bibliothek (das ist so gewollt das man nicht versehentlich sein Source libs verschickt, die muss man extra anhaken beim Archiv erzeugen )
Ich hab ihm Projekt mal gesucht, aber konnte nAxisState nicht finden.
In welcher Bib sollte das zu finden sein? Habe das Archiv mal aktualisiert mit den Bibliotheken (ist nichts geheimes dabei).
Habe eben noch mal das Original aus dem Tutorial (PosControl) mit meinem verglichen (Bibliotheken) und keinen Unterschied entdeckt. Link für das Archiv (29MB).
Gruß
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Vorgehen_
MC_Power:
Enable wird aktiviert
bRegulator wird aktiviert
bDriveStart wird aktiviert
SM_Drive_PosControl.nAxisState := Standstill
(Pfeil wird blau)
MC_SetPosition auf z.B. 100
MC_MoveRelative oder MC_MoveVelocity ausführen
=>SM_Drive_PosControl.nAxisState := errorstop
Nach Reset immer wieder das gleiche.
Gruß
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen,
mit Hilfe der Bib aus diesem Fred
Ansteuerung des Antriebs und Ermitteln der Position funktioniert soweit mit einem rudimentären Programm ganz gut. Nächster Schritt war die Anpassung an SM_DRIVE_POSCONTROL.
Ich habe das Beispielprogramm durchgesehen, ein neues Projekt erstellt, dort soweit alles übernommen und versucht über IBN die Achse zu fahren, bzw. mit MCPower und MCMove_Velocity zu fahren.
Dabei bekomme ich überall die Fehlermeldung 34 (Axis not ready for motion).
Habe ich da irgendwo ein bitchen übersehen? Bin jetzt schon zwei Zwangsreboots an dem Problem dran...
Gruß
Michael
---Edit---
Wollte eigentlich das Archiv anhängen, 26MB scheinen aber zuviel zu sein. Daher externer Link
Hi,
Der Fehler kommt, wenn der Zustand (nAxisState) der Achse nicht stimmt:
Leider fehlt in dem Archiv die Bibliothek (das ist so gewollt das man nicht versehentlich sein Source libs verschickt, die muss man extra anhaken beim Archiv erzeugen )
Grüße
Edwin
Servus Edwin,
danke für die Antwort.
Ich hab ihm Projekt mal gesucht, aber konnte nAxisState nicht finden.
In welcher Bib sollte das zu finden sein? Habe das Archiv mal aktualisiert mit den Bibliotheken (ist nichts geheimes dabei).
Habe eben noch mal das Original aus dem Tutorial (PosControl) mit meinem verglichen (Bibliotheken) und keinen Unterschied entdeckt.
Link für das Archiv (29MB).
Gruß
Michael
Hallo Michael,
nAxisState kommt aus der Axis_ref (die wird ja implizit vom System angelegt für jede Achse)
SM_Drive_PosControl.nAxisState
Also schau mal im Watchfenster
SM_Drive_PosControl.nAxisState
was nimmt die für Zustände an wenn du versuchst über die PLCopen fb's zu positionieren.
Grüße
Edwin
Servus Edwin,
Startzustand:
SM_Drive_PosControl.nAxisState := power_off
Vorgehen_
MC_Power:
Enable wird aktiviert
bRegulator wird aktiviert
bDriveStart wird aktiviert
SM_Drive_PosControl.nAxisState := Standstill
(Pfeil wird blau)
MC_SetPosition auf z.B. 100
MC_MoveRelative oder MC_MoveVelocity ausführen
=>SM_Drive_PosControl.nAxisState := errorstop
Nach Reset immer wieder das gleiche.
Gruß
Michael