PMAC培训
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P变量
Q变量
全局变量,与坐标系有关 48位浮点型,地址区间$008000 - $009FFF
2 PMAC基础 2.2.1 M变量
2 PMAC基础 2.2.1 M变量
X: X内存中的1-24位的固定地址位
Y: Y内存中的1-24位的固定地址位
D: 同时占用X和Y内存的48位固定地址位 L: 同时占用X和Y内存的48位浮点地址位 DP: 32位的固定地址位(双端口RAM使用) F: 32位的浮点地址位(双端口RAM使用) M0->y:$FFC2,8,1
6 上位机开发 6.2 开发实例
6 上位机开发 6.3.1 单端口存储器(SPRAM)
结构:
一组读/写端口、控制线和地址线 一个进行数据读/写的CPU(主机)
6 上位机开发 6.3.1 单端口存储器(SPRAM)
结构:
一组读/写端口、控制线和地址线 两个进行数据读/写的CPU(主机和外设) 控制线接入仲裁电路,来决定访问权
4 PMAC伺服系统软件设置 4.2.1 部分参数说明
4 PMAC伺服系统软件设置 4.2.2 部分参数说明
4 PMAC伺服系统软件设置 4.2.3 部分参数说明
4 PMAC伺服系统软件设置 4.3 PID参数设置
I130=3200000;比例Kp I131=11000;微分Kd I132=0;速度前馈Kvff I133=10000;积分Ki I134=1;积分使能 I135=0;加速度前馈Kaff I168=0;摩擦前馈
数据存储方式
SPRAM(general) DPRAM (faster) BUS optional
2 PMAC基础 2.2 控制变量
I变量
板卡、电机、编码器的设置 地址固定,用户不可知、不可修改
M变量
地址指针 用户定义,可断电保存 全局变量 48位浮点型,地址区间$006000 - $007FFF
5)数据读/写
PmacDPRGetMem();读双端口数据,速度快 PmacDPRSetMem();写双端口数据,速度快
6 上位机开发 6.4.5 DPRAM数据格式
数据处理: 32位:(long_x[0]&0x00FFFF00)/255 64位:PmacDPRFloat(long_x,1)
4 PMAC伺服系统软件设置 4.2 安全性参数设置
I111=8388607;跟随误差严重限制 I112=8388607;跟随误差较大限制 I167=4194304;位置错误限制 I113=3000;正限位 I114=-3000;负限位 I116=32;最大PROGRAM速度CTS/MS I117=0.5;最大PROGRAM加速度 I119=1;最大JOG加速度CTS/MS/MS I120=0;JOG加速时间 I121=10;JOG S-Curve时间 I122=5;JOG速度CTS/MS I123=0.01;HOME速度CTS/MS I169=INT(I7000*3/5);电压限制
指向卡的输出1 指向卡的输出1—8
M0=1 打开卡的输出1 m9=45
M9->y:$FFC2,8,8
2 PMAC基础 2.2.2 板卡设置相关I变量
I7000=6527;PWM频率9.0346kHz I7001=0;换向时钟频率 I7002=3;伺服时钟频率2.2587kHz I7003=2770;ADC频率 I7006=$1FFFFF;ADC控制字 I10=3713991;伺服中断时间 I8=2;实时中断频率0.7529KHz
特点:
存储量大 同时访问时,后访问者需等待
6 上位机开发 6.3.2 双端口存储器(DUAL-PORTED RAM)
结构:
两组相互独立的读写端口、控制线和地址线 两个进行数据读/写的CPU(主机和外设),内存共享 仲裁电路内置于存储器内部
6 上位机开发 6.3.2 双端口存储器(DUAL-PORTED RAM)
2 PMAC基础 2.3 时钟频率
PMAC晶振为19.6608MHz 9.8304MHz由晶振频率二分频得来,用于CPU计算频率
CPU Frequency = 9.8304*(I52+1) = 78.6432MHz(即所谓的80MHz)
117964.8KHz由晶振六倍频得来,用于换向、伺服、中断频率
4 PMAC伺服系统软件设置 4.1 基础参数设置
I108=1;位置反馈信号系数 I109=1;速度反馈信号系数
I129=17;输出信号补偿
I7010=7;编码器解码方式,7和3方向相反 I7016=0;DAC输出模式
4 PMAC伺服系统软件设置 4.1.1编码器转换表
功能:把一个地址里的数据处理后放到另一个地址里 ①最简单的编码器转换表应用: I8000=$17800D; I103=$3501; ②含有指数滤波的应用: I8000=$17800D; I8001=$D03501; I8002=4000; I8003=524288; I103=$3504;
消除系统在加减速时的跟随误差
I*35 : 加速度前馈
I*68 : 摩擦增益
减小由于摩擦产生的跟随误差
5 PMAC伺服算法 5.1 PID算法
5 PMAC伺服算法 5.2 理想阶跃曲线
5 PMAC伺服算法 5.3 PID有待调节
5 PMAC伺服算法 5.3 PID有待调节
5 PMAC伺服算法 5.4 PID调节软件
PmacTuningPro
6 上位机开发 6.1 上位机开发流程
步骤: ①安装PCOMM32PRO ②设置C++工程的编译链接库,在“工程->设置->连接->对象/库模块”添加 c:\windows\system32\pcomm32.lib(默认路径) ③在DPRAMControlDlg.h文件里引用函数 extern "C" _declspec(dllimport) BOOL _stdcall OpenPmacDevice(DWORD dwDevice); ④编写上位机程序 dwDevice = PmacSelect(NULL);//选择板卡 OpenPmacDevice(dwDevice);//打开板卡 //用户编写区 PmacGetResponseA(dwDevice,buffer,255,"M105");//获取M105的值 PmacGetResponseA(dwDevice,buf,255,"GATHER");//执行”GATHER”指令 ClosePmacDevice(dwDevice);//关闭板卡
PMAC应用入门
雷神
1 PMAC简介
PMAC
Program Multiple Axis Controller 可编程的多轴运动控制卡 嵌入式系统,处理器为Motorola DSP563xx
2 PMAC基础 2.1 通讯和存储
通讯端口类型
串口通讯端口 RS-232,RS-422 BUS 通讯端口(faster) ISA, PCI, VME USB, Ethernet
存储机制
当两个端口的读/写地址不相同时,在两个端口上同时进 行读/写操作 当两个端口同时读/写存储器同一存储单元时,由仲裁电 路决定优先权
特点:
两个CPU进行并行的独立操作,包括读/写 数据传输速度快,实时性好 通讯数据量较小
6 上位机开发 6.4.1 DPRAM 存储结构--全局
K homez J/
电机开环 定义当前命令位置为零点 电机闭环
2 PMAC基础 2.7 常用在线命令
I7001 查看I7001的值 I7001=6527 设定I7001的值为6527 M105-> 查看M105的定义 M105->Y:$60E50,0,16 定义M05的地址 save 保存当前设置 $$$ 按照已保存的参数重新配置系统 $$$*** 恢复出厂设置 Ctrl+K 强制电机开环 disable plc 1 关闭plc程序1 enable plc 1 使能plc程序1
6 上位机开发 6.4.4 DPRAM函数
4)DPRAM Data Gathering Buffer
PmacGetResponseA(…,"DEFINE GATHER 99");定义采集缓存的大小 PmacGetResponseA(…,"GATHER");启动采集 PmacDPRGetMem(dwDevice,getmem_pointer_offset,4,pointer_data);获得 指针数据 PmacDPRGetMem(dwDevice,getmem_offset,396,GetSem_data);获得缓存 区所有数据 PmacGetResponseA(…,"ENDGATHER");结束采集 PmacGetResponseA(…,"DELETE GATHER");删除缓存
6 上位机开发 6.4.2 DPRAM 存储结构--内部
6 上位机开发 6.4.3 DPRAM相关函数
1)DPRAM Motor Data Reporting Buffer
PmacDPRRealTimeEx();使能/关闭使能 PmacDPRUpdateRealTime();刷新数据 PmacDPRMotorEnabled()…;读取电机使能信息…
4 PMAC伺服系统软件设置 4.3.1 PID参数说明
I*30 : 比例增益Kp
调节响应速度,过大易超调且不稳定,过小响应速度慢
改善动态性能,误差提前预报,抑制偏差变化
减小系统的跟随误差
Байду номын сангаас
I*31 : 微分增益Kd
I*32 : 速度前馈增益
I*33 : 积分增益Ki
消除稳态误差,过大易积分饱和,过小不能消除误差
2 PMAC基础 2.5 时序
2 PMAC基础 2.6 PEWIN32
2 PMAC基础 2.7 常用在线命令
在线命令
可独立于程序执行的命令,即时修改参数、控制动作等
#1 O5
定位到电机1 以模拟量输出的5%运行电机
电机1以模拟量输出的5%运行
#1 O5
&1
定位到坐标系1
&1 b1 r 在坐标系1里运行运动程序1
2)DPRAM Background Data Reporting Buffer
3)DPRAM Background Variable Read/Write Buffer
PmacDPRBackGroundVar();使能/关闭使能 Handle=PmacDPRVarBufInit();初始化,提供数据来源地址 并开辟缓存 PmacDPRVarBufRead();读取数据(包含刷新数据功能) PmacDPRVarBufRemove();删除缓存
3 PMAC伺服系统硬件搭建 3.1 经典控制系统
3 PMAC伺服系统硬件搭建 3.2 应用系统实例
4 PMAC伺服系统软件设置 4.1 基础参数设置
I100=1;电机使能 I101=0;电机换向关闭 I102=$78002;电机控制信号输出地址 I8000=$17800D;编码器转换表模式 I8001=$D03501;指数滤波 I8002=4000;每个伺服周期的变化范围 I8003=524288; I103=$3504;位置反馈地址 I104=$3504;速度反馈地址
最大换向频率= 117,964.8/(I7000*2+3) = 9.0346KHz 换向频率=最大换向频率/(I7001+1) = 9.0346KHz 伺服频率=换向频率/(I7002+1) = 2.2587KHz 实时中断频率=伺服频率/(I8+1) = 0.7529KHz
2 PMAC基础 2.4 任务优先级
6 上位机开发 6.4.6 双端口相关I变量设置
I48=0;DPRAM Motor Data Foreground Reporting Enable I49=1;DPR Background Data Reporting Enable I50=50;DPR Background Data Reporting Period, 22ms I55=1;DPR Background Variable Buffers Enable I57=1;DPR Motor Data Background Reporting Enable