我们可以在LabView中通过.AtiveX调用Pcomserver.dll动态链接库,从而与PMAC进行通讯、发送命令、下载文件。
(Control PMAC in LabView! Connection, Jog and File-Download.)
目录:
- AtiveX:面向对象程序技术、工具;
- 主要技术:组件对象模型COM。提供在Win、Mac、Linux环境中都能运行使用的程序,能被大多数应用程序再使用,一个COM组件可以使用不同的开发工具进行开发如C#、C++、VB、Java。主要形式即为动态链接库(DLL)。ActiveX控件一旦被开发出来,设计和开发人员就可以把它当作预装配组件,用于开发客户程序。
- LabVIEW提供Active控件,可以嵌入ActiveX 控制,使用控件的属性和方法, 与其进行交互。
- 参考官方ActiveX and LabVIEW
如下图我们可以在程序面板,用函数->互连接口->.AtiveX->打开自动化连接COM组件:
- 使用
打开自动化控件,选择AtiveX类,并且选择Pcomserver
- 使用函数->
编程->应用程序控制->调用节点:使用COM中的函数,如下,选择SelectDevice() 选择PMAC卡通讯连接方式,得到PMAC卡号。
-
对于函数的使用,参考使用手册
-
主要函数使用:
函数 功能 手册页数 SelectDevice() 选择PMAC卡 p38 Open() 连接PMAC卡 p39 GetResponseEx() 发送命令到PMAC卡 p41
- 使用函数
SelectDevice选择PMAC卡,用得到的PMAC卡号通过Open函数进行连接。(参考使用手册的38页,以及在LabView中的调用控件,我们可以获取函数的使用方式),最终通讯程序框图如下:
触发连接,会弹出一以下界面,选择连接方式进行连接,(连接成功后,得到的连接状态为: True):
| 命令 | 功能 |
|---|---|
| #nj+ | 正向连续点动 |
| #nj- | 反向连续点动 |
| #nj/ | 停止、闭环 |
| #nj={C} | 到C位置,单位脉冲 |
| #nj^{C} | 运动C个脉冲 |
| #nP | 获取位置,单位脉冲 |
| #nHOMEZ | 置当前位置为0点 |
其中(n表示电机号,C表示常数)
- Jog功能:电机正向、反向点动、移动到某位置、移动一定步长。
- 思路:使用事件结构,在循环中添加事件处理分支处理按钮按下、松开。
- 正向点动示例:
最终实现功能:
单步点动为True,则按下按钮只会移动相应步长。
- (注意):
- 循环中,一定要事件触发才会进行下一次执行;
- 按钮的机械动作与触发事件相匹配。;
- 当有事件结构时,文本框的改变也需要作为事件触发,更新文本框。
- 思路同上,使用
GetResponseEx()函数;用一个定时循环,定时采集位置,进行显示。
- 使用函数
Download()函数











