• PMAC运动程序例程(二)


    Example2.

    &2
    close
    #5->1000x
    OPEN PROG 2
    CLEAR
    LINEAR
    INC
    TA500               //加速时间500ms
    TS250               //曲线加速时间250ms
    P1=0                    //循环计数
    WHILE (P1<10)
        X10
        DWELL500
        X-10
    DWELL500
    P1=P1+1
    ENDWHILE
    CLOSE
    &2 B2 R
    

    这个程序的效果就是电机进行10cm的往复运动,往复5次结束。

    Example3.

    CLOSE
    &1
    #2->27.77777777777778A              //定义一个工程单位为1°
    M1->Y:$FFC2,8,1					/*令M1指向地址Y:$FFC2,8,1,
    Machine Output 1*/
    (M1->Y:$078400,0)
    M11-Y:$FFC2,0,1						//令M11指向地址Y:$FFC2,0,1,
    I190=6000                               //设置坐标系速度的时间单位为分钟
    OPEN PROG 3
    CLEAR
    HOME2
    LINEAR
    F20 
    Q50=0
    WHILE (Q50<36)
    IF(M11==1)
        A((Q50+1)*10)
    ELSE
        A(-(Q50+1)*10)
    ENDIF
    DWELL20
    M1=1 M1=0
    DWELL20
    A0
    Q50=Q50+1
    ENDWHILE
    CLOSE
    &1  B3  RUN
    

    注:

    1. I190的作用是设置坐标系速度的时间单位,它的单位是ms,缺省值是1000(即1s),a那么速度单位为cts(uints)/s,如果设置I190=60000,则速度单位为cts(uints)/min.

    2. 关于坐标系的I变量设置,每个坐标系均有100个I变量控制其设置,具体含义参见《软件参考手册》(2014)。
      这里写图片描述
      IsxXX:
      对于坐标系1-9:s=5;x=1到9。
      对于坐标系10-16:s=6;x=1到6(即坐标系号减10)
      根据上面的定义,这里的I190=6000,严格来说应该改成I5190=6000比较严谨。
      这里写图片描述

    3. M1->Y:$FFC2,8,1
        这是一个M变量定义的语句,指向Clipper数据寄存器的$FFC2地址,Clipper数据寄存器分为两个部分X和Y,都是24位寄存器。
      M102->Y:$F078003,8,16,s
      这里写图片描述
        这条语句是一个完整的定义语句,M102指向Y:$078003的第7到24位,值得类型是无符号的整型。U表示unsigned integer,S表示signed integer,D表示BCD码,C表示BCD码的补码。数值类型是可选的,没有指定的话就是无符号整型。
        注意: Y:$FFC2,8,1这是PMAC和PMAC2所用的地址,我们用的clipper的地址映射有所不同,具体的改变参见《软件参考手册》(2014版)P746。根据软件手册的定义M1->Y:$FFC2,8,1应该写成M1->Y:$078400,0。

    .

  • 相关阅读:
    【个人博客设计】
    复杂多边形光栅化算法
    xmake 描述语法和作用域详解
    协程分析之context上下文切换
    tbox协程使用之切换与等待
    记boost协程切换bug发现和分析
    跨平台自动构建工具v1.0.2 发布
    xmake从入门到精通9:交叉编译详解
    xmake从入门到精通9:交叉编译详解
    跨平台c开发库tbox:内存库使用详解
  • 原文地址:https://www.cnblogs.com/zhengkang/p/5712466.html
Copyright © 2020-2023  润新知