linux系统学习笔记10——LinuxCNC配置单轴运动hal、xml、ini文件

2023-11-07 16:50

本文主要是介绍linux系统学习笔记10——LinuxCNC配置单轴运动hal、xml、ini文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于LinuxCNC的hal、xml、ini文件的配置

LinuxCNC镜像系统安装步骤 linux系统学习笔记8——LiuxCNC镜像系统安装步骤

分享一下配置一个轴的配置文件
之前的文章提过,除了系统安装好,驱动装好,linuxcnc要想控制伺服,还需要对linuxcnc进行配置,分别配置xml hal ini 三个文件

机器人控制LinuxCNC与EtherCAT介绍&&PDO&SDO,搭建环境步骤

下面的三个文件配置是笔者使用的是合信的伺服 H1A....

xml

<masters><master idx="0" appTimePeriod="1000000" refClockSyncCycles="5"><slave idx="0" type="generic" vid="00000099" pid="00001000" configPdos="true"><sdoConfig idx="6060" subIdx="0"><sdoDataRaw data="08"/></sdoConfig><syncManager idx="0" dir="out"></syncManager><syncManager idx="1" dir="in"></syncManager><syncManager idx="2" dir="out"><pdo idx="1601"><pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="drivecontrol" halType="bit"/><pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="poscommand" halType="float" scale="1000"/></pdo></syncManager><syncManager idx="3" dir="in"><pdo idx="1A01"><pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/><pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="1000"/></pdo></syncManager><dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/></slave></master>
</masters>
文件中的pid 和 vid 根据自身的伺服修改.
hal文件内容如下

HAL

loadusr -W lcec_conf deltaPos.xml
loadrt lcec
addf lcec.read-all servo-thread
addf lcec.write-all servo-threadsetp lcec.0.0.drivecontrol-1 1
setp lcec.0.0.drivecontrol-2 1net Xpos => lcec.0.0.poscommand
net Xachse_AF joint.0.amp-enable-out => lcec.0.0.drivecontrol-0
net Xachse_AF  => lcec.0.0.drivecontrol-3
net Xachse_AF  => lcec.0.0.drivecontrol-5

INI


[EMC]
VERSION = 1.1
MACHINE = LinuxCNC-HAL-SIM
DEBUG = 0[DISPLAY]
DISPLAY = axisCYCLE_TIME = 0.100
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0
PROGRAM_PREFIX = ../../nc_files/
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Scriptpng = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python[RS274NGC]
PARAMETER_FILE = sim.var[EMCMOT]EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 50000
SERVO_PERIOD = 1000000[TASK]
TASK = milltask
CYCLE_TIME = 0.001[HAL]HALUI = halui
HALFILE = core_sim.hal
HALFILE = sim_spindle_encoder.hal
HALFILE = axis_manualtoolchange.hal
HALFILE = simulated_home.hal
HALFILE = check_xyz_constraints.hal
HALFILE = deltaPos.hal[TRAJ]COORDINATES = X
HOME =                  0 
LINEAR_UNITS =          mm
ANGULAR_UNITS =         degree
DEFAULT_LINEAR_VELOCITY =      10
DEFAULT_LINEAR_ACCELERATION = 100
MAX_LINEAR_VELOCITY =   200
MAX_LINEAR_ACCELERATION = 800
POSITION_FILE = position.txt[EMCIO]EMCIO = 		io
CYCLE_TIME =    0.100
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 
TOOL_CHANGE_QUILL_UP = 1[KINS]
KINEMATICS = trivkins coordinates=X
JOINTS = 1[AXIS_X]
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
MAX_VELOCITY = 200
MAX_ACCELERATION = 800.0[JOINT_0]TYPE = LINEAR
FERROR = 1.0
MIN_FERROR = 0.9
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 800.0
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0HOME_OFFSET =                    1.0
HOME_SEARCH_VEL =                20.0
HOME_LATCH_VEL =                 20.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1
后续分享6轴机械臂配置,以及配置文件详细解释
【关注微信公众号一起来交流】

这篇关于linux系统学习笔记10——LinuxCNC配置单轴运动hal、xml、ini文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/364982

相关文章

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u