Deep Thought
Level-1
- Beiträge
- 9
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo zusammen,
folgendes Problem:
Ich bin ziemlich neu auf dem Gebiet der SPS-Programmierung und hänge seit einiger Zeit an der Ansteuerung von 2 Schrittmotoren mittels einer S7 1212 DC/DC/DC.
1) Der Motor an Pulse_1 läuft wunderbar, an Pulse_2 krieg ich vom MC_Power die Error_ID 8600 "Parametrierung des Impulsgenerators (PTO) ist ungültig". Leider kann ich außer der Anfangsadresse des HSC2 der dafür benötigt wird rein gar nichts einstellen - und diese wurde automatisch erstellt, die Bereiche der Zähler sollten auch passen: HSC1=1000-1003, HSC2=1004-1007, HSC3=1008-1011 etc.
Wenn ich in der Konfiguration der beiden Achsen die Impulsgeneratoren vertausche, bleibt alles beim Alten: die Achse mit Pulse_1 funktioniert, die Achse mit Pulse_2 nicht.
2) An beiden Achsen gibt es jeweils 2 Hardware-Endschalter. Ich würde gerne erreichen, dass diese natürlich als solche funktionieren, gleichzeitig aber jeweils einer der Endschalter auch als Referenzpunkt genutzt wird. Bei Erreichen des Schalters soll also automatisch die wahre Position der Achse auf 0 gesetzt werden.
Das erste Problem dabei war, dass ich bei Benutzung der im Technologieobjekt "Achse" definierten Endschalter immer einen Error-Status bekomme. Soweit kein Problem, dafür gibts ja MC_Reset. Denkste: der behauptet nämlich dann, dass er den Fehler nicht quittieren könne, weil an der Achse ein Fehler vorläge. Ach ne...
Daraufhin habe ich die Endschalter von Hand verdrahtet, frage also dauerhaft den Status der Endschalter ab und sobald einer sich schließt wird der "Enable" Eingang des zugehörigen MC_Power auf false gesetzt, die Achse hält an. Funktioniert wunderbar, durch Abfrage der gewünschten Bewegungsrichtung kann man auch super wieder losfahren.
Um nun die gewünschte Referenzierung zu machen, wollte ich einfach den Baustein MC_Home im Modus 0 aufrufen, sobald der Endschalter erreicht ist. Dadurch soll die Aktuelle Position der Achse mit 0 überschrieben werden. Leider benötigt MC_Home aber eine freigegebene Achse und in dem Augenblick wo der Endschalter erreicht ist, wird die Freigabe der Achse ja aufgehoben...
Daraus schließe ich jetzt, dass ich doch lieber den von Siemens geplanten Weg über die Endschalter und Referenzierung innerhalb des Technologieobjektes "Achse" gehen sollte - leider habe ich aber trotz intensiver Suche keine Lösung zu meinem Problem mit dem Quittieren von Fehlern gefunden.
Vielleicht ist hier ja jemand, der mir helfen kann?
Viele Grüße,
Christian
folgendes Problem:
Ich bin ziemlich neu auf dem Gebiet der SPS-Programmierung und hänge seit einiger Zeit an der Ansteuerung von 2 Schrittmotoren mittels einer S7 1212 DC/DC/DC.
1) Der Motor an Pulse_1 läuft wunderbar, an Pulse_2 krieg ich vom MC_Power die Error_ID 8600 "Parametrierung des Impulsgenerators (PTO) ist ungültig". Leider kann ich außer der Anfangsadresse des HSC2 der dafür benötigt wird rein gar nichts einstellen - und diese wurde automatisch erstellt, die Bereiche der Zähler sollten auch passen: HSC1=1000-1003, HSC2=1004-1007, HSC3=1008-1011 etc.
Wenn ich in der Konfiguration der beiden Achsen die Impulsgeneratoren vertausche, bleibt alles beim Alten: die Achse mit Pulse_1 funktioniert, die Achse mit Pulse_2 nicht.
2) An beiden Achsen gibt es jeweils 2 Hardware-Endschalter. Ich würde gerne erreichen, dass diese natürlich als solche funktionieren, gleichzeitig aber jeweils einer der Endschalter auch als Referenzpunkt genutzt wird. Bei Erreichen des Schalters soll also automatisch die wahre Position der Achse auf 0 gesetzt werden.
Das erste Problem dabei war, dass ich bei Benutzung der im Technologieobjekt "Achse" definierten Endschalter immer einen Error-Status bekomme. Soweit kein Problem, dafür gibts ja MC_Reset. Denkste: der behauptet nämlich dann, dass er den Fehler nicht quittieren könne, weil an der Achse ein Fehler vorläge. Ach ne...

Daraufhin habe ich die Endschalter von Hand verdrahtet, frage also dauerhaft den Status der Endschalter ab und sobald einer sich schließt wird der "Enable" Eingang des zugehörigen MC_Power auf false gesetzt, die Achse hält an. Funktioniert wunderbar, durch Abfrage der gewünschten Bewegungsrichtung kann man auch super wieder losfahren.
Um nun die gewünschte Referenzierung zu machen, wollte ich einfach den Baustein MC_Home im Modus 0 aufrufen, sobald der Endschalter erreicht ist. Dadurch soll die Aktuelle Position der Achse mit 0 überschrieben werden. Leider benötigt MC_Home aber eine freigegebene Achse und in dem Augenblick wo der Endschalter erreicht ist, wird die Freigabe der Achse ja aufgehoben...
Daraus schließe ich jetzt, dass ich doch lieber den von Siemens geplanten Weg über die Endschalter und Referenzierung innerhalb des Technologieobjektes "Achse" gehen sollte - leider habe ich aber trotz intensiver Suche keine Lösung zu meinem Problem mit dem Quittieren von Fehlern gefunden.
Vielleicht ist hier ja jemand, der mir helfen kann?
Viele Grüße,
Christian