<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.artandtech.space/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E.frey</id>
	<title>ATS Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.artandtech.space/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E.frey"/>
	<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Spezial:Beitr%C3%A4ge/E.frey"/>
	<updated>2026-10-17T21:38:55Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=367</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=367"/>
		<updated>2023-05-07T10:27:48Z</updated>

		<summary type="html">&lt;p&gt;E.frey: /* Home switch (in)active before start of latch move? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fragen? ==&lt;br /&gt;
Bei Fragen Erik Fragen!! Der ist auf jedenfall über Signal erreichbar Ansonsten mal ne Nachricht an 015730619818 schreiben. Auch wenn auf der Seite noch was fehlt dann füge ich das hinzu. :)&lt;br /&gt;
&lt;br /&gt;
== Workflow ==&lt;br /&gt;
&lt;br /&gt;
===== Das Modell vorbereiten =====&lt;br /&gt;
&lt;br /&gt;
# Ein Modell in CAD entwerfen bspw. Fusion 360&lt;br /&gt;
# Das CAD Modell im CAM Modus von bspw. Fusion 360 (Fertigen) planen.&lt;br /&gt;
# Dann mit dem Enhanced Machine Controller (emc) Postprozessor exportieren.&lt;br /&gt;
# Die exportierte .ngc Datei auf den CNC Tausch Ordner schieben&lt;br /&gt;
&lt;br /&gt;
===== Die Steuerung starten =====&lt;br /&gt;
&lt;br /&gt;
# Den LinuxCNC Rechner hochfahren&lt;br /&gt;
# An der Steuerung (Schwarze Box) den Notausschalter herausziehen und mit dem Silberschalter die Box anmachen&lt;br /&gt;
# LinuxCNC &amp;quot;Maschiene&amp;quot; Shortcut starten&lt;br /&gt;
# Datei -&amp;gt; Open öffnet die NGC Datei&lt;br /&gt;
&lt;br /&gt;
===== Vor dem Fräsen Checkliste =====&lt;br /&gt;
&lt;br /&gt;
# Optimalerweise einmal an den Endschaltern wackeln und bei bedarf kleine Schrauben Nachziehen, da fehlt noch Locktite&lt;br /&gt;
# In Linux CNC die Referenzfahrt starten&lt;br /&gt;
# Das Werkstück antasten (Nullpunkt setzen)&lt;br /&gt;
# Die Spindel starten&lt;br /&gt;
# LinuxCNC Play klicken&lt;br /&gt;
# Es geht los&lt;br /&gt;
&lt;br /&gt;
'''Wichtig dashier ist nur eine Checkliste und kein Tutorial, wenn du das noch nie gemacht hast hol dir vorher eine Einweisung, wenn man nicht weiß was man tuht kann viel kaputt gehen. (Motoren, Werkzeugtisch, Schraubstock, Klein Timmys Arm, Fräser und so)'''&lt;br /&gt;
&lt;br /&gt;
Einweisung bei Erik Frey&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
[[Datei:Nullpunkt der Fräse.png|mini|220x220px|Der Nullpunkt der Fräse]]&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Nullpunkt ===&lt;br /&gt;
Wie in dem Bild zusehen ist der Nullpunkt unten links vorne dies ist nicht an der selben stelle an der die Endschalter stehen. Hierdurch arbeitet man allerdings immer mit Positiven werten sowie die Steuerung auf der Tastatur ist intuitiv. Wenn man sich wie im Bild vor der Fräse steht.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. [[Datei:Grune einausbau gasdruckfeder.jpg|mini|220x220px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warum fehlt an der Y Achse das Handrad? ===&lt;br /&gt;
Da die Y-Achse eine sehr große übersetzung zwischen dem Antrieb und der Bewegung der Achse hat muss der Motor sich sehr schnell drehen um venünftige Vorschübe zu erreichen. Da das Handrad einiges an Trägheitsmoment mit in das System bringt, die Rotationsenergie mit ω&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; eingeht und das Drehmoment mit steigender Drehzahl abnimmt schafft der Schrittmotor es nicht die Achse in Ausreichend geringer Zeit zu be und entschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Wo kann ich meine STL hinschieben? ===&lt;br /&gt;
Nein! Das ding ist kein 3D Drucker.&lt;br /&gt;
&lt;br /&gt;
=== Welcher Slicer ist am besten? ===&lt;br /&gt;
Nein! Das ding ist immer noch kein 3D Drucker. &lt;br /&gt;
&lt;br /&gt;
=== Home switch (in)active before start of latch move? ===&lt;br /&gt;
Einfach nochmal Homen, das ist schon in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
Konfigurationen sind nicht aktuell 05.05.2023&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=366</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=366"/>
		<updated>2023-05-07T10:27:28Z</updated>

		<summary type="html">&lt;p&gt;E.frey: /* Fragen? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fragen? ==&lt;br /&gt;
Bei Fragen Erik Fragen!! Der ist auf jedenfall über Signal erreichbar Ansonsten mal ne Nachricht an 015730619818 schreiben. Auch wenn auf der Seite noch was fehlt dann füge ich das hinzu. :)&lt;br /&gt;
&lt;br /&gt;
== Workflow ==&lt;br /&gt;
&lt;br /&gt;
===== Das Modell vorbereiten =====&lt;br /&gt;
&lt;br /&gt;
# Ein Modell in CAD entwerfen bspw. Fusion 360&lt;br /&gt;
# Das CAD Modell im CAM Modus von bspw. Fusion 360 (Fertigen) planen.&lt;br /&gt;
# Dann mit dem Enhanced Machine Controller (emc) Postprozessor exportieren.&lt;br /&gt;
# Die exportierte .ngc Datei auf den CNC Tausch Ordner schieben&lt;br /&gt;
&lt;br /&gt;
===== Die Steuerung starten =====&lt;br /&gt;
&lt;br /&gt;
# Den LinuxCNC Rechner hochfahren&lt;br /&gt;
# An der Steuerung (Schwarze Box) den Notausschalter herausziehen und mit dem Silberschalter die Box anmachen&lt;br /&gt;
# LinuxCNC &amp;quot;Maschiene&amp;quot; Shortcut starten&lt;br /&gt;
# Datei -&amp;gt; Open öffnet die NGC Datei&lt;br /&gt;
&lt;br /&gt;
===== Vor dem Fräsen Checkliste =====&lt;br /&gt;
&lt;br /&gt;
# Optimalerweise einmal an den Endschaltern wackeln und bei bedarf kleine Schrauben Nachziehen, da fehlt noch Locktite&lt;br /&gt;
# In Linux CNC die Referenzfahrt starten&lt;br /&gt;
# Das Werkstück antasten (Nullpunkt setzen)&lt;br /&gt;
# Die Spindel starten&lt;br /&gt;
# LinuxCNC Play klicken&lt;br /&gt;
# Es geht los&lt;br /&gt;
&lt;br /&gt;
'''Wichtig dashier ist nur eine Checkliste und kein Tutorial, wenn du das noch nie gemacht hast hol dir vorher eine Einweisung, wenn man nicht weiß was man tuht kann viel kaputt gehen. (Motoren, Werkzeugtisch, Schraubstock, Klein Timmys Arm, Fräser und so)'''&lt;br /&gt;
&lt;br /&gt;
Einweisung bei Erik Frey&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
[[Datei:Nullpunkt der Fräse.png|mini|220x220px|Der Nullpunkt der Fräse]]&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Nullpunkt ===&lt;br /&gt;
Wie in dem Bild zusehen ist der Nullpunkt unten links vorne dies ist nicht an der selben stelle an der die Endschalter stehen. Hierdurch arbeitet man allerdings immer mit Positiven werten sowie die Steuerung auf der Tastatur ist intuitiv. Wenn man sich wie im Bild vor der Fräse steht.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. [[Datei:Grune einausbau gasdruckfeder.jpg|mini|220x220px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warum fehlt an der Y Achse das Handrad? ===&lt;br /&gt;
Da die Y-Achse eine sehr große übersetzung zwischen dem Antrieb und der Bewegung der Achse hat muss der Motor sich sehr schnell drehen um venünftige Vorschübe zu erreichen. Da das Handrad einiges an Trägheitsmoment mit in das System bringt, die Rotationsenergie mit ω&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; eingeht und das Drehmoment mit steigender Drehzahl abnimmt schafft der Schrittmotor es nicht die Achse in Ausreichend geringer Zeit zu be und entschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Wo kann ich meine STL hinschieben? ===&lt;br /&gt;
Nein! Das ding ist kein 3D Drucker.&lt;br /&gt;
&lt;br /&gt;
=== Welcher Slicer ist am besten? ===&lt;br /&gt;
Nein! Das ding ist immer noch kein 3D Drucker. &lt;br /&gt;
&lt;br /&gt;
==== Home switch (in)active before start of latch move? ====&lt;br /&gt;
Einfach nochmal Homen, das ist schon in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
Konfigurationen sind nicht aktuell 05.05.2023&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=365</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=365"/>
		<updated>2023-05-07T10:16:45Z</updated>

		<summary type="html">&lt;p&gt;E.frey: Nullpunkt Bild hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fragen? ==&lt;br /&gt;
Bei Fragen Erik Fragen!! Der ist auf jedenfall über Signal erreichbar Ansonsten mal ne Nachricht an 015730619818 schreiben.&lt;br /&gt;
&lt;br /&gt;
== Workflow ==&lt;br /&gt;
&lt;br /&gt;
===== Das Modell vorbereiten =====&lt;br /&gt;
&lt;br /&gt;
# Ein Modell in CAD entwerfen bspw. Fusion 360&lt;br /&gt;
# Das CAD Modell im CAM Modus von bspw. Fusion 360 (Fertigen) planen.&lt;br /&gt;
# Dann mit dem Enhanced Machine Controller (emc) Postprozessor exportieren.&lt;br /&gt;
# Die exportierte .ngc Datei auf den CNC Tausch Ordner schieben&lt;br /&gt;
&lt;br /&gt;
===== Die Steuerung starten =====&lt;br /&gt;
&lt;br /&gt;
# Den LinuxCNC Rechner hochfahren&lt;br /&gt;
# An der Steuerung (Schwarze Box) den Notausschalter herausziehen und mit dem Silberschalter die Box anmachen&lt;br /&gt;
# LinuxCNC &amp;quot;Maschiene&amp;quot; Shortcut starten&lt;br /&gt;
# Datei -&amp;gt; Open öffnet die NGC Datei&lt;br /&gt;
&lt;br /&gt;
===== Vor dem Fräsen Checkliste =====&lt;br /&gt;
&lt;br /&gt;
# Optimalerweise einmal an den Endschaltern wackeln und bei bedarf kleine Schrauben Nachziehen, da fehlt noch Locktite&lt;br /&gt;
# In Linux CNC die Referenzfahrt starten&lt;br /&gt;
# Das Werkstück antasten (Nullpunkt setzen)&lt;br /&gt;
# Die Spindel starten&lt;br /&gt;
# LinuxCNC Play klicken&lt;br /&gt;
# Es geht los&lt;br /&gt;
&lt;br /&gt;
'''Wichtig dashier ist nur eine Checkliste und kein Tutorial, wenn du das noch nie gemacht hast hol dir vorher eine Einweisung, wenn man nicht weiß was man tuht kann viel kaputt gehen. (Motoren, Werkzeugtisch, Schraubstock, Klein Timmys Arm, Fräser und so)'''&lt;br /&gt;
&lt;br /&gt;
Einweisung bei Erik Frey&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
[[Datei:Nullpunkt der Fräse.png|mini|220x220px|Der Nullpunkt der Fräse]]&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Nullpunkt ===&lt;br /&gt;
Wie in dem Bild zusehen ist der Nullpunkt unten links vorne dies ist nicht an der selben stelle an der die Endschalter stehen. Hierdurch arbeitet man allerdings immer mit Positiven werten sowie die Steuerung auf der Tastatur ist intuitiv. Wenn man sich wie im Bild vor der Fräse steht.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. [[Datei:Grune einausbau gasdruckfeder.jpg|mini|220x220px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warum fehlt an der Y Achse das Handrad? ===&lt;br /&gt;
Da die Y-Achse eine sehr große übersetzung zwischen dem Antrieb und der Bewegung der Achse hat muss der Motor sich sehr schnell drehen um venünftige Vorschübe zu erreichen. Da das Handrad einiges an Trägheitsmoment mit in das System bringt, die Rotationsenergie mit ω&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; eingeht und das Drehmoment mit steigender Drehzahl abnimmt schafft der Schrittmotor es nicht die Achse in Ausreichend geringer Zeit zu be und entschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Wo kann ich meine STL hinschieben? ===&lt;br /&gt;
Nein! Das ding ist kein 3D Drucker.&lt;br /&gt;
&lt;br /&gt;
=== Welcher Slicer ist am besten? ===&lt;br /&gt;
Nein! Das ding ist immer noch kein 3D Drucker. &lt;br /&gt;
&lt;br /&gt;
==== Home switch (in)active before start of latch move? ====&lt;br /&gt;
Einfach nochmal Homen, das ist schon in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
Konfigurationen sind nicht aktuell 05.05.2023&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Datei:Nullpunkt_der_Fr%C3%A4se.png&amp;diff=364</id>
		<title>Datei:Nullpunkt der Fräse.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Datei:Nullpunkt_der_Fr%C3%A4se.png&amp;diff=364"/>
		<updated>2023-05-07T10:14:02Z</updated>

		<summary type="html">&lt;p&gt;E.frey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zeigt den Maschinennullpunkt auf dem Werktisch&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=363</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=363"/>
		<updated>2023-05-06T20:05:19Z</updated>

		<summary type="html">&lt;p&gt;E.frey: Checkliste und Nullpunkt angefangen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fragen? ==&lt;br /&gt;
Bei Fragen Erik Fragen!! Der ist auf jedenfall über Signal erreichbar Ansonsten mal ne Nachricht an 015730619818 schreiben.&lt;br /&gt;
&lt;br /&gt;
== Workflow ==&lt;br /&gt;
&lt;br /&gt;
===== Das Modell vorbereiten =====&lt;br /&gt;
&lt;br /&gt;
# Ein Modell in CAD entwerfen bspw. Fusion 360&lt;br /&gt;
# Das CAD Modell im CAM Modus von bspw. Fusion 360 (Fertigen) planen.&lt;br /&gt;
# Dann mit dem Enhanced Machine Controller (emc) Postprozessor exportieren.&lt;br /&gt;
# Die exportierte .ngc Datei auf den CNC Tausch Ordner schieben&lt;br /&gt;
&lt;br /&gt;
===== Die Steuerung starten =====&lt;br /&gt;
&lt;br /&gt;
# Den LinuxCNC Rechner hochfahren&lt;br /&gt;
# An der Steuerung (Schwarze Box) den Notausschalter herausziehen und mit dem Silberschalter die Box anmachen&lt;br /&gt;
# LinuxCNC &amp;quot;Maschiene&amp;quot; Shortcut starten&lt;br /&gt;
# Datei -&amp;gt; Open öffnet die NGC Datei&lt;br /&gt;
&lt;br /&gt;
===== Vor dem Fräsen Checkliste =====&lt;br /&gt;
&lt;br /&gt;
# Optimalerweise einmal an den Endschaltern wackeln und bei bedarf kleine Schrauben Nachziehen, da fehlt noch Locktite&lt;br /&gt;
# In Linux CNC die Referenzfahrt starten&lt;br /&gt;
# Das Werkstück antasten (Nullpunkt setzen)&lt;br /&gt;
# Die Spindel starten&lt;br /&gt;
# LinuxCNC Play klicken&lt;br /&gt;
# Es geht los&lt;br /&gt;
&lt;br /&gt;
'''Wichtig dashier ist nur eine Checkliste und kein Tutorial, wenn du das noch nie gemacht hast hol dir vorher eine Einweisung, wenn man nicht weiß was man tuht kann viel kaputt gehen. (Motoren, Werkzeugtisch, Schraubstock, Klein Timmys Arm, Fräser und so)'''&lt;br /&gt;
&lt;br /&gt;
Einweisung bei Erik Frey&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Nullpunkt ===&lt;br /&gt;
Wie in dem Bild zusehen ist der Nullpunkt unten links vorne dies ist nicht an der selben stelle an der die Endschalter stehen. Hierdurch arbeitet man allerdings immer mit Positiven werten sowie die Steuerung auf der Tastatur ist intuitiv.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. &lt;br /&gt;
&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
[[Datei:Grune einausbau gasdruckfeder.jpg|mini|224x224px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warum fehlt an der Y Achse das Handrad? ===&lt;br /&gt;
Da die Y-Achse eine sehr große übersetzung zwischen dem Antrieb und der Bewegung der Achse hat muss der Motor sich sehr schnell drehen um venünftige Vorschübe zu erreichen. Da das Handrad einiges an Trägheitsmoment mit in das System bringt, die Rotationsenergie mit $\omega^2$ eingeht und das Drehmoment mit steigender Drehzahl abnimmt schafft der Schrittmotor es nicht die Achse zu be und entschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Wo kann ich meine STL hinschieben? ===&lt;br /&gt;
Nein! Das ding ist kein 3D Drucker.&lt;br /&gt;
&lt;br /&gt;
=== Welcher Slicer ist am besten? ===&lt;br /&gt;
Nein! Das ding ist immer noch kein 3D Drucker. &lt;br /&gt;
&lt;br /&gt;
==== Home switch (in)active before start of latch move? ====&lt;br /&gt;
Einfach nochmal Homen, das ist schon in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
Konfigurationen sind nicht aktuell 05.05.2023&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=362</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=362"/>
		<updated>2023-05-05T19:25:13Z</updated>

		<summary type="html">&lt;p&gt;E.frey: FAQ und Workflow/Checkliste hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fragen? ==&lt;br /&gt;
Bei Fragen Erik Fragen!! Der ist auf jedenfall über Signal erreichbar Ansonsten mal ne Nachricht an 015730619818 schreiben.&lt;br /&gt;
&lt;br /&gt;
== Workflow ==&lt;br /&gt;
&lt;br /&gt;
===== Das Modell vorbereiten =====&lt;br /&gt;
&lt;br /&gt;
# Ein Modell in CAD entwerfen bspw. Fusion 360&lt;br /&gt;
# Das CAD Modell im CAM Modus von bspw. Fusion 360 (Fertigen) planen.&lt;br /&gt;
# Dann mit dem Enhanced Machine Controller (emc) Postprozessor exportieren.&lt;br /&gt;
# Die exportierte .ngc Datei auf den CNC Tausch Ordner schieben&lt;br /&gt;
&lt;br /&gt;
===== Die Fräse starten =====&lt;br /&gt;
&lt;br /&gt;
# Den LinuxCNC Rechner hochfahren&lt;br /&gt;
# An der Steuerung (Schwarze Box) den Notausschalter herausziehen und mit dem Silberschalter die Box anmachen&lt;br /&gt;
# LinuxCNC Maschiene Shortcut starten&lt;br /&gt;
# Datei -&amp;gt; Open öffnet die NGC Datei&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. &lt;br /&gt;
&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
[[Datei:Grune einausbau gasdruckfeder.jpg|mini|224x224px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Warum fehlt an der Y Achse das Handrad? ===&lt;br /&gt;
Da die Y-Achse eine sehr große übersetzung zwischen dem Antrieb und der Bewegung der Achse hat muss der Motor sich sehr schnell drehen um venünftige Vorschübe zu erreichen. Da das Handrad einiges an Trägheitsmoment mit in das System bringt, die Rotationsenergie mit $\omega^2$ eingeht und das Drehmoment mit steigender Drehzahl abnimmt schafft der Schrittmotor es nicht die Achse zu be und entschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Wo kann ich meine STL hinschieben? ===&lt;br /&gt;
Nein! Das ding ist kein 3D Drucker.&lt;br /&gt;
&lt;br /&gt;
=== Welcher Slicer ist am besten? ===&lt;br /&gt;
Nein! Das ding ist immer noch kein 3D Drucker. &lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
Konfigurationen sind nicht aktuell 05.05.2023&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=251</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=251"/>
		<updated>2023-03-20T17:14:07Z</updated>

		<summary type="html">&lt;p&gt;E.frey: Anhängen der zwei wichtigen Konfigurationsdateien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System ==&lt;br /&gt;
Auf dem Gerät läuft LinuxCNC in der Version 2.8.4. Dies ist auf einer 500GB HDD installiert, Zusätzlich befindet sich eine 480GB SSD im Rechner, die nicht angeschlossen ist, sobald LinuxCNC 2.9 verfügbar soll dies auf der SSD installiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Um LinuxCNC zu starten muss eine Konfiguration geladen werden, eine Verknüpfung dazu befindet sich auf dem Desktop &amp;quot;Maschiene&amp;quot;. Die HAL und die INI File der Konfiguration sind im Anhang aufgeführt. &lt;br /&gt;
&lt;br /&gt;
=== Gasdruckfeder ===&lt;br /&gt;
[[Datei:Grune einausbau gasdruckfeder.jpg|mini|224x224px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.ini ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
[EMC]&lt;br /&gt;
MACHINE = Maschiene&lt;br /&gt;
DEBUG = 0&lt;br /&gt;
VERSION = 1.1&lt;br /&gt;
&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
#PYVCP = enPanel.xml Not necessary just use F2 or machine Enable&lt;br /&gt;
POSITION_OFFSET = RELATIVE&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
MAX_FEED_OVERRIDE = 2.000000&lt;br /&gt;
MAX_SPINDLE_OVERRIDE = 1.000000&lt;br /&gt;
MIN_SPINDLE_OVERRIDE = 0.500000&lt;br /&gt;
INTRO_GRAPHIC = linuxcnc.gif&lt;br /&gt;
INTRO_TIME = 5&lt;br /&gt;
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files&lt;br /&gt;
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm&lt;br /&gt;
POSITION_FEEDBACK = ACTUAL&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 4.000000&lt;br /&gt;
MAX_LINEAR_VELOCITY = 14.0000&lt;br /&gt;
MIN_LINEAR_VELOCITY = 0.500000&lt;br /&gt;
DEFAULT_ANGULAR_VELOCITY = 12.000000&lt;br /&gt;
MAX_ANGULAR_VELOCITY = 180.000000&lt;br /&gt;
MIN_ANGULAR_VELOCITY = 1.666667&lt;br /&gt;
EDITOR = gedit&lt;br /&gt;
GEOMETRY = xyz&lt;br /&gt;
&lt;br /&gt;
[FILTER]&lt;br /&gt;
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image&lt;br /&gt;
PROGRAM_EXTENSION = .py Python Script&lt;br /&gt;
png = image-to-gcode&lt;br /&gt;
gif = image-to-gcode&lt;br /&gt;
jpg = image-to-gcode&lt;br /&gt;
py = python&lt;br /&gt;
&lt;br /&gt;
[TASK]&lt;br /&gt;
TASK = milltask&lt;br /&gt;
CYCLE_TIME = 0.010&lt;br /&gt;
&lt;br /&gt;
[RS274NGC]&lt;br /&gt;
PARAMETER_FILE = linuxcnc.var&lt;br /&gt;
&lt;br /&gt;
[EMCMOT]&lt;br /&gt;
EMCMOT = motmod&lt;br /&gt;
COMM_TIMEOUT = 1.0&lt;br /&gt;
SERVO_PERIOD = 1000000&lt;br /&gt;
&lt;br /&gt;
[HMOT]&lt;br /&gt;
# **** This is for info only ****&lt;br /&gt;
CARD0=hm2_7i92.0&lt;br /&gt;
&lt;br /&gt;
[HAL]&lt;br /&gt;
HALUI = halui&lt;br /&gt;
HALFILE = Maschiene.hal&lt;br /&gt;
HALFILE = custom.hal&lt;br /&gt;
POSTGUI_HALFILE = postgui_call_list.hal&lt;br /&gt;
SHUTDOWN = shutdown.hal&lt;br /&gt;
&lt;br /&gt;
[HALUI]&lt;br /&gt;
&lt;br /&gt;
[KINS]&lt;br /&gt;
JOINTS = 3&lt;br /&gt;
KINEMATICS = trivkins coordinates=XYZ&lt;br /&gt;
&lt;br /&gt;
[TRAJ]&lt;br /&gt;
COORDINATES =  XYZ&lt;br /&gt;
LINEAR_UNITS = mm&lt;br /&gt;
ANGULAR_UNITS = degree&lt;br /&gt;
DEFAULT_LINEAR_VELOCITY = 2.50&lt;br /&gt;
MAX_LINEAR_VELOCITY = 25.00&lt;br /&gt;
&lt;br /&gt;
[EMCIO]&lt;br /&gt;
EMCIO = io&lt;br /&gt;
CYCLE_TIME = 0.100&lt;br /&gt;
TOOL_TABLE = tool.tbl&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_X]&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_0]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 10&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 5&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 14&lt;br /&gt;
MAX_ACCELERATION = 80&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 17&lt;br /&gt;
STEPGEN_MAXACCEL = 100&lt;br /&gt;
P = 120&lt;br /&gt;
I = 3&lt;br /&gt;
D = 11&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.005&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -800&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1280&lt;br /&gt;
MIN_LIMIT = -300.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Y]&lt;br /&gt;
MAX_VELOCITY = 6.5&lt;br /&gt;
MAX_ACCELERATION = 40&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_1]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#Homing&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = -5.0&lt;br /&gt;
HOME_LATCH_VEL = -1.0&lt;br /&gt;
HOME_FINAL_VEL = 3.0&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 1&lt;br /&gt;
&lt;br /&gt;
FERROR = 5.0&lt;br /&gt;
MIN_FERROR = 0.5&lt;br /&gt;
MAX_VELOCITY = 10&lt;br /&gt;
MAX_ACCELERATION = 70&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 12&lt;br /&gt;
STEPGEN_MAXACCEL = 80&lt;br /&gt;
P = 180&lt;br /&gt;
I = 0.3&lt;br /&gt;
D = 10&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -2000&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -1600&lt;br /&gt;
MIN_LIMIT = -5.0&lt;br /&gt;
MAX_LIMIT = 165.0&lt;br /&gt;
HOME_OFFSET = -5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
#******************************************&lt;br /&gt;
[AXIS_Z]&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
&lt;br /&gt;
[JOINT_2]&lt;br /&gt;
TYPE = LINEAR&lt;br /&gt;
#HOMING&lt;br /&gt;
HOME = 0.0&lt;br /&gt;
HOME_SEARCH_VEL = 5.5&lt;br /&gt;
HOME_LATCH_VEL = 1&lt;br /&gt;
HOME_FINAL_VEL = 3&lt;br /&gt;
USE_INDEX = FALSE&lt;br /&gt;
HOME_SEQUENCE = 0&lt;br /&gt;
&lt;br /&gt;
FERROR = 10.0&lt;br /&gt;
MIN_FERROR = 1.0&lt;br /&gt;
MAX_VELOCITY = 8&lt;br /&gt;
MAX_ACCELERATION = 25&lt;br /&gt;
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION&lt;br /&gt;
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.&lt;br /&gt;
STEPGEN_MAXVEL = 10&lt;br /&gt;
STEPGEN_MAXACCEL = 30&lt;br /&gt;
P = 100&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 0&lt;br /&gt;
FF1 = 1&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0.01&lt;br /&gt;
MAX_OUTPUT = 0&lt;br /&gt;
ENCODER_SCALE = -1600&lt;br /&gt;
# these are in nanoseconds&lt;br /&gt;
DIRSETUP   = 10000&lt;br /&gt;
DIRHOLD    = 10000&lt;br /&gt;
STEPLEN    = 5000&lt;br /&gt;
STEPSPACE  = 5000&lt;br /&gt;
STEP_SCALE = -2560&lt;br /&gt;
MIN_LIMIT = -335.0&lt;br /&gt;
MAX_LIMIT = 5.0&lt;br /&gt;
HOME_OFFSET = 5.0&lt;br /&gt;
#******************************************&lt;br /&gt;
&lt;br /&gt;
[SPINDLE_0]&lt;br /&gt;
P = 0&lt;br /&gt;
I = 0&lt;br /&gt;
D = 0&lt;br /&gt;
FF0 = 1&lt;br /&gt;
FF1 = 0&lt;br /&gt;
FF2 = 0&lt;br /&gt;
BIAS = 0&lt;br /&gt;
DEADBAND = 0&lt;br /&gt;
MAX_OUTPUT = 2000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maschiene.hal ===&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Erstellt von PNCconf am Tue Apr 19 15:17:12 2022&lt;br /&gt;
# Using LinuxCNC version:  2.8&lt;br /&gt;
# Änderungen an dieser Datei werden beim nächsten&lt;br /&gt;
# overwritten when you run PNCconf again&lt;br /&gt;
&lt;br /&gt;
loadrt [KINS]KINEMATICS&lt;br /&gt;
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS&lt;br /&gt;
loadrt hostmot2&lt;br /&gt;
loadrt hm2_eth board_ip=&amp;quot;192.168.1.121&amp;quot; config=&amp;quot; num_encoders=4 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx&amp;quot; &lt;br /&gt;
setp    hm2_7i92.0.watchdog.timeout_ns 5000000&lt;br /&gt;
loadrt pid names=pid.x,pid.y,pid.z,pid.s&lt;br /&gt;
&lt;br /&gt;
addf hm2_7i92.0.read          servo-thread&lt;br /&gt;
addf motion-command-handler   servo-thread&lt;br /&gt;
addf motion-controller        servo-thread&lt;br /&gt;
addf pid.x.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.y.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.z.do-pid-calcs       servo-thread&lt;br /&gt;
addf pid.s.do-pid-calcs       servo-thread&lt;br /&gt;
addf hm2_7i92.0.write         servo-thread&lt;br /&gt;
setp hm2_7i92.0.dpll.01.timer-us -50&lt;br /&gt;
setp hm2_7i92.0.stepgen.timer-number 1&lt;br /&gt;
&lt;br /&gt;
# external output signals&lt;br /&gt;
setp hm2_7i92.0.gpio.003.is_output TRUE&lt;br /&gt;
setp hm2_7i92.0.gpio.003.invert_output TRUE&lt;br /&gt;
net machine-is-enabled =&amp;gt; hm2_7i92.0.gpio.003.out&lt;br /&gt;
&lt;br /&gt;
# external input signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS X JOINT 0&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.x.Pgain     [JOINT_0]P&lt;br /&gt;
setp   pid.x.Igain     [JOINT_0]I&lt;br /&gt;
setp   pid.x.Dgain     [JOINT_0]D&lt;br /&gt;
setp   pid.x.bias      [JOINT_0]BIAS&lt;br /&gt;
setp   pid.x.FF0       [JOINT_0]FF0&lt;br /&gt;
setp   pid.x.FF1       [JOINT_0]FF1&lt;br /&gt;
setp   pid.x.FF2       [JOINT_0]FF2&lt;br /&gt;
setp   pid.x.deadband  [JOINT_0]DEADBAND&lt;br /&gt;
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.x.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.x.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net x-index-enable  &amp;lt;=&amp;gt; pid.x.index-enable&lt;br /&gt;
net x-enable        =&amp;gt;  pid.x.enable&lt;br /&gt;
net x-pos-cmd       =&amp;gt;  pid.x.command&lt;br /&gt;
net x-pos-fb        =&amp;gt;  pid.x.feedback&lt;br /&gt;
net x-output        &amp;lt;=  pid.x.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirsetup        [JOINT_0]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.dirhold         [JOINT_0]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.steplen         [JOINT_0]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.stepspace       [JOINT_0]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.position-scale  [JOINT_0]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxaccel         [JOINT_0]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.02.maxvel           [JOINT_0]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net x-pos-cmd    &amp;lt;= joint.0.motor-pos-cmd&lt;br /&gt;
net x-vel-cmd    &amp;lt;= joint.0.vel-cmd&lt;br /&gt;
net x-output     &amp;lt;= hm2_7i92.0.stepgen.02.velocity-cmd&lt;br /&gt;
#net x-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.02.position-fb&lt;br /&gt;
#net x-pos-fb     =&amp;gt; joint.0.motor-pos-fb&lt;br /&gt;
net x-enable     &amp;lt;= joint.0.amp-enable-out&lt;br /&gt;
net x-enable     =&amp;gt; hm2_7i92.0.stepgen.02.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net x-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.00.position&lt;br /&gt;
net x-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.00.velocity&lt;br /&gt;
net x-pos-fb               =&amp;gt;  joint.0.motor-pos-fb&lt;br /&gt;
net x-index-enable    joint.0.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.00.index-enable&lt;br /&gt;
net x-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.00.rawcounts&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net x-home-sw     =&amp;gt;  joint.0.home-sw-in&lt;br /&gt;
net x-neg-limit     =&amp;gt;  joint.0.neg-lim-sw-in&lt;br /&gt;
net x-pos-limit     =&amp;gt;  joint.0.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Y JOINT 1&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.y.Pgain     [JOINT_1]P&lt;br /&gt;
setp   pid.y.Igain     [JOINT_1]I&lt;br /&gt;
setp   pid.y.Dgain     [JOINT_1]D&lt;br /&gt;
setp   pid.y.bias      [JOINT_1]BIAS&lt;br /&gt;
setp   pid.y.FF0       [JOINT_1]FF0&lt;br /&gt;
setp   pid.y.FF1       [JOINT_1]FF1&lt;br /&gt;
setp   pid.y.FF2       [JOINT_1]FF2&lt;br /&gt;
setp   pid.y.deadband  [JOINT_1]DEADBAND&lt;br /&gt;
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT&lt;br /&gt;
setp   pid.y.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
# setp   pid.y.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net y-index-enable  &amp;lt;=&amp;gt; pid.y.index-enable&lt;br /&gt;
net y-enable        =&amp;gt;  pid.y.enable&lt;br /&gt;
net y-pos-cmd       =&amp;gt;  pid.y.command&lt;br /&gt;
net y-pos-fb        =&amp;gt;  pid.y.feedback&lt;br /&gt;
net y-output        &amp;lt;=  pid.y.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirsetup        [JOINT_1]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_1]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_1]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_1]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_1]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_1]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.00.maxvel           [JOINT_1]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net y-pos-cmd    &amp;lt;= joint.1.motor-pos-cmd&lt;br /&gt;
net y-vel-cmd    &amp;lt;= joint.1.vel-cmd&lt;br /&gt;
net y-output     &amp;lt;= hm2_7i92.0.stepgen.00.velocity-cmd&lt;br /&gt;
#net y-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.00.position-fb&lt;br /&gt;
#net y-pos-fb     =&amp;gt; joint.1.motor-pos-fb&lt;br /&gt;
net y-enable     &amp;lt;= joint.1.amp-enable-out&lt;br /&gt;
net y-enable     =&amp;gt; hm2_7i92.0.stepgen.00.enable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net y-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.01.position&lt;br /&gt;
net y-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.01.velocity&lt;br /&gt;
net y-pos-fb               =&amp;gt;  joint.1.motor-pos-fb&lt;br /&gt;
net y-index-enable    joint.1.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.01.index-enable&lt;br /&gt;
net y-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.01.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net y-home-sw     =&amp;gt;  joint.1.home-sw-in&lt;br /&gt;
net y-neg-limit     =&amp;gt;  joint.1.neg-lim-sw-in&lt;br /&gt;
net y-pos-limit     =&amp;gt;  joint.1.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  AXIS Z JOINT 2&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.z.Pgain     [JOINT_2]P&lt;br /&gt;
setp   pid.z.Igain     [JOINT_2]I&lt;br /&gt;
setp   pid.z.Dgain     [JOINT_2]D&lt;br /&gt;
setp   pid.z.bias      [JOINT_2]BIAS&lt;br /&gt;
setp   pid.z.FF0       [JOINT_2]FF0&lt;br /&gt;
setp   pid.z.FF1       [JOINT_2]FF1&lt;br /&gt;
setp   pid.z.FF2       [JOINT_2]FF2&lt;br /&gt;
setp   pid.z.deadband  [JOINT_2]DEADBAND&lt;br /&gt;
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT&lt;br /&gt;
setp   pid.z.error-previous-target true&lt;br /&gt;
# This setting is to limit bogus stepgen&lt;br /&gt;
# velocity corrections caused by position&lt;br /&gt;
# feedback sample time jitter.&lt;br /&gt;
setp   pid.z.maxerror 0.012700&lt;br /&gt;
&lt;br /&gt;
net z-index-enable  &amp;lt;=&amp;gt; pid.z.index-enable&lt;br /&gt;
net z-enable        =&amp;gt;  pid.z.enable&lt;br /&gt;
net z-pos-cmd       =&amp;gt;  pid.z.command&lt;br /&gt;
net z-pos-fb        =&amp;gt;  pid.z.feedback&lt;br /&gt;
net z-output        &amp;lt;=  pid.z.output&lt;br /&gt;
&lt;br /&gt;
# Step Gen signals/setup&lt;br /&gt;
&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirsetup        [JOINT_2]DIRSETUP&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_2]DIRHOLD&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_2]STEPLEN&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_2]STEPSPACE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_2]STEP_SCALE&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.step_type        0&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.control-type     1&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_2]STEPGEN_MAXACCEL&lt;br /&gt;
setp   hm2_7i92.0.stepgen.01.maxvel           [JOINT_2]STEPGEN_MAXVEL&lt;br /&gt;
&lt;br /&gt;
# ---closedloop stepper signals---&lt;br /&gt;
&lt;br /&gt;
net z-pos-cmd    &amp;lt;= joint.2.motor-pos-cmd&lt;br /&gt;
net z-vel-cmd    &amp;lt;= joint.2.vel-cmd&lt;br /&gt;
net z-output     &amp;lt;= hm2_7i92.0.stepgen.01.velocity-cmd&lt;br /&gt;
#net z-pos-fb     &amp;lt;= hm2_7i92.0.stepgen.01.position-fb&lt;br /&gt;
#net z-pos-fb     =&amp;gt; joint.2.motor-pos-fb&lt;br /&gt;
net z-enable     &amp;lt;= joint.2.amp-enable-out&lt;br /&gt;
net z-enable     =&amp;gt; hm2_7i92.0.stepgen.01.enable&lt;br /&gt;
&lt;br /&gt;
# ---Encoder feedback signals/setup---&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.counter-mode 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.filter 1&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.index-mask-invert 0&lt;br /&gt;
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE&lt;br /&gt;
&lt;br /&gt;
net z-pos-fb               &amp;lt;=  hm2_7i92.0.encoder.02.position&lt;br /&gt;
net z-vel-fb               &amp;lt;=  hm2_7i92.0.encoder.02.velocity&lt;br /&gt;
net z-pos-fb               =&amp;gt;  joint.2.motor-pos-fb&lt;br /&gt;
net z-index-enable    joint.2.index-enable  &amp;lt;=&amp;gt;  hm2_7i92.0.encoder.02.index-enable&lt;br /&gt;
net z-pos-rawcounts        &amp;lt;=  hm2_7i92.0.encoder.02.rawcounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ---setup home / limit switch signals---&lt;br /&gt;
&lt;br /&gt;
#net z-home-sw     =&amp;gt;  joint.2.home-sw-in&lt;br /&gt;
net z-neg-limit     =&amp;gt;  joint.2.neg-lim-sw-in&lt;br /&gt;
net z-pos-limit     =&amp;gt;  joint.2.pos-lim-sw-in&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  HOMING (ENCODER 03)&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
net x-home-sw hm2_7i92.0.encoder.03.input-index =&amp;gt; joint.0.home-sw-in&lt;br /&gt;
net y-home-sw hm2_7i92.0.encoder.03.input-b =&amp;gt; joint.1.home-sw-in&lt;br /&gt;
net z-home-sw hm2_7i92.0.encoder.03.input-a =&amp;gt; joint.2.home-sw-in&lt;br /&gt;
&lt;br /&gt;
setp    hm2_7i92.0.encoder.03.index-invert 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#*******************&lt;br /&gt;
#  SPINDLE&lt;br /&gt;
#*******************&lt;br /&gt;
&lt;br /&gt;
setp   pid.s.Pgain     [SPINDLE_0]P&lt;br /&gt;
setp   pid.s.Igain     [SPINDLE_0]I&lt;br /&gt;
setp   pid.s.Dgain     [SPINDLE_0]D&lt;br /&gt;
setp   pid.s.bias      [SPINDLE_0]BIAS&lt;br /&gt;
setp   pid.s.FF0       [SPINDLE_0]FF0&lt;br /&gt;
setp   pid.s.FF1       [SPINDLE_0]FF1&lt;br /&gt;
setp   pid.s.FF2       [SPINDLE_0]FF2&lt;br /&gt;
setp   pid.s.deadband  [SPINDLE_0]DEADBAND&lt;br /&gt;
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT&lt;br /&gt;
setp   pid.s.error-previous-target true&lt;br /&gt;
&lt;br /&gt;
net spindle-index-enable  &amp;lt;=&amp;gt; pid.s.index-enable&lt;br /&gt;
net spindle-enable        =&amp;gt;  pid.s.enable&lt;br /&gt;
net spindle-vel-cmd-rpm     =&amp;gt; pid.s.command&lt;br /&gt;
net spindle-vel-fb-rpm      =&amp;gt; pid.s.feedback&lt;br /&gt;
net spindle-output        &amp;lt;=  pid.s.output&lt;br /&gt;
&lt;br /&gt;
# ---setup spindle control signals---&lt;br /&gt;
&lt;br /&gt;
net spindle-vel-cmd-rps        &amp;lt;=  spindle.0.speed-out-rps&lt;br /&gt;
net spindle-vel-cmd-rps-abs    &amp;lt;=  spindle.0.speed-out-rps-abs&lt;br /&gt;
net spindle-vel-cmd-rpm        &amp;lt;=  spindle.0.speed-out&lt;br /&gt;
net spindle-vel-cmd-rpm-abs    &amp;lt;=  spindle.0.speed-out-abs&lt;br /&gt;
net spindle-enable             &amp;lt;=  spindle.0.on&lt;br /&gt;
net spindle-cw                 &amp;lt;=  spindle.0.forward&lt;br /&gt;
net spindle-ccw                &amp;lt;=  spindle.0.reverse&lt;br /&gt;
net spindle-brake              &amp;lt;=  spindle.0.brake&lt;br /&gt;
net spindle-revs               =&amp;gt;  spindle.0.revs&lt;br /&gt;
net spindle-at-speed           =&amp;gt;  spindle.0.at-speed&lt;br /&gt;
net spindle-vel-fb-rps         =&amp;gt;  spindle.0.speed-in&lt;br /&gt;
net spindle-index-enable      &amp;lt;=&amp;gt;  spindle.0.index-enable&lt;br /&gt;
&lt;br /&gt;
# ---Setup spindle at speed signals---&lt;br /&gt;
&lt;br /&gt;
sets spindle-at-speed true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#******************************&lt;br /&gt;
# connect miscellaneous signals&lt;br /&gt;
#******************************&lt;br /&gt;
&lt;br /&gt;
#  ---HALUI signals---&lt;br /&gt;
&lt;br /&gt;
net axis-select-x  halui.axis.x.select&lt;br /&gt;
net jog-x-pos      halui.axis.x.plus&lt;br /&gt;
net jog-x-neg      halui.axis.x.minus&lt;br /&gt;
net jog-x-analog   halui.axis.x.analog&lt;br /&gt;
net x-is-homed     halui.joint.0.is-homed&lt;br /&gt;
net axis-select-y  halui.axis.y.select&lt;br /&gt;
net jog-y-pos      halui.axis.y.plus&lt;br /&gt;
net jog-y-neg      halui.axis.y.minus&lt;br /&gt;
net jog-y-analog   halui.axis.y.analog&lt;br /&gt;
net y-is-homed     halui.joint.1.is-homed&lt;br /&gt;
net axis-select-z  halui.axis.z.select&lt;br /&gt;
net jog-z-pos      halui.axis.z.plus&lt;br /&gt;
net jog-z-neg      halui.axis.z.minus&lt;br /&gt;
net jog-z-analog   halui.axis.z.analog&lt;br /&gt;
net z-is-homed     halui.joint.2.is-homed&lt;br /&gt;
net jog-selected-pos      halui.axis.selected.plus&lt;br /&gt;
net jog-selected-neg      halui.axis.selected.minus&lt;br /&gt;
net spindle-manual-cw     halui.spindle.0.forward&lt;br /&gt;
net spindle-manual-ccw    halui.spindle.0.reverse&lt;br /&gt;
net spindle-manual-stop   halui.spindle.0.stop&lt;br /&gt;
net machine-is-on         halui.machine.is-on&lt;br /&gt;
net jog-speed             halui.axis.jog-speed&lt;br /&gt;
net MDI-mode              halui.mode.is-mdi&lt;br /&gt;
&lt;br /&gt;
#  ---coolant signals---&lt;br /&gt;
&lt;br /&gt;
net coolant-mist      &amp;lt;=  iocontrol.0.coolant-mist&lt;br /&gt;
net coolant-flood     &amp;lt;=  iocontrol.0.coolant-flood&lt;br /&gt;
&lt;br /&gt;
#  ---probe signal---&lt;br /&gt;
&lt;br /&gt;
net probe-in     =&amp;gt;  motion.probe-input&lt;br /&gt;
&lt;br /&gt;
#  ---motion control signals---&lt;br /&gt;
&lt;br /&gt;
net in-position               &amp;lt;=  motion.in-position&lt;br /&gt;
net machine-is-enabled        &amp;lt;=  motion.motion-enabled&lt;br /&gt;
&lt;br /&gt;
#  ---digital in / out signals---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#  ---estop signals---&lt;br /&gt;
&lt;br /&gt;
net estop-out     &amp;lt;=  iocontrol.0.user-enable-out&lt;br /&gt;
net estop-out     =&amp;gt;  iocontrol.0.emc-enable-in&lt;br /&gt;
&lt;br /&gt;
#  ---manual tool change signals---&lt;br /&gt;
&lt;br /&gt;
loadusr -W hal_manualtoolchange&lt;br /&gt;
net tool-change-request     iocontrol.0.tool-change       =&amp;gt;  hal_manualtoolchange.change&lt;br /&gt;
net tool-change-confirmed   iocontrol.0.tool-changed      &amp;lt;=  hal_manualtoolchange.changed&lt;br /&gt;
net tool-number             iocontrol.0.tool-prep-number  =&amp;gt;  hal_manualtoolchange.number&lt;br /&gt;
net tool-prepare-loopback   iocontrol.0.tool-prepare      =&amp;gt;  iocontrol.0.tool-prepared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=250</id>
		<title>Fräse</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Fr%C3%A4se&amp;diff=250"/>
		<updated>2023-03-20T16:25:21Z</updated>

		<summary type="html">&lt;p&gt;E.frey: Hinzufügen eines Gasdruckfeder abschnitts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Gasdruckfeder ===&lt;br /&gt;
[[Datei:Grune einausbau gasdruckfeder.jpg|mini|224x224px|Zeigt die Ein und Ausbauhöhe der Gasdruckfeder]]&lt;br /&gt;
Die Gasdruckfeder entlastet den Z-Achsen Motor. [https://gasdruckfeder-grosshandel.de/produkt/gasdruckfeder-gasdruckdaempfer-kugelkopf-765mm-330mm/ Bestelllink bei Gasdruckfeder Großhandel] vom Typen Gasdruckfeder Gasdruckdämpfer Kugelkopf 765mm / 330mm 900N.&lt;br /&gt;
&lt;br /&gt;
Die Ein-/Ausbauhöhe ist auf dem Bild rechts zu erkennen, ungefähr 34,1 mm. Wichtig an der Skala der Fräse ablesen nicht in Maschinenkoordinaten.&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
	<entry>
		<id>https://wiki.artandtech.space/index.php?title=Datei:Grune_einausbau_gasdruckfeder.jpg&amp;diff=249</id>
		<title>Datei:Grune einausbau gasdruckfeder.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.artandtech.space/index.php?title=Datei:Grune_einausbau_gasdruckfeder.jpg&amp;diff=249"/>
		<updated>2023-03-20T16:24:17Z</updated>

		<summary type="html">&lt;p&gt;E.frey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zeigt Ein und Ausbauhöhe der Gasdruckfeder&lt;/div&gt;</summary>
		<author><name>E.frey</name></author>
	</entry>
</feed>