Looking for Green Letters (Again)


Matt wrote on Jan 23rd:
>green. If you set the home switch polarity such that it matches the 
>state that the input bit naturally floats toward, then the axis should 
>home immediately when you push the home button. 

Then Matt wrote on Jan 24th:
>The inputs to the STG card are regular TTL inputs and need to be pulled 
>up to +5Vdc through a resistor (1k is about right, maybe even 100 ohms 
>if you're worried about electrical noise). The switch is connected from 
>the input to ground: 
>(+5Vdc)--/\/\/---(STG Input)---(NC Contacts)---(Ground) 


 Since our last posting our Linux system has been down, but thanks to
Lawrence Glaister and his excellent tutorial at
http://members.home.net/cncnstuff/emc.html we are now back up and
running. We are now using Linux 2.2.14 with RTL patch 2.2, and a
precompiled rpm of the January 15th release downloaded from
sourceforge.net.

 We also downloaded a console diagnostics program from www.servotogo.com
to show us our digital input registers. We know for a fact that while EMC
is running and we trip the home switch we get a change in polarity. The
problem is we still don't get green letters or homing behavior. 

 It now seems to us that our STG2 card and hardwire home switch is 
functioning properly, but we may not have EMC configured correctly to
recognize the tripping of the home switch.

 Attached is our emc.ini. Is there something we are missing? 

-Jason and Joe

; EMC controller parameters for generic controller. Make these what you need
; for your system.

; General section -------------------------------------------------------------
[EMC]

; Version of this INI file
VERSION =               $Revision: 1.2 $

; Name of machine, for use with display, etc.
MACHINE =               Generic

; Name of NML file to use, default is emc.nml
NML_FILE =              emc.nml

; Debug level, 0 means no messages. See emc/src/emcnml/emcglb.h for others
DEBUG =                 0x00000000
; DEBUG =               0x00000003
; DEBUG =               0x00000007
; DEBUG =               0x7FFFFFFF

; Sections for display options ------------------------------------------------
[DISPLAY]

; Platform for GUI, e.g., realtime, nonrealtime
PLAT =                  nonrealtime

; Name of display program, e.g., xemc
DISPLAY =               xemc
; DISPLAY =             tkemc
; DISPLAY =             yemc
; DISPLAY =             keystick
; DISPLAY =             emcpanel

; Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.200

; Path to help file
HELP_FILE =             doc/help.txt

; Initial display setting for position, RELATIVE or ABSOLUTE
POSITION_OFFSET =       RELATIVE

; Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK =     ACTUAL

; Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE =     1.2

; Prefix to be used
PROGRAM_PREFIX =        programs/

; Introductory graphic
;INTRO_GRAPHIC = emc.gif
;INTRO_TIME = 5

; Task controller section -----------------------------------------------------
[TASK]

; Platform for task controller, e.g., realtime, nonrealtime
PLAT =                  nonrealtime

; Name of task controller program, e.g., bridgeporttask
;TASK =                  bridgeporttask
TASK =                minimilltask

; Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.010

; Part program interpreter section --------------------------------------------
[RS274NGC]

; File containing interpreter variables
PARAMETER_FILE =        emc.var

; Motion control section ------------------------------------------------------
[EMCMOT]

; Platform for motion, e.g., realtime, nonrealtime
PLAT =                  realtime
; PLAT =                        nonrealtime

; Name of motion control program
;EMCMOT =                steppermod.o
; EMCMOT =              freqmod.o
; EMCMOT =              stgmod.o
 EMCMOT =              stg8mod.o
; EMCMOT =              emcmotsim

; Key for real OS shared memory, e.g., for simulated motion
SHMEM_KEY =             100

; Base address for physical shared memory, e.g., for real-time motion.
; Note that if you change this, you may need to change OS parameters, e.g.,
; /etc/lilo.conf
SHMEM_BASE_ADDRESS =    0x1F00000
; SHMEM_BASE_ADDRESS =  0x3F00000

; Base address of Servo To Go board
STG_BASE_ADDRESS   =    0x240
; STG_BASE_ADDRESS =    0x300

; Address for parallel port used for steppers
PARPORT_IO_ADDRESS =    0x378

; Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0

; Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010

; Base task period, in seconds
PERIOD =                0.000016

; Trajectory planner section --------------------------------------------------
[TRAJ]

AXES =                  2
; COORDINATES =         X Y Z R P W
COORDINATES =           X Y Z
HOME =                  0 0 0
LINEAR_UNITS =          0.03937007874016
ANGULAR_UNITS =         1.0
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      0.0167
MAX_VELOCITY =          1.2
DEFAULT_ACCELERATION =  2.0
MAX_ACCELERATION =      2.0
;PROBE_INDEX =           0
;PROBE_POLARITY =        1

; Axes sections ---------------------------------------------------------------

; First axis
[AXIS_0]

TYPE =                          LINEAR
UNITS =                         0.03937007874016
HOME =                          0.000
MAX_VELOCITY =                  1.2
P = 100.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   1000    0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -10.0
MAX_LIMIT =                     10.0
MIN_OUTPUT =                    -10
MAX_OUTPUT =                    10
FERROR = 1.000
MIN_FERROR = 0.010
HOMING_VEL =                    0.1
HOME_OFFSET =                   0.0
ENABLE_POLARITY =               0
MIN_LIMIT_SWITCH_POLARITY =     0
MAX_LIMIT_SWITCH_POLARITY =     0
HOME_SWITCH_POLARITY =          0
HOMING_POLARITY =               1
JOGGING_POLARITY =              1
FAULT_POLARITY =                0
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS =                  OZ_IN
ARMATURE_RESISTANCE =           1.10
ARMATURE_INDUCTANCE =           0.0120
BACK_EMF_CONSTANT =             0.0254
ROTOR_INERTIA =                 0.0104
DAMPING_FRICTION_COEFFICIENT =  0.083
SHAFT_OFFSET =                  0
REVS_PER_UNIT =                 10
; Parameters for generic amplifier
AMPLIFIER_GAIN =                1
MAX_OUTPUT_CURRENT =            10
LOAD_RESISTANCE =               1
; parameters for generic encoder
COUNTS_PER_REV =                4096

; Second axis
[AXIS_1]

TYPE =                          LINEAR
UNITS =                         0.03937007874016
HOME =                          0.000
MAX_VELOCITY =                  1.2
P = 100.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   1000    0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -10.0
MAX_LIMIT =                     10.0
MIN_OUTPUT =                    -10
MAX_OUTPUT =                    10
FERROR = 1.000
MIN_FERROR = 0.010
HOMING_VEL =                    0.1
HOME_OFFSET =                   0.0
ENABLE_POLARITY =               0
MIN_LIMIT_SWITCH_POLARITY =     0
MAX_LIMIT_SWITCH_POLARITY =     0
HOME_SWITCH_POLARITY =          0
HOMING_POLARITY =               1
JOGGING_POLARITY =              1
FAULT_POLARITY =                0
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS =                  OZ_IN
ARMATURE_RESISTANCE =           1.10
ARMATURE_INDUCTANCE =           0.0120
BACK_EMF_CONSTANT =             0.0254
ROTOR_INERTIA =                 0.0104
DAMPING_FRICTION_COEFFICIENT =  0.083
SHAFT_OFFSET =                  0
REVS_PER_UNIT =                 10
; Parameters for generic amplifier
AMPLIFIER_GAIN =                1
MAX_OUTPUT_CURRENT =            10
LOAD_RESISTANCE =               1
; parameters for generic encoder
COUNTS_PER_REV =                4096

; Third axis
[AXIS_2]

TYPE =                          LINEAR
UNITS =                         0.03937007874016
HOME =                          0.000
MAX_VELOCITY =                  1.2
P = 0.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   1000    0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -10.0
MAX_LIMIT =                     10.0
MIN_OUTPUT =                    -10
MAX_OUTPUT =                    10
FERROR = 1.000
MIN_FERROR = 0.010
HOMING_VEL =                    0.1
HOME_OFFSET =                   0.0
ENABLE_POLARITY =               0
MIN_LIMIT_SWITCH_POLARITY =     1
MAX_LIMIT_SWITCH_POLARITY =     1
HOME_SWITCH_POLARITY =          1
HOMING_POLARITY =               1
JOGGING_POLARITY =              1
FAULT_POLARITY =                1
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS =                  OZ_IN
ARMATURE_RESISTANCE =           1.10
ARMATURE_INDUCTANCE =           0.0120
BACK_EMF_CONSTANT =             0.0254
ROTOR_INERTIA =                 0.0104
DAMPING_FRICTION_COEFFICIENT =  0.083
SHAFT_OFFSET =                  0
REVS_PER_UNIT =                 10
; Parameters for generic amplifier
AMPLIFIER_GAIN =                1
MAX_OUTPUT_CURRENT =            10
LOAD_RESISTANCE =               1
; parameters for generic encoder
COUNTS_PER_REV =                4096

; section for main IO controller parameters -----------------------------------
[EMCIO]

; Platform for IO controller, e.g., realtime, nonrealtime
PLAT =                  nonrealtime

; Name of IO controller program, e.g., bridgeportio
;EMCIO =                 bridgeportio
EMCIO =               minimillio
; EMCIO =               simio

; cycle time, in seconds
CYCLE_TIME =    0.100

; tool table file
TOOL_TABLE =    emc.tbl

; address for parallel port used for auxiliary IO
PARPORT_IO_ADDRESS =    0x278

; wait times in seconds for spindle brake, release
SPINDLE_OFF_WAIT          =     1.0
SPINDLE_ON_WAIT           =     1.5

; external digital inputs, outputs are always 0 for 0V, 1 for 5/24V

; digital in bits

ESTOP_SENSE_INDEX         =     1
LUBE_SENSE_INDEX          =     2

; digital in polarity, 0 is inverted, 1 is normal
; controller compares with polarity, equal means on, not equal means off

ESTOP_SENSE_POLARITY      =     0
LUBE_SENSE_POLARITY       =     1

; digital out bits

SPINDLE_FORWARD_INDEX     =     1
SPINDLE_REVERSE_INDEX     =     0
MIST_COOLANT_INDEX        =     6
FLOOD_COOLANT_INDEX       =     7
SPINDLE_DECREASE_INDEX    =     8
SPINDLE_INCREASE_INDEX    =     9
ESTOP_WRITE_INDEX         =     10
SPINDLE_BRAKE_INDEX       =     11

; analog out bits

SPINDLE_ON_INDEX          =     3

; digital out polarity, 0 is inverted, 1 is normal
; controller writes the polarity to turn on, opposite of polarity to turn off

SPINDLE_FORWARD_POLARITY  =     0
SPINDLE_REVERSE_POLARITY  =     0
MIST_COOLANT_POLARITY     =     0
FLOOD_COOLANT_POLARITY    =     0
SPINDLE_DECREASE_POLARITY =     1
SPINDLE_INCREASE_POLARITY =     1
ESTOP_WRITE_POLARITY      =     1
SPINDLE_BRAKE_POLARITY    =     0
SPINDLE_ENABLE_POLARITY   =     1

; section for external NML server parameters ----------------------------------
[EMCSERVER]

; Name of NML server, e.g., emcsvr; if not found then none will run
; EMCSERVER =           emcsvr

; section for emc stripchart  parameters ----------------------------------
[EMCSTRIP]

; Name of strip chart display program e.g.  emcstripchart; if not found then none will run
; EMCSTRIP =            emcstripchart

; OPTIONS for emcstripchart ussually -f something.conf; This file says which
; variables to plot, colors etc. -u  changes the update rate.
OPTIONS = -f emcstrip.conf.ferror


Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact