工业控制
今天,正运动小助手给大家分享一下MotionRT7的安装和使用,以及使用Labview对MotionRT7开发的前期准备。
01
MotionRT7简介
MotionRT7是深圳市正运动技术推出的跨平台运动控制实时内核,也是国内首家完全自主自研,自主可控的Windows运动控制实时软核。
1.MotionRT7具备以下特点 (1)独立软件安装,适合各种Windows电脑;绿色免安装,快速体验;采用硬件绑定的运行许可证授权(未授权也可试用);可以方便配置、启动、连接、模拟运行等。
(2)与MotionRT其它版本功能兼容,一次开发,可快速切换到嵌入式,Linux各种平台。
(3)统一函数库接口,快速的本地LOCAL接口,运动函数调用快至us级别,比普通PCI卡快数十倍。
(4)集成机器视觉,快速搭建各类运动控制+机器视觉的实时应用。
(5)强大多卡功能,最多240轴联动,支持跨卡联动,脉冲与总线联动,振镜与平台联动,轻松实现位置锁存/PSO等高级功能。
2.持续迭代的运动控制实时内核MotionRT
MotionRT是正运动技术持续建设与发展的运动控制实时内核,已不断迭代7代,从MotionRT1到MotionRT7。
3.MotionRT7采用模块化软件架构
运动控制程序、视觉算法、MotionRT7运动控制引擎,通过高共享内存进行数据交互,大大提升运动控制与机器视觉的交互效率。 用户自定义功能,融合Gmc、Gear/Cam、Frame、Robotics、CNC等算法,打造用户的专用控制系统。 4.统一开放的API函数
统一完善的SDK库,所有的第三方开发环境同用一套API接口,跨平台的产品架构,提高效率,保持兼容性。
5.简单易用的运动控制功能特性
a.点位运动、直线插补、圆弧插补、螺旋插补、连续轨迹加工;
b.电子凸轮、电子齿轮、同步跟随、位置锁存、虚拟轴叠加;
c.S曲线加减速,SS曲线加减速,轨迹运动更柔和;
d.1D/2D/3D高速位置同步输出PS0,充分满足视觉飞拍、高速点胶、激光加工;
e.客户可自定义运动控制算法或者机器人正反解算法;
f.方便与第三方视觉配合。
6.开放的EtherCAT与配置调试工具
ZDevelop具备开放易用的配置,开发,调试,诊断等工具。ZDevelop不仅是个绿色免费的软件,而且具备轴调试,轴状态,示波器等工具。
MotionRT7广泛支持EtherCAT总线,支持市面上广泛易用的EtherCAT伺服,EtherCAT步进,EtherCAT IO,EtherCAT阀岛和EtherCAT传感器。
我司后续将持续完善EtherCAT的配置工具,持续努力做最好用的运动控制。
02
MotionRT7的安装和使用
第一步:安装驱动程序
1.打开“设备管理器”,选择“操作”中的“添加过时硬件”,选择“手动选择”。
2.点击“下一步”。
3.点击“从磁盘安装”。
4.点击“浏览按钮”选择驱动所在的路径,打开文件夹“driver_signed”,选择“ZMotionRt64.inf”。
5.一直点击下一步,直到安装完成。
注意:驱动更新时,要从设备管理器删除设备,一定要选择把驱动文件也删除。
第二步:运行控制台程序
1.打开控制台程序所在位置,运行可执行文件“MotionRt710.exe”。
2.点击“Start”。
第三步:使用ZDevelop软件链接到控制器,进行参数监控
ZDevelop链接控制器,软件版本3.10以上,使用PCI/LOCAL方式进行连接。
第四步:网口扩展EtherCAT主站协议 1.查看网络连接。
2.选择用作EtherCAT的网卡,右键属性,安装协议。
3.点击从磁盘安装,选择驱动器所在的路径,打开文件夹”driver_signed”,选择“MotionRtPacket.inf”。
4.安装成功后,确认ZMotionRT64 Packet Protocol Driver前面有选上。
在RT控制台程序选择增加AddEcat,这时能看到对应网卡,选择后,启动RT。
自带PC网卡EtherCAT具有一定的实时性,若EtherCAT要提升性能,则需要把网口其它的协议都去掉以提升实时性。 如需进一步提升实时性,请使用正运动专门的EtherCAT运动控制卡XPCIE1032。 更多关于MotionRT7的参数设置以及相关问题,请参照“MotionRT7说明书”。
相关资料请前往正运动技术官网www.zmotion.com.cn或联系正运动相关人员。
03
Labview进行MotionRT7项目的开发
1.创建Labview项目。
2.将zauxdll函数库放在Labview安装路径labview/user.lib文件夹内,zauxdll函数库可联系正运动相关人员获取。
相关PC函数介绍
指令1 | ZAux_FastOpen | ||||||||
指令原型 | int32 __stdcall ZAux_FastOpen(int type, char *pconnectstring, uint32 uims ,ZMC_HANDLE * phandle) | ||||||||
指令说明 | 与控制器建立连接, 可以指定连接的等待时间 | ||||||||
输入参数 |
|
||||||||
输出参数 |
|
||||||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||||||
指令示例 |
串口连接: ZMC_HANDLE phandle;//控制器连接句柄 Char comID[32]= "0";//串口ID ZAux_FastOpen(1, comID,1000s ,&phandle); 网口连接例子: ZMC_HANDLE phandle;//控制器连接句柄 Char EthID[32]= "192.168.0.11";//网口ID ZAux_FastOpen(1, EthID,1000s ,&phandle); LOCAL接口连接例子: ZMC_HANDLE phandle;//控制器连接句柄 ZAux_FastOpen(ZMC_CONNECTION_LOCAL, "LOCAL1",3000,&g_handle); |
指令2 | ZAux_OpenEth | ||||
指令原型 | int32 __stdcall ZAux_OpenEth(char *ipaddr, ZMC_HANDLE * phandle) | ||||
指令说明 | 以太网连接控制器。 | ||||
输入参数 |
|
||||
输出参数 |
|
||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||
指令示例 | 网口连接控制器 | ||||
详细说明 |
1.网口采用RJ45标准网线接口,通讯速率为100Mbit/s。 2.控制器出厂的IP地址为192.168.0.11,端口号为502。对端通讯设备需与控制器处于同一网段,才可进行连接。 3.最常用的控制器连接方式。 4.ZMC_HANDLE 类型:Zmotion库中,专门用于控制卡连接数据定义类型; |
指令3 | ZAux_Direct_GetDpos | ||||||
指令原型 | int32 __stdcall ZAux_Direct_GetDpos(ZMC_HANDLE handle, int iaxis, float *pfValue) | ||||||
指令说明 | 读取轴当前位置或称控制器发送的需求位置,单位units | ||||||
输入参数 |
|
||||||
输出参数 |
|
||||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||||
指令示例 | 轴基本运动参数设置获取 | ||||||
详细说明 | / |
指令4 | ZAux_Close | ||||
指令原型 | int32 __stdcall ZAux_Close(ZMC_HANDLE handle) | ||||
指令说明 | 关闭控制器连接。 | ||||
输入参数 |
|
||||
输出参数 | / | ||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||
指令示例 | 串口连接控制器 | ||||
详细说明 | / |
指令5 | ZAux_Direct_GetFsLimit | ||||||
指令原型 | int32 __stdcall ZAux_Direct_GetFsLimit(ZMC_HANDLE handle, int iaxis, float *fValue) | ||||||
指令说明 | 读取正向软限位值。 | ||||||
输入参数 |
|
||||||
输出参数 |
|
||||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||||
指令示例 | 正负软限位设置 | ||||||
详细说明 |
当FS_LIMIT大于REP_DIST时,参数不起作用,正向软限位被禁止。 取消软限位时,建议不要去修改REP_DIST的值,将FS_LIMIT设置一个较大值即可。FS_LIMIT的值默认为200000000。 软限位无法作为DATUM回零时的限位信号参考。 注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止 |
指令6 | ZAux_Direct_GetRsLimit | ||||||
指令原型 | int32 __stdcall ZAux_Direct_GetRsLimit(ZMC_HANDLE handle, int iaxis, float *fValue) | ||||||
指令说明 | 读取负向软限位值。 | ||||||
输入参数 |
|
||||||
输出参数 |
|
||||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||||
指令示例 | 正负软限位设置 | ||||||
详细说明 |
当RS_LIMIT 大于REP_DIST时,参数不起作用,负向软限位被禁止。 取消软限位时,建议不要去修改REP_DIST的值,将RS_LIMIT设置一个较大值即可。RS_LIMIT的值默认为-200000000。 软限位无法作为DATUM回零时的限位信号参考。 注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止 |
指令7 | ZAux_Direct_Single_MoveAbs | ||||||||
指令原型 | int32 __stdcall ZAux_Direct_Single_MoveAbs(ZMC_HANDLE handle, int iaxis, float fdistance) | ||||||||
指令说明 | 单轴绝对运动。 | ||||||||
输入参数 |
|
||||||||
输出参数 | / | ||||||||
返回值 | 成功返回值为0,非0详见错误码说明 | ||||||||
指令示例 | 单轴点位运动 | ||||||||
详细说明 | / |
3.Labview基于LOCAL接口的单轴点动例程开发。
在Labview前面板设计界面,找到需要用到的控件拖拽到前面板中进行UI界面设计,效果如下。
注:使用IP模式连接MotionRT7的时候,要将MotionRT710中的Config配置项Eth num的值设置为一个大于0的数(1-12),输入的IP为本机IP,可以在ZDevelop中直接查看。 4.Labveiw程序框图。
(1)通过IP链接方式的链接按钮事件处理的程序框图进行IP链接。
(2)通过LOCAL链接方式的链接按钮事件处理的程序框图进行LOCAL链接方式的链接。
(3)负向手动运动程序框图(按下按钮则通过绝对插补指令向负限位运动,松开按钮则停止运动)。
(4)正向手动运动程序框图(按下按钮则通过绝对插补指令向正限位运动,松开按钮则停止运动)。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !