-> Hier kostenlos registrieren
Hallo zusammen,
ich bin derzeit bei uns in der Firma (Reparatur von Servomotoren und -reglern) dabei, eine Elau C400-Steuerung mit zwei Achsen neu in Betrieb zu nehmen.
Eine Achse ist ein MC-4 zum Anschluss der "normalen" Servomotoren und ein PS-5 zum Anschluss von iSH-Antrieben. Genutzt wird der Aufbau für Probeläufe der Motoren in einfacher Geschwindigkeitsregelung ohne weitere Anforderungen.
Bisher wurden die Achsen einfach im Tippbetrieb mit dem "Jogging3"-Baustein, fester Drehzahlvorgabe und Enable/ rechts/ links über Digitaleingänge gesteuert. Das habe ich seinerzeit so aufgebaut und mich damals per "Learning-by-doing" in die EPAS-4 V24 Software eingearbeitet. Noch zur Info, ich bin kein Programmierer und habe mir (bis auf die nötigsten Grundlagen, die ich mal bei B&R mitgenommen habe) alles selbst oder mit Kollegen angeeignet.
Jetzt sollen die Achsen nicht mehr mit fester Drehzahl laufen, sondern diese soll über den Analogeingang eingestellt werden können. Ich habe es schon geschafft, den Eingangssollwert zu verarbeiten und mittels vom Motor ausgelesener Maximaldrehzahl zu skalieren und an den Jogging3-Baustein zu übergeben und den Motor damit auch laufen zu lassen.
Was ich bisher in mehreren Stunden nicht hinbekommen habe, ist, dass der laufende Motor auf Sollwertänderungen reagiert. Bei B&R konnte ich das mit einem Baustein lösen, der automatisch mit jedem Zyklus den Sollwert neu eingelesen hat. Das machen die normalen Bausteine ja offensichtlich nicht.
Ich habe es versucht mit verschiedenen Arten von Timerbausteinen, z.B. das die Jog-Eingänge im Zyklus einmal neu gesetzt werden oder auch der Enable-Eingang. Bei ersterer Variante hat der Antrieb trotzdem nicht auf Sollwertänderungen reagiert, bei zweiter Variante hat der Motor natürlich mit jedem FALSE am Enable-Eingang hart gestoppt und dann wieder neu beschleunigt (aufgrund der Zykluszeiten war das natürlich nur ein Zucken).
Probiert habe ich es aber auch mit dem EndlessFeed, da hatte ich dann aber das Problem, dass der Baustein mir immer nur "Controller not ready" ausgegeben hat. Vermutlich muss die Achse für diesen Baustein referenziert sein? Das habe ich bisher nicht gemacht. Und bei diesem Baustein war mir auch noch nicht klar, wie ich eine negative Drehzahlvorgabe realisiere, da am Eingang ein Wert >0 erwartet wird (wenn ich mich jetzt gerade richtig erinnere).
Wahrscheinlich ist es ein sehr triviales Problem und mir fehlt nur der richtige Ansatz. Ich würde mich über eure Unterstützung sehr freuen.
Ein zweites Anliegen hätte ich allerdings auch noch, das ist aber nicht so elementar wichtig. Bisher müssen an beiden Achsen auch Motoren angeschlossen werden, damit die Steuerung nicht in den Fehlerstatus geht und man gar keinen Motor laufen lassen kann (macht ja in Maschinen auch durchaus Sinn). Jetzt würde es die Sache natürlich aber vereinfachen, wenn man die nicht genutzte Achse einfach "deaktivieren" könnte und die andere trotzdem laufen würde. Mein Gedanke wäre da z.B. die Achse, die keine Motortype auslesen konnte, per Programm automatisch zu deaktivieren. Ist das mit relativ geringem Aufwand zu machen?
Schonmal einen riesigen Dank im Voraus und schönen Abend bzw. schönes langes Wochenende
Sven
ich bin derzeit bei uns in der Firma (Reparatur von Servomotoren und -reglern) dabei, eine Elau C400-Steuerung mit zwei Achsen neu in Betrieb zu nehmen.
Eine Achse ist ein MC-4 zum Anschluss der "normalen" Servomotoren und ein PS-5 zum Anschluss von iSH-Antrieben. Genutzt wird der Aufbau für Probeläufe der Motoren in einfacher Geschwindigkeitsregelung ohne weitere Anforderungen.
Bisher wurden die Achsen einfach im Tippbetrieb mit dem "Jogging3"-Baustein, fester Drehzahlvorgabe und Enable/ rechts/ links über Digitaleingänge gesteuert. Das habe ich seinerzeit so aufgebaut und mich damals per "Learning-by-doing" in die EPAS-4 V24 Software eingearbeitet. Noch zur Info, ich bin kein Programmierer und habe mir (bis auf die nötigsten Grundlagen, die ich mal bei B&R mitgenommen habe) alles selbst oder mit Kollegen angeeignet.
Jetzt sollen die Achsen nicht mehr mit fester Drehzahl laufen, sondern diese soll über den Analogeingang eingestellt werden können. Ich habe es schon geschafft, den Eingangssollwert zu verarbeiten und mittels vom Motor ausgelesener Maximaldrehzahl zu skalieren und an den Jogging3-Baustein zu übergeben und den Motor damit auch laufen zu lassen.
Was ich bisher in mehreren Stunden nicht hinbekommen habe, ist, dass der laufende Motor auf Sollwertänderungen reagiert. Bei B&R konnte ich das mit einem Baustein lösen, der automatisch mit jedem Zyklus den Sollwert neu eingelesen hat. Das machen die normalen Bausteine ja offensichtlich nicht.
Ich habe es versucht mit verschiedenen Arten von Timerbausteinen, z.B. das die Jog-Eingänge im Zyklus einmal neu gesetzt werden oder auch der Enable-Eingang. Bei ersterer Variante hat der Antrieb trotzdem nicht auf Sollwertänderungen reagiert, bei zweiter Variante hat der Motor natürlich mit jedem FALSE am Enable-Eingang hart gestoppt und dann wieder neu beschleunigt (aufgrund der Zykluszeiten war das natürlich nur ein Zucken).
Probiert habe ich es aber auch mit dem EndlessFeed, da hatte ich dann aber das Problem, dass der Baustein mir immer nur "Controller not ready" ausgegeben hat. Vermutlich muss die Achse für diesen Baustein referenziert sein? Das habe ich bisher nicht gemacht. Und bei diesem Baustein war mir auch noch nicht klar, wie ich eine negative Drehzahlvorgabe realisiere, da am Eingang ein Wert >0 erwartet wird (wenn ich mich jetzt gerade richtig erinnere).
Wahrscheinlich ist es ein sehr triviales Problem und mir fehlt nur der richtige Ansatz. Ich würde mich über eure Unterstützung sehr freuen.
Ein zweites Anliegen hätte ich allerdings auch noch, das ist aber nicht so elementar wichtig. Bisher müssen an beiden Achsen auch Motoren angeschlossen werden, damit die Steuerung nicht in den Fehlerstatus geht und man gar keinen Motor laufen lassen kann (macht ja in Maschinen auch durchaus Sinn). Jetzt würde es die Sache natürlich aber vereinfachen, wenn man die nicht genutzte Achse einfach "deaktivieren" könnte und die andere trotzdem laufen würde. Mein Gedanke wäre da z.B. die Achse, die keine Motortype auslesen konnte, per Programm automatisch zu deaktivieren. Ist das mit relativ geringem Aufwand zu machen?
Schonmal einen riesigen Dank im Voraus und schönen Abend bzw. schönes langes Wochenende
Sven