PMAC应用二-基本配置
PMAC应用二-基本配置
- 电机基本参数配置
- 配置电机
- 配置一个虚拟电机
- 坐标系的创建
- 坐标系的概念
- 轴的类型
- 轴定义的类别
- 轴配置示例
- 结后语
电机基本参数配置
配置电机
在项目的文件夹PMAC Script Language->文件夹Global Includes下创建一个名为motor para.pmh(文件名自己定义)的文件。
打开motor para.pmh文件,并写入电机配置参数。
Motor[1].PosSf=16/8388608 //电动速度 mm/ms
/*Motor[1].PosSf=A/B
功能:设定用户单位(内部速度环比例因子)
A:丝杆的导程
B:电机编码器精度 17位编码器:2^17=131,072 23位编码器:2^23=8,388,608
*/Motor[1].Pos2Sf=Motor[1].PosSf //(外部速度环比例因子)
Motor[1].CaptureMode=1 //搜原点模式:使用io信号
/*Motor[1].CaptureMode
功能:触发回零动作的捕获模式
0. 硬件触发,硬件捕获
1. 硬件触发,软件捕获
2. 错误触发,软件捕获
3.硬件触发,时间辅助软件捕获
*/Motor[1].pCaptFlag=Slave_0_60FD_0_Digitalinputs.a //原点信号所在地址
Motor[1].CaptFlagBit=2 //原点信号bit号
Motor[1].HomeVel=-0.01 //搜原点速度mm/s,负表示向负方向搜原点
Motor[1].HomeOffset=10 //在原点信号位置的偏移量
Motor[1].pLimits=Slave_0_60FD_0_Digitalinputs.a //硬限位所在地址
Motor[1].LimitBits=64 //限位信号bit号,减去64为负限位bit,下一个为正限位
Motor[1].MaxSpeed=0.1 //最大速度mm/ms
Motor[1].JogSpeed=0.01 //点动速度
Motor[1].FatalFeLimit=10 //最大跟随误差 mm
Motor[1].MaxPos=195 //软限位最大值
Motor[1].MinPos=-253 //软限位最小值
Motor[1].JogTa=200 //点动加速度时间
Motor[1].JogTs=100 //点动s型曲线时间
原点所在地址在DI输入状态中,索引位60FD,这个是默认不变的,原点bit号为2,下图为欧姆龙电机60FD bit定义说明。限位信号bit可查看pmac用户手册,这个参数需要详细看一下。
配置一个虚拟电机
在项目的文件夹PMAC Script Language->文件夹Global Includes下创建一个名为virtual motor para.pmh(文件名自己定义)的文件。参数的具体的说明可查看用户手册。PMAC用户手册提取:njve
Motor[6].ServoCtrl=1 //激活电机的伺服算法
Motor[6].pDac=Sys.Idata[6].a //与可封装的[6].pEnc相同
EncTable[6].type=1 // 32位寄存器读取
EncTable[6].pEnc=Sys.idata[6].a //与可封装的[6].pEnc相同
EncTable[6].pEnc1=Sys.pushm //伪读(未使用)
EncTable[6].index1=0 //无源数据右移
EncTable[6].index2=0 //源数据无左移
EncTable[6].index3=0 //无加速限制
EncTable[6].index4=1 / /单个集成
EncTable[6].PrevDelta=0 //整合前无偏差
EncTable[6].MaxDelta=0 //无速度限制
EncTable[6].ScaleFactor=1/65536 // 32位-> 16位
Motor[6].pEnc=EncTable[6].a //位置环反馈源
Motor[6].pEnc2=EncTable[6].a //速度环反馈源
Motor[6].pLimits=0 //禁用超行程限制输入
Motor[6].pAmpEnable=0 //如果信道连接到放大器,可能需要禁止放大器启动输出
Motor[6].pAmpFault=0 //如果信道连接到放大器,可能需要禁止放大器故障输出
Motor[6].Servo.Kvfb=0 //将伺服回路的导数增益项设为零
Motor[6].Servo.Kp=1 //默认比例因子
Motor[6].Servo.Ki=0.01 //积分增益强制为0误差
Motor[6].Servo.BreakPosErr=0 //将死区设置为零
Motor[6].Servo.Kvff=1 //增加前馈,最小化跟踪误差
Motor[6].Servo.Kaff=1/官网论坛大神分享///
坐标系的创建
坐标系的概念
如果我们把多个电机组合成一个整体,单个电机反馈的位置值如何映射到这个电机组合体中去?以什么为参考呢?我们就要引入坐标系,坐标系就是一个参照体,为了说明质点的位置、运动的快慢、方向等。
轴的类型
- 直角坐标系轴
X/Y/Z, XX/YY/ZZ允许任意三维平面上的圆弧插补 - 进给轴
默认情况下,[X,Y,Z]是进给速率(矢量进给速率)轴
使用命令frax定义其他进给轴 - 旋转轴
仅适用于[A,B,C]和[AA,BB,CC]轴
可以使用Coord[x].AltFeedrate,当命令运动中带有旋转轴时,使旋转轴(非矢量进给轴)与矢量进给轴在同一直线上,以确保适当的进给速度。
轴定义的类别
- 将一个电机转换成一个轴,或转换成多个轴的线性组合
- 一轴多电机(龙门式系统)
- 假轴:没有分配电机的轴
- 线性轴可以直接分配,旋转轴必须使用运动学子程序
轴配置示例
在项目的文件夹PMAC Script Language->文件夹Global Includes下创建一个名为coord setup.pmh(文件名自己定义)的文件。
undefine all //清除所有坐标系统的所有轴定义
&1 //使用“&”创建名为1的坐标系
#1->x //使用“#”将x分配给1号电机
#2->y //使用“#”将y分配给2号电机
#3->z
#4->a
#5->b/*
undefine all //清除所有坐标系统的所有轴定义
&1 //使用“&”创建名为1的坐标系
//平移轴定义
#1->X+4 // x平移4
#2->Y+2 //y平移2
//旋转轴定义
//sin(45)=0.707
#1->0.707X-0.707Y
#2->0.707X+0.707Y
*//走插补时需设置
Coord[1].SegMoveTime=2 // 粗插值的“分割时间”的单位是毫秒
Coord[1].AltFeedRate=10 //非矢量轴的速度
Coord[1].TimeBaseSlew=0.01 //时基转换速率
Coord[1].DesTimeBase=1 //所需的时基值
Coord[1].Tm=-10 //混合动作的进给量
#IO分配
如果设备挂载了IO模块,我们需要创建IO变量。在项目的文件夹PMAC Script Language->文件夹Global Includes下创建一个名为IO para.pmh(文件名自己定义)的文件。
在ECATMap.pmh文件中找到IO模块的地址,比如我想定义一个输入模块:
在IO para.pmh定义如下:
//数字输入模块
ptr A-> Slave_5_6002_1_InputBit16bits.0.1; //ptr 自定义变量 -> 模块地址.模块节点.1
ptr B-> Slave_5_6002_1_InputBit16bits.1.1;
ptr C-> Slave_5_6002_1_InputBit16bits.2.1;
ptr D-> Slave_5_6002_1_InputBit16bits.3.1;/模拟量输出模块
ptr E->Slave_5_60A0_1_Ch1AnalogInputVal; //ptr 自定义变量 -> 模块地址(模拟量通道1)//给电机控制字分配变量///
ptr F-> Slave_1_6040_0_ControlWord;
结后语
基本的配置工作已经完成,下一节我们开始写PLC程序和运动程序。
PMAC应用二-基本配置相关推荐
- VUE3.0 二. vue-cli3 配置指南
VUE3.0 二. vue-cli3配置指南 一.vue.config.js 详解 官网地址: https://cli.vuejs.org/zh/config/ 使用vue3 的时候需要添加一个vue ...
- Windows server 2012 搭建×××图文教程(二)配置路由和远程访问服务
Windows server 2012 搭建×××图文教程(一)安装×××相关服务 Windows server 2012 搭建×××图文教程(二)配置路由和远程访问服务 Windows server ...
- 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
原文:使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.con ...
- CentOS 6 安装Hadoop 2.6 (二)配置Hadoop
CentOS 6 安装Hadoop 2.6 (一)准备工作 CentOS 6 安装Hadoop 2.6 (二)配置Hadoop CentOS 6 安装Hadoop 2.6 (三)问题收集 CentOS ...
- C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)...
C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 原文:C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置 ...
- 访问控制列表(二)配置命令
访问控制列表(二)配置命令 扩展访问控制列表的配置 创建ACL Router(config)# access-list access-list-number { permit | deny } pro ...
- MyBatis笔记二:配置
MyBatis笔记二:配置 1.全局配置 1.properites 这个配置主要是引入我们的 properites 配置文件的: <properties resource="db.pr ...
- SOLR7实践(二)--DIH配置及使用
DIH配置及使用@SOLR7实践(二) DIH配置及使用 网上已经有很多相关文章了,但是实践中还是遇到了些问题,备忘一下. 一.配置solrconfig.xml 编辑/var/solr/data/ne ...
- Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译
文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...
最新文章
- C++11中头文件type_traits介绍
- Vmware Workstation VMX 在资源管理器中杀不掉(虚拟机繁忙导致无法关机)
- 快速启动栏的现实桌面快捷方式
- JavaWeb三大组件之Servlet
- dbinfo.properties mysql_java 8.0Mysql 助手类
- (8)小白又如何?3分钟搞定一个 C# 知识点
- 惠普打印机节能环保认证证书_低成本高效办公 苏宁惠普超品日这几款打印机了解下!...
- 如何变得有价值,需要突破问题,提高解决各种问题的能力?
- php open_basedir
- Qt Displaying Window教程中无法解析的外部符号错误解决办法
- CentOS安装MySQL及其使用(总结整理)
- 精通Hyperledger之Hyperledger composer建模语言(15)
- 【解决方案】PDF文字复制后乱码
- 在 Windows 10 中映射网络驱动器
- MATLAB命令总结
- 2010年06期《程序员》配套源码及相关链接
- Word2013自动生成中英文目录
- python推箱子游戏代码_推箱子游戏,推箱子游戏代码python实现
- 小文件治理之hive文件合并:hive小文件合并的三种方法
- 2021年起重机司机(限桥式起重机)考试题库及起重机司机(限桥式起重机)考试试卷
热门文章
- Linux培训哪家靠谱?过来人教你如何挑选培训机构
- 2018中国计算机学会推荐国际学术会议(人工智能)
- 用linux命令操作手机,Linux基本操作
- python项目开发实战第2版pdf_《树莓派开发实战++第2版》.pdf
- 程序员如何提高自控力?
- Python爬虫之爬取绝对领域美女图片
- 【Python+Pycharm】单词底部有波浪线,提示typo in word时
- gem中gon的用法 (发送数据到js文件)
- Linux系统中svn服务器设置开机启动
- jpa findById 不需sql但是 dao integer接口是需要的