INI文件配置
针对
machine.ini
的配置说明,这里仅汇总了日常使用中常用的配置,更多配置请查阅 LinuxCNC官方配置文档。
[EMC]
机床的基础配置信息。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
MACHINE | machine | machine | 机床的名称 |
DEBUG | 0 | 0,1 | 调试模式 |
VERSION | 1.1 | 1.1 | 版本号,目前只能为1.1 |
[DISPLAY]
机床的人机交互显示配置信息。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
DISPLAY | halui | halui | 显示类型 |
CYCLE_TIME | 0.1 | - | 人机交互界面刷新频率 |
POSITION_OFFSET | RELATIVE | 显示的坐标系 | |
POSITION_FEEDBACK | ACTUAL | 显示的坐标值 | |
ARCDIVISION | 64 | 64~256 | 弧形路径分割段数 |
GRIDS | 10mm 20mm ... | 网格参考线预设值 | |
MAX_FEED_OVERRIDE | 1.5 | 1.2 | 最大进给速度倍率 |
MIN_SPINDLE_OVERRIDE | 0.3 | 0.5 | 主轴最小速度倍率 |
MAX_SPINDLE_OVERRIDE | 1.5 | 1.0 | 主轴最大速度倍率 |
DEFAULT_LINEAR_VELOCITY | 50.0 | .25 | 默认的线性速度 |
MIN_LINEAR_VELOCITY | 0 | .01 | 最小的线性速度 |
MAX_LINEAR_VELOCITY | 66.667 | 1.0 | 最大的线性速度 |
DEFAULT_ANGULAR_VELOCITY | 13.333 | .25 | 默认的角速度 |
MIN_ANGULAR_VELOCITY | 0 | .01 | 最小的角速度 |
MAX_ANGULAR_VELOCITY | 16.667 | 1.0 | 最大的角速度 |
PROGRAM_PREFIX | ../../files | ../../files | GCODE目录 |
INCREMENTS | 500mm,.01mm... | 1mm,.5in, ... | 可用的增量值 |
WARNING
ARMCNC数控系统自带人机交互界面,所以DISPLAY
的值设置为halui
即可。 G-code程序文件的存储目录PROGRAM_PREFIX
保持默认../../files
即可。
[FILTER]
机床的过滤程序、后处理程序配置,可以在加载文件时通过一个过滤程序来处理这些文件。这个过滤程序可以执行各种任务,范围可以从简单到复杂。可以为每种文件类型配置一个
PROGRAM_EXTENSION
来告诉机床系统,对于某个特定的文件扩展名,我们要使用哪个过滤程序。
1、如果您的后处理器输出文件全部大写,您可能需要添加以下行:
PROGRAM_EXTENSION = .NGC XYZ Post Processor
2、如果你需要图像到G-code转换器的支持,您可能需要添加以下行:
PROGRAM_EXTENSION = .png,.gif,.jpg # Greyscale Depth Image
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
3、如果你需要自定义G-code的支持,您可能需要添加以下行:
PROGRAM_EXTENSION = .gcode 3D Printer
gcode = /home/armcnc/linuxcnc/convert.py
3、如果你需要指定一个Python语言解析器,您可能需要添加以下行:
PROGRAM_EXTENSION = .py Python Script
py = python
WARNING
Python语言解析器的本质是生成或输出G-code代码,当你使用Python作为过滤器时,应该使用print
函数输出相关的G-code命令。
[PYTHON]
机床的Python脚本设置,提供了与Python的集成,允许用户使用Python脚本进行各种任务,如自定义操作、处理数据或与外部设备交互。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
PATH_APPEND | ../../scripts/python | ../../scripts/python | 指定Python脚本搜索路径 |
TOPLEVEL | toplevel.py | toplevel.py | 脚本路径 |
WARNING
如果配置了PATH_APPEND
,则[FILTER]
中的Python解析器从当前配置的路径中查找程序脚本,而不是在LinuxCNC的默认资源目录中查找。
[RS274NGC]
G-code编程语言的标准配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
SUBROUTINE_PATH | ../../scripts/ngc | ../../scripts/ngc | G-code子程序的搜索路径 |
PARAMETER_FILE | machine.var | machine.var | 参数文件位置 |
HAL_PIN_VARS | 1 | 0,1 | G-code程序是否能读取HAL引脚的值 |
REMAP | - | - | G-code命令重映射的配置 |
WARNING
其中的REMAP
是用于G-code命令的重映射,该配置允许存在多个。
示例一:REMAP = M428 modalgroup=10 ngc=428remap
其中M428
为自定义的G-code命令,用于打开RTCP功能,modalgroup=10
这指定了M6命令属于的模态组(10这个数字源于RS274NGC规范),428remap
为关联的.ngc
脚本文件。
示例二:REMAP = M6 modalgroup=10 python=Def_Name
实现了换刀程序,其中M6
这是要被重映射的G-code命令,通常用于工具更换,modalgroup=10
这指定了M6命令属于的模态组(10这个数字源于RS274NGC规范),python=Def_Name
系统当遇到M6命令时,不要使用默认的处理,调用Python脚本中的Def_Name
来处理,通过print
输出相关的G-code命令。
[EMCMOT]
机床运动控制器相关配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
EMCMOT | motmod | - | 运动控制器名称 |
COMM_TIMEOUT | 1.0 | 1.0 | 通信超时时间,单位为秒 |
BASE_PERIOD | 200000 | 50000 | 基础周期时间,单位为纳秒 |
SERVO_PERIOD | 1000000 | 1000000 | 伺服周期时间,单位为纳秒 |
[EMCIO]
机床I/O(输入/输出)相关配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
EMCIO | io | io | 输入/输出模块 |
CYCLE_TIME | 0.100 | 0.100 | 输入/输出运行周期,单位为秒 |
TOOL_TABLE | machine.tbl | machine.tbl | 刀具表文件路径 |
[TASK]
机床任务管理和调度相关的设置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
TASK | milltask | milltask | 任务类型 |
CYCLE_TIME | 0.010 | 0.010 | 任务的运行周期,单位为秒 |
[HAL]
机床硬件抽象层配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
HALFILE | machine.hal | machine.hal | HAL配置文件的路径 |
[TRAJ]
机床运动中轨迹规划模块配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
COORDINATES | XYZ | XYZ,XYZAC,XYZBC... | 使用的坐标轴 |
LINEAR_UNITS | mm | mm,inch | 线性轴单位 |
ANGULAR_UNITS | deg | deg,rad,... | 旋转轴单位 |
CYCLE_TIME | 0.010 | 0.010 | 轨迹更新周期,单位是秒 |
POSITION_FILE | machine.position | machine.position | 存储关节位置的文件 |
[KINS]
机床关节与运动学配置。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
JOINTS | 3 | 3-9 | 关节数量 |
KINEMATICS | trivkins | 运动学模块 |
WARNING
常用的运动学模块有trivkins
、xyzac-trt-kins
、xyzbc-trt-kins
等, 可以通过man kins
命令查阅更多运动学模块的信息。
[AXIS_letter]
机床运动轴配置,其中
letter
可根据机床类型设置为X、Y、Z、A、B、C、U、V、W
字母,例如:AXIS_X
。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
MAX_VELOCITY | 66.667 | 1.2 | 最大速度 |
MAX_ACCELERATION | 400.0 | 20.0 | 最大加速度 |
MIN_LIMIT | -200.0 | -1000 | 最小位置限制 |
MAX_LIMIT | 200.0 | 1000 |
WARNING
针对MIN_LIMIT
和MAX_LIMIT
的一些其他说明:
1、运动轴必须先被归零才能启用这个软限制。归零是一种将机器的某个部分设置到已知位置的过程。
2、对于具有无限旋转的旋转轴(如A、B、C轴),如果没有为该轴设置MAX_LIMIT,则会使用一个非常大的负值(-1e99)或者正值(1e99),这实际上表示没有实际的最小最大限制。
[JOINT_num]
机床运动轴关节配置,用于定义机器中物理关节(通常是电机驱动的关节)的参数和行为,其中
num
代表关节的编号,设置范围为0
到[KINS]JOINTS的配置值 - 1
,例如[KINS]JOINTS=3
这意味着你的机器有3个关节。因此,你可以(并且应该)在配置文件中为这三个关节提供配置,分别为JOINT_0
、JOINT_1
和JOINT_2
。
参数 | 示例值 | 可选值 | 说明 |
---|---|---|---|
TYPE | LINEAR | LINEAR,ANGULAR | 关节类型 |
HOME | 0.0 | 0.0 | 初始位置、零位 |
MAX_VELOCITY | 66.667 | 1.2 | 最大速度 |
MAX_ACCELERATION | 600 | 1.2 | 最大加速度 |
STEPGEN_MAXACCEL | 600.0 | 21.0 | 步进发生器的最大加速度 |
SCALE | 1600 | 4000 | 脉冲数量(比例因子) |
FERROR | 1.0 | 1.0 | 最大跟随误差 |
MIN_LIMIT | -200.0 | -1000 | 最小位置限制 |
MAX_LIMIT | 200.0 | 1000 | 最大位置限制 |
HOME_OFFSET | 170.0 | 0.0 | 零位偏移量 |
HOME_SEARCH_VEL | 20.0 | 100 | 回零速度 |
HOME_LATCH_VEL | 5.0 | 0.0 | 到达回零锁定位置速度 |
HOME_FINAL_VEL | 60 | 0.0 | 到最终回零位置速度 |
VOLATILE_HOME | 1 | 0,1 | 是否失去归零状态 |
HOME_IGNORE_LIMITS | YES | YES,NO | 回零时忽略限位 |
HOME_USE_INDEX | NO | YES,NO | 使用编码器信号引导回零 |
HOME_SEQUENCE | 0 | 回零顺序 | |
BACKLASH | 0 | 0.0000 | 背隙补偿 |
WARNING
针对MIN_LIMIT
和MAX_LIMIT
的一些其他说明:
1、对于具有无限旋转的旋转关节(如A、B、C轴),如果没有为该关节设置MAX_LIMIT,则会使用一个非常大的负值(-1e99)或者正值(1e99),这实际上表示没有实际的最小最大限制。