Hallo Leute,
es ist doch einige Zeit seit Februar vergangen und ich wollte hier mal ein Update an die Helfer abgeben, sowie auch ein paar Problemlösungen kurz dokumentieren, falls jemand mit ähnlichen Dingen hantieren muss
Als kurzer Einblick wie so der Stand ist habe ich ein Video hinterlegt. Sorry für die nicht existente Kinematographie.
Skalierung der beiden Messsysteme:
Habe ich bis heute nicht auf die Kette bekommen. Auch der Beckhoff Support hat alles von sich gewiesen und es nicht zum Rennen bekommen. Momentan nutze ich lediglich den Drehgeber der AM Servo's und in Zusammenspiel mit den Kugelspindeln bin ich eigentlich recht zufrieden mit der Performance. Vielleicht grabe ich das irgendwann nochmals aus, aber für heute sind andere Dinge wichtiger
Ansonsten passiert:
- Extrudervorschub als Hilfsachse über Beckhoff EL7041 & (vorerst) kleinen Stepper eingerichtet
- PT100 Sensoren verbaut, EL 3204 liest diese ein und in der PLC einen closed-loop für die Temperatursteuerung realisiert. Gepulst wird eine PWM auf einen digitalen Ausgang der EL2008, dieser triggert ein SSR für die Lastspannung und diese heizt letztendlich die Heizkartusche.
- Wie oben schon geschrieben, sind auf X & Y Kugelspindeln eingezogen. Der Zahnriementrieb hat funktioniert, allerdings waren die erreichbaren Geschwindigkeiten jenseits von gut und böse. Laut Scope lagen einmal 120m/min auf der kurzen Strecke an. Scary! Jetzt ist das Ganze auf 10m/min begrenzt, dafür aber hochpräzise und stabil.
- Schaltschrankverbindungen neu aufgelegt und alte Teststrukturen entfernt
Aktuelles Fragenwerk
1). Ich arbeite derzeit daran, die PLC so intelligent zu gestalten, dass der anderweitig erzeugte G-Code vollständig verstanden wird. Da ich nicht mit einem DIN Code arbeite, diesen aber nicht oder nur aufwendig ändern kann, muss die Maschine es zwangsläufig beigebracht bekommen.
Beispiel:
M104 S200 // M104 = Sollwert für Temperaturregelung an der Extruderdüse. S200 = Temperatur in °C
Hierfür habe ich in der NC in der M-Code Tabelle diesen Befehl hinterlegt. Dazu habe ich auf der Beckhoff Page die Library "NCI Interpreter" gefunden, die für Austausch & Übergabe eine Hilfestellung bietet.
Ich habe zwar auch hier noch Probleme alleine das Triggern der M-Funktion zu übergeben, aber ich glaube da weiß ich woran es liegt. Größeres Problem ist, dass ich nicht in der Lage bin noch mehr Information damit zu übertragen. Der Sollwert durch den "Sxxx" Befehl geht damit verloren und die Steuerung weiß dann zwar, dass es einen neuen Sollwert für die Temperatur geben soll, aber nicht auf welchen Wert dieser zu setzen ist.
In der Beckhoff Doku finde ich hier nur dazu, dass die M-Funktionen auch gerade dafür nicht gemacht sind. Triggern ohne Informationsaustausch. Dafür sind dann z.B. die H-Funktionen zuständig...
Gibt es hier eine elegante Lösung mit der ich ohne große Umwege doch beides übertragen bekomme? Letztenendes ist es mir eigentlich egal ob es überhaupt über einen M-Befehl läuft oder sonstwas - ich muss lediglich den eingelesenen Wert in eine Variable übergeben, die ich in der PLC und damit der Temperaturregelegung einbinden kann.
2). Für den letztendlichen Betrieb benötige ich auch noch zwei autarke Lüfteransteuerungen. Da ich anfänglich die EL 7342 für die DC Motoren gekauft habe, habe ich hier noch genug Ausgänge frei. Falls das funktioniert, würden an jeden Ausgang ein 12V DC Lüfter angeschlossen werden. Ja ich weiß... Overkill!
Ausgang ist auch hier wieder eine M-Funktion aus dem G-Code. In diesem Fall M106 S255 (8 Bit PWM, in diesem Fall also Vollgas)
Leider habe ich in meinen Tests bis jetzt nicht herausgefunden ob es möglich ist einen angeschlossenen DC Motor rein über einen prozentualen Wert anzusteuern. In meinem Fall würde ich hier gerne eine 0-100% (0-255) über die PWM Einschaltdauer normieren und auch diesen dann per G-code einlesen.
Ist das so möglich mit der Klemme?
Ich wünsche euch noch einen schönen Sonntag!
Lg Jan