精华内容
下载资源
问答
  • 本文介绍以太网多轴运动控制卡及编程技术,大家快来学习。
  • PCI多轴运动控制卡的VHDL-CPLD接口设计标题 上海豪威IC设计有限公司 怯肇乾 PCI多轴运动控制卡是精密伺服驱动控制系统中的主要部件,传统设计多采用PCI桥件和运动控制器件构建,这样虽然开发周期短,但成本却非常高...
  • 基于曲面线接触加工中全软件数控系统实现多轴运动控制的目的,介绍了一种基于单片机+FPGA的多轴运动控制卡的设计方法,该卡可以实现五轴控制。采用模块化的设计思想设计出了运动控制卡的总线、总线驱动、数据锁存及...
  • 系统配置:基于多轴运动控制卡的伺服控制系统硬件组成如图1所示:580)this.width=580" border=0>系统包括:1)PC总线工控机。选用基于PC总线的工控机IPC-610,该机拥有标准16位数据总线及组态灵活的
  • 引 言  现今数控技术的发展方向是开放式体系结构的数控系统,但是未来的开放式数控...本项目是设计一款基于PCI总线的,以DSP芯片TMS320F2812为核心的多轴运动控制卡。将PC机的信息处理能力和开放式的特点与运动控制
  • 美国Delta Tau公司PMAC多轴运动控制卡的VC++示例程序-Delta Tau American companies PMAC multi-axis motion control card VC++ Sample procedures(需要自行到网上下载pcomm32.dll文件)。
  • 开放式体系结构的数控系统已成为当今数控技术的发展方向,而其中的基于计算机标准总线的“PC+运动控制卡”结构则是今后开放式数控技术发展的主流。此类数控系统通常选用高速DSP作为运动控制卡CPU,采用主从式控制...
  • 给出了转台的基本组成, 介绍了多轴运动控制卡功能及其硬软件的开放性。分析了控制系统的组成原理,详细介绍了控制系统总体设计方案和基本的硬件配置结构,以及此控制系统的软件设计方法和功能实现。通过此基于多轴...
  • PMAC多轴运动

    2014-05-15 16:44:52
    PMAC多轴运动控制卡,分类,用途,原理
  • 传统的机器人运动控制器都是采用PC+运动控制卡的方法,成本较高。提出了一种基于DSP和FPGA的通用型运动控制系统,大大降低了系统成本。利用FPGA内部生成的双端口RAM作为DSP与上位机之间的缓冲区,同时采取串行转并行...
  • 摘要:介绍了在系统可编程(ISP)器件及其优点,分析了PC多轴运动控制卡关键电路的作原理,并由高密度的ISP器件设计实现,运动结果表明所设计的电路完全达到了设计要求。  关键词:在系统可编程 双口RAM 多轴...
  • 本系统以 PXI-1042 内嵌 PXI-8186控制器为核心, PXI-7358多轴运动控制卡驱动8个电机,采用LabVIEW7.1软件的电子齿轮功能实现其
  • 随着DSP技术的飞速发展,以其为 的多轴运动控制卡越来越广泛的应用在运动控制系统中。上位机只需对被控对象实施总体的控制和管理,而位置反馈信号的采集、闭环控制的计算和控制量的输出均由运动控制卡完成,这极大...
  •  随着 DSP 技术的飞速发展,以其为核心的多轴运动控制卡越来越广泛的应用在运动控制系统中。上位机只需对被控对象实施总体的控制和管理,而位置反馈信号的采集、闭环控制的计算和控制量的输出均由运动控制卡完成,...
  • 本文主要介绍研华运动控制卡如何实现多轴回原点并将XYZ三轴走到对应待机位的动作流程,为了更好掌握回原点运动控制流程,这里详细介绍了XYZ三个轴先后回原点,回原点完成后清零及运动到待机位等程序流程开发。...

    本文主要介绍研华运动控制卡如何实现多轴回原点并将XYZ三轴走到对应待机位的动作流程,为了更好掌握回原点运动控制流程,这里详细介绍了XYZ三个轴先后回原点,回原点完成后清零及运动到待机位等程序流程开发。本文程序的开发以C#为例,其他的开发语言只是编写语言的区别,对于整体的开发流程无区别。

    回原点流程

    4c1df86485f00b68d161282ea36e0dfb.png

    创建线程

    由于回原点整体的动作属于运动流程,因此我们还是用Switch Case的架构来实现,关于线程的建立及相应各个功能,请查看研华运动控制卡程序开发——单轴往返运动一文中的创建线程章节,线程函数规划如下图。

    726625d1c73f310c44f3ac966731ba34.png

    动作流程编写

    本文需要达到的就是所有的回原点动作流程均在Case:SysHomeState里面执行,为此我们只需要在对应的AdvHome()函数里实现回原点运动流程即可。

    那AdvHome()函数里,我们又将每一步动作划分到每个Case来执行,如下图。

    f641dd60eec5636ea5059422d842aa60.png

    每执行完一个Case就跳出到外面大的While循环(上图线程函数中的While),然后再进入Case:SysHomeState,再进到AdvHome()函数里执行下一个Case。因此,在AdvHome()函数里不允许在Case里面增加Sleep来作为延时计算,这样会导致整个线程处在Sleep里面,没法响应其他异常。

    代码实现

    AdvHome()函数对应的动作流程

    0d3d10a98603886716d7564d7840014d.png

    0b034a7852929287d51fef3df3e0a74d.png

    b5b1e479bb6315fea7a116101f113c7d.png

    AdvAxSetHomeVelPar()函数代码

    9a1414abebbdb40105135afc079387c8.png

    AdvAxMoveHome()函数代码

    d9a142fef4215a32a843041a22bc2202.png

    AdvMotionDone()函数代码

    4f7b705a22b323ddef4c995ac4aba92d.png

    WaitTime()函数代码

    62296bada5ca3569414206dbee63693d.png

    AdvEctAxSetPos()函数代码

    EtherCAT总线型驱动器,不支持SetActualPosition指令,调用SetCmdPosition指令后,会对驱动器执行CiA402中的Home mode35模式,将当前的位置设置为输入值。因为该方式是通过SDO方式进行读写设置,所以有一定几率发生调用失败的现象。因此,建议调用完该指令,需判断返回值是否成功以及轴状态是否Ready,若是返回值为失败或轴状态为ErrorStop则需再次重新调用该指令。可通过下图流程图及参考代码进行设置轴位置设置。

    45fbc811e8847e67f52019b4b74cdb84.png

    eeffd47dd3045674c0dd74f912565569.png

    对于脉冲型驱动器模块从站(针对AMAX-3245/85上所控制的轴或者脉冲板卡),因为该模块不是CiA402模块,理论位置和反馈位置不需要同步,因此该模块支持SetCmdPosition和SetActualPosition,且可以分开设定,可通过如下程序代码实现。

    8c41825be612d2ab4e9b4aecdfe4d0d9.png

    AdvMoveAbs()函数代码

    a9e041a9601d486875feae26d78af237.png

    界面Home按钮的响应函数代码

    5d6453e083ad8cf1ff29dd3076186e2e.png

    最终简单实现界面

    f15bae3bbb9faf5583b68fc7cd11dc9c.png

    展开全文
  • 多轴联动运动控制卡在运动控制领域有着广泛的应用。该运动控制卡是一种基于SoC FPGA芯片, 采用以太网通信的运动控制卡。该卡采用单芯片设计方案,结构简单、通用性好、可靠性高,可以控制4个步进电机系统或交流伺服...
  • 固高控制卡demo程序,多轴控制,对于学习运动控制的小伙伴十分有用哦。。包含运动控制卡运动模式开发,输入/输出开发Demo,插补demo等。
  • 全套。 编程手册。用户手册。Demo软件:GTS-VB系列多轴运动控制器。
  • 自动引导车(AGV) 是现代工业自动化物流系统中的关键设备之一, AGV在...DSP运动控制卡能够进行2 轴及多轴控制, 价格不高, 但必须和工控机配合使用, 功能还不够完善, 仍需进行大量的软件开发工作。  本文提出一种以PM
  • 在现代化工业加工及自动化生产线上经常要使用诸如加工中心、机器人之类的需要进行多轴协同控制的自动化设备。
  • 研华运动控制卡说明使用手册 PCI-1245/1265 系列,用于多轴电机运动控制
  • 普通运动控制卡在LabVIEW平台上的…

    千次阅读 2018-02-23 17:05:21
    摘 要:介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库...
    摘  要:介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库机制调用这个文件,实现实时的运动控制。实践证明,该方法不仅可以很好地发挥运动控制卡的性能,而且可以借助LabVIEW强大的界面编辑功能,缩短程序开发周期,美化人机界面。

     

    关键词:LabVIEW;运动控制卡;动态链接库

    一、引言

      LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(National Instruments)推出一种基于图形语言的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。

      在运动控制方面,LabVIEW有专门的运动控制模块,并且NI公司为其所有的运动控制卡配备相应的驱动程序,可以方便实现即插即用功能。如果用户所使用的板卡不是NI公司的产品,又没有提供与LabVIEW兼容的驱动程序,就不能为LabVIEW所用。但是LabVIEW能够通过调用Windows32动态连接库(Dynamic Link Library,简称DLL)来编写与LabVIEW兼容的驱动程序,实现该运动控制卡在LabVIEW环境下二次开发,不仅可以大大降低成本、缩短开发周期,而且可以使界面美观。

    二、应用背景

      笔者在参与某二自由度运动平台运动仿真项目的研制过程中,选用深圳众为兴数控技术有限公司生产的ADT850型四轴运动控制卡,该型号的卡提供多种版本Windows下的驱动程序和在BorlandC++3.1、VB和VC等多种环境下开发所需的函数库。虽然在这些编程环境中很容易实现所需的运动控制,但是,如果要开发出一个美观的人机交互界面,将会有很大一部分时间花在程序主界面的编写上。为此,我们利用LabVIEW强大的界面编辑功能以及它能够调用Windows32动态连接库的特点,首先在VC编译环境中编译出运动控制所需要的动态链接库文件,然后在LabVIEW环境中编写程序主界面,最后在LabVIEW框图程序中调用动态链接库文件来编写所需的运动控制程序。其主要过程如图1所示。

     


    图1 DLL生成与LabVIEW调用

     

    三、程序设计

      LabVIEW具有强大的外部接口能力,可用的外部接口包括:DDE、CIN、DLL、MATLAB Script以及HiQ Script等,其中DLL是其常用的外部接口。

      3.1 动态链接库(DLL)的编写

      DLL是基于Windows程序设计的一个非常重要的组成部分。DLL的编制与具体的编程语言及编译器无关,只要遵守DLL的开发规范和编程策略,并安排正确的调用接口,不管用何种编程语言编制的DLL都具有通用性,这就给我们编写通用的DLL带来了很大的方便。

      针对LabVIEW调用DLL的特点和运动控制的复杂性,我们所编写的通用DLL中必须包含多个可供调用的函数,这些函数都调用运动控制函数库中的一个或多个函数,DLL中每个可供调用的函数都对应着某一具体任务,称其为功能函数。DLL中的功能函数主要有:板卡初始化函数、运行条件初始化函数、两轴运行状态函数、两轴位置函数、脉冲发送函数、两轴伸长计算函数、停止运行函数、归零函数以及板卡结束运行函数等,每个功能函数一般都有自己独立的接口。

      功能函数确定以后,在Visual C++6.0编译器中建立一个Win32 Dynamic-Link Library文件,添加上运动控制卡随带的运动控制函数库文件后,即可编译成我们所需要的DLL文件。

      3.2 动态链接库的调用

      LabVIEW中动态链接库的调用是通过CLF(Call Library Function)节点实现的,CLF节点位于LabVIEW功能模板中的Advanced子模板中。

      在LabVIEW中调用DLL时,则应根据应用程序的需要,确定参数个数和参数类型及调用规则,然后在LabVIEW中正确地配置DLL。首先从Advanced子模板中选择Call Library Function Node图标并将其拖放到Diagram面板中适当位置,然后右键单击它,在弹出的菜单选项中选择Configer…弹出Call Library Function对话框。在此对话框中,第一个参数Library Name or Path中填入需要调用的动态连接库文件的文件名和路径;第二个参数Function Name是连接库中要调用的函数名称;第三个参数Calling Conventions是对DLL的调用规则,可选择C或stdcall,该项的选择应与用C++语言编写的动态库的编译模式相一致。如果C++的调用方式为extern “C” declspec(dllexport),那么Calling Conventions的选项为“C”,如果调用方式为extern declspec(dllexport)stdcall,则Conventions的选项为默认值“stdcall”,否则发生不可预见的错误而退出程序。接下来的Parameter和Type分别是参数名称和参数类型,表示函数返回类型。左击Add a Parameter After按钮,又多出了Data Type和Pass两项,它们分别是数据类型转换和参数传递方式,这是配置所调用函数形参所必须的选项。

      3.3 程序实现

      根据以上所编写的功能函数配置好CLF节点的参数个数及其数据类型后,也就设置好了CLF节点的输入输出端口。每一个功能函数对应着相应功能的CLF节点,我们可是像使用其它函数节点一样来应用这些CLF节点。针对某型二自由度运动平台运动控制的特殊性,要求这两个自由度完全独立,互不相关,这就不能采用多轴插补函数进行脉冲输出控制,只能是两轴分别控制。

      整个LabVIEW框图程序的结构采用顺序结构(Sequence Structure),每一顺序框都对应某项固定的任务。图2中三个顺序框是整个框图程序的前三框,从左到右其任务分别是板卡初始化、板卡驱动成功与否和相关参数的初始化及其显示,相关参数初始化顺序框中采用While循环模式等待输入,只有当参数设定完成并按下确定键后程序才能继续往下运行。

     


    图2 程序初始化阶段框图

     

      图3所示是紧接在图2后面的顺序框,也是程序框图的第四个顺序框,这是整个框图程序的主体部分。顺序框中嵌入一个While循环,While循环中又嵌入一个顺序结构,其前一框的作用是运动模式选择及运动控制,这也是整个程序框图的核心部分,后一框的作用是数据显示部分。

      运动模式选择包括自由度的选择和自动与手动模式选择。自由度选择和运行模式选择均采用选择结构(Case Structure),自由度的选择结构框内又嵌入了运行模式选择结构框,即每个自由度的运动都有自动和手动两种方式。选择手动方式时,手动位移可以通过拖动前面板上的手动进度条来确定,而选择自动方式时,其运行轨迹是一正弦曲线,这条曲线的形状由所设定的幅度值、频率值和相角值来确定。另外,无论在哪一种模式下运行,都可以通过调节前面板上速度系数进度条来调节两轴各自的运行速度。每个自由度的运动控制部分都包括手动控制和自动控制两部分,且都可以按照一般编译器中的逻辑关系和数据关系通过调用不同的CLF节点来实现。数据显示部分主要是实时显示两自由度的值和对应轴的伸长值。

     


    图3 程序核心部分框图

     

      图4是整个框图程序的最后三个顺序框,其中,前一框的任务是得到停止指令后返回两轴的当前位置,并立即发出返回零点位置的指令;中间一框中嵌入了一个While循环,目的是循环检测并显示两轴的运行状态以及当前位置,一旦检测到所有轴已经回到零点位置并已全部停止运行,就自动跳出While循环,开始执行最后一框程序,即执行板卡结束运行函数。

     


    图4 程序结束阶段框图

     

      图5为程序的前面板,这是程序正常运行时的主控界面也是唯一的界面。在这个界面上,可以进行自由度的选择、手动自动的选择、手动位移设定、自动运行模式下的正弦轨迹曲线的设定、两轴运行速度的设定以及运行控制。另外,界面上的两个Grphy图还能实时显示两自由度变化曲线和两轴运行轨迹曲线,板卡驱动状态和两轴运行状态的正常与否以三个指示灯的形式显示出来。

     


    图5 程序主界面

     

    四、结束语

      一般来讲,很多运动控制卡的二次开发多采用VC++、VB或C++ Builder等编译软件编写,有时编写界面就占了程序编写工作的很大一部分,不利于提高效率。本文利用LabVIEW界面开发简单以及LabVIEW可以调用动态链接库等功能,实现了在LabVIEW平台下快速开发普通运动控制卡的运动控制程序。这种方法不仅可以采用价格相对较低的普通运动控制卡,而且能避免繁琐的界面编程,缩短周期,提高效率,降低成本。本文所引用的程序已在某二自由度运动平台控制系统上通过测试并已得到应用,运行平稳、准确。

      本文作者创新点:利用LabVIEW调用通用动态连接库的功能,采用新的方法来对普通运动控制卡进行二次开发,这种新方法不仅可以缩短开发周期,而且可以降低成本。

    展开全文
  • 自动引导车(AGV) 是现代工业自动化物流系统中的关键设备之一, AGV在...DSP运动控制卡能够进行2 轴及多轴控制, 价格不高, 但必须和工控机配合使用, 功能还不够完善, 仍需进行大量的软件开发工作。  本文提出一种以PM
  • 摘 要:介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库...
    摘  要:介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库机制调用这个文件,实现实时的运动控制。实践证明,该方法不仅可以很好地发挥运动控制卡的性能,而且可以借助LabVIEW强大的界面编辑功能,缩短程序开发周期,美化人机界面。
    

     

    关键词:LabVIEW;运动控制卡;动态链接库

    一、引言

      LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(National Instruments)推出一种基于图形语言的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。

      在运动控制方面,LabVIEW有专门的运动控制模块,并且NI公司为其所有的运动控制卡配备相应的驱动程序,可以方便实现即插即用功能。如果用户所使用的板卡不是NI公司的产品,又没有提供与LabVIEW兼容的驱动程序,就不能为LabVIEW所用。但是LabVIEW能够通过调用Windows32动态连接库(Dynamic Link Library,简称DLL)来编写与LabVIEW兼容的驱动程序,实现该运动控制卡在LabVIEW环境下二次开发,不仅可以大大降低成本、缩短开发周期,而且可以使界面美观。

    二、应用背景

      笔者在参与某二自由度运动平台运动仿真项目的研制过程中,选用深圳众为兴数控技术有限公司生产的ADT850型四轴运动控制卡,该型号的卡提供多种版本Windows下的驱动程序和在BorlandC++3.1、VB和VC等多种环境下开发所需的函数库。虽然在这些编程环境中很容易实现所需的运动控制,但是,如果要开发出一个美观的人机交互界面,将会有很大一部分时间花在程序主界面的编写上。为此,我们利用LabVIEW强大的界面编辑功能以及它能够调用Windows32动态连接库的特点,首先在VC编译环境中编译出运动控制所需要的动态链接库文件,然后在LabVIEW环境中编写程序主界面,最后在LabVIEW框图程序中调用动态链接库文件来编写所需的运动控制程序。其主要过程如图1所示。

     


    图1 DLL生成与LabVIEW调用

     

    三、程序设计

      LabVIEW具有强大的外部接口能力,可用的外部接口包括:DDE、CIN、DLL、MATLAB Script以及HiQ Script等,其中DLL是其常用的外部接口。

      3.1 动态链接库(DLL)的编写

      DLL是基于Windows程序设计的一个非常重要的组成部分。DLL的编制与具体的编程语言及编译器无关,只要遵守DLL的开发规范和编程策略,并安排正确的调用接口,不管用何种编程语言编制的DLL都具有通用性,这就给我们编写通用的DLL带来了很大的方便。

      针对LabVIEW调用DLL的特点和运动控制的复杂性,我们所编写的通用DLL中必须包含多个可供调用的函数,这些函数都调用运动控制函数库中的一个或多个函数,DLL中每个可供调用的函数都对应着某一具体任务,称其为功能函数。DLL中的功能函数主要有:板卡初始化函数、运行条件初始化函数、两轴运行状态函数、两轴位置函数、脉冲发送函数、两轴伸长计算函数、停止运行函数、归零函数以及板卡结束运行函数等,每个功能函数一般都有自己独立的接口。

      功能函数确定以后,在Visual C++6.0编译器中建立一个Win32 Dynamic-Link Library文件,添加上运动控制卡随带的运动控制函数库文件后,即可编译成我们所需要的DLL文件。

      3.2 动态链接库的调用

      LabVIEW中动态链接库的调用是通过CLF(Call Library Function)节点实现的,CLF节点位于LabVIEW功能模板中的Advanced子模板中。

      在LabVIEW中调用DLL时,则应根据应用程序的需要,确定参数个数和参数类型及调用规则,然后在LabVIEW中正确地配置DLL。首先从Advanced子模板中选择Call Library Function Node图标并将其拖放到Diagram面板中适当位置,然后右键单击它,在弹出的菜单选项中选择Configer…弹出Call Library Function对话框。在此对话框中,第一个参数Library Name or Path中填入需要调用的动态连接库文件的文件名和路径;第二个参数Function Name是连接库中要调用的函数名称;第三个参数Calling Conventions是对DLL的调用规则,可选择C或stdcall,该项的选择应与用C++语言编写的动态库的编译模式相一致。如果C++的调用方式为extern “C” declspec(dllexport),那么Calling Conventions的选项为“C”,如果调用方式为extern declspec(dllexport)stdcall,则Conventions的选项为默认值“stdcall”,否则发生不可预见的错误而退出程序。接下来的Parameter和Type分别是参数名称和参数类型,表示函数返回类型。左击Add a Parameter After按钮,又多出了Data Type和Pass两项,它们分别是数据类型转换和参数传递方式,这是配置所调用函数形参所必须的选项。

      3.3 程序实现

      根据以上所编写的功能函数配置好CLF节点的参数个数及其数据类型后,也就设置好了CLF节点的输入输出端口。每一个功能函数对应着相应功能的CLF节点,我们可是像使用其它函数节点一样来应用这些CLF节点。针对某型二自由度运动平台运动控制的特殊性,要求这两个自由度完全独立,互不相关,这就不能采用多轴插补函数进行脉冲输出控制,只能是两轴分别控制。

      整个LabVIEW框图程序的结构采用顺序结构(Sequence Structure),每一顺序框都对应某项固定的任务。图2中三个顺序框是整个框图程序的前三框,从左到右其任务分别是板卡初始化、板卡驱动成功与否和相关参数的初始化及其显示,相关参数初始化顺序框中采用While循环模式等待输入,只有当参数设定完成并按下确定键后程序才能继续往下运行。

     


    图2 程序初始化阶段框图

     

      图3所示是紧接在图2后面的顺序框,也是程序框图的第四个顺序框,这是整个框图程序的主体部分。顺序框中嵌入一个While循环,While循环中又嵌入一个顺序结构,其前一框的作用是运动模式选择及运动控制,这也是整个程序框图的核心部分,后一框的作用是数据显示部分。

      运动模式选择包括自由度的选择和自动与手动模式选择。自由度选择和运行模式选择均采用选择结构(Case Structure),自由度的选择结构框内又嵌入了运行模式选择结构框,即每个自由度的运动都有自动和手动两种方式。选择手动方式时,手动位移可以通过拖动前面板上的手动进度条来确定,而选择自动方式时,其运行轨迹是一正弦曲线,这条曲线的形状由所设定的幅度值、频率值和相角值来确定。另外,无论在哪一种模式下运行,都可以通过调节前面板上速度系数进度条来调节两轴各自的运行速度。每个自由度的运动控制部分都包括手动控制和自动控制两部分,且都可以按照一般编译器中的逻辑关系和数据关系通过调用不同的CLF节点来实现。数据显示部分主要是实时显示两自由度的值和对应轴的伸长值。

     


    图3 程序核心部分框图

     

      图4是整个框图程序的最后三个顺序框,其中,前一框的任务是得到停止指令后返回两轴的当前位置,并立即发出返回零点位置的指令;中间一框中嵌入了一个While循环,目的是循环检测并显示两轴的运行状态以及当前位置,一旦检测到所有轴已经回到零点位置并已全部停止运行,就自动跳出While循环,开始执行最后一框程序,即执行板卡结束运行函数。

     


    图4 程序结束阶段框图

     

      图5为程序的前面板,这是程序正常运行时的主控界面也是唯一的界面。在这个界面上,可以进行自由度的选择、手动自动的选择、手动位移设定、自动运行模式下的正弦轨迹曲线的设定、两轴运行速度的设定以及运行控制。另外,界面上的两个Grphy图还能实时显示两自由度变化曲线和两轴运行轨迹曲线,板卡驱动状态和两轴运行状态的正常与否以三个指示灯的形式显示出来。

     


    图5 程序主界面

     

    四、结束语

      一般来讲,很多运动控制卡的二次开发多采用VC++、VB或C++ Builder等编译软件编写,有时编写界面就占了程序编写工作的很大一部分,不利于提高效率。本文利用LabVIEW界面开发简单以及LabVIEW可以调用动态链接库等功能,实现了在LabVIEW平台下快速开发普通运动控制卡的运动控制程序。这种方法不仅可以采用价格相对较低的普通运动控制卡,而且能避免繁琐的界面编程,缩短周期,提高效率,降低成本。本文所引用的程序已在某二自由度运动平台控制系统上通过测试并已得到应用,运行平稳、准确。

      本文作者创新点:利用LabVIEW调用通用动态连接库的功能,采用新的方法来对普通运动控制卡进行二次开发,这种新方法不仅可以缩短开发周期,而且可以降低成本。

    展开全文
  • DMC2610是一款基于PCI总线的高性能运动控制卡,可控制六轴步进或伺服电机,其它功能与雷泰的DMC2410运动控制卡一样。和DMC1000控制卡相比,他们具有更快的运动速度、有更好的直线和圆弧插补功能,同时还增加了编码器...
  • PMAC ( Programmable Multi-Axis Controller) 可编程多轴运动控制器,是美国Delta Tau Data System公司推出的PC 机平台上的运动控制器,是一个完全开放的系统。

    一、PMAC概述

    PMAC ( Programmable Multi-Axis Controller) 可编程多轴运动控制器,是美国Delta Tau Data System 公司推出的PC 机平台上的运动控制器,是一个完全开放的系统。它采用了Motorola 公司的高性能信号数字处理器DSP5600作为CPU ,是世界上功能最强大的运动控制器之一。Delta Tau公司已在2016年被欧姆龙收购。

    在整个 PMAC 的系列产品中包括:PMAC(1)系列、PMAC2 系列、Turbo PMAC(1)系列、Turbo PMAC2 系列、MACRO 系列和 UMAC 系列等。

    博主主要使用板为Turbo PMAC Clipper,搭载的是Turbo PMAC2 CPU。Clipper提供4 个控制轴,可输出滤波PWM或16位DAC和脉冲加方向,以及32位通用TTL电平I/O点。标准版本即带有Ethernet、USB和RS232 通讯接口以及内置 I/O, 方便用户进行控制器与上位机的连接, 并可以通过选择轴扩展卡对伺服通道及 I/O端口进行扩展。编码器支持AB相正交信号,正余弦信号与串行信号。
    在这里插入图片描述

    二、PMAC执行软件工具

    PMAC Executive Pro2 Suite是一个创建、管理PMAC程序的开发工具。这套开发工具支持Windows XP与Windows 2000操作系统,套件中包含PMAC PlotPro2,PMAC Tuning Pro2与许多简单易用的配置向导,可以配置所有的PMAC控制器。

    PeWin32 PRO2 的功能十分强大,作为执行程序,它用来帮助同 PMAC 卡进行通讯,下载和运行运动控制程序,监控运动控制卡和伺服电机状态。通过执行程序可以存取所有 PMAC 的特性,用于设置伺服电机,调试和发送在线指令;编写 PLC和运动控制程序,发送指令,动态观测窗口等。

    PeWin32 PRO2 是DELTA TAU公司开发的支持 Microsoft Windows系列的软件工具包。它由以下组件组成:

    • Pewin32Pro2:它是调试和设定PMAC的程序,是软件包的主程序;
    • PmacPlot32Pro2:它可以在运动过程中访问各种内存寄存器,绘制和分析运动中电机
      的各种状态;
    • PmacTuningPro2:可以最优化电机的速度和加速度特性;
    • P1Setup32Pro2:采用向导界面,帮助我们设置I型卡;
    • P2Setup32Pro2:采用向导界面,帮助我们设置II型卡;
    • TurboSetup32Pro2:采用向导界面,帮助我们设置Turbo PMAC卡、UMAC、QMAC、MACRO Station;
    • UmacConfigPro2:识别并配置UMAC的各种组件;

    其中 Pewin32Pro2、PmacPlot32Pro2、PmacTuningPro2三个为主要软件。

    三、下位机程序

    PMAC主要有PLC和PROG运动程序,他们各司其职,开发者应发挥它本来的本领:

    • 问题1 PLC和PROG的区别?
      PLC: 主要负载实时性强的任务,如警报扫描。
      PROG: 主要负责对轨迹要求高的任务,两轴插补画圆等。
    • 问题2 PLCC和PLC的区别?
      PLCC是编译性,速度更快,PLC是解释性,速度较慢

    四、下载安装

    官网软件下载页面,我们可以看到三个下载选项,上面所说的三个主要软件及其他软件都在第三个PMAC Executive Pro2 Suite软件包里面。下载第三个安装即可。
    要注意前两个对应的是另外一种板卡Power PMAC。
    在这里插入图片描述
    安装后目录如下
    要注意PeWin32 PRO2 是工具包。Pewin32Pro2 是工具包里的主要工具。如果不是默认路径安装,第一次在Tool中打开这些工具需要自行查找安装地址进行打开。
    在这里插入图片描述

    五、上位机编程手册PcommServer

    (趁过年还有时间,赶紧码完,码完回去就可以好好休假了。
    要想开发上位机需要看这本手册,介绍了具体函数的定义,当然刚入门最好有相关DEMO比较好学习,在泰道中国官网技术支持中有比较多的配置分享,有C#,C++等语言的上位机DEMO。
    在这里插入图片描述
    主要使用两个函数就能进行相当强大的开发。
    发送:GetResponseEx(),如发送“#1j+, “?”, “Open Prog1”
    读取:GetControlResponseEx(),如获取M变量

    六、推荐上位机开发环境 Microsoft Visual C++ 2019

    Microsoft Visual C++ 2019,Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++集成了便利的调试工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。当前最新的版本是Microsoft Visual C++ 2019。安装教程有很多可参考,读者可自行安装。

    七、拓展链接:

    PAMC官网:DELTA TAU
    官网手册:手册大全
    国内相关:中国工控网
    友情链接: 文大侠PMAC教程

    八、参考文献

    [1]欧姆龙.PMAC强化运动控制[EB/OL].https://www.fa.omron.com.cn/info/18120.html,.




    附录(Turbo Clipper卡不用理会这部分):

    (Turbo Clipper卡不用理会这部分)
    (Turbo Clipper卡不用理会这部分)
    (Turbo Clipper卡不用理会这部分)
    一开始博主都下载了,但是也给个方便,如果你是PowerPmac的卡,要弄PDK,而我们看第二个POWER PMAC开发套件介绍,就是支持.NET组件开发的SDK文件。下载安装后目录如下,打开License ,site key为:SL7762DELTA539,来源,以获得授权。
    在这里插入图片描述
    ReadMe.pdf 中说,博主64位win10,故复制 dkeylib32.dll、dkeylib64.dll和clllicfile.lic到windows\system32文件夹,如果开发上位机软件,还需要复制到包含客户端应用程序的本地文件夹和客户端计算机。
    友情链接:https://blog.csdn.net/jackiexzy/article/details/79549359

    用Visual C++打开例程demo

    打开 SDK/sample/C# 目录下的例程之一 GatherToolDemo.sln,如果出现下述情况,那去下载对应开发者包运行安装。没有,重启试试,失败了,还是没有。那么就在项目右键打开属性改目标框架为 .NET Framework 4.6,并且按照指示,保存项目,关闭,重新打开,编译成功,如下图。
    在这里插入图片描述
    在这里插入图片描述
    编译结果,终于成功打开了例程demo。
    在这里插入图片描述

    展开全文
  • 采用pci + FPGA架构,所有的运动控制通过一个FPGA实现,性能达到日本mcx314运动IC的水平,主要性能如下: 主要技术指标跟性能: ● 32位PCI总线,4轴伺服/步进电机控制; ● 40路光耦隔离输入; ● 20路光耦...
  • 激光雕刻设备生产厂家的竞争已由激光器技术转向对激光设备和加工工艺的有效控制,能否有效解决如下问题:三维图形多轴联动、高速激光扫描和快速推进引起的振动、扫描幅面大小和扫描精度、激光的同步扫描和往复扫描...
  • 提出了一种基于DSP技术的工业机器人控制器的设计,该控制器采用一台工业多轴运动控制卡较好地实现了机器人的实时控制,提高了机器

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

多轴运动控制卡