5.PMAC下位机-下位机编程简介
PMAC的下位机编程涉及三方面的内容:手动操作、运动(Program)程序和PLC程序。这里主要是介绍各个方面的基础编程方面的东西,还有许多需要自行去探索。
变量
PMAC的下位机实际上是一种类Basic的编程语言,但是又类似汇编语言,所有变量的存储空间都是预先分配好的,操作的时候存储数据只能在指定的几种变量类型和变量名中存储,整个系统的参数也是存储在变量中。
变量类型和作用如下:
I变量:卡,电机和编码器等的参数变量,用于设置电机的速度,精度,回零等数值,以及坐标系的状态,编码器的反馈形式,PID参数等,一句话,设置系统参数就靠它。
举例子如下:
Ixx19->最大手动加速度限制
Ixx20->手动加速时间
Ixx22->手动速度
M变量:在PMAC工作时,会将当前运行状态(电机参数,编码器位置,IO参数)放到指定的内存中,我们要查看这部分参数,只需要用M变量绑定指定内存即可访问和设置,有点类似C语言的指针,不过一般的M参数我们都是在Pewin32中设置使用默认的M参数定义。
举例子如下:
读取电机状态->给定位置(mx61)、实际位置(mx62)、位置偏差(mx64) 其中x=1-16或1-24
读取I/O口状态->m11
P变量和Q变量:
手动操作
运动(Program)程序
为了便于编写运动程序,PMAC中使用一个坐标系的概念,比如有6号电机和8号电机,我们在一个的坐标系下将其分别映射到X和Y坐标,如下所示&1 #6->819.2Y ;机械手Y向,单位mm,(819.2=8192/10,丝杆导程为10mm) #8->819.2X ;机械手X向,单位mm,(819.2=8192/10,丝杆导程为10mm)这样我们编程的时候,可以直接把当前运动想成现实坐标系的运动,比如我们想6轴电机正向运动10mm,8轴电机正向运动10mm,那么完整的程序如下:
;程序功能:实现XY平台6、8轴的直线运动。 ;********************************************************************** CLOSE ;确认所有缓冲区被关闭 &1 #6->819.2Y ;机械手Y向,单位mm,(819.2=8192/10,丝杆导程为10mm) #8->819.2X ;机械手X向,单位mm,(819.2=8192/10,丝杆导程为10mm) ;~~~~~~~~~~~~~~~~~~~~~~~~~ 以下部分为运动程序 ~~~~~~~~~~~~~~~~~~~~~~~ OPEN PROG 30 CLEAR ;定义矩形运动的运动参数 LINEAR ;直线运动模式 ABS ;采用绝对坐标 TA(200) ;加速时间,单位:毫秒 TS(50) ;S曲线加速时间,单位:毫秒 F(50) ;运动速度单位:单位距离/单位时间,单位距离由轴定义确定,单位时间由I5390或I5490确定 X(10) Y(10) CLOSE
就是这么简单,&1b30r即可看到效果,当然运动程序命令很多,你可以设置圆、曲线等运动轨迹,具体的请查看手册!
PLC运动程序
;程序功能:实现XY平台6、8轴的停止 ;********************************************************************** CLOSE ;确认所有缓冲区被关闭 ;~~~~~~~~~~~~~~~~~~~~~~~~~ 以下部分为运动程序 ~~~~~~~~~~~~~~~~~~~~~~~ OPEN PLC 2 CLEAR If (p1000=1);检测p1000的值,据此确认程序是否停止 CMD "&1A" COMMAND^K DISABLE PLC 2 EndIf CLOSE ENABLE PLC 2
这个PLC在PLC下载到flash完成后的时候直接开启plc2,然后循环检查p1000,据此做判断。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。