ppmc.ini

# EMC controller parameters for generic controller. Make these what you need

# for your system.

# General note: Comments can either be preceded with a # or ; - either is

# acceptable, although # is in keeping with most linux config files.

# General section -------------------------------------------------------------

[EMC]

# Version of this INI file

VERSION = $Revision: 1.3 $

# Name of machine, for use with display, etc.

MACHINE = EMC-DEMO-STEP-CL

# Name of NML file to use, default is emc.nml

# no longer needed NML_FILE = emc.nml

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others

# DEBUG = 0x00000001

DEBUG = 0x00000000

# DEBUG = 0x00000007

# DEBUG = 0x7FFFFFFF

# Sections for display options ------------------------------------------------

[DISPLAY]

# Name of display program, e.g., xemc

DISPLAY = axis

# DISPLAY = usrmot

# DISPLAY = tkemc

# Cycle time, in seconds, that display will sleep between polls

CYCLE_TIME = 0.100

# Path to help file

HELP_FILE = doc/help.txt

# Initial display setting for position, RELATIVE or MACHINE

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 = ../../nc_files/

# Introductory graphic

INTRO_GRAPHIC = emc2.gif

INTRO_TIME = 2

# Enable popup balloon help

BALLOON_HELP = 1

#spindle speed VCP

PYVCP = spindle.xml

# Task controller section -----------------------------------------------------

[TASK]

# Name of task controller program, e.g., bridgeporttask

TASK = milltask

# 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 = ppmc.var

# Motion control section ------------------------------------------------------

[EMCMOT]

EMCMOT = motmod

# Key for real OS shared memory, e.g., for simulated motion

SHMEM_KEY = 111

# 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 nanoseconds - this is the fastest thread in the machine

#BASE_PERIOD = 50000

BASE_PERIOD = 50000

# Servo task period, in nanoseconds - will be rounded to an integer multiple

# of BASE_PERIOD

SERVO_PERIOD = 1000000

# Trajectory Planner task period, in nanoseconds - will be rounded to an

# integer multiple of SERVO_PERIOD

TRAJ_PERIOD = 1000000

# Hardware Abstraction Layer section --------------------------------------------------

[HAL]

# The run script first uses halcmd to execute any HALFILE

# files, and then to execute any individual HALCMD commands.

#

# list of hal config files to run through halcmd

# files are executed in the order in which they appear

HALFILE = ppmc_load.hal

HALFILE = ppmc_servo.hal

HALFILE = ppmc_motion.hal

HALFILE = ppmc_io.hal

# HALFILE = pendant.hal

# POSTGUI_HALFILE = spindle.hal

# list of halcmd commands to execute

# commands are executed in the order in which they appear

#HALCMD = save neta

# Trajectory planner section --------------------------------------------------

[TRAJ]

AXES = 4

# COORDINATES = X Y Z R P W

COORDINATES = X Y Z

HOME = 0 0 0 0

LINEAR_UNITS = inch

ANGULAR_UNITS = degree

CYCLE_TIME = 0.010

# DEFAULT_VELOCITY changes jog slider speed position at start up

DEFAULT_VELOCITY = 9.8

#MAX_VELOCITY = (speed inches per secound) 5.0 The maximum velocity for any axis or coordinated move, in machine units per second. The value shown equals 300 units per minute.

MAX_VELOCITY = 1.65

# DEFAULT_ACCELERATION = only used for robots and such.

# DEFAULT_ACCELERATION = 0

# MAX_ACCELERATION = The maximum acceleration for any axis or coordinated axis move, in machine units per second squard.

MAX_ACCELERATION = 3.93

# Axes sections ---------------------------------------------------------------

# DEADBAND use 1-1/2 times encoder count, this is the error accepted before this axis will make a correction

# AXIS_0 is X

[AXIS_0]

TYPE = LINEAR

HOME = 0.000

# MAX_VELOCITY (Rapid speed, example: FPS) MAX_VELOCITY = Maximum velocity for this axis in machine units per second. (overrides MAX_VELOCITY in TRAJ section ?)

MAX_VELOCITY = 2

# MAX_ACCELERATION = (how fast the axis speeds up "acceleration" and slows down "deceleration") Maximum acceleration for this axis in machine units per second squared. (overrides MAX_acceleration in TRAJ section)

MAX_ACCELERATION = 5

# PID_MAX_VEL should be slightly higher than the MAX_VELOCITY for this axis. Gives the PID routine a little bit of headroom. Also changes "acceleration" and "deceleration".

PID_MAX_VEL = 10

BACKLASH = 0.0000

INPUT_SCALE = 38000

OUTPUT_SCALE = 1

MIN_LIMIT = -13.24

MAX_LIMIT = 13.7

# FOLLOWING ERROR at full speed

FERROR = .9

# FOLLOWING ERROR at zero speed

MIN_FERROR = .5

HOME_OFFSET = 11

# HOME_SEARCH_VEL = 0.0 Initial homing velocity in machine units per second. Sign denotes direction of travel. Zero value means the current location is the home position.

HOME_SEARCH_VEL = 2

HOME_LATCH_VEL = -.1

HOME_USE_INDEX = YES

HOME_IGNORE_LIMITS = NO

DEADBAND = 0.000095

P = 150

I = 140

D = 0.05

BIAS = 0

FF0 = 0.00051

FF1 = 2.063

FF2 = 0.02

# AXIS_1 is Y

[AXIS_1]

TYPE = LINEAR

HOME = 0.000

MAX_VELOCITY = .5705

MAX_ACCELERATION = 3

PID_MAX_VEL = 10

BACKLASH = 0.0000

INPUT_SCALE = -750000

OUTPUT_SCALE = 1

MIN_LIMIT = -6.90

MAX_LIMIT = 7.6

FERROR = .9

MIN_FERROR = .5

HOME_OFFSET = 5.8

HOME_SEARCH_VEL = 0

HOME_LATCH_VEL = 0

HOME_USE_INDEX = NO

HOME_IGNORE_LIMITS = NO

DEADBAND = 0.000095

P = 150

I = 140

D = 0.05

BIAS = 0

FF0 = 0

FF1 = 2.3925

FF2 = 0

# AXIS_2 is Z

[AXIS_2]

TYPE = LINEAR

HOME = 0.00

MAX_VELOCITY = .405

MAX_ACCELERATION = 2

PID_MAX_VEL = 10

BACKLASH = 0.000

INPUT_SCALE = -1000000

OUTPUT_SCALE = 1

MIN_LIMIT = -5.15

MAX_LIMIT = .9

FERROR = .9

MIN_FERROR = .5

HOME_OFFSET = .5

HOME_SEARCH_VEL = .5

HOME_LATCH_VEL = .5

HOME_USE_INDEX = YES

HOME_IGNORE_LIMITS = NO

DEADBAND = 0.000095

P = 150

I = 140

D = .05

BIAS = 0

FF0 = 0

FF1 = 0

FF2 = 0

# Fourth axis

[AXIS_3]

TYPE = ANGULAR

HOME = 0.0

MAX_VELOCITY = 65

MAX_ACCELERATION = 20.0

PID_MAX_VEL = 66

BACKLASH = 0.000

INPUT_SCALE = 1111.111

OUTPUT_SCALE = 1.000

PWM_OUTPUT_SCALE = 5.0

MIN_LIMIT = -3600.0

MAX_LIMIT = 3600.0

FERROR = 1.010

MIN_FERROR = 1.001

HOME_OFFSET = 0.0

HOME_SEARCH_VEL = 0.0

HOME_LATCH_VEL = 0.0

HOME_USE_INDEX = NO

HOME_IGNORE_LIMITS = NO

DEADBAND = 0.046

P = 150

I = 100

D = 0.1

BIAS = 0

FF0 = 0

FF1 = 0

FF2 = 0

# section for main IO controller parameters -----------------------------------

[EMCIO]

# Name of IO controller program, e.g., io

EMCIO = io

# cycle time, in seconds

CYCLE_TIME = 0.100

# tool table file

TOOL_TABLE = ppmc.tbl

# section for external NML server parameters ----------------------------------

[EMCSERVER]

# Uncomment the following line if you need to run a remote GUI.

# EMCSERVER = emcsvr