A ver si en pdf se ve mejor.
[ You are not allowed to view attachments ]
Se usa una suite de diseño electronico, gEDA, en Linux y libre, por supuesto.
El problema de LinuxCNC es que para configurar una maquina hay que pensar en terminos electrico/electronicos. O eso, o copiar algo ya hecho, claro.
Los cuadros verdes son componentes "electronicos" HAL, que tienen sus pines que se conectan entre ellos.Esas conexiones seran las "señales HAL".
Al final del diseño se genera lo que en diseño electronico se llama una NETLIST, que para LinuxCNC es un tanto especial. Se ve asi:
START header
gEDA's netlist format
Created specifically for testing of gnetlist
END header
START components
CONN? device=DB25
constant0 device=constant
motmod device=motion
encoder1 device=encoder
encoder0 device=encoder
base device=thread
servo device=thread
parport.0 device=hal_parport
ddt3 device=ddt
ddt2 device=ddt
iocontrol device=io
motmodJoint1 device=motmod
motmodJoint0 device=motmod
pwmgen.1 device=pwmgen
pwmgen.0 device=pwmgen
ddt1 device=ddt
ddt0 device=ddt
pid1 device=pid
pid0 device=pid
trivkins device=trivkins
END components
START nets
unnamed_net8 : CONN? 3
unnamed_net7 : CONN? 2, CONN? 4
unnamed_net6 : CONN? 6
unnamed_net5 : CONN? 5, CONN? 7
unnamed_net4 : CONN? 10
unnamed_net3 : CONN? 11
unnamed_net2 : CONN? 12
GND : CONN? 19, CONN? 20, CONN? 21, CONN? 22, CONN? 23, CONN? 24, CONN? 18, CONN? 25
unnamed_net1 : CONN? 13
[JOINT_1]INPUT_SCALE : encoder1 11
[JOINT_0]INPUT_SCALE : encoder0 11
[1] : parport.0 P7, parport.0 P4
enc1B : encoder1 3, parport.0 16
enc1A : encoder1 2, parport.0 15
enc0B : encoder0 3, parport.0 14
enc0A : encoder0 2, parport.0 13
Yacc : ddt3 2
Yvel : ddt3 1, ddt2 2
tool-prep-loop : iocontrol 12, iocontrol 4
tool-change-loop : iocontrol 8, iocontrol 3
estop-loop : iocontrol 13, iocontrol 1
Ydir : parport.0 5, parport.0 7, pwmgen.1 10
Ypwm : parport.0 6, pwmgen.1 9
base-thread : encoder0 23, base 1, parport.0 50, parport.0 48, pwmgen.0 13
Xdir : parport.0 4, parport.0 2, pwmgen.0 10
Xpwm : parport.0 3, pwmgen.0 9
Xacc : ddt1 2
servo-thread : constant0 3, ddt3 3, ddt2 3, ddt1 3, motmod 37, motmod 38, encoder0 24, servo 1, pwmgen.0 12, ddt0 3
Xvel : ddt1 1, ddt0 2
Yvel-cmd : pwmgen.1 2, pid1 25
[JOINT_1]DEADBAND : pid1 18
[JOINT_1]FF2 : pid1 16
[JOINT_1]FF1 : pid1 15
[JOINT_1]FF0 : pid1 14
[JOINT_1]BIAS : pid1 13
Yenable : pwmgen.1 1, motmodJoint1 13, pid1 11
Ypos-fb : motmodJoint1 17, encoder1 13, pid1 5
[JOINT_1]D : pid1 4
[JOINT_1]I : pid1 3
[JOINT_1]P : pid1 2
Ypos-cmd : ddt2 1, motmodJoint1 15, pid1 1
Xvel-cmd : pwmgen.0 2, pid0 25
[1.0] : pid1 19, pid0 19
[JOINT_0]DEADBAND : pid0 18
[JOINT_0]FF2 : pid0 16
[JOINT_0]FF1 : pid0 15
[JOINT_0]FF0 : pid0 14
[JOINT_0]BIAS : pid0 13
Xenable : pwmgen.0 1, motmodJoint0 13, pid0 11
Xpos-fb : motmodJoint0 17, encoder0 14, pid0 5
[JOINT_0]D : pid0 4
[JOINT_0]I : pid0 3
[JOINT_0]P : pid0 2
Xpos-cmd : motmodJoint0 15, ddt0 1, pid0 1
END nets
Con el netlist se genera el .hal correspondiente.
Tambien hay componentes para generar el .ini
[ You are not allowed to view attachments ]
Y componentes que representan hardware comercial
[ You are not allowed to view attachments ]
Y bueno; asi esta la cosa.