# General section ------------------------------------------------------------- [EMC] # make emcsrv not create tool rcs channels if not using iocontrol TOOL_CHANNELS = 0 # Name of NML file to use. toolCmd and toolSts, and tool process disabled NML_FILE = no-iotask.nml # Version of this INI file VERSION = $Revision$ # Name of machine, for use with display, etc. MACHINE = iocontrol-removed.ini # Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others #DEBUG = 0x7FFFFFFF #DEBUG = 0x7FFFDEFF #no interp,oword #DEBUG = 0x00008000 # py only #DEBUG = 0x0000E000 # py + remap + Oword #DEBUG = 0x0000C000 # py + remap #DEBUG = 0x0000C100 # py + remap + Interpreter #DEBUG = 0x0000C140 # py + remap + Interpreter + NML msgs #DEBUG = 0x0004C140 # py + remap + Interpreter + NML msgs + PythonTask #DEBUG = 0x0000C040 # py + remap + NML #DEBUG = 0x0004C040 # py + remap + NML + PythonTask #DEBUG = 0x0003E100 # py + remap + Interpreter + oword + signals + namedparams #DEBUG = 0x00008000 #DEBUG = 0 # 0x00000100 DEBUG=0x00040000 #PythonTask #define EMC_DEBUG_IOCONTROL 0x00001000 #define EMC_DEBUG_OWORD 0x00002000 #define EMC_DEBUG_REMAP 0x00004000 #define EMC_DEBUG_PYTHON 0x00008000 #define EMC_DEBUG_NAMEDPARAM 0x00010000 #define EMC_DEBUG_GDBONSIGNAL 0x00020000 #define EMC_DEBUG_PYTHON_TASK 0x00040000 # Sections for display options ------------------------------------------------ [DISPLAY] # how to use the Firefox SQlite manager plugin as tooltable editor: # # 0: read http://code.google.com/p/sqlite-manager # # 1. download 'SQLiteManager 0.7.7 as XULRunner App' (or whatever the latest version is, # eg http://code.google.com/p/sqlite-manager/downloads/detail?name=sqlitemanager-xr-0.7.7-all.zip&can=2&q== # # 2. create a directory under your home directory, eg ~/sqlite-manager # # 3. unzip the zp file from 1) into this directory # # 4. try running firefox with this plugin and the tooltable.sqlite file in this directory # like so: # # firefox -app /sqlite-manager/application.ini -f tooltable.sqlite # # firefox should come up with the sqlite manager extension and having this database opened # # 5. adapt the following command line with appropriate paths: # TOOL_EDITOR= firefox -app /home/mah/sqlite-manager/application.ini -f /home/mah/emc2-dev/configs/sim/remap/iocontrol-removed/tooltable.sqlite GLADEVCP=-c gladevcp racktoolchange-noioctl.glade # Name of display program, e.g., xemc DISPLAY = axis #OPEN_FILE=/home/mah/emc2-tc/nc_files/taskcall.ngc OPEN_FILE=./nc_files/tcdemo.ngc # 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 MAX_SPINDLE_OVERRIDE = 1.0 # Prefix to be used PROGRAM_PREFIX = ../../nc_files/ # Introductory graphic #INTRO_GRAPHIC = emc2.gif INTRO_TIME = 0 EDITOR = gedit INCREMENTS = 1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image PROGRAM_EXTENSION = .py Python Script png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python # Task controller section ----------------------------------------------------- [TASK] # Name of task controller program, e.g., milltask TASK = milltask # Cycle time, in seconds, that task controller will sleep between polls CYCLE_TIME = 0.001 # the Python plugins serves interpreter and task [PYTHON] # where to find Python code # code specific for this configuration PATH_PREPEND=./python # generic support code PATH_APPEND=../../nc_files/remap_lib/python-stdglue # import the following Python module TOPLEVEL=python/toplevel.py # the higher the more verbose tracing of the Python plugin LOG_LEVEL = 0 RELOAD_ON_CHANGE=1 LOG_LEVEL = 2 # start a Python (really IO) Task class # see end of python/task.py to see how it's instantiated PYTHON_TASK=1 # section for everything tool related # relevant only if NOT using iocontrol - see EMCIO in that case # needed to keep axis happy for now # technically the [EMCIO] section for main IO controller parameters is gone [EMCIO] TOOL_TABLE = tool.tbl [TOOL] # how to connect to a toolstore in an SQL database ODBC_CONNECT= Driver=SQLite3;Database=tooltable.sqlite # legacy tool table filename TOOL_TABLE = tool.tbl # if nonzero, save tool-in-spindle and pocket-prepped on exit, and restore on startup # ODBC only SAVE_TOOLSTATE=1 # manual, random, any other CHANGER_TYPE= manual # if TASK_TOOLCHANGE_PINS=1, the task Python plugin will emulate the # following iocontrol.0 pins: # tool-change # tool-changed # tool-number # tool-prep-number # tool-prep-pocket # tool-prepare # tool-prepared # TASK_TOOLCHANGE_PINS=1 # if TASK_START_CHANGE_PINS=1, the task Python plugin will emulate the # start-change/start-change-ack pins and their protocol as per iocontrolv2: TASK_START_CHANGE_PINS=1 # if TASK_TOOLCHANGE_FAULT_PINS=1 the task Python plugin will emulate the iocontrolv2 pins: # emc-abort # emc-abort-ack # emc-reason # toolchanger-fault # toolchanger-fault-ack # toolchanger-reason # toolchanger-faulted # toolchanger-clear-fault TASK_TOOLCHANGE_FAULT_PINS=1 # Part program interpreter section -------------------------------------------- [RS274NGC] SUBROUTINE_PATH = nc_subroutines:../../nc_files/remap_lib/common_nc_subs # optional features - a bit mask to selectively turn on experimental/dubious features # see # RETAIN_G43 0x00000001 # OWORD_N_ARGS 0x00000002 # INI_VARS 0x00000004 # HAL_PIN_VARS 0x00000008 # NO_DOWNCASE_OWORD 0x00000010 # turn on all optional features except RETAIN_G43 FEATURES=30 # handler procedure called on aborts - to cleanup HAL pins etc ON_ABORT_COMMAND=O call LOG_LEVEL = 9 # File containing interpreter variables PARAMETER_FILE = sim_mm.var # see python/remap.py for the prolog and epilog handlers # see nc_files/remap-subroutines for the NGC procedures # REMAP=M6 modalgroup=6 prolog=change_prolog ngc=rack_change epilog=change_epilog # accessible in interp as #<_[section]name> [TOOL_HOLDER_CLEAR] X = 10 Y = 30 Z = 10 [TOOL_SLOT_DELTA] X = 0 Y = 10 Z = 0 # this is not named TOOL_CHANGE_POSITION ón purpose - canon uses it and will # interfere [CHANGE_POSITION] X = 10 Y = 10 Z = 10 [DWELL] LOCK_TIME = 0.5 MYSTERY = 0 NEW_TOOL = 1.0 POST_UNLOCK = 0.5 # motion.digital-out-NN pins [PINS] LOCK = 0 FLUSH = 1 # Motion control section ------------------------------------------------------ [EMCMOT] EMCMOT = motmod # Timeout for comm to emcmot, in seconds COMM_TIMEOUT = 1.0 # Interval between tries to emcmot, in seconds COMM_WAIT = 0.010 # BASE_PERIOD is unused in this configuration but specified in core_sim.hal BASE_PERIOD = 0 # Servo task period, in nano-seconds SERVO_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 # POSTTASK_HALFILE is executed by task after initialisation # because task now sports HAL pins # POSTGUI_HALFILE is only supported by Axis POSTTASK_HALFILE = core_sim.hal POSTTASK_HALFILE = racktoolchange.hal POSTTASK_HALFILE = simulated_home.hal POSTGUI_HALFILE= gladevcp.hal #HALFILE = gamepad.hal # list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta # Single file that is executed after the GUI has started. Only supported by # AXIS at this time (only AXIS creates a HAL component of its own) #POSTGUI_HALFILE = test_postgui.hal HALUI = halui # Trajectory planner section -------------------------------------------------- [TRAJ] AXES = 3 COORDINATES = X Y Z HOME = 0 0 0 LINEAR_UNITS = mm ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 30.48 MAX_VELOCITY = 53.34 DEFAULT_ACCELERATION = 508 MAX_ACCELERATION = 508 POSITION_FILE = position_mm.txt NO_FORCE_HOMING = 1 # Axes sections --------------------------------------------------------------- # First axis [AXIS_0] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 30.48 MAX_ACCELERATION = 508 BACKLASH = 0.000 INPUT_SCALE = 157.48 OUTPUT_SCALE = 1.000 MIN_LIMIT = -254 MAX_LIMIT = 254 FERROR = 1.27 MIN_FERROR = .254 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 127 HOME_LATCH_VEL = 25.4 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 1 HOME_IS_SHARED = 1 # Second axis [AXIS_1] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 30.48 MAX_ACCELERATION = 508 BACKLASH = 0.000 INPUT_SCALE = 157.48 OUTPUT_SCALE = 1.000 MIN_LIMIT = -254 MAX_LIMIT = 254 FERROR = 1.27 MIN_FERROR = .254 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 127 HOME_LATCH_VEL = 25.4 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 1 # Third axis [AXIS_2] TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 30.48 MAX_ACCELERATION = 508 BACKLASH = 0.000 INPUT_SCALE = 157.48 OUTPUT_SCALE = 1.000 MIN_LIMIT = -50.8 MAX_LIMIT = 101.6 FERROR = 1.27 MIN_FERROR = .254 HOME_OFFSET = 25.4 HOME_SEARCH_VEL = 127 HOME_LATCH_VEL = 25.4 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 0 HOME_IS_SHARED = 1