- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
LabVIEW NI SoftMotion和C系列驱动接口入门
概览
本指南展示了如何使用美国国家仪器公司的LabVIEW NI SoftMotion Module和NI 951x C系列驱动接口来开发运动控制的应用。该应用使用了NI CompactRIO可重配置嵌入式系统以及LabVIEW、LabVIEW NI SoftMotion和NI-Motion驱动软件,用来执行一系列双轴运动。在开发这项应用的过程中,您可以学习到使用NI RIO Scan Interface开发运动应用的概念和技术。利用RIO Scan Interface,用户可以在LabVIEW Real-Time Module中,对C系列模块进行直接访问。
目录
所需元件
LabVIEW NI SoftMotion Module概览
设置硬件
在控制器上安装和配置软件
在扫描接口模式下创建工程
在LabVIEW项目中增加NI SoftMotion资源
配置步进式驱动接口模块的轴
使用交互式测试面板测试系统
配置定时循环
创建运动配置文件
发布、测试并使用VI
连接至伺服式和步进式驱动
您所学到的东西
更多资源
所需元件
这篇指南需要使用到下列软件:
LabVIEW 2009 或后续版本
LabVIEW Real-Time Module 2009或后续版本
NI-RIO 3.2.0或后续版本
LabVIEW NI SoftMotion Module 2009或后续版本
这篇指南还需要使用下列硬件:
CompactRIO 控制器和可提供Scan Interface(扫描接口)模式的机箱或NI 9144分布式机箱
两个 NI 9512 单轴步进式驱动接口
控制器电源
单独的模块电源
以太网连接和线缆
即使您没有指定的硬件,仍可以遵循这篇文章中的“LabVIEW NI SoftMotion Module指南”一节,进行离线的配置以学习在LabVIEW中使用该模块的方法。
LabVIEW NI SoftMotion Module概览
通过LabVIEW NI SoftMotion Module,您可以借助于LabVIEW Real-Time Module使用功能块编程范例和RIO Scan Interface构建确定性的运动控制应用。RIO Scan Interface让用户可以从LabVIEW Real-Time Module中直接访问C系列模块。
这篇文档包含了NI 951x C系列驱动接口和RIO Scan Interface应用开发方面的内容。需要了解关于在LabVIEW FPGA Module中使用NI 951x模块的信息,请查阅ni.com/manuals网站上的《NI 951x C系列模块和LabVIEW FPGA入门指导》。
需要使用NI SoftMotion功能块进行本指南中所说的双轴运行,可以在开环状态下使用NI 9512步进式驱动接口 —— 而不需要额外的反馈设备或其它硬件连接。
这篇指南中的配置参数,也许对实际的运动系统并不合适。为了演示的需要,我们对硬件连接进行了最小化。
设置硬件
完成下列步骤,为本指南中的应用设置硬件。
1. 如果您不是使用集成的控制器和背板,那么需要在现场可编程门阵列(FPGA)背板上安装CompactRIO实时控制器。查阅控制器操作指南,获得安装控制器的信息。
2. 在机箱的1和2插槽中,安装NI 9512步进式驱动接口模块。
3. 将模块连接到电源上。查阅模块操作指南,以选择合适的电源。
4. 将控制器连接到电源和拥有相同子网的以太网络中,以作为开发用的计算机。查阅控制器操作指南,获得关于将控制器连接到电源和以太网络的信息。 [p]
5. 将模块连接到驱动器和其它I/O上,如果条件允许的话请使用NI 9512-to-P7000 Stepper Drives Connectivity Bundle(NI 9512至P7000步进式驱动连接包)、NI 951x Cable and Terminal Block Bundle(NI 951x线缆和接线终端),或者使用自定义线缆用于直接连接。
在控制器上安装和配置软件
完成下列步骤,在控制器上安装软件并进行配置。
1. 在开发计算机上,启动NI Measurement & Automation Explorer (MAX,NI测量与自动化导航器)配置工具。
2. 在配置窗格中的远程系统下选择控制器。如果没有看到控制器,那么您可能需要禁用开发计算机上的防火墙。
3. 检查识别中的序列号是否与设备上的序列号相符。
4. 如果您不想格式化控制器上的磁盘(那样会删除所有已经安装的软件和文件),那么给控制器通电,并跳到步骤13。
5. 将控制器上的安全模式开关调到On的位置上。
6.给控制器通电。如果控制器已经通电了,那么按控制器上的Reset按钮,重新启动。
7.右键点击配置窗格中远程系统下的控制器,选择格式化磁盘。在出现的对话框里点击Yes。
8. 在MAX完成磁盘格式化之后,将安全模式开关调到Off的位置上,并按控制器上的Reset按钮,重新启动。
9. 选择自动获取IP地址单选按钮分配IP地址;或者选择使用以下IP地址单选按钮,在IP地址栏中指定静态IP地址。
10.在名称域中为系统输入描述性的名称。
11. 点击网络设置选项卡上的应用,让MAX重新启动系统。
12. 当新系统名称出现在远程系统下时,在列表中展开控制器条目,右击软件,并选择添加/删除软件。
13. 选择推荐的软件组合,其包含了NI-RIO 3.2.0或后续版本,且带有NI Scan Engine支持和下列附加功能:
• LabVIEW NI SoftMotion Module
• 对LabVIEW NI SoftMotion Module软件的NI Scan Engine支持
• NI-Motion 驱动软件
14. 点击下一步,在控制器上安装选择的软件。如果需要了解关于推荐软件组合的信息,请点击帮助。
15. 在MAX中完成控制器上的软件安装后,关闭MAX。
在扫描接口模式下创建工程
扫描接口模式允许用户从LabVIEW Real-Time中,直接访问C系列模块。这些模块出现在项目浏览器窗口中机箱条目下的扫描接口模式中。与多数C系列模块不同,NI 951x接口不是直接在项目浏览器窗口中配置的,该模块不支持直接可用的I/O变量。
在开发计算机上,使用LabVIEW项目管理VI、目标和I/O模块。完成下列步骤,来创建一个LabVIEW项目。 [p]
1. 启动LabVIEW。
2. 在启动窗口中点击 项目链接,显示项目浏览器窗口。也可以选择文件»新建项目,显示项目浏览器窗口。
3. 选择帮助,并确认显示即时帮助被选中。在整个指南中,您可以查阅上下文帮助,来获得方框图上条目的信息。
4. 右击项目浏览器窗口中的顶层工程项目,从快捷菜单中选择新建»终端和设备,显示添加终端和设备对话框。
5. 确认已有终端或设备单选按钮已被选中。
如果您没有安装硬件,可以选择新终端或设备单选按钮,显示出一系列在没有实物情况下即可创建的目标和设备。在这篇指南里,可以执行相似的离线配置步骤,学习使用CompactRIO和LabVIEW。
6. 展开Real-Time CompactRIO。
7. 选择添加到工程中的CompactRIO控制器,并点击OK。
8. 如果您已经安装了LabVIEW FPGA,将会出现选择编程模式对话框。选择Scan Interface,使系统处于扫描接口模式。
使用CompactRIO 属性对话框,改变已有工程中的编程模式。在项目浏览器窗口中的CompactRIO机箱上点击右键,从快捷菜单上选择属性,显示该对话框。
9. 如果出现查找C系列模块 对话框,请点击查找。
10. 点击继续。LabVIEW会将控制器、机箱和所有模块添加到工程中。
11. 在LabVIEW完成硬件搜索后,选择文件»保存项目,并将工程保存为951x_Tutorial.lvproj。
在完成了这些步骤之后,您的LabVIEW项目应该与图1类似。
图1. 项目浏览器窗口,扫描接口模式
在LabVIEW项目中增加NI SoftMotion资源
现在来创建捆绑到C系列模块的NI SoftMotion资源。在VI中使用运动I/O资源来代替I/O变量。查阅LabVIEW Help中的NI SoftMotion Module一节,了解更多关于运动I/O资源和NI SoftMotion的信息。
在项目中增加轴
在项目中,NI SoftMotion轴被捆绑到专门的C系列模块中,而且允许对模块上的I/O进行配置。要以扫描接口模式来配置并使用NI 951x模块,您必须在RT目标中增加轴,并使用与VI中的轴所相关的运动I/O资源。 [p]
完成下述步骤,在项目中增加一个NI SoftMotion轴:
1. 在项目浏览器窗中右击目标,并在快捷菜单中选择新建»NI SoftMotion Axis,打开轴管理器对话框,如图2所示。
2. 双击添加轴,使两个NI 9512模块都关联到NI SoftMotion轴。轴自动捆绑到一个可用模块中。你可以双击轴的名称对其重新命名,赋予其一个描述性的名字,但是两个不同的轴不可以使用同一个名字。

图2.轴管理器对话框
3. 单击修改绑定打开资源绑定对话框。如果需要的话,更改与该轴相关联的硬件。
4. 单击OK关闭轴管理器对话框。将所有轴都添加到项目浏览器窗口中。同一个C系列模块,最多只能关联一个轴。
在项目中增加坐标
NI SoftMotion轴可以组成坐标空间。坐标空间就是轴的逻辑性多维组合。坐标空间跟轴类似,也有可以作为资源输入的关联I/O资源。
完成以下步骤,在项目中增加坐标空间:
1. 在项目浏览器窗口中右击目标,并从快捷菜单中选择新建»NI SoftMotion 坐标空间,打开Configure Coordinate Space对话框。
2. 从Available Axes栏中选择Axis 1和Axis 2,并使用箭头标志将它们移至Coordinate Axes栏。

图3. 配置坐标空间对话框
当使用坐标资源的时候,目标位置和其它坐标信息都包含在一个一维矩阵中,其中轴的信息是按照采用该对话框增加轴的顺序进行排列的。
3. 单击OK关闭Configure Coordinate Space对话框。
至此,你的工程中已经包含了应用程序所需的轴和坐标空间。你的LabVIEW项目应该与图4中类似。

图4.采用运动资源所完成的项目
配置步进式驱动接口模块的轴
在本部分中,采用轴配置对话框,对与NI 9512 C系列模块相关联的轴进行配置。该对话框中包含了步进式驱动命令信号的配置选项、反馈设备、运动和数字I/O、轨迹以及轴的设置。图5中显示了NI 9512 C系列模块的轴配置对话框。无法配置的部分以灰色显示。

图5. NI 9512模块的轴配置对话框
完成下述步骤,对轴进行配置:
1. 右击项目浏览器窗口中的轴,并从快捷菜单中选择属性,打开轴配置对话框。 [p]
2. 在Axis Setup页面中,确认将循环模式设置为开环。配置为开环模式的轴会生成步进式输出,但无需电动机的反馈信息来确认位置。
3. 同样在Axis Setup页面中,确认Axis Enabled和Enable Drive on Transition to Active Mode复选框包含有复选标志。这样配置后,在运行VI的时候将自动激活轴。
要避免自动激活轴,需禁用这些选项。
4. 如果模块中并不包含有物理信号连接,那么为了保证系统正常运行,必须禁用这些输入信号。要禁用限制信号和引导信号(home翻译为引导合适吗?),转至Motion I/O页面,在Forward Limit、Reverse Limit和Home部分中,从Enable复选框中删除这些复选标志。
5. 根据系统需求,配置所有额外I/O。
6. 单击OK关闭轴配置对话框。
7. 重复步骤1到步骤6,配置轴2。
注意:请确保在部署项目之前,已经连接好所有的硬件,并接通了电源。项目的部署将NI 扫描引擎切换为Active(活动)模式,并使轴和驱动有效(如果已经连接好轴和驱动的话),这样你就可以立即启动运动。参考LabVIEW Help中的《在RT目标上部署并运行VI》一章节,了解更多关于配置和问题解决技巧方面的知识。
8. 右击项目浏览器窗口中的控制器项目,并从快捷菜单中选择部署全部,将轴、坐标和轴设置部署成实时目标。
使用交互式测试面板测试系统
使用Interactive Test Panel(交互式测试面板)来测试并调试您的运动系统和所选轴上的配置设置。借助于交互式测试面板,你可以执行简单的直线运动、监测运动和I/O状态信息、改变运动限制、获取系统中的错误和故障信息并查看运动的位移或者速度曲线。如果系统中连接有一个反馈设备的话,你还可以获取反馈的位置以及位置错误信息。
在配置好轴后,完成以下步骤,采用轴配置对话框测试所做设置。
1. 右击项目浏览器窗口中的轴,并从快捷菜单中选择交互测试面板。
2. 使用选项卡设置期望位置、运动模式和运动限制。参考LabVIEW帮助中的NI SoftMotion模块部分,详细了解该对话框中的条目。
3. 在对话框的底部单击开始按钮,根据配置好的选项启动运动。
4. 使用状态和曲线选项卡,在运动进行中监测其状态。
以扫描接口模式创建一个VI
在本部分中,借助于增添到工程中的模块的运动I/O资源,创建一个VI。参考LabVIEW帮助中的Real-Time Module(实时模块)一节,获得关于扫描接口模式和NI Scan Engine(NI扫描引擎)的详细信息。
配置定时循环
将定时循环同步到NI扫描引擎,可以使得时间敏感型的运动函数模块能够以指定的扫描速度运行。定时循环内部的任何代码都保证了每个扫描周期只执行一次。必须最小化定时循环中的内存分配,以避免在系统中引入不确定的时间延迟。
如果你的代码不需要按照扫描速率运行,那么你可以使用带有等待下一毫秒整数倍功能的while循环来控制循环速率。 [p]
完成以下步骤,配置定时循环:
1. 在项目浏览器窗口中右击控制器项目,并从快捷菜单中选择新建»VI,打开一个空白VI。
2. 在VI的程序框图中放置一个定时循环。
3. 双击定时循环的输入节点,打开配置定时循环对话框。
4. 在循环定时源中,将源类型设为同步至扫描引擎。你可以单击帮助按钮,获得关于如何同步至NI扫描引擎的信息。
5. 在循环定时参数中,将周期设为5个扫描周期。该步骤可选,但是可以允许定时循环以一个较低的速率同步至NI扫描 引擎。配置定时循环对话框应该与图7中类似。

图7. 配置定时循环
6. 单击OK。
创建运动配置文件
本示例采用NI SoftMotion Line and Read function blocks(线和读功能块)来创建一个简单的运动配置文件,并监测运动位置信息。
完成以下步骤,设置运动:
1. 在定时循环内部放置一个Line功能块。
2. 右击execute(执行)控件,并从快捷菜单中选择创建»输入控件,在前端面板中为该输入增加控件。 [p]
完成以下步骤,将NI 9512驱动接口连接到P70530直流驱动或者P70360交流驱动和其它I/O。图10中是一幅简化的连接图。
1. 根据机箱文档说明,在机箱中安装模块。
2. 采用NI 9512-to-P7000线缆,将D-sub连接头模块连接到P7000系列驱动上的Command I/O连接头上。该线缆为步进式输出、驱动使能输出和驱动错误信号提供连接。
3. 将电源连接到NI 9512-to-P7000上的直接连接线缆+24 V输入。
4. 采用接线盒线缆,将MDR连接头模块连接到37管脚的接线块上。
5. 将硬件设备上的其它I/O信号连接到37管脚接线块或者自定义线缆上。参考图11了解接线盒的引脚。
a.将接线块上的Forward Limit(前向限位)、Reverse Limit(反向限位)和Home(原点) 输入连接到限位和原点传感器上。
b.如果你使用编码器来反馈位置信息,则请将编码器的输入连接到编码器上。
c.采用所提供的接线端,连接所有额外I/O。
6. 将驱动电源连接到P7000驱动上。

图10. NI 9512-to-P7000系列驱动连接图
注意:如果只需要将MDR连接头连接到接线盒上,则接线盒上的所有D-Sub信号都是无连接(no connects,NC)。图11中显示了只连接MDR连接头时的37管脚接线盒的引脚。

图11. NI 9512 37管脚接线块只连接MDR时的管脚分配
7. 在控制器中安装软件,创建一个LabVIEW项目,并添加NI SoftMotion轴。
8. 在项目浏览器窗口中右击轴,并从快捷菜单中选择属性,打开轴配置对话框。
9. 针对P7000驱动,在轴配置对话框中改变下述项目的默认轴设置:
a. 右击轴,并从快捷菜单中选择属性,显示轴配置对话框。
b. 在步进电机页面中,将输出方式设置为单端。
c. 在运动I/O页面的驱动信号标签页中,将驱动使能信号的输出方式设置为源输出。
d. 在数字I/O页面中,将驱动器错误/报警映射到DI 1,并将输入方式设置为源输入。
10. 在项目浏览器窗口中单击控制器项目,并选择部署全部来部署轴信息。
连接到伺服式驱动器
伺服式轴的配置
伺服式轴只能以闭环模式运行,所以必需有一个反馈设备。如果你使用NI 9514或者NI 9516驱动接口模块,那么你必须另外对反馈设备、伺服控制环和伺服驱动的驱动命令输出进行配置。图6中显示了NI 9514和NI 9516 C系列模块的轴配置对话框部分。无法配置的部分以灰色显示。

图6. NI 9514和NI 9516模块的轴配置对话框
使用增益调节测试面板
使用Gain Tuning Test Panel(增益调节测试面板)来调节控制环的设置,并计算伺服轴的相对稳定性。参考NI SoftMotion LabVIEW帮助中的“使用增益调节面板”部分,了解关于增益调节面板和伺服式系统调节指令方面的详细信息。
右击项目浏览器窗口中的轴,并从快捷菜单中选择交互式测试面板,访问增益调节面板。
您所学到的东西
本指南中,分析了使用LabVIEW NI SoftMotion和NI 951x C系列模块来开发运动应用中的几个概念,如下:
NI 951x模块与大多数C系列模块的不同之处在于,当你使用扫描接口模式的时候,不能直接在项目浏览器窗口中对它们进行配置,而且模块中不能直接获得I/O变量。
你必须使用NI SoftMotion向RT目标中增加轴,并将它们与NI 951x模块相关联,以期以扫描接口模式配置并使用它们。然后,你可以在VI中使用与这些轴相关联的运动I/O资源。
NI SoftMotion轴使用Axis Configuration对话框进行配置。
NI SoftMotion功能块允许你使用功能块编程方式来创建确定性运动控制应用。
NI SoftMotion功能块为高级状态监测提供了状态输出。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

