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

相关文章

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen