使用高级函数模块API进行运动轮廓开发
共享变量。NI分布式系统管理器可以用于监视在网络上的系统和管理发布数据。对于系统管理员,您无需LabVIEW开发环境就可以查看函数模块参数数值。通过配置函数模块终端接收变量数值,您还可以通过系统管理器写入参数数值,举例而言,您可以远程调节PID函数模块。
NI SoftMotion函数模块还包含其他用于监视和维护每个函数模块状态的附加参数。用于NI SoftMotion函数模块的API是非阻塞、异步的API,您可以用来与您的运动控制硬件进行通信。
下表提供了运动控制函数模块的概述。
选板对象 选板符号
描述
直线
使用轴或坐标系资源完成直线运动。直线运动使用一条或多条轴连接两点。运动行为随着直线运动模式的设置而变化。
弧线
完成圆形、圆弧或螺旋线运动。弧线运动使用您所指定的半径生成圆形运动。弧线运动的类型随着圆弧运动模式的设置而变化。
曲线
使用轴或坐标系资源完成曲线运动。曲线运动由软件插值得到光滑曲线时所使用的一系列位置来描述。这些位置存储在表格中。 运动中的每个点以绝对位置进行表示,使用运动的开始点作为暂时的“零点”位置。曲线运动的类型根据曲线模式的设置而变化。
参考
完成参考运动,例如在轴资源上定位初始点或极限位置。参考移动用来初始化运动控制系统,建立可重复的参考位置。移动根据参考移动模式的设置而变化。
捕捉
根据例如传感器状态等外部输入记录编码器位置。您可以使用采集得到的位置来完成相对于采集位置的运动,或是仅仅是在采集事件发生的时候记录编码器位置。
比较
将电机与外部活动和指定的编码器位置进行同步。当达到指定位置时,能够得到用户可配置的脉冲。位置比较操作根据比较模式的设置而变化。
调速
配置指定轴进行调速操作。调速将从轴的运动与主轴的运动进行同步,主轴运动可以是编码器或是另一个轴的轨迹。从轴运动可以相对于主轴以更高或更低的转速比进行。例如,主轴每转一次,从轴可能转动两次。调速操作根据调速模式设置的变化而变化。
凸轮
为指定轴配置凸轮操作。这些比例由NI SoftMotion自动进行管理,从而能够对调速比例进行精确切换。凸轮用于从轴速度与主轴速度比不是线性关系的应用中。这个类型的凸轮操作根据凸轮模式设置而变化。
读取
从轴、坐标系、反馈和其他资源中读取状态和数据信息。使用可用的读取方法获取不同资源的信息。
写入
向轴、坐标系或反馈资源写入状态和数据信息。使用可用的写入方法向不同资源写入信息。
重置位置
在指定轴或坐标系上重置位置。
停止
在轴或坐标系上停止当前运动。移动行为根据停止模式的设置而变化。
电源
在指定轴或坐标系资源上开启或关闭轴和驱动器。
清除默认值
清除NI SoftMotion默认值。
以下技巧可能会在您使用LabVIEW中的NI SoftMotion函数模块进行编程时起到帮助:
使用函数模块的VI必须存在于LabVIEW项目中。
函数模块必须在循环中运行。根据您应用需求的不同,您可以选择使用等待下一个整数倍毫秒函数进行定时的while循环,或是如果您的应用需要函数模块以一定扫描周期执行,也可以使用与NI扫描引擎同步的定时循环。
使用函数模块状态输出判断函数模块执行的顺序,这并不是标准的LabVIEW编程方法。举例而言,不要将函数模块放在条件分支中。
您必须在应用循环外初始化所有的矩阵输出,以便让函数模块不进行内存分配。这可以减少系统的漂移和抖动。
为了确定函数模块执行的顺序,运动控制函数模块提供了状态参数。下表提供了函数模块状态参数行为的简介。
执行、错误输出、完成、中止、忙碌和活动参数根据以下内容执行:
输出状态 完成和中止输出在执行的下降沿重置。但是,执行的下降沿并不停止或影响实际函数模块的执行。必须确保在每个循环中对对应的输出进行配置,如果这些状态中的一个会发生――即便执行在函数模块完成之前被重置。如果函数模块实例在完成之前收到新的执行(作为同一实例下的一系列指令),函数模块不会为函数模块的前一执行,返回例如完成或中止等任何状态输出。
输入参数 函数模块的输入参数与执行输入的上升沿一起使用。要修改任何参数,必须修改输入参数并且重新执行函数模块。
未连接的输入参数 如果函数模块有未连接的输入,将使用这个函数模块上一次执行时的参数值。在函数模块的首次执行时,使用默认值。
符号规则 加速、减速、加加速度、减加速度输入总是正值。目标位置和距离可以为正数也可以为负数。除了使用速度方法完成直线运动之外,速度在所有情况下为正数。
错误处理行为 所有函数模块都包含错误输出簇,对执行函数模块中可能发生的错误进行处理。这些输出描述如下:
- 用串行RapidIO交换处理高速电路板设计的信号完整性问题(04-28)
- 基于PCI总线集成电路测试仪接口设计(06-18)
- “虚拟”逻辑分析仪SignalTap II(01-09)
- LabVIEW机器人模块-机器人选板中的特殊算法和API(08-09)
- LabVIEW机器人模块-机器人选板中的特殊算法(03-15)
- DDS函数信号发生器的优点(09-28)