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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,