Schrittmotorsteuerung mit S7-1200

Deep Thought

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> 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... :confused:
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
 
Zu 1)
Was sagt denn die Hilfe zu Error ID 8600?
Hast du den PTO2/HSC2 aktiviert und richtig verdrahtet (zwingend vorgegebene Ein/Ausgänge)?
Hast du an den Baustein MC-Power den richtigen Technologie-DB?
Hast du in der Achsenkonfiguration den richtigen Freigabe-Eingang/Ausgang?

Zu2)
a) Endschalter:
Da gehen bei der 1200er nicht alle Eingänge,siehe Doku. Pegelauswahl beachten. Zunächst mal SW-Endschalter deaktivieren.
Am Schrittmotor selbst keine Endschalter verdrahten!
b) Referenzieren:
Dazu auch Einstellungen in Achsenkonfiguration beachten. Hier Haken setzen bei "Erlaube Richtungsumkehr am HW-Endschalter"
Außerdem ist Mode 0 = Direktes Referenzieren Absolut (Wert wird direkt gesetzt),
du musst Mode 3 wählen, wenn du ein aktivies Referenzieren durchführen willst.

Hinweis: Zum Übertragen der Technologiefunktionen muss die CPU in Stop.

mfg MK
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Mäuseklavier,
danke, dass Du Dich wieder meiner Fragestellung annimmst. Die Hilfe sagt zu Error ID 8600: "Parametrierung des Impulsgenerators (PTO) ist ungültig"
Das Problem hat sich aber tatsächlich gelöst - ich hatte immer über die Laden-Schaltfläche in der Symbolleiste das Programm in die CPU übertragen, wenn ich es über das Kontextmenü der PLC mache und Laden in Gerät - Software (alle Bausteine) auswähle, klappts. Sehr spaßig, dass der bei Druck auf die Schaltfläche nur Teile des Programms überträgt...

zu 2)
ich will ja eben eigentlich nicht die Hardwareschalter des Technologieobjektes verwenden, diese kann ich (laut Siemens-Mitarbeiter) nicht zum Referenzieren nutzen. Habe mit dem jetzt aber eine Methode ausgekaspert, dass ich nach Erreichen des Endschalters umdrehe und mit minimaler Zeitverzögerung in der Software einen Referenzpunktschalter simuliere. Dadurch liegt die Referenzmarke zwar nicht da wo sie eigentlich hin soll, aber ich hab immerhin eine ;)

Ich probier das mal aus, melde mich dann wieder, falls es nicht klappen sollte :)
 
zu 2)
ich will ja eben eigentlich nicht die Hardwareschalter des Technologieobjektes verwenden, diese kann ich (laut Siemens-Mitarbeiter) nicht zum Referenzieren nutzen. Habe mit dem jetzt aber eine Methode ausgekaspert, dass ich nach Erreichen des Endschalters umdrehe und mit minimaler Zeitverzögerung in der Software einen Referenzpunktschalter simuliere. Dadurch liegt die Referenzmarke zwar nicht da wo sie eigentlich hin soll, aber ich hab immerhin eine ;)

Hi, dann nimm doch die negative Flanke des Endschalters, als dein Referenzsignal, das ist mit Sicherheit besser als die minimale Zeitverzögerung.

MfG MK
 
Hallo zusammen,

ich bin auch in nicht allzu ferner Zukunft dazu eingeteilt, mittels einer SPS (bisweilen mit einer Simatic S7 12xx) einen Wechsel- oder Gleichstrommotor anzusteuern. Die Umfrehungsfrequenz des Motors soll in Abhägnigkeit zu einem Drehmomentsensor und einem Hall-Sensor geschehen. Da wir projektbezogen nicht nur die Steuerung entwerfen sollen, sondern auch die Hardware nennen und einkaufen müssen, stellte sich uns nach langer Recherchezeit immer noch die Frage, ob und was man neben einer Simatic S7 12xx (welche Variante müsste man noch im Bezug auf die Anzahl der Ein- und Ausgänge / Sensoren entscheiden) noch an eventuellen Modulen besorgen muss. So wie wir es bisweilen verstanden haben, können wir mit der 1200er Reihe direkt einen Gleichstrommotor ansteuern, genauso wie einen Wechselstrommotor, auch wenn wir nur einen Akkumulator als Spannungslieferant haben. Natürlich gepulst gesteuert. Oder ist das nicht ganz korrekt und wir bräuchten noch ein spezielles Antriebsmodul bzw. Wandler? Für jede Hilfe wären wir sehr dankbar.
 
Hast du dich auf der einschlägigen Siemens Website informiert?
Hier ist mal der Link zum Applikationsbeispiel.

Im Systemhandbuch der S7-1200 sind alle gängigen Technologien beschrieben.
Die Drehzahlregelung eines Gleichstromers in Abhängigkeit von deinen Sensoren
sehe ich als kniffelig. Vor der Bestellung würde ich die Geschwindigkeit (Regelung vs Zykluszeit)
genau unter die Lupe nehmen.


Einen Wechselstrommotor wirst du nicht direkt mit der Steuerung betreiben können,
da benötigst du ein weiteres Gerät (Schütz, Motorstarter,Umrichter).

MfG MK
 
Hallo und vielen Dank für die Erläuterung!
Ich rekapituliere nochmal:
Es wäre also hinsichtlich der Geschwindigkeit (bzgl. Regelung und Zykluszeit) am sinnigsten, wenn ein Gleichstrommotor genutzt würde, da man keine drei Phasen anzusteuern hätte. Das würde sich dann auch mit der Aussage des Professors decken, der meinte, dass die SPS wohl nicht in der Lage ist, bei hohen Umdrehungsfrequenzen zur richtigen Zeit die richtige Phase beim Wechselstrommotor anzusteuern und es somit im Worst Case gar zu einem Bremsen des Motors kommen könnte. Wäre dies richtig?
Falls man ferner sich aber doch auf einen Wechselstrommotor verlassen müsste, so müsste man entweder einen Motorstarter/Motortreiber, einen Frequenzumrichter (FU) oder Schützen nutzen, korrekt?

Dann wäre ja alles in allem am konstruktivsten, wie bereits gesagt, einen Gleichstrommotor an die SPS S7 1200 zu schließen (an die analogen Ausgänge/ PWM-Ausgänge), um eine stufenlose Drehzahl gepulst zu realisieren. Wie später die Drehmomentsensoren im Programm Einfluss nehmen werden, steht zunächst außen vor. Ich schätze, mit ein wenig Hirnschmalz und den richtigen If's/When's sollte es zu schaffen sein, nur bei entsprechender Umdrehungsfrequenz (Hall-Sensor) und beaufschlagtem Drehmoment (Drehmomentsensor) die richtigen Signale dem Gleichstrommotor zu senden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Vhizzler,

mmhh das Fach Antriebs-und Regelungstechnik ist bei mir zu lange her und ich bin nicht nah genug dran um dir besser zu helfen.
Aus meiner Praxis kann ich nur folgendes sagen: Mit den Pulsen der S7-1200 steuere ich einen Schrittmotor an. Bei einem reinen
Gleichstrommotor kann dies wohl auch möglich sein, ich denke da zB an Modelleisenbahnen. Andererseits wird ein reiner Gleichstrommotor
ja zum einen über die Spannung bzw. über die Feldschwächwicklung in der Drehzahl geregelt, das machen heutzutage eigene DC-Umrichter, bei kleineren
Typen am Motor integriert, bei größeren separiert (zB Siemens DC-Master).
Einen kleinen Gleichstrommotor an der S7-1200 könntest du ja auch über eine analoge Ausgangskarte 0-10V angesteuern.
Gib doch mal die Aktor/Sensordaten hier bekannt, bin mir sicher es gibt noch andere User die dir dazu helfen.

MfG MK
 
Zurück
Oben