本站小编为你精心准备了谈固高控制器的电子手轮控制程序设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:使用VisualStudio2019社区版开发平台,根据固高运动控制器支持的电子齿轮运动指令,采用C++编程语言能够很方便地开发电子手轮控制程序,为运动控制系统增加手轮控制功能。电子手轮控制程序包括了初始化、读取编码器位置以及手脉轴选和倍率、轴号选择以及倍率变换和从轴运动函数。经测试,运动轴能够很好地跟随电子手轮运动。
关键词:运动控制器;电子手轮;电子齿轮
1概述
在机器人、自动化化生产线和印刷机械等领域,电子手轮都有广泛应用。特别是在数控机床上,操作人员经常需要进行数控机床的工作原点设定、对刀和微调等操作,电子手轮可以为用户使用带来很大方便[1]。在多轴运动控制系统中,可以增加电子手轮控制功能为设备的调试与操作提供支持。运动控制是自动化领域里的一个重要研究方向,在很多行业中,运动控制性能的优良决定了用户产品的竞争力。由于小型PLC运动控制功能弱,运动控制器已经成为多轴运动控制系统的主要部件。在多轴运动控制系统中,经常需要一个轴运动的同时,另一个轴可按一定比例跟随运动。基于固高运动控制器的电子齿轮功能能够方便地实现电子手轮控制程序的开发。
2固高控制器
GTS-800-PV-PCI运动控制器是由固高公司生产,核心由FPGA和DSP组成,可以实现高性能的控制计算,提供标准的PCIe总线接口,以IBM-PC及其兼容机为主机,适用领域广泛,提供C语言等函数库和Windows动态链接库,可以实现点位高速运动控制等复杂控制功能[2]。在进行运动控制系统的设备调试时,使用者可通过专有调试软件完成各轴的Jog、点位运动控制,并能控制各信号的输入输出。可以利用Windows动态链接库方便实现固高运动控制器的编程。GTS-800-PV-PCI运动控制器由控制板CN17和转接板CN18两部组成。端子板是运动控制器与外部设备进行信号传递的接口,例如编码器信号、外部传感器信号、电机轴信号等都是通过端子板与控制器进行信息传递。此款运动控制器支持1路4倍频增量式手轮编码器输入,最高频率10KHz(4倍频后)和7路轴选、倍率开关输入。运动控制器配套端子板为8轴端子板,其中CN20接口是手轮接口(MPG接口),有24V和5V电源,1路辅助编码器输入(可接收A相和B相差分输入),7路数字量IO输入(低电平有效,默认24V)。
3电子手轮
电子手轮由于本质上是增量式光电编码器,因此也称为手脉、手摇脉冲发生器、手动脉冲发生等[3]。电子手轮上一般都有波段开关用于轴和倍率的选择,脉冲发生器用于产生发出脉冲便于控制系统采集。当旋转手轮时,可以驱动内部编码器的轴转动,从而可以产生相对手轮运动的脉冲信号。电子手轮按供电电压、信号输出种类、分辨率等有不同分类,这里选择使用手持单元盒外挂式型号为OMT1469-100B-4A电子手轮,支持x1、x10、x1003档倍率和4轴选择切换。
4电子手轮控制程序设计与实现
4.1电子齿轮模式
固高运动控制卡支持电子齿轮模式,可以很方便实现在多轴运动时,一个轴运动的同时,使另外一个轴按给定比例同时运动。因此电子齿轮模式是一种多轴联动模式,所能实现的运动效果与两个机械齿轮的啮合运动相似。通过电子齿轮功能能够在多种运动控制时,实现轴的主从运动,达到将两轴或多轴联系起来,实现精确的同步运动,从而可以替代传统的机械齿轮连接机构。在电子手轮应用中,一般都是实现电子手轮转动时,其他轴跟随其运动。在程序设计时,必须选定主轴和从轴。而主轴是被跟随轴,这里就是指电子手轮;从轴是跟随轴,即跟随电子手脉轮运动的轴。电子齿轮模式下,一个主轴可以驱动多个从轴,从轴能够跟随主轴的规划位置和编码器位置运动。主轴速度与从轴速度的比例可以在程序中通过设置传动比决定。当主轴速度发生变化时,从轴速度也会随之变化,并保持固定的传动比。电子齿轮模式能够方便灵活地设置传动比,而不用改变机械系统,可以节省机械系统的安装时间。当主轴速度变化时,从轴会根据设定好的传动比自动改变速度。在运动过程中,电子齿轮模式也允许改变传动比。当改变传动比时,可以设置离合区,实现平滑变速。离合区位移不是指从轴变速时所走过的位移,而是从轴平滑变速过程中主轴所运动的位移。在电子手脉轮控制中,从轴的运动模式要设置为电子齿轮模式。一旦改变传动比,在离合区位移内,从轴速度会从零逐渐增大直到到达设定传动比。离合区越大,从轴速度的变化过程就越缓慢,也就使从轴传动比能够平稳变化。
4.2软件开发工具
在Windows系统下使用运动控制器,首先要安装驱动程序。固高控制卡对软件开发工具有良好的开放性,为用户提供了运动控制器指令函数动态链接库,用户可以在VC、VB、Python等任何支持动态链接库开发的环境下进行程序开发。C++是一种运行高效的程序设计语言,在运动控制系统中可以通过C++编写系统软件实现各种运动控制。VisualStudio是美国微软公司发布的开发工具包产品,提供了基本完整的开发工具集,支持C、C++、C#编程语言。VisualStudio分为社区版、专业版和企业版,其中社区版为免费版本,拥有比较完整的编译平台,适合一般用户程序开发使用。因此可以选用目前在Windows平台下比较常用的VisualStu-dio2019社区版,利用VC++创建Win32控制台手轮控制应用程序。
4.3与电子手轮相关指令
电子齿轮运动需要使用的指令,如表1所示。电子齿轮运动指令中常用参数包括profle(规划轴号)、dir(跟随方式)、mastereType(主轴类型)、mas-terEvn(主轴位移)、slaveEvn(从轴位移)、masterSlope(离合区)。
4.4手轮控制伺服电动机
利用固高运动控制器实现手轮对伺服轴跟随控制,需要按以下步骤实现:
(1)硬件连接,交流伺服控制广泛应用于工业生产领域,交流伺服电动机是无刷电机,适合实现复杂低速平稳运行的运动定位控制系统。这里通过采用电子手轮去控制由安川∑7交流伺服电机驱动的运动模组为例,说明固高控制器GTS-800-PV-PCI如何实现电子手轮控制功能。首先要完成相应的系统硬件接线,主要包括运动控制器与端子板之间的连接、端子板与外接各设备之间的接线和外部设备之间接线。运动控制器与端子板接线时要先关闭计算机电源,采用专有的屏蔽电缆连接控制器的CN17与端子板CN17端口,另用一根电缆线连接转接板的CN18与端子板的CN18。根据任务需要,端子板需要完成与电子手轮、伺服驱动器的连接,此外还需要完成伺服驱动器与伺服电机接线,伺服驱动器与编码器接线。
(2)配置运动控制器模式和伺服驱动器参数,在计算机上安装完固高运动控制器驱动程序后,打开运动控制器系统调试软件MotionControlToolkit2009(MC2008),能够用于检测主机与运动控制器是否能够建立通信。如果MC2008能够正常打开,说明通信正常,如图1所示正常打开MCT2008。否则会提示“打开板卡失败”的错误提示信息。MC2008提供运动控制器的配置功能,用户可以利用MC2008根据任务完成各轴以及I/O限位报警的配置,并可以生成相应的配置文件GTS800.cfg。对伺服驱动器进行配置,采用USB通信线连接安川驱动器的调试口与计算机USB接口;打开安川伺服驱动器软件“SigmaWin+Ver.7”;打开软件连接伺服驱动器,通过点击软件界面左上角“Home”图标,选择下拉菜单中的“开始”,“连接伺服”,进入通信设定界面,检索伺服单元,实现连接;伺服参数设定,通过点击所选伺服单元“菜单”按钮,点击“参数编辑”进入参数编辑界面。这里可以修改驱动器参数的值包括旋转方向旋转、控制方式选择、指令脉冲形态、电子齿轮比(分子)、电子齿轮比(分母)以及编码器分频脉冲数等。修改好的参数要通过点击“参数编辑”界面中的“正在编辑的参数”命令写入到伺服驱动器中。为使写入伺服驱动器的参数有效,需要将伺服驱动器主回路电源关闭,然后重新上电,从而完成对伺服驱动器参数设定任务。
(3)新建项目,在VisualStudio中根据需要新建32位的C++手轮工作台控制项目工程。
(4)手轮控制项目创建后,VS会自动在指定位置生成许多文件。在固高运动控制器配套光盘dll文件夹中选择对应32位程序版本的动态链接库gts.dll,头文件gts.h,静态链接库文件gts.lib,以及运动控制器配置文件GTS800.cfg复制到工程文件夹中。在打开的VS项目窗口右侧解决方案资源管理器中中右击“头文件”,选择“添加”、“现有项”,找到“gts.h”,选择“添加”。添加完成后,需要在应用程序中加入函数库头文件的声明即代码#include“gts.h”。添加库文件有两种方法,一种方法是在VS软件窗口“项目”菜单中选择“属性”,在弹出的“属性”窗口中选择“链接器”、“输入”、“附加依赖项”中找到库文件添加gts.lib到库文件。另一种方法是在应用程序中直接使用#pragmacomment(lib,''gts.lib''),实现库文件的添加。
(5)按照手脉控制程序设计内容要求编写代码。利用固高控制器实现手轮控制程序需要包含初始化、获取手轮数据、从轴运动几个子函数。主函数完成调用初始化、获取手轮数据,让手脉可以工作。初始化函数实现运动控制卡的初始化功能,需要完成启动运动控制器、复位运动控制器、配置运动控制器,并进行电机轴异常清除和位置清零。在程序中GT_LoadConfig("GTS800.cfg")命令是用来实现运动控制器配置的,程序编译时有可能出现错误提示。如果提示错误,可以通过在VS软件窗口中选择“项目”菜单下“属性”,在打开的属性对话框中选择“C++”、“语言”中的“符合模式”改成否。读取编码器位置以及手脉轴选和倍率函数通过GT_GetDi(MC_MPG,&IGpiValue)读取手轮接口的轴选和倍率的IO输入状态的DI信号获得变量IGpiValue的值。轴号选择以及倍率变换函数接收传入的手脉轴号以及倍率的值。由于变量IGpiValue低4位存储的是轴选信号,第5、6、7位存储的是倍率信号。因此必须在该函数中要对IGpiValue值进行处理,将IGpiValue值和0x0f(00001111)进行按位与运算,运算结果就只保留前4位有效,从而获取轴选数据slaveAxis,将IGpiVal-ue值和0x70(01110000)进行按位与运算,运算结果得到5~7位的数据,从而获取倍率设置数据slaveEvn。根据获取的轴选数据,确定需要手轮控制的选定轴,由于每次只能选定一个轴,必须停止其他轴。通过GT_GetEncPos(masterAxis,&mpgPos,1)能够读取手轮编码器位置信息,其中masterAxis是指主轴手脉的轴号,由于手脉是外接到控制器端子板上的,它的轴号固定为11。从轴运动函数的实现是通过GT_PrfGear(SlaveAx-is)设置从轴SlaveAxis运动模式为电子齿轮模式,通过GT_SetGearMaster(SlaveAxis,masterAxis,GEAR_MAS-TER_ENCODER)设置从轴跟随主轴编码器,GT_Set-GearRatio(SlaveAxis,masterEvn,SlaveEvn,slope)设置从轴的传动比和离合区。最后通过GT_GearStart(1<<(SlaveAxis-1))指令启动电子齿轮。主函数voidmain()分别调用初始化函数、读取编码器位置以及手脉轴选和倍率函数,让手脉工作。
(6)检测代码无误后,编译生成解决方案,进行程序调试。运行程序,使用手脉分别改变轴号和倍率,转动手脉手柄,观察轴运动状态。经测试,利用固高电子齿轮功能,能够很好地实现从轴跟随手脉的功能。
5结语
随着机电一体化设备技术要求的不断提高,运动控制系统越来越多地采用以运动控制器为核心体系结构。固高运动控制器能够很容易地利用电子齿轮运动模式实现电子手轮的控制功能。增加了电子手轮的运动控制系统,将大大提升用户的操作体验,方便设备的调试。
参考文献
[1]王益红,陈志同.基于PMAC的数控机床手轮功能的实现[J].机械工程师,2005,(12):68-70.
[2]杨军军,武建新.基于固高控制器的焊接机器人控制系统设计[J].机械研究与应用,2015,(3):200-204.
[3]汪小宝,钱明珠.电子手轮常见故障诊断与维修[J].电脑知识与技术,2020,16(4):240-241.
作者:李强 单位:山东理工职业学院