7i96 Configuration Tool

More
6 years 7 months ago #161517 by tommylight
Replied by tommylight on topic 7i96 Configuration Tool
Check your testcnc.hal if there is a PWM loaded at this line
loadrt hm2_eth ................num_encoder..........num_stepgens ..............num PWM
Not sure how that is all there, just from memory, i think you should have a PWM loaded there.
The error says
./testcnc.hal:99: parameter or pin 'hm2_7i96.0.pwmgen.00.output-type' not found
Or it might not been added to the servo thread.
Upload your hal and ini files so we can have a look.

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

More
6 years 7 months ago - 6 years 7 months ago #161520 by PCW
Replied by PCW on topic 7i96 Configuration Tool

I'm getting an occasional "hm2/hm2_7i96.0: error reading Pin Descriptor 1 (at 0x05c4)" and other failures...


This sounds like you are possibly losing packets or something similarly dire like power supply issues

can you ping the card without losing any packets?
Last edit: 6 years 7 months ago by PCW.

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

More
6 years 7 months ago #161532 by gusty42
Replied by gusty42 on topic 7i96 Configuration Tool

This sounds like you are possibly losing packets or something similarly dire like power supply issues

can you ping the card without losing any packets?


Thanks for the help guys! I can ping it and usually get a ~.14ms reply, but every so often it fluctuates to .5 or even 1000ms delay. I'm using a brand new Mean Well RD-65B dual voltage power supply: 5V @4.0A, 24V @2A. Obviously only running the Mesa card off 5V. I did have an issue with my Network Connections giving me a "device not managed" error and had to edit my networkmanager.conf file to say "true" under [ifupdown] to let me set a static IP in the manager. Thoughts?

Also, this is pretty much my first attempt to make a HAL and INI files... not running a spindle right now, but also don't see the "num_PWM" like you were expecting.

HAL
Code:
# This file was created with the 7i96 Wizard on Mar 19 2020 19:40:47 # 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=2 # hostmot2 driver loadrt hostmot2 loadrt [HOSTMOT2](DRIVER) board_ip=[HOSTMOT2](IPADDRESS) config="num_encoders=[HOSTMOT2](ENCODERS) num_stepgens=[HOSTMOT2](STEPGENS) 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 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 # Spindle setp hm2_7i96.0.pwmgen.00.output-type 0 setp hm2_7i96.0.pwmgen.00.scale [SPINDLE]MAX_RPM setp hm2_7i96.0.pwmgen.pwm_frequency [SPINDLE]PWM_FREQUENCY # 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

INI
Code:
# This file was created with the 7i96 Wizard on Mar 19 2020 19:40:47 # Changes to most things are ok and will be read by the wizard [EMC] VERSION = 1.1 MACHINE = testcnc DEBUG = 0x00000000 [HOSTMOT2] DRIVER = hm2_eth IPADDRESS = "10.10.10.10" BOARD = 7i96 STEPGENS = 4 ENCODERS = 1 SSERIAL_PORT = 1 [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 = "" [KINS] KINEMATICS = trivkins coordinates=XY JOINTS = 2 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl [RS274NGC] PARAMETER_FILE = testcnc.var [EMCMOT] EMCMOT = motmod SERVO_PERIOD = 1000000 [TASK] TASK = milltask CYCLE_TIME = 0.010 [TRAJ] COORDINATES = XY LINEAR_UNITS = inch ANGULAR_UNITS = degree MAX_LINEAR_VELOCITY = 10 [HAL] HALFILE = testcnc.hal HALFILE = io.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui.hal [HALUI] [AXIS_X] MIN_LIMIT = 0 MAX_LIMIT = 48 MAX_VELOCITY = 10 MAX_ACCELERATION = 15 [AXIS_Y] MIN_LIMIT = 0 MAX_LIMIT = 48 MAX_VELOCITY = 10 MAX_ACCELERATION = 15 [JOINT_0] AXIS = X MIN_LIMIT = 0 MAX_LIMIT = 48 MAX_VELOCITY = 10 MAX_ACCELERATION = 15 TYPE = LINEAR SCALE = 1600 STEPGEN_MAX_VEL = 12.0 STEPGEN_MAX_ACC = 18.0 FERROR = 0.0002 MIN_FERROR = 0.0001 DIRSETUP = 5500 DIRHOLD = 2500 STEPLEN = 3000 STEPSPACE = 4000 DEADBAND = 0 P = 1000 I = 0 D = 0 FF0 = 0 FF1 = 1 FF2 = 0.00013 BIAS = 0 MAX_OUTPUT = 0 MAX_ERROR = 0.0005 HOME = 0 HOME_OFFSET = 1 HOME_SEARCH_VEL = 1 HOME_LATCH_VEL = .5 HOME_SEQUENCE = 0 HOME_USE_INDEX = False HOME_IGNORE_LIMITS = False [JOINT_1] AXIS = Y MIN_LIMIT = 0 MAX_LIMIT = 48 MAX_VELOCITY = 10 MAX_ACCELERATION = 15 TYPE = LINEAR SCALE = 1600 STEPGEN_MAX_VEL = 12.0 STEPGEN_MAX_ACC = 18.0 FERROR = 0.0002 MIN_FERROR = 0.0001 DIRSETUP = 5500 DIRHOLD = 2500 STEPLEN = 3000 STEPSPACE = 4000 DEADBAND = 0 P = 1000 I = 0 D = 0 FF0 = 0 FF1 = 1 FF2 = 0.00013 BIAS = 0 MAX_OUTPUT = 0 MAX_ERROR = 0.0005 HOME = 0 HOME_OFFSET = 1 HOME_SEARCH_VEL = 1 HOME_LATCH_VEL = .5 HOME_SEQUENCE = 1 HOME_USE_INDEX = False HOME_IGNORE_LIMITS = False [SPINDLE] SPINDLE_TYPE = False SCALE = PWM_FREQUENCY = 20000 MAX_RPM = MIN_RPM = DEADBAND = P = I = D = FF0 = FF1 = FF2 = BIAS = MAX_ERROR = [INPUTS] # DO NOT change the input text INPUT_0 = Home INPUT_JOINT_0 = 0 INPUT_1 = Home INPUT_JOINT_1 = 1 INPUT_2 = Select INPUT_JOINT_2 = False INPUT_3 = Select INPUT_JOINT_3 = False INPUT_4 = Select 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 = Select OUTPUT_1 = Select OUTPUT_2 = Select OUTPUT_3 = Select OUTPUT_4 = Select [OPTIONS] MANUAL_TOOL_CHANGE = False HALUI = False PYVCP = False GLADEVCP = False LADDER = False

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

More
6 years 7 months ago #161536 by PCW
Replied by PCW on topic 7i96 Configuration Tool
if you get occasionally 1 ms ping times, I would guess something is broken in your real time setup or network hardware

What PC hardware do you have?

What does

ip a

report?

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

More
6 years 7 months ago #161538 by rodw
Replied by rodw on topic 7i96 Configuration Tool

gusty42 wrote:

I'm using a brand new Mean Well RD-65B dual voltage power supply: 5V @4.0A, 24V @2A. Obviously only running the Mesa card off 5V


This could be an issue. I had one of these and could not it to go for what I bought it for. The company that sold it to me said that the 12 volt rail would not run unless there was sufficient current draw on the 5 volt side. I whacked a big ceramic resistor on 5 volts and I did get 12 volts out of it. I had hoped I could use it for my 7i76e but it did not draw current enough to enable the 12 volt rail.

I wonder if the 5 volt rail is a bit flaky at low current draw too? Much better to use discrete power supplies for each voltage.

The following user(s) said Thank You: gusty42

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

More
6 years 7 months ago #161540 by tommylight
Replied by tommylight on topic 7i96 Configuration Tool

rodw wrote: The company that sold it to me said that the 12 volt rail would not run unless there was sufficient current draw on the 5 volt side.

That is very true, same is valid for all PC power supplies till several years back.
The 5V rail is regulated, the 12V is not, so the 5V needs to have some load for the regulation to kick in.
That was due to 5V rail tolerance being +-5%, or 4.75V to 5.25V, and the 12V having a tolerance of +-10% or in some cases even +-15%.

A good phone charger will do just fine for providing 5V, especially original Samsung or any other big company. Steer clear of cheap Chinese knock off's.
The following user(s) said Thank You: rodw, gusty42

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

Moderators: PCW, jmelson
Time to create page: 0.409 seconds
Powered by Kunena Forum