Dear All,

what could be the reason that on Ubuntu 10.04 with EMC 2.4.6 I always get an
error when i want to start old configuration from EMC 2.3... see error
message below + HAL and INI file (this are files made by pncconf - new one
and if i want to load a thread with period of 80000 us this message appears:

89882.332322] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[89882.332390] RTAI[usi]: enabled.
[89882.371583] RTAI[math]: loaded.
[89882.441085] HAL_LIB: ERROR: new thread period 80000 is less than clock
period 999999
[89882.441090] THREADS: ERROR: could not create thread 'slow-thread'
[89882.730937] RTAI[math]: unloaded.
[89882.763416] SCHED releases registered named ALIEN RTGLBH
[89882.796259] RTAI[malloc]: unloaded.
[89882.896018] RTAI[sched]: unloaded (forced hard/soft/hard transitions:
traps 0, syscalls 0).
[89882.899015] I-pipe: Domain RTAI unregistered.
[89882.899063] RTAI[hal]: unmounted.


HAL file:

# Generated by PNCconf at Sun Jan 16 10:33:41 2011
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD
num_joints=[TRAJ]AXES
#počasnejši thread za classicladder
loadrt threads name1=fast-thread period1=80000

loadrt probe_parport
loadrt hostmot2
loadrt hm2_pci config="firmware=hm2/5i20/SVST8_4.BIT num_encoders=4
num_pwmgens=4 num_stepgens=0"
setp     hm2_5i20.0.pwmgen.pwm_frequency 100000
setp     hm2_5i20.0.pwmgen.pdm_frequency 100000
setp     hm2_5i20.0.watchdog.timeout_ns 10000000
loadrt hal_parport cfg="0x0378 out"
loadrt charge_pump
loadrt near

addf parport.0.read servo-thread
addf charge-pump fast-thread
addf parport.0.write servo-thread
addf hm2_5i20.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
loadrt pid num_chan=3
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread


alias pin    pid.0.Pgain         pid.x.Pgain
alias pin    pid.0.Igain         pid.x.Igain
alias pin    pid.0.Dgain         pid.x.Dgain
alias pin    pid.0.bias          pid.x.bias
alias pin    pid.0.FF0           pid.x.FF0
alias pin    pid.0.FF1           pid.x.FF1
alias pin    pid.0.FF2           pid.x.FF2
alias pin    pid.0.deadband      pid.x.deadband
alias pin    pid.0.maxoutput     pid.x.maxoutput
alias pin    pid.0.enable        pid.x.enable
alias pin    pid.0.command       pid.x.command
alias pin    pid.0.feedback      pid.x.feedback
alias pin    pid.0.output        pid.x.output
alias pin    pid.0.index-enable  pid.x.index-enable

alias pin    pid.1.Pgain         pid.z.Pgain
alias pin    pid.1.Igain         pid.z.Igain
alias pin    pid.1.Dgain         pid.z.Dgain
alias pin    pid.1.bias          pid.z.bias
alias pin    pid.1.FF0           pid.z.FF0
alias pin    pid.1.FF1           pid.z.FF1
alias pin    pid.1.FF2           pid.z.FF2
alias pin    pid.1.deadband      pid.z.deadband
alias pin    pid.1.maxoutput     pid.z.maxoutput
alias pin    pid.1.enable        pid.z.enable
alias pin    pid.1.command       pid.z.command
alias pin    pid.1.feedback      pid.z.feedback
alias pin    pid.1.output        pid.z.output
alias pin    pid.1.index-enable  pid.z.index-enable

alias pin    pid.2.Pgain         pid.s.Pgain
alias pin    pid.2.Igain         pid.s.Igain
alias pin    pid.2.Dgain         pid.s.Dgain
alias pin    pid.2.bias          pid.s.bias
alias pin    pid.2.FF0           pid.s.FF0
alias pin    pid.2.FF1           pid.s.FF1
alias pin    pid.2.FF2           pid.s.FF2
alias pin    pid.2.deadband      pid.s.deadband
alias pin    pid.2.maxoutput     pid.s.maxoutput
alias pin    pid.2.enable        pid.s.enable
alias pin    pid.2.command       pid.s.command
alias pin    pid.2.feedback      pid.s.feedback
alias pin    pid.2.output        pid.s.output
alias pin    pid.2.index-enable  pid.s.index-enable

addf near.0                   servo-thread
addf hm2_5i20.0.write         servo-thread
addf hm2_5i20.0.pet_watchdog  servo-thread

# external output signals
net charge-pump     <=  charge-pump.out

net charge-pump     =>  parport.0.pin-01-out


# external input signals


# --- ESTOP-EXT ---
net estop-ext     <=  hm2_5i20.0.gpio.032.in
# --- MAX-HOME-X ---
net max-home-x     <=  hm2_5i20.0.gpio.037.in_not
# --- MIN-HOME-X ---
net min-home-x     <=  hm2_5i20.0.gpio.048.in_not
# --- MAX-HOME-Z ---
net max-home-z     <=  hm2_5i20.0.gpio.049.in
# --- MIN-HOME-Z ---
net min-home-z     <=  hm2_5i20.0.gpio.061.in_not

#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT

net x-index-enable  <=>  pid.x.index-enable

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

setp   hm2_5i20.0.pwmgen.00.output-type 3
setp   hm2_5i20.0.pwmgen.00.scale  [AXIS_0]OUTPUT_SCALE

net xenable     => pid.x.enable =>  charge-pump.enable
net xoutput     pid.x.output           => hm2_5i20.0.pwmgen.00.value
net xpos-cmd    axis.0.motor-pos-cmd   => pid.x.command
net xenable     axis.0.amp-enable-out  => hm2_5i20.0.pwmgen.00.enable

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

setp    hm2_5i20.0.encoder.00.counter-mode 0
setp    hm2_5i20.0.encoder.00.filter 1
setp    hm2_5i20.0.encoder.00.index-invert 0
setp    hm2_5i20.0.encoder.00.index-mask 0
setp    hm2_5i20.0.encoder.00.index-mask-invert 0
setp    hm2_5i20.0.encoder.00.scale  [AXIS_0]INPUT_SCALE

net xpos-fb               <=  hm2_5i20.0.encoder.00.position
net xpos-fb               =>  pid.x.feedback
net xpos-fb               =>  axis.0.motor-pos-fb
net x-index-enable    axis.0.index-enable  <=>
hm2_5i20.0.encoder.00.index-enable

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

net max-home-x     =>  axis.0.home-sw-in
net min-home-x     =>  axis.0.neg-lim-sw-in
net max-home-x     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

setp   pid.z.Pgain     [AXIS_2]P
setp   pid.z.Igain     [AXIS_2]I
setp   pid.z.Dgain     [AXIS_2]D
setp   pid.z.bias      [AXIS_2]BIAS
setp   pid.z.FF0       [AXIS_2]FF0
setp   pid.z.FF1       [AXIS_2]FF1
setp   pid.z.FF2       [AXIS_2]FF2
setp   pid.z.deadband  [AXIS_2]DEADBAND
setp   pid.z.maxoutput [AXIS_2]MAX_OUTPUT

net z-index-enable  <=>  pid.z.index-enable

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

setp   hm2_5i20.0.pwmgen.02.output-type 3
setp   hm2_5i20.0.pwmgen.02.scale  [AXIS_2]OUTPUT_SCALE

net zenable     => pid.z.enable
net zoutput     pid.z.output           => hm2_5i20.0.pwmgen.02.value
net zpos-cmd    axis.2.motor-pos-cmd   => pid.z.command
net zenable     axis.2.amp-enable-out  => hm2_5i20.0.pwmgen.02.enable

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

setp    hm2_5i20.0.encoder.02.counter-mode 0
setp    hm2_5i20.0.encoder.02.filter 1
setp    hm2_5i20.0.encoder.02.index-invert 0
setp    hm2_5i20.0.encoder.02.index-mask 0
setp    hm2_5i20.0.encoder.02.index-mask-invert 0
setp    hm2_5i20.0.encoder.02.scale  [AXIS_2]INPUT_SCALE

net zpos-fb               <=  hm2_5i20.0.encoder.02.position
net zpos-fb               =>  pid.z.feedback
net zpos-fb               =>  axis.2.motor-pos-fb
net z-index-enable    axis.2.index-enable  <=>
hm2_5i20.0.encoder.02.index-enable

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

net min-home-z     =>  axis.2.home-sw-in
net min-home-z     =>  axis.2.neg-lim-sw-in
net max-home-z     =>  axis.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

net spindle-index-enable  <=>  pid.s.index-enable

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

setp   hm2_5i20.0.pwmgen.03.output-type 3
setp   hm2_5i20.0.pwmgen.03.scale  [SPINDLE_9]OUTPUT_SCALE


net spindle-vel-cmd     => pid.s.command
net spindle-output     pid.s.output      => hm2_5i20.0.pwmgen.03.value
net spindle-enable      => pid.s.enable
net spindle-enable      => hm2_5i20.0.pwmgen.03.enable
net spindle-vel-fb      => pid.s.feedback

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

setp    hm2_5i20.0.encoder.03.counter-mode 0
setp    hm2_5i20.0.encoder.03.filter 1
setp    hm2_5i20.0.encoder.03.index-invert 0
setp    hm2_5i20.0.encoder.03.index-mask 0
setp    hm2_5i20.0.encoder.03.index-mask-invert 0
setp    hm2_5i20.0.encoder.03.scale  [SPINDLE_9]INPUT_SCALE

net spindle-revs              <=  hm2_5i20.0.encoder.03.position
net spindle-vel-fb            <=  hm2_5i20.0.encoder.03.velocity
net spindle-index-enable     <=>  hm2_5i20.0.encoder.03.index-enable

# ---setup spindle control signals---

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

# ---Setup spindle at speed signals---

net spindle-vel-cmd-rps    =>  near.0.in1
net spindle-vel-fb         =>  near.0.in2
net spindle-at-speed       <=  near.0.out
setp near.0.scale .9

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

#  ---charge pump signals---
#net estop-out       =>  charge-pump.enable


#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---probe signal---

net probe-in     =>  motion.probe-input

#  ---digital in / out signals---

#  ---estop signals---

net estop-out     <=  iocontrol.0.user-enable-out
net estop-ext     =>  iocontrol.0.emc-enable-in

#  ---toolchange signals for custom tool changer---

net tool-number             <=  iocontrol.0.tool-prep-number
net tool-change-request     <=  iocontrol.0.tool-change
net tool-change-confirmed   =>  iocontrol.0.tool-changed
net tool-prepare-request    <=  iocontrol.0.tool-prepare
net tool-prepare-confirmed  =>  iocontrol.0.tool-prepared

INI file:

# Generated by PNCconf at Sun Jan 16 10:33:41 2011
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

[EMC]
MACHINE = Struznica
DEBUG = 0

[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 = emc2.gif
INTRO_TIME = 2s
PROGRAM_PREFIX = /home/kom/emc2/nc_files
INCREMENTS = 10mm 5mm 1mm .5mm .1mm .05mm .01mm
LATHE = 1
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 10
MAX_LINEAR_VELOCITY = 250
MIN_LINEAR_VELOCITY = 1
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
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 = emc.var

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

# [HOSTMOT2]
# This is for info only
# DRIVER0=hm2_pci
# BOARD0=5i20
# CONFIG0="firmware=hm2/5i20/SVST8_4.BIT num_encoders=4 num_pwmgens=4
num_stepgens=0"

[HAL]
HALUI = halui
HALFILE = Struznica.hal
SHUTDOWN = shutdown.hal

[HALUI]

[TRAJ]
AXES = 3
COORDINATES = X Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 10.00
MAX_LINEAR_VELOCITY = 250.00

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

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.5
MAX_VELOCITY = 250.0
MAX_ACCELERATION = 1000.0
P = 0.55
I = 0.02
D = 0.001
FF0 = 0.0
FF1 = 0.004
FF2 = 0.000035
BIAS = 0.0001
DEADBAND = 0.0
OUTPUT_SCALE = -1.0
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10.0
INPUT_SCALE = -1000.0
MIN_LIMIT = -10.0
MAX_LIMIT = 55.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -25
HOME_LATCH_VEL = 5
HOME_FINAL_VEL = 1.5
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0

#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.5
MAX_VELOCITY = 250.0
MAX_ACCELERATION = 1000.0
P = 0.38
I = 0.03
D = 0.0000
FF0 = 0.000
FF1 = 0.00385
FF2 = 0.00001
BIAS = 0.000
DEADBAND = 0.0
OUTPUT_SCALE = -1.0
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10.0
INPUT_SCALE = -1000.0
MIN_LIMIT = -10.0
MAX_LIMIT = 100.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -25
HOME_LATCH_VEL = 5
HOME_FINAL_VEL = 1.5
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1

#********************
# Spindle
#********************
[SPINDLE_9]
MAX_VELOCITY = 2850
MAX_ACCELERATION = 50.0
P = 1.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
OUTPUT_SCALE = 1.0
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10.0
INPUT_SCALE = 2000.0



Best regards.

Klemen
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to