Wartungsanzeige für Stepcraft-Maschinen in Linux-CNC
Wie im Stepcraft Forum schon angedeutet, habe ich mir eine Wartungsanzeige ins Linux CNC eingebaut, die mir anzeigt, wann es Zeit für die nächste Schmierung/Ölung ist.Screenshot Wartungsanzeige |
Dazu hab ich von Herrn Wedel von Stepcraft die Auskunft erhalten:
Also, brauchen wir etwas, das immer dann, wenn eine Achse in Bewegung ist, mitzählt. Der Kern des ganzen ist in der Python-Datei timelog.py, die man im Config-Verzeichnis ablegt. timelog.py fragt einmal pro Sekunde alle Achsen ab, ob ihre aktuelle Geschwindigkeit > 0 ist; falls dies der Fall ist, wird eine Sekunde zur Gesamtbetriebszeit hinzugezählt.Mit Betriebsstunden ist die tatsächliche Bewegung der Maschine gemeint, da nur diese zu einem etwaigen Fett-/Ölabrieb führt. Auch wenn die Maschine längere Zeit nicht betrieben wurde, führt dies i.d.R. nicht zu einer Veränderung der Konsistenz des Schmiermittels.
Das Ganze wird in eine (versteckte) Datei namens .timelog ins Home-Verzeichnis geschrieben; D.h, wenn man eine Schmierung durchgeführt hat muss man einfach diese Datei löschen, um den Wartungszeiger wieder auf 0 zu bringen.
Wie wird nun timelog.py in Axis integriert?
In meiner Fräsenkonfiguration befindet sich ja schon die Zeile:
PYVCP = laengensensor.xml
Deren Inhalt wird nun so erweitert:
<pyvcp>Die untere hbox stellt dabei die Wartungsanzeige dar. Soweit der GUI-Teil, jetzt müssen wir noch den halpin namens "movetime" erzeugen.
<button>
<halpin>"set-probe-xy"</halpin>
<text>"Längensensorposition merken"</text>
</button>
<button>
<halpin>"goto-probe-xy"</halpin>
<text>"Zur Längensensorposition"</text>
</button>
<button>
<halpin>"do-the-probe"</halpin>
<text>"Werkzeuglänge messen"</text>
</button>
<button>
<halpin>"set-xy-zero"</halpin>
<text>"X/Y auf 0 setzen"</text>
</button>
<hbox>
<relief>RAISED</relief>
<bd>3</bd>
<meter>
<halpin>"movetime"</halpin>
<text>"Wartung"</text>
<subtext>"s"</subtext>
<size>250</size>
<min_>0</min_>
<max_>39600</max_>
<majorscale>3600</majorscale>
<minorscale>600</minorscale>
<region1>0,32400,"green"</region1>
<region2>32400,36000,"yellow"</region2>
<region3>36000,39600,"red"</region3>
</meter>
</hbox>
</pyvcp>
Dazu braucht es eine weitere Erweiterung der Fräsenkonfiguration, diesmal im Abschnitt [HAL]:
[HAL]Die Datei timelog.hal ist nun dafür zuständig unser timelog.py zu laden:
HALFILE = timelog.hal
loadusr -W ./timelog.pyaber damit noch nicht genug, die laengensensor.hal-Datei, welche in der Fräsenkonfiguration ja durch
die Zeile:
POSTGUI_HALFILE = laengensensor.halgeladen wird, muss auch noch erweitert werden zu:
net set-probe-xy halui.mdi-command-00 <= pyvcp.set-probe-xyDie unterste Zeile ist dabei jene, die unserem GUI-Widget die gemessenen Betriebszeiten zuordnet.
net goto-probe-xy halui.mdi-command-01 <= pyvcp.goto-probe-xy
net do-the-probe halui.mdi-command-02 <= pyvcp.do-the-probe
net set-xy-zero halui.mdi-command-03 <= pyvcp.set-xy-zero
net maintainance_meter pyvcp.movetime <= timelog.movetime
Eine kompletten Satz an Konfigurationsdateien mit allen beteiligten Dateien habe ich hier zum Download bereitgestellt.
Viel Erfolg beim Nachbauen.