7i96 Configuration Tool Questions

More
13 Jan 2021 20:11 #195244 by Markyd
I've just received my 7i96 and 7i85 this is a god send. Thanks,

I have a problem though. I'm trying to use it with a RPI4 and it keeps freezing. It primarily seems to be the info and pc tabs that is causing it, but it may not be exclusive. The pi itself keeps responding, just your config tool that freezes.

Whilst I'm here, if i select the 7i96 = 7i85 on the machine tab, i still can't select more than 1 encoder, it this correct? I bought the 7i85 as i want to hook up my 3 linear scales to get actual position feedback as I'm running steppers not servos.

I only have 3 axis on my mill, do i just leave the 4th and 5th axis settings blank as there isn't an option for 3 axis?

Please Log in or Create an account to join the conversation.

More
13 Jan 2021 21:06 #195249 by BigJohnT
At this point you can only flash the 7i96 7i85 firmware. However once you have flashed that and have them connected up and running you can use the save pins to get a full list of all the pins.

I noticed a couple of times the info page would freeze but there was no error so not sure what that is. Seems to me IIRC I would leave the tool and do something else then come back. I'll have to see if I can figure it out.

Only configure the axes you have.

JT

Please Log in or Create an account to join the conversation.

More
13 Jan 2021 22:29 - 14 Jan 2021 12:17 #195265 by Markyd
Thanks John,

It mainly seems to freeze when I push the cpu, nic or test buttons.

So I select 7i96+7i85 and then flash. do I need the 7i85 connected when I flash, or just the 7i96 on its own?
Last edit: 14 Jan 2021 12:17 by BigJohnT.

Please Log in or Create an account to join the conversation.

More
14 Jan 2021 12:07 - 14 Jan 2021 12:17 #195308 by BigJohnT
I think I fixed the freezing tab issue so download a fresh copy of the deb and reinstall the tool.

You just need the 7i96 connected to flash but to get the pins for both cards you need the 7i85 connected as well.

JT
Last edit: 14 Jan 2021 12:17 by BigJohnT.

Please Log in or Create an account to join the conversation.

More
14 Jan 2021 17:19 #195345 by PCW
Actually the 7I85 card is passive so will not show any new pins
(unless you have sserial remote devices connected)
The following user(s) said Thank You: BigJohnT

Please Log in or Create an account to join the conversation.

More
16 Jan 2021 07:54 - 16 Jan 2021 07:56 #195520 by Markyd
I'll post a more comprehensive reply shortly (this is from my phone), but I can confirm the tool no longer freezes on the info tab when pressing the CPU or NIC buttons. Thank you John.

Unfortunately it still seems to have some issues. If I press the 'get pins', button it freezes the tool. Waiting a while doesnt seem to help.

If I try to save an incomplete config, from the info tab, it gives me the error message for missing parameters but then freezes. I didnt get this issue from the axis tab earlier in the week.

I can connect to the card and have read the firmware from my 7i96 and have successfully flashed the 7i96+7i85s firmware to it (it said it was successful at any rate).

In the firmware printout after flashing I expected to see more encoder inputs on P1 from the 7i85, but I think I can only see 2?

I am having issues reading pins states from the card (as in i can't, and I don't have the watchdog illuminated as i think I should when linuxcnc is running) but as I haven't successfully created a config with this tool I'll post that in a new thread.

Thanks again, Mark.
Last edit: 16 Jan 2021 07:56 by Markyd. Reason: Typos

Please Log in or Create an account to join the conversation.

More
16 Jan 2021 10:23 #195524 by Markyd
I can now read inputs. I hadn't connected the input common!

Am I right thinking;
I cant setup the encoder input for an MPG with this tool?
I cant invert the inputs, e.g. for normally closed eStop and limit switches.
I'd have to edit the hal directly?

Please Log in or Create an account to join the conversation.

More
16 Jan 2021 13:37 - 16 Jan 2021 14:44 #195530 by BigJohnT
I just uploaded a fresh deb and I'm not seeing any more freeze ups here. i take that back... seems to be a bug with QT5 and the grid layout :ohmy:

Edit: it seems I introduced a bug using subprocess.getstatusoutput fix is on the way.

JT
Last edit: 16 Jan 2021 14:44 by BigJohnT.
The following user(s) said Thank You: Markyd

Please Log in or Create an account to join the conversation.

More
16 Jan 2021 14:29 - 16 Jan 2021 14:49 #195531 by Markyd
I still can't get either the PWM for spindle control, or the encoder to work. Any ideas, the entire HAL and INI files are below ?

This is from the HAL.

# Spindle
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.output-type [SPINDLE]OUTPUT_TYPE
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.scale [SPINDLE]MAX_RPM
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.pwm_frequency [SPINDLE]PWM_FREQUENCY
net spindle-on spindle.0.on => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.enable
net spindle-speed spindle.0.speed-out => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.value

I've hooked up pins 2 & 3 on TB2 to my VFD, which is a cheap chinese AT1, but I've also tried reading the voltage with a multimeter. I just get +5v out and it doesn't change, regardless of spindle on/off or changing speed. Using WATCH in the HAL configuration on the relevant PINs shows the changing values.

I have a similar problem with the encoder (cheap chinese 100ppr that is used on the chinese MPGs). I have hooked it up to pins 7-12 on TB2. I have confirmed with the frequency function on the multimeter that the pulses are making it to the TB2 header, but nothing can be seen using WATCH in the HAL configuration. I don't think this problem is specific to your config tool as I have also tried with PNCconf tool and get the same (i.e. nothing). Any thoughts from anyone would be appreciated. I've had the cards for 10 days now and whilst I'm slowly getting there I've still struggling with these bits.

FIRMWARE
General configuration information:

  BoardName : MESA7I96
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 3
  Width of one I/O port: 17
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:

  Module: DPLL
  There are 1 of DPLL in configuration
  Version: 0
  Registers: 7
  BaseAddress: 7000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: WatchDog
  There are 1 of WatchDog in configuration
  Version: 0
  Registers: 3
  BaseAddress: 0C00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: IOPort
  There are 3 of IOPort in configuration
  Version: 0
  Registers: 5
  BaseAddress: 1000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: PWM
  There are 1 of PWM in configuration
  Version: 0
  Registers: 5
  BaseAddress: 4100
  ClockFrequency: 200.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: StepGen
  There are 8 of StepGen in configuration
  Version: 2
  Registers: 10
  BaseAddress: 2000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCount
  There are 6 of MuxedQCount in configuration
  Version: 4
  Registers: 5
  BaseAddress: 3600
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCountSel
  There are 1 of MuxedQCountSel in configuration
  Version: 0
  Registers: 0
  BaseAddress: 0000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSerial
  There are 1 of SSerial in configuration
  Version: 0
  Registers: 6
  BaseAddress: 5B00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 64 bytes

  Module: SSR
  There are 1 of SSR in configuration
  Version: 0
  Registers: 2
  BaseAddress: 7D00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: LED
  There are 1 of LED in configuration
  Version: 0
  Registers: 1
  BaseAddress: 0200
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for TB3
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

TB3 1                   0   IOPort       None           
TB3 2                   1   IOPort       None           
TB3 3                   2   IOPort       None           
TB3 4                   3   IOPort       None           
TB3 5                   4   IOPort       None           
TB3 6                   5   IOPort       None           
TB3 7                   6   IOPort       None           
TB3 8                   7   IOPort       None           
TB3 9                   8   IOPort       None           
TB3 10                  9   IOPort       None           
Internal               10   IOPort       None           
TB3 13,14              11   IOPort       SSR              0        Out-00          (Out)
TB3 15,16              12   IOPort       SSR              0        Out-01          (Out)
TB3 17,18              13   IOPort       SSR              0        Out-02          (Out)
TB3 19,20              14   IOPort       SSR              0        Out-03          (Out)
TB3 21,22              15   IOPort       SSR              0        Out-04          (Out)
TB3 23,24              16   IOPort       SSR              0        Out-05          (Out)

IO Connections for TB1/TB2
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

TB1 2,3                17   IOPort       StepGen          0        Step/Table1     (Out)
TB1 4,5                18   IOPort       StepGen          0        Dir/Table2      (Out)
TB1 8,9                19   IOPort       StepGen          1        Step/Table1     (Out)
TB1 10,11              20   IOPort       StepGen          1        Dir/Table2      (Out)
TB1 14,15              21   IOPort       StepGen          2        Step/Table1     (Out)
TB1 16,17              22   IOPort       StepGen          2        Dir/Table2      (Out)
TB1 20,21              23   IOPort       StepGen          3        Step/Table1     (Out)
TB1 22,23              24   IOPort       StepGen          3        Dir/Table2      (Out)
TB2 2,3                25   IOPort       StepGen          4        Step/Table1     (Out)
TB2 4,5                26   IOPort       StepGen          4        Dir/Table2      (Out)
TB2 7,8                27   IOPort       MuxedQCount      2        MuxQ-A          (In)
TB2 10,11              28   IOPort       MuxedQCount      2        MuxQ-B          (In)
TB2 13,14              29   IOPort       MuxedQCount      2        MuxQ-IDX        (In)
TB2 16,17              30   IOPort       SSerial          0        RXData0         (In)
TB2 18,19              31   IOPort       SSerial          0        TXData0         (Out)
Internal               32   IOPort       SSerial          0        TXEn0           (Out)
Internal               33   IOPort       SSR              0        AC Ref          (Out)

IO Connections for P1
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 1                     34   IOPort       SSerial          0        RXData1         (In)
14                     35   IOPort       SSerial          0        TXData1         (Out)
 2                     36   IOPort       None           
15                     37   IOPort       None           
 3                     38   IOPort       StepGen          7        Step/Table1     (Out)
16                     39   IOPort       StepGen          7        Dir/Table2      (Out)
 4                     40   IOPort       StepGen          6        Step/Table1     (Out)
17                     41   IOPort       StepGen          6        Dir/Table2      (Out)
 5                     42   IOPort       StepGen          5        Step/Table1     (Out)
 6                     43   IOPort       StepGen          5        Dir/Table2      (Out)
 7                     44   IOPort       MuxedQCountSel   0        MuxSel0         (Out)
 8                     45   IOPort       MuxedQCount      0        MuxQ-A          (In)
 9                     46   IOPort       MuxedQCount      0        MuxQ-B          (In)
10                     47   IOPort       MuxedQCount      0        MuxQ-IDX        (In)
11                     48   IOPort       MuxedQCount      1        MuxQ-A          (In)
12                     49   IOPort       MuxedQCount      1        MuxQ-B          (In)
13                     50   IOPort       MuxedQCount      1        MuxQ-IDX        (In)


HAL
# This file was created with the 7i96 Wizard on Jan 16 2021 14:06:10
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS]KINEMATICS

# motion controller
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS

# standard components
loadrt pid num_chan=3 

# hostmot2 driver
loadrt hostmot2

loadrt [HOSTMOT2](DRIVER) board_ip=[HOSTMOT2](IPADDRESS) config="num_encoders=[HOSTMOT2](ENCODERS) num_stepgens=[HOSTMOT2](STEPGENS) num_pwmgens=[HOSTMOT2](PWMS) sserial_port_0=[HOSTMOT2](SSERIAL_PORT)"
setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 25000000

# THREADS
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
setp hm2_[HOSTMOT2](BOARD).0.dpll.01.timer-us -100
setp hm2_[HOSTMOT2](BOARD).0.stepgen.timer-number 1 
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread

# Joint 0
# axis enable chain
newsig emcmot.0.enable bit
sets emcmot.0.enable FALSE
net emcmot.0.enable <= joint.0.amp-enable-out
net emcmot.0.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable pid.0.enable

# position command and feedback
net emcmot.0.pos-cmd joint.0.motor-pos-cmd => pid.0.command
net motor.0.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb joint.0.motor-pos-fb pid.0.feedback
net motor.0.command pid.0.output hm2_[HOSTMOT2](BOARD).0.stepgen.00.velocity-cmd
setp pid.0.error-previous-target true

setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [JOINT_0]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.control-type 1

setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.0.maxerror [JOINT_0]MAX_ERROR

# Joint 1
# axis enable chain
newsig emcmot.1.enable bit
sets emcmot.1.enable FALSE
net emcmot.1.enable <= joint.1.amp-enable-out
net emcmot.1.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable pid.1.enable

# position command and feedback
net emcmot.1.pos-cmd joint.1.motor-pos-cmd => pid.1.command
net motor.1.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb joint.1.motor-pos-fb pid.1.feedback
net motor.1.command pid.1.output hm2_[HOSTMOT2](BOARD).0.stepgen.01.velocity-cmd
setp pid.1.error-previous-target true

setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [JOINT_1]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.control-type 1

setp pid.1.Pgain [JOINT_1]P
setp pid.1.Igain [JOINT_1]I
setp pid.1.Dgain [JOINT_1]D
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2
setp pid.1.deadband [JOINT_1]DEADBAND
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.1.maxerror [JOINT_1]MAX_ERROR

# Joint 2
# axis enable chain
newsig emcmot.2.enable bit
sets emcmot.2.enable FALSE
net emcmot.2.enable <= joint.2.amp-enable-out
net emcmot.2.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable pid.2.enable

# position command and feedback
net emcmot.2.pos-cmd joint.2.motor-pos-cmd => pid.2.command
net motor.2.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb joint.2.motor-pos-fb pid.2.feedback
net motor.2.command pid.2.output hm2_[HOSTMOT2](BOARD).0.stepgen.02.velocity-cmd
setp pid.2.error-previous-target true

setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [JOINT_2]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.control-type 1

setp pid.2.Pgain [JOINT_2]P
setp pid.2.Igain [JOINT_2]I
setp pid.2.Dgain [JOINT_2]D
setp pid.2.bias [JOINT_2]BIAS
setp pid.2.FF0 [JOINT_2]FF0
setp pid.2.FF1 [JOINT_2]FF1
setp pid.2.FF2 [JOINT_2]FF2
setp pid.2.deadband [JOINT_2]DEADBAND
setp pid.2.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.2.maxerror [JOINT_2]MAX_ERROR

# Spindle
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.output-type [SPINDLE]OUTPUT_TYPE
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.scale [SPINDLE]MAX_RPM
setp hm2_[HOSTMOT2](BOARD).0.pwmgen.pwm_frequency [SPINDLE]PWM_FREQUENCY
net spindle-on spindle.0.on => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.enable
net spindle-speed spindle.0.speed-out => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.value

# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed


INI
# This file was created with the 7i96 Configuration Tool on Jan 16 2021 14:06:10
# Changes to most things are ok and will be read by the Configuration Tool

[EMC]
VERSION = 1.1
MACHINE = harrison_7i96+7i85_01
DEBUG = 0x00000000

[HOSTMOT2]
DRIVER = hm2_eth
IPADDRESS = "10.10.10.10"
BOARD = 7i96
STEPGENS = 3
ENCODERS = 1
PWMS = 1
SSERIAL_PORT = 0

[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = COMMANDED
MAX_FEED_OVERRIDE = 1.2
CYCLE_TIME = 0.1
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0
OPEN_FILE = ""
PYVCP = harrison_7i96+7i85_01.xml

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

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

[RS274NGC]
PARAMETER_FILE = harrison_7i96+7i85_01.var

[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 20

[HAL]
HALFILE = harrison_7i96+7i85_01.hal
HALFILE = io.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui.hal

[HALUI]

[AXIS_X]
MIN_LIMIT = 0
MAX_LIMIT = 380
MAX_VELOCITY = 20
MAX_ACCELERATION = 10

[AXIS_Y]
MIN_LIMIT = 0
MAX_LIMIT = 165
MAX_VELOCITY = 20
MAX_ACCELERATION = 10

[AXIS_Z]
MIN_LIMIT = -356
MAX_LIMIT = 0
MAX_VELOCITY = 12
MAX_ACCELERATION = 6

[JOINT_0]
AXIS = X
MIN_LIMIT = 0
MAX_LIMIT = 380
MAX_VELOCITY = 20
MAX_ACCELERATION = 10
TYPE = LINEAR
SCALE = 400
STEPGEN_MAX_VEL = 24.0
STEPGEN_MAX_ACC = 12.0
FERROR = 0.0051
MIN_FERROR = 0.0025
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
DEADBAND = 0.05
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00013
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

[JOINT_1]
AXIS = Y
MIN_LIMIT = 0
MAX_LIMIT = 165
MAX_VELOCITY = 20
MAX_ACCELERATION = 10
TYPE = LINEAR
SCALE = 400
STEPGEN_MAX_VEL = 24.0
STEPGEN_MAX_ACC = 12.0
FERROR = 0.0051
MIN_FERROR = 0.0025
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
DEADBAND = 0.05
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00013
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

[JOINT_2]
AXIS = Z
MIN_LIMIT = -356
MAX_LIMIT = 0
MAX_VELOCITY = 12
MAX_ACCELERATION = 6
TYPE = LINEAR
SCALE = 533.333
STEPGEN_MAX_VEL = 14.399999999999999
STEPGEN_MAX_ACC = 7.199999999999999
FERROR = 0.0051
MIN_FERROR = 0.0025
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
DEADBAND = 0.05
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00013
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

[SPINDLE]
OUTPUT_TYPE = 1
SCALE = 
PWM_FREQUENCY = 20000
MAX_RPM = 2000
MIN_RPM = 80
DEADBAND = 
P = 
I = 
D = 
FF0 = 
FF1 = 
FF2 = 
BIAS = 
MAX_ERROR = 

[INPUTS]
# DO NOT change the input text
INPUT_0 = Home & Limit
INPUT_JOINT_0 = 0
INPUT_1 = Home & Limit
INPUT_JOINT_1 = 1
INPUT_2 = Home & Limit
INPUT_JOINT_2 = 2
INPUT_3 = E-Stop In
INPUT_JOINT_3 = False
INPUT_4 = Digital In 0
INPUT_JOINT_4 = False
INPUT_5 = Select
INPUT_JOINT_5 = False
INPUT_6 = Select
INPUT_JOINT_6 = False
INPUT_7 = Select
INPUT_JOINT_7 = False
INPUT_8 = Select
INPUT_JOINT_8 = False
INPUT_9 = Select
INPUT_JOINT_9 = False
INPUT_10 = Select
INPUT_JOINT_10 = False

[OUTPUTS]
# DO NOT change the output text
OUTPUT_0 = Coolant Flood
OUTPUT_1 = Coolant Mist
OUTPUT_2 = Spindle On
OUTPUT_3 = Spindle CCW
OUTPUT_4 = Select

[OPTIONS]
MANUAL_TOOL_CHANGE = True
HALUI = False
PYVCP = True
GLADEVCP = False
LADDER = False
Last edit: 16 Jan 2021 14:49 by Markyd.

Please Log in or Create an account to join the conversation.

More
16 Jan 2021 14:48 #195533 by BigJohnT
The spindle section does not look right to me, wonder why I set scale to [SPINDLE]MAX_RPM?

I have a PWM motor control I'm hooking up to test with but maybe Peter can shed some light on this.

JT

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.401 seconds
Powered by Kunena Forum