Re: Mesa 7i97 и фрезерный станок 6Р13ф3
Добавлено: 14 июн 2021, 09:59
так названия пинов копипастить на нужные места во избежание ошибок при запуске от упоминаний неверных..SONIC300077 писал(а): ↑ несовсем ясно как мне это испольовать ,
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
так названия пинов копипастить на нужные места во избежание ошибок при запуске от упоминаний неверных..SONIC300077 писал(а): ↑ несовсем ясно как мне это испольовать ,
Код: Выделить всё
# Generated by PNCconf at Tue May 26 09:26:21 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip=192.168.1.121 config=" num_encoders=6 num_pwmgens=6 num_stepgens=0"
setp hm2_7i97.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
addf hm2_7i97.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_7i97.0.write servo-thread
# external output signals
# --- ESTOP-OUT ---
net estop-out => hm2_7i97.0.ssr.00.out-00
# --- MACHINE-IS-ENABLED ---
net machine-is-enabled => hm2_7i97.0.ssr.00.out-01
# external input signals
# --- HOME-X ---
net home-x <= hm2_7i97.0.inmux.00.input-00-not
# --- HOME-Y ---
net home-y <= hm2_7i97.0.inmux.00.input-01-not
# --- HOME-Z ---
net home-z <= hm2_7i97.0.inmux.00.input-02-not
# --- ESTOP-EXT ---
net estop-ext <= hm2_7i97.0.inmux.00.input-03-not
# --- CYCLE-START ---
net cycle-start <= hm2_7i97.0.inmux.00.input-04
#*******************
# AXIS X JOINT 0
#*******************
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-pos-fb => pid.x.feedback
net x-output <= pid.x.output
# ---PWM Generator signals/setup---
setp hm2_7i97.0.pwmgen.pwm_frequency 48000
setp hm2_7i97.0.pwmgen.00.scale [JOINT_0]OUTPUT_SCALE
setp hm2_7i97.0.pwmgen.00.output-type 1
setp hm2_7i97.0.pwmgen.00.offset-mode true
net x-output => hm2_7i97.0.pwmgen.00.value
net x-pos-cmd <= joint.0.motor-pos-cmd
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_7i97.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i97.0.encoder.00.counter-mode 0
setp hm2_7i97.0.encoder.00.filter 1
setp hm2_7i97.0.encoder.00.index-invert 0
setp hm2_7i97.0.encoder.00.index-mask 0
setp hm2_7i97.0.encoder.00.index-mask-invert 0
setp hm2_7i97.0.encoder.00.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i97.0.encoder.00.position
net x-vel-fb <= hm2_7i97.0.encoder.00.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i97.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_7i97.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net home-x => joint.0.home-sw-in
net x-neg-limit => joint.0.neg-lim-sw-in
net x-pos-limit => joint.0.pos-lim-sw-in
#*******************
# AXIS Y JOINT 1
#*******************
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-pos-fb => pid.y.feedback
net y-output <= pid.y.output
# ---PWM Generator signals/setup---
setp hm2_7i97.0.pwmgen.01.scale [JOINT_1]OUTPUT_SCALE
setp hm2_7i97.0.pwmgen.01.output-type 1
setp hm2_7i97.0.pwmgen.01.offset-mode true
net y-output => hm2_7i97.0.pwmgen.01.value
net y-pos-cmd <= joint.1.motor-pos-cmd
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_7i97.0.pwmgen.01.enable
# ---Encoder feedback signals/setup---
setp hm2_7i97.0.encoder.01.counter-mode 0
setp hm2_7i97.0.encoder.01.filter 1
setp hm2_7i97.0.encoder.01.index-invert 0
setp hm2_7i97.0.encoder.01.index-mask 0
setp hm2_7i97.0.encoder.01.index-mask-invert 0
setp hm2_7i97.0.encoder.01.scale [JOINT_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i97.0.encoder.01.position
net y-vel-fb <= hm2_7i97.0.encoder.01.velocity
net y-pos-fb => joint.1.motor-pos-fb
net y-index-enable joint.1.index-enable <=> hm2_7i97.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_7i97.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net home-y => joint.1.home-sw-in
net y-neg-limit => joint.1.neg-lim-sw-in
net y-pos-limit => joint.1.pos-lim-sw-in
#*******************
# AXIS Z JOINT 2
#*******************
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-pos-fb => pid.z.feedback
net z-output <= pid.z.output
# ---PWM Generator signals/setup---
setp hm2_7i97.0.pwmgen.02.scale [JOINT_2]OUTPUT_SCALE
setp hm2_7i97.0.pwmgen.02.output-type 1
setp hm2_7i97.0.pwmgen.02.offset-mode true
net z-output => hm2_7i97.0.pwmgen.02.value
net z-pos-cmd <= joint.2.motor-pos-cmd
net z-enable <= joint.2.amp-enable-out
net z-enable => hm2_7i97.0.pwmgen.02.enable
# ---Encoder feedback signals/setup---
setp hm2_7i97.0.encoder.02.counter-mode 0
setp hm2_7i97.0.encoder.02.filter 1
setp hm2_7i97.0.encoder.02.index-invert 0
setp hm2_7i97.0.encoder.02.index-mask 0
setp hm2_7i97.0.encoder.02.index-mask-invert 0
setp hm2_7i97.0.encoder.02.scale [JOINT_2]ENCODER_SCALE
net z-pos-fb <= hm2_7i97.0.encoder.02.position
net z-vel-fb <= hm2_7i97.0.encoder.02.velocity
net z-pos-fb => joint.2.motor-pos-fb
net z-index-enable joint.2.index-enable <=> hm2_7i97.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_7i97.0.encoder.02.rawcounts
# ---setup home / limit switch signals---
net home-z => joint.2.home-sw-in
net z-neg-limit => joint.2.neg-lim-sw-in
net z-pos-limit => joint.2.pos-lim-sw-in
#******************************
# 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
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
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 signal---
net probe-in => motion.probe-input
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
# ---manual tool change signals---
loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Код: Выделить всё
# Generated by PNCconf at Tue May 26 09:26:21 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
MACHINE = test
DEBUG = 0
VERSION = 1.1
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/maschinenrechner/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyz
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[HMOT]
# **** This is for info only ****
CARD0=hm2_7i97.0
[HAL]
HALUI = halui
HALFILE = test.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 0.10
MAX_LINEAR_VELOCITY = 1.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
#******************************************
[AXIS_X]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 4000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
#******************************************
#******************************************
[AXIS_Y]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 4000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 2
#******************************************
#******************************************
[AXIS_Z]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -4.0
MAX_LIMIT = 0.001
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 4000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -4.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
#******************************************
Нужно где-то какую-то строку прописать, или закомментировать в настройках (в каком-то файле).SONIC300077 писал(а): ↑ подскажите почему так долго грузится дебиан,
Код: Выделить всё
# Include your custom HAL commands here
# This file will not be overwritten when you run PNCconf again
# Ручное управление
net manual-mode <= hm2_7i97.0.inmux.00.input-04
net manual-mode => halui.mode.manual
# стоп подачи
#net feed-hold <= hm2_7i97.0.inmux.00.input-05
#net feed-hold => motion.feed-hold
# отключаем сигнал от halui.jog-speed, хрен знает зачем его в pncconf назначают
# unlinkp halui.jog-speed
# выставляем нужную скорость
# отключаем mux16, который был загружен ранее для feed-override
# unloadrt mux16
loadrt mux16
addf mux16.0 servo-thread
net gal-0 => mux16.0.sel0
net gal-1 => mux16.0.sel1
net gal-2 => mux16.0.sel2
net gal-3 => mux16.0.sel3
setp mux16.0.suppress-no-input true
setp mux16.0.in01 3
setp mux16.0.in02 30
setp mux16.0.in04 240
setp mux16.0.in08 1000
net jog-speed <= mux16.0.out-f => halui.jog-speed
# Выделим кнопку в отдельный сигнал - кнопка нажата = любой из контактов галетника замкнут, т.е. or для всех контактов.
loadrt or2 count=3
addf or2.0 servo-thread
addf or2.1 servo-thread
addf or2.2 servo-thread
net gal-0 => or2.0.in0 <= hm2_7i97.0.inmux.00.input-06
net gal-1 => or2.0.in1 <= hm2_7i97.0.inmux.00.input-07
net gal-2 => or2.1.in0 <= hm2_7i97.0.inmux.00.input-08
net gal-4 => or2.1.in1 <= hm2_7i97.0.inmux.00.input-09
net or-01 => or2.2.in0 <= or2.0.out
net or-02 => or2.2.in1 <= or2.1.out
net jog <= or2.2.out
# Это по переключателям xyz - фактически делаем and2 кнопки и каждого пина переключателя, и вывод на перемещение оси.
loadrt and2 count=6
addf and2.0 servo-thread
addf and2.1 servo-thread
addf and2.2 servo-thread
addf and2.3 servo-thread
addf and2.4 servo-thread
addf and2.5 servo-thread
net jog => and2.0.in1
net jog => and2.1.in1
net jog => and2.2.in1
net jog => and2.3.in1
net jog => and2.4.in1
net jog => and2.5.in1
net and2-0-in0 => and2.0.in0 <= hm2_7i97.0.inmux.00.input-10
net and2-1-in0 => and2.1.in0 <= hm2_7i97.0.inmux.00.input-11
net and2-2-in0 => and2.2.in0 <= hm2_7i97.0.inmux.00.input-12
net and2-3-in0 => and2.3.in0 <= hm2_7i97.0.inmux.00.input-13
net and2-4-in0 => and2.4.in0 <= hm2_7i97.0.inmux.00.input-14
net and2-5-in0 => and2.5.in0 <= hm2_7i97.0.inmux.00.input-15
net and2-0-out <= and2.0.out => halui.jog.0.minus
net and2-1-out <= and2.1.out => halui.jog.0.plus
net and2-2-out <= and2.2.out => halui.jog.1.minus
net and2-3-out <= and2.3.out => halui.jog.1.plus
net and2-4-out <= and2.4.out => halui.jog.2.minus
net and2-5-out <= and2.5.out => halui.jog.2.plus
Код: Выделить всё
loadrt toggle
addf toggle.0 servo-thread
loadrt oneshot
addf oneshot.0 servo-thread
setp toggle.0.debounce 100
setp oneshot.0.rising 0
setp oneshot.0.falling 1
setp oneshot.0.width 0.5
net run-button toggle.0.in <= hm2_5i25.0.7i77.0.0.input-00
net run toggle.0.out => halui.mode.auto halui.program.run oneshot.0.in
net stop oneshot.0.out => halui.program.stop