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应用二-基本配置相关推荐

  1. VUE3.0 二. vue-cli3 配置指南

    VUE3.0 二. vue-cli3配置指南 一.vue.config.js 详解 官网地址: https://cli.vuejs.org/zh/config/ 使用vue3 的时候需要添加一个vue ...

  2. Windows server 2012 搭建×××图文教程(二)配置路由和远程访问服务

    Windows server 2012 搭建×××图文教程(一)安装×××相关服务 Windows server 2012 搭建×××图文教程(二)配置路由和远程访问服务 Windows server ...

  3. 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    原文:使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.con ...

  4. CentOS 6 安装Hadoop 2.6 (二)配置Hadoop

    CentOS 6 安装Hadoop 2.6 (一)准备工作 CentOS 6 安装Hadoop 2.6 (二)配置Hadoop CentOS 6 安装Hadoop 2.6 (三)问题收集 CentOS ...

  5. C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)...

    C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 原文:C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置 ...

  6. 访问控制列表(二)配置命令

    访问控制列表(二)配置命令 扩展访问控制列表的配置 创建ACL Router(config)# access-list access-list-number { permit | deny } pro ...

  7. MyBatis笔记二:配置

    MyBatis笔记二:配置 1.全局配置 1.properites 这个配置主要是引入我们的 properites 配置文件的: <properties resource="db.pr ...

  8. SOLR7实践(二)--DIH配置及使用

    DIH配置及使用@SOLR7实践(二) DIH配置及使用 网上已经有很多相关文章了,但是实践中还是遇到了些问题,备忘一下. 一.配置solrconfig.xml 编辑/var/solr/data/ne ...

  9. Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译

    文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...

最新文章

  1. C++11中头文件type_traits介绍
  2. Vmware Workstation VMX 在资源管理器中杀不掉(虚拟机繁忙导致无法关机)
  3. 快速启动栏的现实桌面快捷方式
  4. JavaWeb三大组件之Servlet
  5. dbinfo.properties mysql_java 8.0Mysql 助手类
  6. (8)小白又如何?3分钟搞定一个 C# 知识点
  7. 惠普打印机节能环保认证证书_低成本高效办公 苏宁惠普超品日这几款打印机了解下!...
  8. 如何变得有价值,需要突破问题,提高解决各种问题的能力?
  9. php open_basedir
  10. Qt Displaying Window教程中无法解析的外部符号错误解决办法
  11. CentOS安装MySQL及其使用(总结整理)
  12. 精通Hyperledger之Hyperledger composer建模语言(15)
  13. 【解决方案】PDF文字复制后乱码
  14. 在 Windows 10 中映射网络驱动器
  15. MATLAB命令总结
  16. 2010年06期《程序员》配套源码及相关链接
  17. Word2013自动生成中英文目录
  18. python推箱子游戏代码_推箱子游戏,推箱子游戏代码python实现
  19. 小文件治理之hive文件合并:hive小文件合并的三种方法
  20. 2021年起重机司机(限桥式起重机)考试题库及起重机司机(限桥式起重机)考试试卷

热门文章

  1. Linux培训哪家靠谱?过来人教你如何挑选培训机构
  2. 2018中国计算机学会推荐国际学术会议(人工智能)
  3. 用linux命令操作手机,Linux基本操作
  4. python项目开发实战第2版pdf_《树莓派开发实战++第2版》.pdf
  5. 程序员如何提高自控力?
  6. Python爬虫之爬取绝对领域美女图片
  7. 【Python+Pycharm】单词底部有波浪线,提示typo in word时
  8. gem中gon的用法 (发送数据到js文件)
  9. Linux系统中svn服务器设置开机启动
  10. jpa findById 不需sql但是 dao integer接口是需要的