Hier war ich Anfangs sehr überfordert und habe eine erst mal alles im pncconf Wizzard mit einer anderen Mesakarte (5i25 und der 7i77) ans laufen bringen. Vielleicht wird die 7i92 inzwischen unterstützt. Was wir brauchen sind Encoder, Beschleunigungen usw. dann hat man eine 1. Konfiguration bei der man dann alles der 5i25 durch die 7I92 ersetzt.
Das ist eigentlich nur eine Zeile:

loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxx"

durch

loadrt hm2_eth board_ip="192.168.1.121" config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxx sserial_port_1=000xxx"

damit sollte sich schon mal was starten lassen. Inzwischen gehe ich eher direkt auf Hal und Ini Dateien los. Hier mal meine aktuelle INI:

[EMC]
VERSION = 1.1
MACHINE = Igor
DEBUG = 0

[DISPLAY]
DISPLAY = probe_basic
CONFIRM_EXIT = False
CONFIG_FILE = custom_config.yml
POSITION = 0x0
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 2.000000
MIN_SPINDLE_OVERRIDE = 0.010000
DEFAULT_SPINDLE_SPEED = 1000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
EDITOR = gedit
LOG_FILE = igor.log
PREFERENCE_FILE = igor.pref
PROGRAM_PREFIX = ~/totempole/NC-Files
INCREMENTS = JOG, 10.000, 1.000, 0.100, 0.010, 0.001
DEFAULT_LINEAR_VELOCITY = 50.0000
MAX_LINEAR_VELOCITY = 180
MIN_LINEAR_VELOCITY = 0.02000
MAX_RAPID_OVERRIDE = 2
DEFAULT_ANGULAR_VELOCITY = 12.0000
MAX_ANGULAR_VELOCITY = 180.0000
MIN_ANGULAR_VELOCITY = 1.6667
GEOMETRY = xyz

[VTK]
# VTK_Widget Options
MACHINE_BOUNDRY = True
MACHINE_TICKS = True
MACHINE_LABELS = False
PROGRAM_BOUNDRY = True
PROGRAM_TICKS = True
PROGRAM_LABELS = False
GRID_LINES = True

[PYTHON]
TOPLEVEL = ./python/toplevel.py
PATH_APPEND = ./python/
PATH_APPEND = ./python/python-stdglue/

[FILTER]
PROGRAM_EXTENSION = .nc,.txt,.tap ; .ngc is always accepted

[RS274NGC]
PARAMETER_FILE = igor.var
RS274NGC_STARTUP_CODE = F10 S300 G21 G17 G40 G49 G54 G64 P0.001 G80 G90 G91.1 G92.1 G94 G97 G98
FEATURES = 12
SUBROUTINE_PATH = ~/linuxcnc/configs/IgorProbe/nc_files/sub_progs/
USER_M_PATH = ~/linuxcnc/configs/IgorProbe/nc_files/
REMAP= M6 modalgroup=6 ngc=toolchange2

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[HAL]
HALFILE = hallib/core_igor.hal
HALFILE = hallib/xhc-whb04b-6.hal
POSTGUI_HALFILE = hallib/postgui.hal
HALUI = halui

[HALUI]

	MDI_COMMAND=(debug,00)
	MDI_COMMAND=(debug,macro1)
	MDI_COMMAND=(debug,macro2)
	MDI_COMMAND=(debug,macro3)
	MDI_COMMAND=(debug,macro4)  
	MDI_COMMAND=o<go_to_home> call
	MDI_COMMAND=(debug,macro6)
	MDI_COMMAND=o<go_to_workhome> call
	MDI_COMMAND=(debug,macro8)
	MDI_COMMAND=o<probe_z_half> call
	MDI_COMMAND=(debug,macro10)
	MDI_COMMAND=(debug,macro11)
	MDI_COMMAND=(debug,macro12)
	MDI_COMMAND=(debug,macro13)
	MDI_COMMAND=(debug,macro14)
	MDI_COMMAND=(debug,macro15)
	MDI_COMMAND=(debug,macro16)
	MDI_COMMAND=o<go_to_zhome> call
	MDI_COMMAND=(debug,macro18_Spindle_on_of)
	MDI_COMMAND=o<probe_z> call
       # MDI_COMMAND=(debug,macro20)


[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_LINEAR_VELOCITY = 30.0000
MAX_LINEAR_VELOCITY = 250
MAX_LINEAR_ACCELERATION = 90
SPINDLES = 1
#FORCE_NO_HOMING =       1 #spaeter auskommentiren
POSITION_FILE = position.txt

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3

#==================
#      X Axis
#==================

[AXIS_X]
MAX_VELOCITY =          333.333333
MAX_ACCELERATION =      130
MIN_LIMIT = -535.0
MAX_LIMIT = 9.0

[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY =          333.333333
MAX_ACCELERATION =      130
BACKLASH =              0.000
FERROR =                0.5
MIN_FERROR =            0.1
ENCODER_SCALE = -1000
OUTPUT_SCALE = 333.333333
OUTPUT_OFFSET =         0.0
OUTPUT_MIN_LIMIT = -333.333333
OUTPUT_MAX_LIMIT = 333.333333
MAX_OUTPUT = 333.333333
MIN_LIMIT = -535.0
MAX_LIMIT = 9.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = -0.000000
HOME_SEQUENCE = 1
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS =    NO

# PID tuning params
DEADBAND =              0.000015
P =                     200
I =                     0
D =                     0
FF0 =                   0
FF1 =                   0.9
FF2 =                   0
BIAS =                  0

#==================
#      Y Axis
#==================

[AXIS_Y]
MAX_VELOCITY =         291.666666
MAX_ACCELERATION =      130
MIN_LIMIT = -295.0
MAX_LIMIT = 9.0

[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY =          291.666666
MAX_ACCELERATION =      130
BACKLASH =              0.000
FERROR =                0.50
MIN_FERROR =            0.10
ENCODER_SCALE = -1000
OUTPUT_SCALE = 290
OUTPUT_OFFSET =         0.0
OUTPUT_MIN_LIMIT = -290
OUTPUT_MAX_LIMIT = 290
MAX_OUTPUT = 290
MIN_LIMIT = -295.0
MAX_LIMIT = 9.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = -0.000000
HOME_SEQUENCE = 1
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS =    NO

# PID tuning params
DEADBAND =              0.000015
P =                     200
I =                     0
D =                     0
FF0 =                   0
FF1 =                   0.9
FF2 =                   0
BIAS =                  0

#==================
#      Z Axis
#==================

[AXIS_Z]
MAX_VELOCITY =          333.333333
MAX_ACCELERATION =      130
MIN_LIMIT = -419.0
MAX_LIMIT = 9.0

[JOINT_2]
YPE = LINEAR
MAX_VELOCITY =          333.333333
MAX_ACCELERATION =      130
BACKLASH =              0.000
FERROR =                0.50
MIN_FERROR =            0.10
ENCODER_SCALE = -1000
OUTPUT_SCALE = 333.333333
OUTPUT_OFFSET =         0.0
OUTPUT_MIN_LIMIT = -333.333333
OUTPUT_MAX_LIMIT = 333.333333
MAX_OUTPUT = 333.333333
MIN_LIMIT = -419.0
MAX_LIMIT = 9.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = -0.000000
HOME_SEQUENCE = 1
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS =    NO

# PID tuning params
DEADBAND =              0.000015
P =                     200
I =                     0
D =                     0
FF0 =                   0
FF1 =                   0.9
FF2 =                   0
BIAS =                  0

HOME = 0.000

#==================
#     Spindle
#==================

[SPINDLE_9]
P = 1I = 0
D = 0
FF0 = 0
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10500
ENCODER_SCALE = 4096
OUTPUT_SCALE = -10500
OUTPUT_MIN_LIMIT = -10500
OUTPUT_MAX_LIMIT = 10500

Ich habe bei mir die Logik das alle Achsen negativ Laufen von der Ursprünglichen Konfiguration der Sinumerik übernommen, daher sind bei mir die Encoder negiert.
Die Hal ist recht umfangreich und wie man hier sieht ist auch inzwischen ein Handrad verbaut. Dazu wird es noch einen eigenen Beitrag geben. Kommen wir jetzt zu den Einzelnen Hal Dateien:

# first load all the RT modules that will be needed
# kinematics
loadrt [KINS]KINEMATICS
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hostmot2
loadrt hm2_eth board_ip="192.168.1.121" config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxx sserial_port_1=000xxx"
setp    hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s

# classic ladder
loadrt classicladder_rt #numBits=40 numWords=30 numArithmExpr=100
addf classicladder.0.refresh servo-thread
# Load the ladder
#loadusr classicladder powerup.clp
loadusr classicladder --nogui powerup.clp

# estop
loadrt estop_latch count=3
addf estop-latch.0            servo-thread
addf estop-latch.1            servo-thread
addf estop-latch.2            servo-thread

#Spindle ramp
loadrt limit2 names=spindle-ramp
loadrt near names=spindle-atspeed
# add the Spindele functions to a thread
addf spindle-ramp servo-thread
addf spindle-atspeed servo-thread

#and2
loadrt or2 count=1
addf or2.0 servo-thread

# set the parameter for max rate-of-change
# (max spindle accel/decel in units per second)
setp spindle-ramp.maxv 1000

# add motion controller functions to servo thread
addf hm2_7i92.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.y.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf hm2_7i92.0.write         servo-thread

# external output signals
# 7i71
net o-tool-clean	hm2_7i92.0.7i71.1.1.output-00
net o-tool-01-down	hm2_7i92.0.7i71.1.1.output-01
net o-tool-02-down	hm2_7i92.0.7i71.1.1.output-02
net o-tool-03-down	hm2_7i92.0.7i71.1.1.output-03
net o-tool-04-down	hm2_7i92.0.7i71.1.1.output-04
net o-tool-05-down	hm2_7i92.0.7i71.1.1.output-05
net o-tool-06-down	hm2_7i92.0.7i71.1.1.output-06
net o-tool-07-down	hm2_7i92.0.7i71.1.1.output-07
net o-tool-08-down	hm2_7i92.0.7i71.1.1.output-08
net o-tool-09-down	hm2_7i92.0.7i71.1.1.output-09
net o-tool-10-down	hm2_7i92.0.7i71.1.1.output-10
net o-tool-11-down	hm2_7i92.0.7i71.1.1.output-11
net o-tool-12-down	hm2_7i92.0.7i71.1.1.output-12
net o-tool-basket-down	hm2_7i92.0.7i71.1.1.output-13
net o-tool-basket-up	hm2_7i92.0.7i71.1.1.output-14
net o-tool-open   	hm2_7i92.0.7i71.1.1.output-15
net o-tool-all-up   	hm2_7i92.0.7i71.1.1.output-16
net o-steuerung-1	hm2_7i92.0.7i71.1.1.output-18
net o-impulsfreigabe	hm2_7i92.0.7i71.1.1.output-17
net o-pump-1		hm2_7i92.0.7i71.1.1.output-19
net o-airpressure-1	hm2_7i92.0.7i71.1.1.output-20
net o-chiptransport	hm2_7i92.0.7i71.1.1.output-21
net o-pump-2		hm2_7i92.0.7i71.1.1.output-22
net o-power-drives	hm2_7i92.0.7i71.1.1.output-23
net o-power-drives-delay	hm2_7i92.0.7i71.1.1.output-24
#bei Transport auskommentieren
net o-brake-z		hm2_7i92.0.7i71.1.1.output-25
#/bei Transport auskommentieren
net o-pump-3		hm2_7i92.0.7i71.1.1.output-27

# --- SPINDLE-ENABLE ---
#net spindle-enable 	hm2_7i92.0.7i71.1.1.output-26
net o-impulsfreigabe  	 hm2_7i92.0.7i71.1.1.output-26
net spindle-enable      hm2_7i92.0.7i77.0.0.output-01	

# --- Table-Out ---
net o-table-up		hm2_7i92.0.7i71.1.1.output-28
net o-table-lock	hm2_7i92.0.7i71.1.1.output-29
net o-table-2		hm2_7i92.0.7i71.1.1.output-30
net o-table-1		hm2_7i92.0.7i71.1.1.output-31

net  error1		hm2_7i92.0.7i71.1.1.output-32
net enable1		hm2_7i92.0.7i71.1.1.output-33
# --- COOLANT-FLOOD ---
net coolant-flood 	hm2_7i92.0.7i71.1.1.output-34

net o-dummy35 	hm2_7i92.0.7i71.1.1.output-35
net o-dummy36	hm2_7i92.0.7i71.1.1.output-36
#---clean-probe
net o-probe-clean	hm2_7i92.0.7i71.1.1.output-37

# --- COOLANT-MIST ---
net coolant-mist	hm2_7i92.0.7i71.1.1.output-38

#---- NOT CONNECTED ----
net o-dummy39	hm2_7i92.0.7i71.1.1.output-39
net o-dummy40	hm2_7i92.0.7i71.1.1.output-40
net o-dummy41	hm2_7i92.0.7i71.1.1.output-41
net o-dummy42	hm2_7i92.0.7i71.1.1.output-42
net o-dummy43	hm2_7i92.0.7i71.1.1.output-43
#net o-dummy44	hm2_7i92.0.7i71.1.1.output-44

#bei Transport auskommentieren
net z-enable	hm2_7i92.0.7i71.1.1.output-45
net y-enable	hm2_7i92.0.7i71.1.1.output-46
net x-enable	hm2_7i92.0.7i71.1.1.output-47
#/bei Transport auskommentieren

#7i77

# --- SPINDLE-BRAKE ---
#net spindle-brake hm2_7i92.0.7i77.0.0.output-05

net o-power-drives-delay hm2_7i92.0.7i77.0.0.output-00

#---- NOT CONNECTED ----
net o-2dummy02	hm2_7i92.0.7i77.0.0.output-02
net o-2dummy03	hm2_7i92.0.7i77.0.0.output-03
net o-2dummy04	hm2_7i92.0.7i77.0.0.output-04
net o-2dummy05	hm2_7i92.0.7i77.0.0.output-05
net o-2dummy06	hm2_7i92.0.7i77.0.0.output-06
net o-2dummy07	hm2_7i92.0.7i77.0.0.output-07
net o-2dummy08	hm2_7i92.0.7i77.0.0.output-08
net o-2dummy09	hm2_7i92.0.7i77.0.0.output-09
net o-2dummy10	hm2_7i92.0.7i77.0.0.output-10
net o-2dummy11	hm2_7i92.0.7i77.0.0.output-11
net o-2dummy12	hm2_7i92.0.7i77.0.0.output-12
net o-2dummy13	hm2_7i92.0.7i77.0.0.output-13
net o-2dummy14	hm2_7i92.0.7i77.0.0.output-14
net o-2dummy15	hm2_7i92.0.7i77.0.0.output-15

# external input signals
# 7i70
net i-tool-03-is-up	hm2_7i92.0.7i70.1.0.input-00
net i-tool-03-is-down	hm2_7i92.0.7i70.1.0.input-01
net i-tool-02-is-up	hm2_7i92.0.7i70.1.0.input-02
net i-tool-02-is-down	hm2_7i92.0.7i70.1.0.input-03
net i-tool-01-is-up	hm2_7i92.0.7i70.1.0.input-04
net i-tool-01-is-down	hm2_7i92.0.7i70.1.0.input-05
net i-tool-12-is-up	hm2_7i92.0.7i70.1.0.input-06
net i-tool-12-is-down	hm2_7i92.0.7i70.1.0.input-07
net i-tool-05-is-down	hm2_7i92.0.7i70.1.0.input-08
net i-tool-05-is-up	hm2_7i92.0.7i70.1.0.input-09
net i-tool-04-is-up	hm2_7i92.0.7i70.1.0.input-10
net i-tool-10-is-down	hm2_7i92.0.7i70.1.0.input-12
net i-tool-is-open	hm2_7i92.0.7i70.1.0.input-11
net i-tool-10-is-up	hm2_7i92.0.7i70.1.0.input-13
net i-tool-11-is-down	hm2_7i92.0.7i70.1.0.input-14
net i-tool-11-is-up	hm2_7i92.0.7i70.1.0.input-15
net i-tool-09-is-down	hm2_7i92.0.7i70.1.0.input-16
net i-tool-09-is-up	hm2_7i92.0.7i70.1.0.input-17
net i-tool-08-is-down	hm2_7i92.0.7i70.1.0.input-18
net i-tool-08-is-up	hm2_7i92.0.7i70.1.0.input-19
net i-tool-07-is-down	hm2_7i92.0.7i70.1.0.input-20
net i-tool-07-is-up	hm2_7i92.0.7i70.1.0.input-21
net i-tool-06-is-down	hm2_7i92.0.7i70.1.0.input-22
net i-tool-06-is-up	hm2_7i92.0.7i70.1.0.input-23
net i-door-1-open	hm2_7i92.0.7i70.1.0.input-24
net i-steuerung-ein	hm2_7i92.0.7i70.1.0.input-25
net i-power-io		hm2_7i92.0.7i70.1.0.input-26
net i-tool-04-is-down   hm2_7i92.0.7i70.1.0.input-27
net i-tool-basket-is-down	hm2_7i92.0.7i70.1.0.input-30
net i-tool-basket-is-up	hm2_7i92.0.7i70.1.0.input-31
net i-door-1-closed	hm2_7i92.0.7i70.1.0.input-32
net i-door-2-open	hm2_7i92.0.7i70.1.0.input-33
net i-door-2-closed	hm2_7i92.0.7i70.1.0.input-34
net i-door-3		hm2_7i92.0.7i70.1.0.input-35
net i-table-is-lock	hm2_7i92.0.7i70.1.0.input-36
net i-table-is-up	hm2_7i92.0.7i70.1.0.input-37
net i-table-is-1	hm2_7i92.0.7i70.1.0.input-38
net i-table-is-2	hm2_7i92.0.7i70.1.0.input-39

# --- HOME-Z ---
net home-x     hm2_7i92.0.7i70.1.0.input-40
net home-y     hm2_7i92.0.7i70.1.0.input-29
net home-z     hm2_7i92.0.7i70.1.0.input-28

# --- A Axis ---- NOT CONNECTED ----
net home-a      hm2_7i92.0.7i70.1.0.input-41
net i-setup-a	hm2_7i92.0.7i70.1.0.input-42

#---- NOT CONNECTED ----
net i-dummy43	hm2_7i92.0.7i70.1.0.input-43
net i-dummy44	hm2_7i92.0.7i70.1.0.input-44
net i-dummy45	hm2_7i92.0.7i70.1.0.input-45
net i-dummy46	hm2_7i92.0.7i70.1.0.input-46
net i-dummy47	hm2_7i92.0.7i70.1.0.input-47

#7i77

net i-brake-z-is-on	hm2_7i92.0.7i77.0.0.input-00
net i-machine-ready	hm2_7i92.0.7i77.0.0.input-01

# --- MAX-X ---
net max-x     <=  hm2_7i92.0.7i77.0.0.input-02
net max-x-n	<=  hm2_7i92.0.7i77.0.0.input-02-not
# --- MAX-Y ---
net max-y     <=  hm2_7i92.0.7i77.0.0.input-03
net max-y-n     <=  hm2_7i92.0.7i77.0.0.input-03-not

# --- MAX-Z ---
net max-z     <=  hm2_7i92.0.7i77.0.0.input-04
net max-z-n-1     <=  hm2_7i92.0.7i77.0.0.input-04-not
# --- E-Stop input---
net estop-button        hm2_7i92.0.7i77.0.0.input-06-not
net i-pressure-ok	hm2_7i92.0.7i77.0.0.input-05-not
net i-temp-bimetall	hm2_7i92.0.7i77.0.0.input-07-not
net i-temp		hm2_7i92.0.7i77.0.0.input-08-not

# --- E-STOP CHAIN STARTS ---
net latch-ok-in iocontrol.0.user-enable-out 
net latch-ok-in => estop-latch.0.ok-in
net latch0-out <= estop-latch.0.ok-out 
net latch0-out => estop-latch.1.ok-in
net latch1-out <= estop-latch.1.ok-out 
net latch1-out => estop-latch.2.ok-in
net reset => estop-latch.0.reset
net reset => estop-latch.1.reset
net reset => estop-latch.2.reset
net latch-out iocontrol.0.emc-enable-in <= estop-latch.2.ok-out
net estop-out estop-latch.2.fault-out
# --- EXTERNAL ESTOP SWITCH ---
net estop-button => estop-latch.0.fault-in
# --- Airpressure low E-Stop ---
net i-pressure-ok => estop-latch.1.fault-in 
# --- Overheating E-STOP ---
net i-temp-bimetall => estop-latch.2.fault-in
# --- ESTOP CHAIN ENDS ---
#Ladder
# --- MACHINE-IS-ENABLED ---
net machine-is-enabled	classicladder.0.in-00
net i-steuerung-ein	classicladder.0.in-01
# --- ladder-out
net o-impulsfreigabe 	<= classicladder.0.out-02
net o-steuerung-1	<= classicladder.0.out-01
net o-power-drives	<= classicladder.0.out-04
net o-power-drives-delay <= classicladder.0.out-05
net o-brake-z 		<= classicladder.0.out-06



net i-unknown1	hm2_7i92.0.7i77.0.0.input-09
net i-unkown2	hm2_7i92.0.7i77.0.0.input-10
net i-servo	hm2_7i92.0.7i77.0.0.input-11
net i-spindle	hm2_7i92.0.7i77.0.0.input-12
net i-2dummy13	hm2_7i92.0.7i77.0.0.input-13
net i-2dummy14	hm2_7i92.0.7i77.0.0.input-14
net i-2dummy15	hm2_7i92.0.7i77.0.0.input-15
#********************
#Iputs in Ganty START
#********************
net i-toolsensor-1  	hm2_7i92.0.7i77.0.0.input-16
net i-toolsensor-2  	hm2_7i92.0.7i77.0.0.input-17
net max-z-n-2  	hm2_7i92.0.7i77.0.0.input-17-not
net i-toolsensor      hm2_7i92.0.7i77.0.0.input-16-not
net i-toolsensor        motion.probe-input
net i-2dummy18  	hm2_7i92.0.7i77.0.0.input-18
net i-2dummy19	        hm2_7i92.0.7i77.0.0.input-19
net i-2dummy20  	hm2_7i92.0.7i77.0.0.input-20
net i-2dummy21	        hm2_7i92.0.7i77.0.0.input-21
net i-2dummy22	        hm2_7i92.0.7i77.0.0.input-22
net i-ganty-powergood	hm2_7i92.0.7i77.0.0.input-23
#********************
#Iputs in Ganty END
#********************
net i-2dummy24	hm2_7i92.0.7i77.0.0.input-24
net i-2dummy25	hm2_7i92.0.7i77.0.0.input-25
net i-2dummy26	hm2_7i92.0.7i77.0.0.input-26
net i-2dummy27	hm2_7i92.0.7i77.0.0.input-27
net i-2dummy28	hm2_7i92.0.7i77.0.0.input-28
net i-2dummy29	hm2_7i92.0.7i77.0.0.input-29
net i-2dummy30	hm2_7i92.0.7i77.0.0.input-30
net i-2dummy31	hm2_7i92.0.7i77.0.0.input-31
#********************
#Z-Limit logic
#********************
net max-y-n-1   or2.0.in0
net max-z-n-2   or2.0.in1
net max-z-n     or2.0.out
#*******************
#  JOINT X
#*******************
setp   pid.x.Pgain     [JOINT_0]P
setp   pid.x.Igain     [JOINT_0]I
setp   pid.x.Dgain     [JOINT_0]D
setp   pid.x.bias      [JOINT_0]BIAS
setp   pid.x.FF0       [JOINT_0]FF0
setp   pid.x.FF1       [JOINT_0]FF1
setp   pid.x.FF2       [JOINT_0]FF2
setp   pid.x.deadband  [JOINT_0]DEADBAND
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp   pid.x.error-previous-target true

net x-index-enable  <=> pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
#net x-vel-cmd       =>  pid.x.command-deriv
net x-pos-fb        =>  pid.x.feedback
net x-output        =>  pid.x.output

# ---PWM Generator signals/setup---

setp   hm2_7i92.0.7i77.0.1.analogout0-scalemax  [JOINT_0]OUTPUT_SCALE
setp   hm2_7i92.0.7i77.0.1.analogout0-minlim    [JOINT_0]OUTPUT_MIN_LIMIT
setp   hm2_7i92.0.7i77.0.1.analogout0-maxlim    [JOINT_0]OUTPUT_MAX_LIMIT

net x-output                             => hm2_7i92.0.7i77.0.1.analogout0
net x-pos-cmd    joint.0.motor-pos-cmd
net x-enable     joint.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable   hm2_7i92.0.7i77.0.1.analogena

# ---Encoder feedback signals/setup---

setp    hm2_7i92.0.encoder.00.counter-mode 0
setp    hm2_7i92.0.encoder.00.filter 1
setp    hm2_7i92.0.encoder.00.index-invert 0
setp    hm2_7i92.0.encoder.00.index-mask 0
setp    hm2_7i92.0.encoder.00.index-mask-invert 0
setp    hm2_7i92.0.encoder.00.scale  [JOINT_0]ENCODER_SCALE

net x-pos-fb               <=  hm2_7i92.0.encoder.00.position
net x-vel-fb               <=  hm2_7i92.0.encoder.00.velocity
net x-pos-fb               =>  joint.0.motor-pos-fb
net x-index-enable    joint.0.index-enable  <=>  hm2_7i92.0.encoder.00.index-enable
net x-pos-rawcounts        <=  hm2_7i92.0.encoder.00.rawcounts

# ---setup home / limit switch signals---

net home-x     =>  joint.0.home-sw-in
net max-x-n     =>  joint.0.neg-lim-sw-in
net max-x-n     =>  joint.0.pos-lim-sw-in

#*******************
#  JOINT Y
#*******************

setp   pid.y.Pgain     [JOINT_1]P
setp   pid.y.Igain     [JOINT_1]I
setp   pid.y.Dgain     [JOINT_1]D
setp   pid.y.bias      [JOINT_1]BIAS
setp   pid.y.FF0       [JOINT_1]FF0
setp   pid.y.FF1       [JOINT_1]FF1
setp   pid.y.FF2       [JOINT_1]FF2
setp   pid.y.deadband  [JOINT_1]DEADBAND
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp   pid.y.error-previous-target true

net y-index-enable  <=> pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
#net y-vel-cmd       =>  pid.y.command-deriv
net y-pos-fb        =>  pid.y.feedback
net y-output        =>  pid.y.output

# ---PWM Generator signals/setup---

setp   hm2_7i92.0.7i77.0.1.analogout1-scalemax  [JOINT_1]OUTPUT_SCALE
setp   hm2_7i92.0.7i77.0.1.analogout1-minlim    [JOINT_1]OUTPUT_MIN_LIMIT
setp   hm2_7i92.0.7i77.0.1.analogout1-maxlim    [JOINT_1]OUTPUT_MAX_LIMIT

net y-output                             => hm2_7i92.0.7i77.0.1.analogout1
net y-pos-cmd    joint.1.motor-pos-cmd
net y-enable     joint.1.amp-enable-out

# ---Encoder feedback signals/setup---

setp    hm2_7i92.0.encoder.01.counter-mode 0
setp    hm2_7i92.0.encoder.01.filter 1
setp    hm2_7i92.0.encoder.01.index-invert 0
setp    hm2_7i92.0.encoder.01.index-mask 0
setp    hm2_7i92.0.encoder.01.index-mask-invert 0
setp    hm2_7i92.0.encoder.01.scale  [JOINT_1]ENCODER_SCALE

net y-pos-fb               <=  hm2_7i92.0.encoder.01.position
net y-vel-fb               <=  hm2_7i92.0.encoder.01.velocity
net y-pos-fb               =>  joint.1.motor-pos-fb
net y-index-enable    joint.1.index-enable  <=>  hm2_7i92.0.encoder.01.index-enable
net y-pos-rawcounts        <=  hm2_7i92.0.encoder.01.rawcounts

# ---setup home / limit switch signals---

net home-y     =>  joint.1.home-sw-in
net max-y-n     =>  joint.1.neg-lim-sw-in
net max-y-n     =>  joint.1.pos-lim-sw-in

#*******************
#  JOINT Z
#*******************

setp   pid.z.Pgain     [JOINT_2]P
setp   pid.z.Igain     [JOINT_2]I
setp   pid.z.Dgain     [JOINT_2]D
setp   pid.z.bias      [JOINT_2]BIAS
setp   pid.z.FF0       [JOINT_2]FF0
setp   pid.z.FF1       [JOINT_2]FF1
setp   pid.z.FF2       [JOINT_2]FF2
setp   pid.z.deadband  [JOINT_2]DEADBAND
setp   pid.z.maxoutput [JOINT_2]MAX_OUTPUT
setp   pid.z.error-previous-target true

net z-index-enable  <=> pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
#net z-vel-cmd       =>  pid.z.command-deriv
net z-pos-fb        =>  pid.z.feedback
net z-output        =>  pid.z.output  

# ---PWM Generator signals/setup---

setp   hm2_7i92.0.7i77.0.1.analogout2-scalemax  [JOINT_2]OUTPUT_SCALE
setp   hm2_7i92.0.7i77.0.1.analogout2-minlim    [JOINT_2]OUTPUT_MIN_LIMIT
setp   hm2_7i92.0.7i77.0.1.analogout2-maxlim    [JOINT_2]OUTPUT_MAX_LIMIT

net z-output     => hm2_7i92.0.7i77.0.1.analogout2
net z-pos-cmd    joint.2.motor-pos-cmd
net z-enable     joint.2.amp-enable-out

# ---Encoder feedback signals/setup---

setp    hm2_7i92.0.encoder.02.counter-mode 0
setp    hm2_7i92.0.encoder.02.filter 1
setp    hm2_7i92.0.encoder.02.index-invert 0
setp    hm2_7i92.0.encoder.02.index-mask 0
setp    hm2_7i92.0.encoder.02.index-mask-invert 0
setp    hm2_7i92.0.encoder.02.scale  [JOINT_2]ENCODER_SCALE

net z-pos-fb               <=  hm2_7i92.0.encoder.02.position
net z-vel-fb               <=  hm2_7i92.0.encoder.02.velocity
net z-pos-fb               =>  joint.2.motor-pos-fb
net z-index-enable    joint.2.index-enable  <=>  hm2_7i92.0.encoder.02.index-enable
net z-pos-rawcounts        <=  hm2_7i92.0.encoder.02.rawcounts

# ---setup home / limit switch signals---

net home-z     =>  joint.2.home-sw-in
net max-z-n     =>  joint.2.neg-lim-sw-in
net max-z-n     =>  joint.2.pos-lim-sw-in

#*******************
#  SPINDLE S
#*******************

setp   pid.s.Pgain     [SPINDLE_9]P
setp   pid.s.Igain     [SPINDLE_9]I
setp   pid.s.Dgain     [SPINDLE_9]D
setp   pid.s.bias      [SPINDLE_9]BIAS
setp   pid.s.FF0       [SPINDLE_9]FF0
setp   pid.s.FF1       [SPINDLE_9]FF1
setp   pid.s.FF2       [SPINDLE_9]FF2
setp   pid.s.deadband  [SPINDLE_9]DEADBAND
setp   pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp   pid.s.error-previous-target true

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
#net spindle-vel-cmd-rpm     => pid.s.command
# the output of spindle ramp is sent to the scale in
net spindle-ramped <= spindle-ramp.out => => pid.s.command
net spindle-vel-fb-rpm      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---PWM Generator signals/setup---

setp   hm2_7i92.0.7i77.0.1.analogout4-scalemax  [SPINDLE_9]OUTPUT_SCALE
setp   hm2_7i92.0.7i77.0.1.analogout4-minlim    [SPINDLE_9]OUTPUT_MIN_LIMIT
setp   hm2_7i92.0.7i77.0.1.analogout4-maxlim    [SPINDLE_9]OUTPUT_MAX_LIMIT

net spindle-output      => hm2_7i92.0.7i77.0.1.analogout4

# ---Encoder feedback signals/setup---

setp    hm2_7i92.0.encoder.05.counter-mode 0
setp    hm2_7i92.0.encoder.05.filter 1
setp    hm2_7i92.0.encoder.05.index-invert 0
setp    hm2_7i92.0.encoder.05.index-mask 0
setp    hm2_7i92.0.encoder.05.index-mask-invert 0
setp    hm2_7i92.0.encoder.05.scale  [SPINDLE_9]ENCODER_SCALE

net spindle-revs             <=   hm2_7i92.0.encoder.05.position
net spindle-vel-fb-rps       <=   hm2_7i92.0.encoder.05.velocity
net spindle-index-enable     <=>  hm2_7i92.0.encoder.05.index-enable

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs    <=  spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  spindle.0.speed-out
net spindle-vel-cmd-rpm-abs    <=  spindle.0.speed-out-abs
net spindle-enable             <=  spindle.0.on
net spindle-cw                 <=  spindle.0.forward
net spindle-ccw                <=  spindle.0.reverse
net spindle-brake              <=  spindle.0.brake
net spindle-revs               =>  spindle.0.revs
#net spindle-at-speed           =>  spindle.0.at-speed
net spindle-vel-fb-rps         =>  spindle.0.speed-in
net spindle-index-enable      <=>  spindle.0.index-enable

# hijack the spindle speed out and send it to spindle ramp in
net spindle-vel-cmd-rpm => spindle-ramp.in
# to know when to start the motion we send the near component
# (named spindle-at-speed) to the spindle commanded speed from
# the signal spindle-cmd and the actual spindle speed
# provided your spindle can accelerate at the maxv setting.
net spindle-vel-cmd-rpm => spindle-atspeed.in1
net spindle-ramped => spindle-atspeed.in2
#net spindle-vel-fb-rpm => spindle-atspeed.in2
# ---Setup spindle at speed signals---
# the output from spindle-at-speed is sent to motion.spindle-at-speed
# and when this is true motion will start
net spindle-at-speed <= spindle-atspeed.out => spindle.0.at-speed
#sets spindle-at-speed true


#******************************
# connect miscellaneous signals
#******************************

#  ---HALUI signals---

net axis-select-x  halui.axis.x.select
net jog-x-pos      halui.axis.x.plus
net jog-x-neg      halui.axis.x.minus
net jog-x-analog   halui.axis.x.analog
net x-is-homed     halui.joint.0.is-homed
net axis-select-y  halui.axis.y.select
net jog-y-pos      halui.axis.y.plus
net jog-y-neg      halui.axis.y.minus
net jog-y-analog   halui.axis.y.analog
net y-is-homed     halui.joint.1.is-homed
net axis-select-z  halui.axis.z.select
net jog-z-pos      halui.axis.z.plus
net jog-z-neg      halui.axis.z.minus
net jog-z-analog   halui.axis.z.analog
net z-is-homed     halui.joint.2.is-homed
net jog-selected-pos      halui.axis.selected.plus
net jog-selected-neg      halui.axis.selected.minus
#aenderungen
net spindle-manual-cw     halui.spindle.0.forward
net spindle-manual-ccw    halui.spindle.0.reverse
net spindle-manual-stop   halui.spindle.0.stop
#net machine-is-on         halui.machine.is-on
#Probe
#net spindle-fwd spindle.0.forward
#net spindle-rev spindle.0.reverse
#net spindle-speed spindle.0.speed-out

net jog-speed             halui.axis.jog-speed
net MDI-mode              halui.mode.is-mdi

#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood
#probe
#net lube iocontrol.0.lube
#net flood iocontrol.0.coolant-flood
#net mist iocontrol.0.coolant-mist

#  ---motion control signals---
net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled
#  ---tool change signals---
net tool-change-confirmed   iocontrol.0.tool-changed      <=  iocontrol.0.tool-change
net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared

Postgui Hal:

#E-stop
net reset <= qtpyvcp.hb1.out
net reset => qtpyvcp.led4.on
net estop-button     	=> qtpyvcp.led1.on
net i-pressure-ok	=> qtpyvcp.led2.on
net i-temp-bimetall	=> qtpyvcp.led3.on
net latch-out           => qtpyvcp.led5.on

Was noch Fehlt ist die Startsequenz der Servotreiber und der Spindel das habe ich über eine Ladder gelöst:


Ladder für das Starten der Spindel und Servotreiber

Damit ist alles umgesetzt, das benötigt wird die Maschine in Bewegung zu setzten. Es Fehlen noch diverse Programme zum Steuern der einzelnen Komponenten. Doch dazu kommen wir später.