zoukankan      html  css  js  c++  java
  • PMAC运动程序例程(一)

    PMAC运动程序例程(一)

    日期:2015/06/10

    作者:Z.K.

    修订信息:2015/08/13修改1

    Example1

    &1                      选择坐标系1
    Close                   关闭所有的缓冲寄存器
    #1->X                   将1号电机分配给X轴
    OPEN PROG1              打开程序1的缓冲寄存器
    CLEAR                   清除缓冲寄存器的内容
    LINEAR                  选择混合线性插值运动模式,还可以选择CIRCLE圆弧运动
    ABS                     绝对运动(给定位置),INC表示相对运动	
    TA500                   设置500ms的加速时间
    TS0                     不使用曲线加速
    F5000                   设置速度为5000个单位每秒
    X10000                  移动X轴(即1号电机)到位置10000
    DWELL500                在位置10000处停留500ms
    X0                      移动到位置0处
    CLOSE                   关闭寄存器,结束程序
    &1  B1  R               &1跟上面一样,选择坐标系1,B1是将程序计数器,跳到程序1的起点,R(RUN)运行程序
    

    注:

    1. 1->X  轴定义语句,还有另外一种形式。#1->{constant}X,表示将{constant}个编码器(光栅尺)脉冲作为X轴的一个运动单位,例如,我们用的直线电机2000个脉冲对应1mm,我们可以定义为#1->2000X,就将光栅尺2000个脉冲定义为X轴的工程单位,此后在程序中写X1即表示X正向运动1mm,F100即表示速度为100mm/s.类似的,我们用的华大电机2500线编码器四倍频之后一转发出10000个脉冲,平均每一度转角对应27.77777777777778(10000/360)个脉冲,因此我们可以定义为#2->27.77777777777778Y,那么在以后在程序中,我们写Y1即表示Y轴正向转动1度,f10表示10°/s。这是一个很实用的功能,在程序开头定义后,就再不用管脉冲与实际单位的对应关系。

    2. 时间单位,程序当中的时间单位大部分为ms,但是在这里速度设置的时候是秒,比如上面的F5000表示5000cts/s,原因以后再讲。

    理论运行结果如下图

    实际运行结果


    红色表示实际速度,绿色表示指令速度。

    红色表示实际位置,绿色表示指令位置。

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/zhengkang/p/4892008.html
Copyright © 2011-2022 走看看