运动控制定时模型的制作方法

文档序号:6290304阅读:226来源:国知局
专利名称:运动控制定时模型的制作方法
技术领域
本主题发明涉及工业控制系统,尤其涉及能够通过网络利用时间戳记协议来进行运动控制。

背景技术
由于计算机技术的进步,今天的企业在与仅是几年前基本类似的企业相比时能够更有效率地运转。例如,内部联网使公司员工能够通过电子邮件即时通信、将数据文件快速传送到不同的员工、操纵数据文件、共享与项目有关的数据以减少工作的重复等。此外,技术的进步已使得工厂应用变为部分或完全自动化。例如,以前需要工人离重型机械及其它各种危险环境很近的操作现在能够在距其较为安全的距离处完成。
此外,通过采用高精度的机器已使得与人为操作相关联的缺点降到最小。许多这种工厂设备将与制造有关的数据提供给可由工厂层面上的系统/过程/项目管理器访问的数据库。例如,传感器及相关联的软件能够检测一特定机器已在所给的规定时间内完成操作这样的多个实例。此外,来自传感器的数据可被传到与系统警报相联的处理单元。因此,工厂自动化系统能够检查采集到的数据并自动和/或半自动地安排设备的维护、设备的更换、以及与自动化过程相关的其它各种工序。
虽然工业过程自动化已经有了各种进步,然而控制器的利用和计划并没有较大改变。工业控制器是被用来控制工业过程、制造设备、以及诸如通过联网系统的数据采集等其它工厂自动化过程的专用计算机。控制器通常与其它计算机系统协作以形成借此可产生大部分现代和自动化制造操作的环境。这些操作包括诸如炼钢等材料前端处理到诸如涉及先前处理的材料的组装的汽车制造等更复杂的制造过程。通常,诸如在汽车制造的情形中,复杂组件可以由辅助工业控制过程的高端机器人技术来制造。
控制系统可被用来控制与诸如机器人等机器有关的运动。许多这种系统包括命令目标系统中的运动的源。例如,源(例如,控制器)可被用来移动目标(例如,驱动器、马达...)。运动控制可通过定期更新从控制器发送到驱动器的命令数据以及从驱动器发送到控制器的实际数据来实现。常规运动控制网络采用控制器与多个驱动器设备之间精确、时间同步的数据交换来实现高性能的协调运动。传统网络方案使用网络更新循环被分为多个时隙的时隙途径。网络内的每个节点然后利用相应的配给时隙来发送各自的数据。
在结合诸如以太网等开放的标准网络使用时,利用时隙途径是有问题的。例如,在节点能够通过网络通信时进行限制违反了标准以太网协议,由此,通常要求这些运动控制协议与通用网络保持隔离或施加网关设备。另外,时隙协议需要广泛的配置和仲裁来建立并且在网络操作时通常不能够被修改。因此,在运行时间过程中不能对网络添加或移除节点,从而导致与更新网络相关联的高成本的停工时间。此外,采用时隙协议的设备受限于与控制器的更新循环同步地操作;由此,驱动器设备受限于一组为控制器更新周期的整数倍的更新频率。
传统运动控制技术另外还不允许非运动控制数据在网络上通信,因为时隙方法趋向于调度网络的整个带宽。常规运动控制网络协议能够为每个驱动节点配置或协商用以发送其实际数据的具体时隙以及之后为控制器配置或协商用以发送命令数据的时隙。根据一些协议,更新循环的一部分可被保留用于传送非运动控制数据。然而,由于非运动节点将会妨碍与运动专用时隙调度相关联的传输,所以它们通常不能在网路上共存。因此,非运动消息只能通过延迟其传输直到非运动消息时隙可用的网关在网路上传送。
此外,运动控制网络通常受限于大小和内容固定的数据结构。这种限制一部分是由于这些网络用来提供时间同步和确定性数据传送的时隙协议。如果数据结构超出了与相关时隙相关联的大小限制,则该传输会与来自被配给下一时隙的网络节点的数据相抵触。现行运动控制协议在配置时间定义在运行时间通常不能改变的固定大小的数据结构,因为时隙是根据在诸(驱动器)和控制器节点之间传送的数据包的大小来确定的。相应地,由于数据包经常是非法大小(例如,如果数据包太大,则额外的“填充”数据在网络上被发送,如果数据包太小,则需要多次传输来传送该数据)从而浪费了网络带宽。


发明内容
以下内容介绍了要求保护的主题的简化概要以提供对在此所述的一些方面的基本理解。该概要不是本发明的详尽概述,无意标识关键或重要要素或描述要求保护的主题的范围。其目的仅在于以简化形式介绍本发明的一些概念以作为稍后介绍的更为具体的说明的引言。
在此所述的要求保护的主题涉及在工业自动化环境内利用运动控制定时模型来协调与控制运动相关联的操作。例如,循环定时组件可实现定时模型所设定的定时(例如,可以选择、预置...)。依照一个例示,循环定时组件可利用定时模型来协调发送数据、接收数据、执行与数据相关联的计算(例如,生成命令)、捕捉数据、应用接收到的命令等。定时模型可以是能够在例如一个粗略更新周期内执行更新的单循环定时模型。此外,也可利用能够在两个粗略更新周期内实现更新的双循环定时模型。此外,还可利用采用三个粗略更新周期来执行更新的三循环定时模型。
根据一个或多个方面,在工业自动化环境中可通过利用时间戳记协议在网络上进行运动控制。控制器和驱动器可通过支持运动控制的开放网络来通信。例如,控制器和驱动器可在基于以太网的网络上通信。运动相关通信可由控制器和/或驱动器生成。驱动器能够例如测量相关联的物理属性(例如,实际数据)而控制器能够产生可由特定驱动器实现的命令(例如,命令数据)。运动相关数据可包括可与进行测量(例如,实际数据)的时间和/或实现数据(例如,命令数据)的时间相关联的时间戳。另外,运动控制网络内的每个节点(例如,控制器、控制轴对象、驱动器、驱动轴对象...)能够利用和与不同网络节点相关联的其它不同时钟同步的时钟。因此,运动控制网络内的节点能够获得时间的共同理解。利用该网络时间,驱动器能够在与时间戳相关联的时刻实现可与接收到的命令数据相关联的新命令。另外,驱动器可包括与对之后可被发送到控制器以作分析的实际数据进行测量的时间相关联的时间戳。
根据一个方面,可采用平衡的更新循环从而使得能够在网路上发送运动相关数据和非运动相关数据。例如,更新循环可被分为诸如输入传送间隔、计算间隔、以及输出传送间隔等不同的间隔。运动相关数据可在输入传送间隔期间(例如,将实际数据从驱动器发送到控制器)和/或在输出传送间隔期间(例如,将命令数据从控制器发送到驱动器)传送。在这些间隔期间,运动相关数据与非运动相关数据相比可被分配更高的优先级。因此,如果在这些间隔期间运动相关数据和非运动相关数据两者都在网路上被发送,更高优先级的运动相关数据可以排在非运动相关数据之前从而有助于以最小的等待传递运动相关数据。另外,在计算间隔期间,控制器能够评估接收到的实际数据,此外在运动相关数据的发送停止时能够在网路上发送被排在运动输入数据之后发送的低优先级的非运动相关数据。因此,低优先级的非运动数据包通信被自然地重新组织以在更新循环中间的计算间隔期间发送。将更新循环分为不同的间隔而不是利用时隙来分配给特定节点在其间传送数据的特定时间,使得能够在同一网络上发送运动控制数据和非运动控制数据从而缓解运动控制数据利用全部或大部分网络资源这一状况。
此外,可结合在此所述的要求保护的主题的时间戳记协议利用与任意大小和/或结构相关联的动态数据。例如,数据结构的大小和/或内容可以在更新之间变化。根据一个示例,该数据在数据包的标头中可包括描述结构并使接收节点能够利用该接收到的数据的信息。
相对于时隙协议,利用时间戳运动控制数据提高了运动控制网络的效率。例如,时间戳记允许采用大小可变的数据包;因此,不需要像在与时隙技术相关联的固定数据结构时常见的那样在网路上传送附加数据和/或包。另外,通过利用时间戳记协议可以降低复杂度。此外,在利用时间戳记协议时可对运动控制网络添加和/或移除节点。
为了实现上述和相关目标,在此结合以下说明和附图对本发明的某些示例性方面进行了说明。然而,这些方面仅是指示本发明的原理可被采用的若干不同方式,并且本主题发明旨在包括所有这些方面及其等效方案。在结合附图考虑以下本发明的具体说明时,本发明的其它优点和新颖特征将是显而易见的。



图1示出了工业自动化环境中协调与运动控制相关联的定时的一个示例性系统。
图2-4示出了工业自动化环境内循环定时组件所采用的用以协调传送和/或更新运动控制数据的定时模型的一个示例。
图5示出了工业自动化环境中使与运动控制相关联的输入传输串行化的一个示例系统。
图6示出在工业自动化环境中利用有助于控制运动的时间戳记方案的一个示例系统。
图7示出了能够平衡运动控制网络中网络资源的利用的一个示例系统。
图8示出了能够在运动控制网络中传送动态结构化的数据的一个示例系统。
图9示出了有助于对运动控制网络添加和/或移除节点的一个示例系统。
图10示出了工业自动化环境中能够在开放网络上控制运动的一个示例系统。
图11示出了有助于利用时间戳记协议在运动控制网络上在控制器与驱动器之间进行通信的一个示例系统。
图12示出了有助于通过采用时间戳记协议在控制器与驱动器之间的网络上发送运动控制数据和/或非运动数据的一个示例系统。
图13示出了有助于通过CIP运动驱动器连接发送数据的一个示例系统。
图14是工业自动化环境中有助于在网络上用时间戳记协议控制运动的方法的一个典型流程图。
图15是能够针对运动控制网络平衡与运动控制更新相关联的单循环定时的方法的一个典型流程图。
图16是能够在运动控制网络上传输动态运动相关数据的方法的一个典型流程图。
图17-25是与时间戳记运动控制相关联的各方面的示例性定时图。
图26是可在其上实现在此所述的各个特征的一个示例操作系统。
图27是在此所述的各个特征可在其中交互的一个示例性计算环境。
附录A描述了与时间戳记运动控制相关联的各个示例性方面——该附录将作为本主题发明的说明书的一部分。

具体实施例方式 现在参照贯穿全文相同附图标记被用来表示相同要素的附图对要求保护的主题进行说明。在以下说明中,出于解释的目的,对许多具体细节进行了阐述以提供对要求保护的主题更为彻底的理解。然而很显然的是,本主题也可在没有这些具体细节的情况下实践。在其它情形中,公知的结构和设备以框图的形式被示出从而帮助说明本发明。
当在本申请中使用时,术语“组件”和“系统”等旨在表示与计算机有关的实体,可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但并不限于,在处理器上运行的过程、处理器、对象、实例、可执行文件、执行的线程、程序、和/或计算机。作为示例,在计算机上运行的应用和计算机两者都可以是组件。一个或多个组件可驻留于过程和/或执行的线程内并且组件可以位于一个计算机上和/或分布在两个或多个计算机之间。
此外,要求保护的主题可以作为使用标准编程和/或工程技术生成用以控制计算机实现所公开的主题的软件、固件、硬件、或其任意组合的方法、装置、或制品来实现。术语“制品”在此使用时旨在包括可从任何计算机可读设备、载体、或介质访问的计算机程序。例如,计算机可读介质可包括,但并不限于,磁存储设备(例如,硬盘、软盘、磁条...)、光盘(例如,压缩盘(CD)、数字通用盘(DVD)...)、智能卡、以及闪存设备(例如,卡、棒、键驱动器...)。另外应该认识到的是,载波可被用来携带诸如在发送和接收电子邮件或访问诸如因特网或局域网(LAN)等网络时使用的计算机可读电子数据。当然,本领域的技术人员将认识到,可对该配置作出许多修改而不会背离所要求保护的主题的范围和精神实质。此外,措词“示例性”在此被用来表示作为示例、实例、或例示。在此被描述为“示例性”的任何方面或计划并不一定被理解为优先或优于其它方面或计划。
参照图1,所示的是工业自动化环境中协调与运动控制相关联的定时的系统100。系统100包括与不同运动控制组件(未示出)通信的运动控制组件102。例如,运动控制组件102可以是驱动器、驱动轴对象、控制器、控制轴对象等。根据一个例示,运动控制组件102可以是与控制器通信(例如,通过网络连接)的驱动器;照此,该驱动器可以向控制器发送实际数据(例如,与位置和/或速度有关),而控制器可利用该实际数据生成命令,这些命令又可被发送回一个或多个驱动器。这一个或多个驱动器之后可利用这些命令来更新与其相关联的位置和/或速度。然而,应该认识到的是,所要求保护的主题并不限于上述示例。系统100另外包括利用定时模型来协调和与运动控制组件102相关联的运动控制有关的操作的定时的循环定时组件104。例如,循环定时组件104可协调发送数据、接收数据、执行与数据相关联的计算(例如,生成命令)、捕捉数据、应用接收到的命令等。
运动控制组件102和不同的运动控制组件可以具有对时间的共同理解。此外,循环定时组件104可利用时间的共同理解来实现根据特定定时模型执行任务。例如,定时模型可提供其间可通过网络连接发送输入通信(例如,(诸)驱动器可向(诸)控制器发送数据)的第一时间段、其间没有运动通信发生的第二时间段、以及其间输出通信被发送(例如,(诸)控制器向(诸)驱动器发送诸如(诸)命令等数据)的第三时间段等;然而,所要求保护的主题并不由此被限制(例如,在没有运动通信穿越网络时不需要提供时间段)。因此,相对于采用时隙为每个节点(例如,每个控制器、驱动器...)分配唯一的传输时间的常规技术,运动控制组件102使多个节点(例如,运动控制组件102和/或任何不同的运动控制组件)能够利用公共的时间段来通过网络连接发送和/或接收运动相关数据(和/或不同类型的数据)。
虽然被描述为与运动控制组件102分开,然而可以预想该运动控制组件102可包括循环定时组件104和/或其一部分。每个运动控制组件102可以如图所示地耦合到相应循环定时组件104。另外,或者作为替换,应该认识到循环定时组件104可以耦合至多个运动控制组件102。
循环定时组件104可使用任意类型的定时模型(例如,任意类型的通用工业协议(CIP)运动定时模型)。例如,循环定时组件104可利用在一个粗略更新周期(CUP)(例如,控制器更新周期、连接更新周期...)、两个CUP、三个CUP等中实现(例如,驱动器的)位置和/或速度的更新的定时模型。根据一个例示,CUP可以是1毫秒,然而,所要求保护的主题并不由此被限制。
根据一个示例,运动控制组件102可以是能够捕捉与实际位置和/或速度有关的数据的驱动器。循环定时组件104能使驱动器在CUP的开始获得与实际位置和/或速度有关的数据。此后,驱动器能将当前位置和/或速度数据发送给控制器,并从控制器接收数据(例如,命令)(例如,在由循环定时组件104协调时)。接收到的数据可被用来更新与驱动器相关联的实际位置和/或实际速度。与执行更新相关联的CUP的数目(例如,可被称为位置更新延迟的从在驱动器处捕捉实际数据到应用与捕捉到的数据相对应的命令数据的时间)取决于循环定时组件104所利用的定时模型。
根据一个例示,循环定时组件104可利用任何运动控制定时模型。例如,循环定时组件104可以用一个定时模型来预置。根据另一示例,循环定时组件104能够从一组定时模型选择定时模型;这些选择可以自动地(例如,通过循环定时组件104)和/或响应于用户输入来实现。此外,循环定时组件104所利用的定时模型可以更新。然而,所要求保护的主题并不限于上述示例。
参照图2-4,所示出的是工业自动化环境内被循环定时组件(例如,图1的循环定时组件104)用来协调运动控制数据的发送和/或更新的定时模型的示例。应该认识到的是,这些定时模型例示仅作为示例被提供而所要求保护的主题并不由此所限制。
转到图2,所示出的是工业自动化环境中结合运动控制使用的示例单循环定时模型200。单循环定时模型200可被用来在一个循环内(例如,诸如1毫秒的一个粗略更新周期(CUP))执行位置和/或速度更新;因此,由于运动控制更新能够以最小的位置更新延迟发生所以单循环定时模型200可结合驱动轴之间的主从关系来采用。在1 202,驱动器粗略中断服务可通过读取循环开始时的驱动器位置和/或速度来开始。例如,驱动器可捕捉反馈计数并计算实际位置和/或速度。虽然没有示出,然而可以预想的是任意数目的驱动器能够同时利用单循环定时模型200(和/或在此所述的任何定时模型)。在2 204,驱动器可将实际输入数据(例如,与位置和/或速度有关)发送给控制器(例如,通过介质(网络))。在3 206,控制器任务可以在相位偏移延迟之后开始。如图所示的,相位偏移延迟可以是~330微秒;然而,本主题要求并不限于利用该相位偏移延迟,而是可以采用任意的相位偏移延迟。控制器可读取从驱动器获得的实际数据。根据另一示例,控制器的运动计划程序能够根据来自该驱动器和/或(诸)不同的驱动器的位置数据计算命令输出数据(例如,与位置和/速度有关)。在4 208,控制器可将命令输出数据发送给驱动器。此外,在5 210,驱动器粗略中断服务能够开始。例如,驱动器能够读取命令输出数据并对驱动器的控制结构应用这些数据。
在控制器生成命令输出数据的时间段(例如,在3 206)期间,可通过网络发送非运动包。因此,例如,即使以太网模块满载,单循环定时模型200也能为非运动相关数据预留33%的CUP。此外,网络带宽的33%可被预留用于从驱动器到控制器的输入数据,而另外的33%可被用于从控制器到驱动器的输出数据传输;相应地,单循环定时模型200可为输入和输出提供平衡的传递时间和网络载荷。然而,应该认识到的是,所要求保护的主题并不限于上述示例。
现在参照图3,所示出的是工业自动化环境中可被用于运动控制(例如,CIP运动)的一个示例双循环定时模型300。在1 302,驱动器粗略中断服务可以开始(例如,可以获得反馈计数并可计算实际位置和/或速度)。在2 304,驱动器可将实际输入数据发送给控制器。根据一个示例,双循环定时模型300可利用一个满粗略更新周期以将输入数据从驱动器发送到控制器。例如,可以在这满粗略更新周期内的任何时间将输入数据从驱动器发送到控制器。
在3 306,在与控制器相关联的下一更新周期,控制器任务可以开始。例如,控制器可立即读取来自上一更新周期(例如,在2 304被用来向控制器发送实际输入的粗略更新周期)的实际输入数据,并且运动计划程序可计算相应的命令输出数据(例如,与位置和/或速度相关联)。在4 308,控制器可将命令输出数据发送给驱动器。命令输出数据的发送可在这第二个粗略更新周期内例如控制器计算命令输出数据数据之后的任意时间发生。在5 310,驱动器粗略中断服务可以开始;由此,驱动器可读取命令输出数据并将其应用于驱动器的控制结构。
双循环定时模型300可与两个粗略更新周期的位置更新延迟相关联。根据一个例示,双循环定时模型300可将网络带宽的50%用于输入通信,网络带宽的50%用于输出通信。此外,输入和输出传递时间可以不平衡;例如,与输入数据相关联的传输可利用整个粗略更新周期而输出数据发送仅可利用粗略更新周期的一部分——粗略更新周期的其余部分可被控制器用来生成命令输出数据。此外,应该认识到的是输入和输出可在同一粗略更新周期内被发送(例如,通过网络的双向通信);相应地(虽然没有示出),驱动器可在图3所示的两个粗略更新周期期间发送实际输入数据。
参照图4,所示出的是工业自动化环境中可用于运动控制(例如,CIP运动)的一个示例三循环定时模型400。三循环定时模型400可将第一粗略更新周期用于输入、第二粗略更新周期用于计算、以及第三粗略更新周期用于输出。根据一个示例,这第一、第二和第三粗略更新周期各自都可以是完整的粗略更新周期。三循环定时模型400与上述双循环定时模型(例如,图3的双循环定时模型300)的区别在于,相对于在用于输出发送的循环开始时执行计算,三循环定时模型400可包括用于计算的一个额外的完整循环。
在1 402,驱动器粗略中断服务可通过捕捉反馈计数并计算实际位置和/或实际速度开始,而在2 404,控制器任务可同时开始。控制器任务可以读取来自上一粗略更新周期的实际位置和/或实际速度。此外,在3 406,驱动器可将该实际位置和/或实际速度发送给控制器。另外,在4 408,控制器可将来自上一任务执行的所计算出的命令输出数据(例如,与位置和/或速度有关)发送给驱动器。在5 410,控制器运动计划程序可计算用于下一更新的命令输出数据。此外,在6 412,驱动器粗略中断服务可以通过读取命令数据并将这些数据应用到驱动器的控制结构(例如,更新位置和/或速度)开始。
三循环定时模型400可同时将实际数据从驱动器发送到控制器以及将命令输出数据从控制器发送到驱动器(例如,从前一粗略更新周期期间接收到的实际数据计算得到),并且两个传输都可利用将在其间实现的完整粗略更新周期。相应地,三循环定时模型400可充分利用网络连接(例如,交换以太网)的全双工特性。三循环定时模型400可将全双工网络带宽的100%用于运动通信;然而,所要求保护的主题并不由此被限制。此外,可以实现输入和输出包的并行处理(例如,当网络满载时)。此外,三循环定时模型400提供了平衡的输入和输出传递时间,即各自可以是一个粗略更新周期。相对于上述单循环和双循环定时模型,三循环定时模型400可支持每毫秒更多数目的轴;而且,三循环定时模型400可与三个粗略更新周期的位置更新延迟相关联。例如,三循环定时模型400可支持100轴/毫秒(例如,在使用100兆比特/秒以太网的情况下基于125字节/轴的包),图3的双循环定时模型300可支持50轴/毫秒,而图2的单循环定时模型200可支持30轴/毫秒。因此,三循环定时模型400可被用于服务许多的轴。然而,应该认识到的是,所要求保护的主题并不限于此,因为每种定时模型可支持任意数目的轴/毫秒(和/或字节/轴)。
参照图5,所示出的是工业自动化环境中将与运动控制相关联的输入传输串行化的系统500。系统500可包括可同时或接近同时发送输入数据(例如,在由定时模型设定的输入周期期间)的任何数目的驱动器502。根据该示例,各个驱动器502各自可在粗略更新周期的开始或开始不久捕捉实际数据(例如,与位置和/或速度有关)。依照另一例示,这些数据包可以是较高优先级的数据包(例如,与非运动相关数据包相比,运动相关数据包可以与较高优先级相关联)。数据可以被发送到以太网交换器504。其后,以太网交换器504可以将来自各驱动器502的数据串行化并再将经过串行化的数据传送到控制器506。
虽然贯穿以下说明描述了单循环定时模型(例如,图2的单循环定时模型200),然而应该认识到的是,可以采用任何定时模型。例如,在单循环定时模型之外也可利用图3的双循环定时模型300和/或图4的三循环定时模型400或由它们来代替。
现在转到图6,所示出的是工业自动化环境中利用有助于控制运动的时间戳记方案的系统600。系统600包括在运动控制网络(未示出)上接收和/发送数据的接口602。接口602将该数据提供给运动控制组件604,其使用接收到的数据并产生其后在网络上被发送回不同运动控制组件(未示出)的输出。运动控制组件604包括时钟606以及利用时间戳组件610的更新组件608。
接口602可以通信地耦合至网络并可通过该网络接收和/发送数据。接口602可以是硬件、软件、或其组合。另外,接口602可以是有线连接、无线连接、端口等。接口602从网络获得数据和/或向其提供数据,该网络可以是例如基于以太网的网络的开放式标准网络。另外,该网络还可以是DeviceNet(设备网)和/或ControlNet(控制网)网络;然而,所要求保护的主题并不限于这些示例。该网络可以是支持运动控制的任何网络(例如,通用工业协议(CIP)网络)。接口602可以接收和/或提供任何类型的数据。例如,接口602可以收发命令数据和/或实际数据(例如,诸如实际主要位置、实际次要位置、实际速度、实际加速度、实际扭矩、实际电流、实际电压、实际频率等与驱动器相关联的实际数据)。作为另一例示,还可通过接口602交换输入/输出数据、人机交互数据、流视频数据、消息数据等。
接口602被通信地耦合至运动控制组件604。运动控制组件604与运动控制网络中的节点相关联。例如,运动控制组件604可以是控制器、驱动器、控制轴对象、驱动轴对象等。驱动器可以是被计划成控制马达的动态特性的设备。控制轴对象可以是定义基于控制器的轴的属性、服务、和行为的对象。另外,驱动轴对象可以是定义基于驱动器的轴的属性、服务、和行为的对象。轴可以是运动控制系统中呈现某些运动形式的逻辑要素。轴可以是旋转的、线性的、物理的、虚拟的、受控的、被监视的等。对象可利用诸如通用工业协议(CIP)运动标准等运动标准。可以预想的是,网络在运动控制组件604以外还可包括与其类似的任意数目的不同运动控制组件,其中每个运动控制组件都与该网络的不同节点相关联。
运动控制组件604包括时钟606。时钟606可以和与位于该运动控制网络内各个节点处的不同运动控制组件相关联的其它所有时钟相同步。或者,例如该网络中所有节点的子集可以使其时钟同步。例如IEEE 1588精确时间协议可以使时钟606和与其它网络节点相关联的时钟同步。可预想用于使时钟606同步的其它协议是NTM、NTP等;然而,这里所附的权利要求并不由此被限制。通过使时钟606与其它节点同步,从而跨网络地存在对时间的共同理解。作为示例,时钟606可以与网络中的不同时钟相同步以使得精准度可以在纳秒的范围内(例如,精准度达到50-100纳秒)。时钟606可以通过经由接口602接收多点传送包来同步。根据一个示例,多点传送包可包括在运动控制网络上每毫秒、每两毫秒等发送一次的时间戳。时钟606可获得多点传送包并与时间戳同步。另外,时钟606在与接收到的多点传送包同步时可以补偿网络延迟。
运动控制组件602还可包括可修改与运动控制组件604相关联的属性的更新组件608。作为例示,更新组件608可有助于修改运动控制组件604利用的命令、生成将被不同运动控制组件利用的命令、更新测得的与运动控制组件604相关联的数据等。例如,运动控制组件602可以是能接收由控制器生成的一组新命令数据的驱动器和/或驱动轴对象。命令数据可以由接口602接收并由更新组件608处理。作为例示,命令数据可指示该驱动器应与特定位置、速度、扭矩等相关联,而更新组件608能够实现这些修改的执行。另外,更新组件608可测量与驱动器相关联的实际数据并通过接口602在网络上将该实际数据发送给控制器和/或控制轴对象。依照另一例示,运动控制组件604可以是通过接口602从驱动器和/或驱动轴对象接收实际数据的控制器和/或控制轴对象。相应地,控制器和/或控制轴对象通过利用更新组件608可以基于对所接收到的与该驱动器相关联的实际数据的评估生成命令数据。此后,命令数据可通过接口602在网路上被发送给适当的驱动器和/或驱动轴对象以实现这些改变。
更新组件608可利用时间戳组件610来实现运动控制组件604和/或相应数据的更新。时间戳组件610可在被生成以供通过接口602在网路上传送的数据中包含时间戳。附加地或作为替换,时间戳组件610可评估通过接口602接收到的数据以标识与该数据相关联的时间戳。将时间戳包括在数据内允许数据在没有严格的数据传递定时的情况下被传递。时间通过将时间戳包含在数据中而被明确地传送。当运动控制组件604接收到新数据时,通过将时间戳值与时钟606标识的时间相比较,更新组件608可在与由时间戳组件610所标识的时间戳相对应的适当时间利用该数据。另外,由时钟606所指示的进行测量的时间可以通过时间戳组件610被包括到实际数据中。相反,常规时隙协议将时间作为更新循环的一部分隐含地来传送。这通常需要运动控制组件的严格或“硬性”同步。如果与时隙协议相关联的数据滞后,则该数据实际上就已丢失,因为它不再与其原始更新循环或时隙相关。
将时间戳包含在通过系统600传送的数据中使得不需要像常规技术所常见的那样将运动控制网络上的传输排定为多个时隙。相应地,时间戳记协议不需要复杂的配置以及对循环内的各个时隙就特定节点被允许在哪些时间允许通信进行协商。另外,通过网络上发送的时间戳记数据,不再对网络强加排定要求,因此,运动控制可以在还包括非运动网络通信的网络上操作。
转到图7,所示出的是能够平衡利用运动控制网络中的网络资源的系统700。系统700包括在网络相对其它节点接收和/或发送命令数据、实际数据、非运动相关数据等的接口702。接口702被耦合至包括时钟706和更新组件708的运动控制组件704。运动控制组件704可以是与运动控制网络中的节点相关联的硬件和/或对象。更新组件708可有助于更新与运动控制组件704相关联的命令和/或数据。更新组件708还包括将时间戳包括在数据中和/或评估与数据相关联的时间戳的时间戳组件710。
运动控制组件712还包括能够将连接更新周期分为不同间隔的循环定时组件712。例如,连接更新周期可被分为三个不同间隔输入传送间隔、计算间隔、以及输出传送间隔。作为例示,时钟706可标识跨运动控制网络上的节点的统一的当前时间。循环定时组件712可确定对应于当前时间的间隔并相应地使运动控制组件704实现特定动作。即使被示为包括在运动控制组件704之中,然而可预想的是,循环定时组件712可以与运动控制组件704分开、包括在运动控制网络中运动控制组件的仅仅一部分之中等。
根据一个例示,循环定时组件712可识别当前时间是在输入传送间隔内。因此,循环定时组件712能使数据通过接口702在网络上从驱动器和/或驱动轴对象被发送到控制器和/或控制轴对象。因此,如果该运动控制组件704是驱动器和/或驱动轴对象,则循环定时组件712能使接口702和/或运动控制组件704在该时间间隔期间将实际数据发送到控制器和/或控制轴对象。
依照另一例示,循环定时组件712可识别计算间隔和/或输出传送间隔。在计算间隔期间,控制器处理在输入传送间隔期间接收到的驱动器输入数据并计算发送回驱动器的新输出数据。可以在计算间隔结束时启动该数据的传输。另外,在输出传送间隔期间,输出数据包可以被发送到驱动器并可在下一连接更新循环开始前到达。
循环定时组件712能使运动控制网络内的驱动器节点(例如,运动控制组件704、不同运动控制组件)在相近的时间和/或同时发送实际数据而不是根据时隙技术排定每个节点在不同时间发送数据。如果结合交换全双工以太网使用循环定时组件712,通过在中央交换器与控制器之间的网络段上背靠背地压缩驱动器包,相对于利用时隙技术可提供网络带宽更为有效的使用。另外,这些包可通过利用时间戳记协议由网络的包间间隙来分离。相比而言,时隙协议需要在发送的包之间有额外的余量来调节时间上的偏离和/或其它等待的效应。
利用循环定时组件712可在运动相关数据(例如,命令数据、实际数据...)之外在网路上发送非运动相关数据(例如,输入/输出数据、人机交互数据、流视频数据、控制器对控制器的显式或隐式消息数据...)。例如,循环定时组件712能有助于标识当前时间与计算间隔相关联。输入数据(例如,实际数据)可在计算间隔之前从驱动器到达控制器。在计算间隔期间,可以跨网络发送较低优先级的数据(例如,非运动相关数据)。
控制器(例如,运动控制组件704)还可在计算间隔期间评估输入数据并为驱动器节点计算新的命令位置。由于在主驱动器与从驱动器之间通常有齿轮和/或凸轮传动关系,所以可以对输入数据进行评估。因此,对于要为从驱动器计算出的新命令,主驱动器的当前位置被确定。
更新循环可用循环定时组件712被分割为例如三段;然而,可利用各种分割,因此本主题要求并不限于该示例。根据该示例,第一个三分之一可被用于从驱动器到控制器的输入通信而最后一个三分之一可被用于从控制器向驱动器传送数据。在计算间隔期间,较低优先级的非运动数据可以被发送到网络中的各个节点以及从其被发送。
当循环定时组件712标识计算间隔结束时,运动控制包可以在网路上被发送到驱动器。因此,新命令数据被提供给驱动器以供在下一循环期间使用。循环定时组件712可支持具有同步服务的驱动器设备以及不具有同步服务的驱动器设备。例如,同步的驱动器通过利用时间事件可以在没有控制器介入的情况下向控制器发送数据。依照另一例示,没有同步的驱动器可在向控制器发送回实际数据之前等待来自该控制器的命令更新。
循环定时组件712能够利用单循环定时模型。例如,通过循环定时组件712可以在单循环中完成通过从命令位置传递对主实际位置的捕捉。相反,与时隙相关联的常规技术通常采用双循环定时模型,因为时隙协议通常不容许在发送控制器的命令数据之前有处理实际位置数据和发送新命令数据的时间。
转到图8,所示出的是能够在运动控制网络中传送动态结构数据的系统800。系统800包括在网络(例如,以太网、DeviceNet、ControlNet...)上接收和/或发送数据的接口802以及与该运动控制网络内的特定节点相关联的运动控制组件804(例如,控制器、控制轴对象、驱动器、驱动轴对象...)。运动控制组件804包括和与该运动控制网络内的不同运动控制组件(未示出)相关联的其它时钟同步的时钟806以提供对时间的共同理解。运动控制组件804还包括能够更新与运动控制组件804相关联的命令和/或数据的更新组件808。更新组件808可包括时间戳组件810、动态数据生成器812、以及数据格式评估器814。
更新组件808可例如根据接收到的由位于该运动控制网络内的远程节点上的控制器生成的命令数据,更新与运动控制组件804(例如,驱动器、驱动轴对象...)相关联的命令。另外或者作为替换,更新组件808可被用来测量与运动控制组件804(例如,驱动器、驱动轴对象...)相关联的属性(例如,位置、速度、扭矩...),这些属性此后可被发送到位于该运动控制网络上不同节点上的不同运动控制组件。此外,更新组件808可被用来分析由运动控制组件804(例如,控制器、控制轴对象...)从任意数目的位于该运动控制网络内的各个节点上的驱动器接收到的实际数据以生成命令数据。该命令数据可被发送到相应的驱动器和/或驱动轴对象。运动控制组件804和/或更新组件808生成的数据包括可通过时间戳组件810被包括在包中的时间戳。另外,时间戳组件810可评估时间戳以在由时钟806确定的特定时间执行动作。
更新组件808包括生成可与任意大小和/或内容相关联的动态数据的动态数据生成器812。数据结构的大小和/或内容可在更新之间变换。动态数据生成器812可在该数据内包括结构说明。例如,动态数据生成器812可在数据块标头中包括指示该数据的结构的信息。
另外,动态数据生成器812可在单个动态数据包内生成具有不同优先级的数据块。优先级可以确定该数据在驱动器处被应用的比率(例如,通过接收的运动控制组件)。例如,动态数据生成器812可生成具有高优先级的循环数据块、具有中优先级的事件数据块、以及具有低优先级的服务数据块。相对于为每种类型的数据发送单独的包,将这些数据块组合在单个动态数据包内能够有效使用以太网带宽。
循环数据可以是可定期由CIP运动连接传送的高优先级的实时数据。事件数据可以是在发生特定事件后可由CIP运动连接传送的中优先级的实时数据。事件可以是例如,对准、市场输入交易等。服务数据可以是当控制器请求时定期由CIP运动连接传送的低优先级的实时数据。服务数据可包括访问驱动轴对象属性的服务请求消息、根据运动计划程序运行驱动器、执行驱动器诊断等。
更新组件808另外包括数据格式评估器814,其可被用于评估通过接口802从运动控制网络内的不同节点接收到的数据以确定格式。例如,接收到的动态数据可在标头中包括偏移量以使具有不同处理优先级的不同数据块被复制到运动控制组件804(例如,控制器、驱动器...)内固定地址的缓冲器(未示出)。数据格式评估器814可有助于理解接收到的其后可被更新组件808所采用的数据包的格式。
数据包的大小由于诸多原因可能在更新之间会有改变。例如,驱动器的操作模式可能从位置循环控制器变为扭矩循环控制器。这些不同操作模式中的每一种需要不同的数据,相应地,在发生变化时数据大小也将会改变。另外,包的大小也可能在周期信息被从驱动器提供给控制器时(例如,诊断信息、与趋向驱动器位置错误相关联的数据)改变。相应地,动态数据生成器812可将该信息添加到所发送的数据。
常规运动控制协议在配置时间利用在运行时间中不能改变的固定大小的数据结构。因此,网络带宽可能会被浪费,因为数据结构的固定部分与不常传送的事件数据和服务数据相关联。相反,通过利用动态数据生成器812和/或数据格式评估器814为在网路上发送的数据提供了动态格式。
转到图9,所示出的是有助于对运动控制网络添加和/或移除节点的系统900。系统900包括在网路上接收和/发送通信的接口902。例如,可通过接口902发送和/或获得实际数据、命令数据、和/或非运动相关数据。系统900另外包括可与该运动控制网络内的节点相关联的运动控制组件904。例如,运动控制组件904可以是控制器、控制轴对象、驱动器、驱动轴对象等。依照一个例示,如果运动控制组件904是驱动器,则它能实现对马达的动态特性的控制。根据另一方面,运动控制组件904可以是能够生成通过接口902可被发送到位于该网络中远程节点上的驱动器和/或驱动轴对象的命令数据的控制器。
运动控制组件904包括和与不同运动控制组件(未示出)相关联的时钟同步以提供贯穿整个网络的对时间的共同理解的时钟906。另外,运动控制组件包括有助于更新与运动控制组件904相关联的命令、数据等的更新组件908。例如,运动控制组件904可以是在一特定更新循环中通过接口902从位于不同网络节点上的控制器接收命令数据的驱动器。更新组件908能够修改与该驱动器相关联的命令以遵照接收到的命令数据。所接收到的由控制器生成的命令数据可以具有指示该命令数据何时被应用到控制环的时间的时间戳。因此,更新组件908可利用评估与接收到的命令数据相关联的时间戳的时间戳组件910。利用时间戳组件910能够使消费节点上的运动控制组件(例如,运动控制组件904、驱动器、驱动轴对象...)接收具有时间戳的命令数据,并且即使该数据由于网络上的等待而迟到,运动控制组件904也能对数据等待进行补偿并以适当的方式将数据应用到控制环。因此,时间戳协议允许接收滞后数据并能够应用该滞后数据,而被硬同步的常规时隙协议通常不能容许滞后数据,因而通常丢弃这些滞后数据。另外,时间戳组件910可将时间戳包括在将从驱动器被发送到控制器的实际数据中。在这种情形中,时间戳可与数据被捕捉的时间相关。
运动控制组件904另外还可包括可支持对运动控制网络添加和/或移除节点(例如,各个远程网络位置上的不同运动控制组件)的节点布居组件912。作为示例,可向网络添加新的驱动器节点并且节点布居组件912可以有助于在被分配给该新驱动器节点地址的控制器中实例化一个新的控制轴对象。应该认识到的是,该新的驱动器节点可以在网络配置之后被添加到网络。相比而言,常规技术不支持在配置工具已经排定允许某些节点在某些时隙内通信的运动控制更新循环之后添加或移除节点。因此,常规技术通常需要重新配置时隙映射以使得能够改变网络内的节点数目。相反,节点布居组件912允许在配置之后和/或网络正在运行的同时对网络添加和/或移除节点。虽然被示为包括在运动控制组件904(例如,控制器)中,然而应该认识到的是,节点布居组件912可以是独立的组件、位于运动控制网络内任何位置、它们的结合等。
参照图10,所示出的是工业自动化环境中能够在开放网络上控制运动的系统1000。系统1000包括接收具有时间戳的数据(例如,命令数据、实际数据...)并将其提供给运动控制组件1004(例如,驱动器、驱动轴对象、控制器、控制轴对象...)的接口1002。运动控制组件1004可包括与运动控制网络内的其它时钟同步的时钟1006。另外,运动控制组件1004可包括更新组件1008,其包括评估和/或包括与通过接口1002接收和/或发送的和更新运动控制组件1004有关的数据相关联的时间戳的时间戳组件1010。
运动控制组件1004还可包括可利用时间戳来内推和/外推接收到的数据的数据调整组件1012。作为例示,运动控制组件1004(例如,控制器)可从驱动器接收具有时间戳的实际数据并且数据调整组件1012可使用该实际数据时间戳从实际数据外推与控制更新周期的开始相关联的时间。因此,由控制器表示的实际数据可以表示控制更新周期开始时间。根据另一示例,可通过数据调整组件1012来外推运动控制组件1004(例如,驱动器)接收到的命令数据以使其与将该命令应用到控制环的驱动器更新周期的开始相一致。在控制器不能为新驱动器更新周期提供最新命令数据时,运动控制组件1004(例如,驱动器)还可利用数据调整组件1012来外推用于驱动器更新的命令数据。因此,数据调整组件1012使得能够在有传输等待干扰时继续操作。
转到图11,所示出的是有助于利用时间戳记协议通过运动控制网络在控制器与驱动器之间进行通信的系统1100。系统1100包括通过网路1106发送数据的控制器1102(例如,控制轴对象)和驱动器1104(例如,驱动轴对象)。控制器1102包括可评估接收到的实际数据和/或根据该评估生成命令数据的更新组件1108。更新组件1108利用可评估与接收到的实际数据相关联的时间戳和/或在将要通过网络被发送到驱动器1104的命令数据中包括时间戳的时间戳组件1110。实际数据的时间戳可以与驱动器被测量实际属性的时间相关联。另外,命令数据的时间戳可以与驱动器实现相关命令的时间相关联。
驱动器1104另外还可包括更新组件1112和时间戳组件1114。应该认识到的是,更新组件1108和更新组件1112可以基本相类似和/或时间戳组件1110和时间戳组件1114可以基本相类型;然而,所要求保护的主题并不由此被限制。
循环定时组件(未示出)(例如,图2的循环定时组件212)可与系统1100结合利用以使得能够将更新循环分割为不同的间隔。例如,循环定时组件能够将更新循环分割为三个间隔输入传送间隔、计算间隔、以及输出传送间隔。根据该示例,在输入传送间隔期间,驱动器1104可将对应于测量值的实际数据通过网络1106发送给控制器1102。计算间隔额外提供了其间控制器1102评估所发送的实际数据和/或生成以供驱动器1104使用的新命令数据的时间。在计算间隔正在进行的同时,非运动相关数据可以通过网络1106被发送。此外,在输出传送间隔期间,控制器1102可将生成的命令数据通过网络1106提供给驱动器1104。这三个间隔相互之间比较可以是任意的时间长度。例如,诸间隔可以是为每个间隔分配三分之一的更新循环;然而,所要求保护的主题并不限于此,而是可以预想使用任意比例。另外,这些间隔可以在运行时间改变长度。作为例示,如果网络1106仅传送了少量运动控制数据,但是发送了大量I/O数据,则计算间隔可以被增大以适应更高的I/O通信。根据另一示例,可以通过根据I/O需求、运动控制通信、计算要求、轴数等确定计算间隔来实时地实现最优化。
依照利用循环定时组件的另一示例,预想非运动数据可以在更新循环的任何一个间隔期间被发送。例如,交换器可以在一个适当间隔期间将数据排列成高优先级的运动相关数据可被排列在缓冲区的前端,而低优先级的非运动相关数据可在计算间隔期间被发送。另外,如果运动相关数据没有填满输入传送间隔和/或输出传送间隔,则非运动相关数据可以在传输运动相关数据之后被发送,从而使得最大利用网络带宽。
转到图12,所示出的是能够通过采用时间戳记协议在控制器与驱动器之间的网络上发送运动控制数据和/或非运动数据的系统1200。系统1200包括M个控制器1202以及N个驱动器1204,其中M和N是任意的正整数。控制器1202通过网络1206与驱动器通信。控制器1202可包括利用与更新控制器1202有关的时间戳组件1210的更新组件1208。此外,驱动器可包括与更新组件1208基本相类似的更新组件1212,以及与时间戳组件1210基本相类似的时间戳组件1214。另外,CIP运动可支持同级控制器1202或同级驱动器1204之间的对等连接。例如,可采用多点传送对等连接。
系统1200支持利用例如多个控制器1202。相比而言,常规时隙协议通常不能在一个网路上采用多个控制器。控制器1202可以基本近似的更新周期或不同更新周期来运行。根据一个示例,控制器1202可利用相移来平衡与每个控制器1202相对应的运动数据通信;然而,所要求保护的主题并不由此被限制。
系统1200支持在任何时间添加和/或移除(诸)驱动器。根据一个示例,驱动器1204可以在配置之后被添加,而这在采用时隙的常规运动控制协议情况下是不允许的。另外,驱动器1204可以在系统1200正在运行时被添加和/或移除;因此,减少了与时隙协议重新配置相关联的停工时间。
参照图13,所示出的是有助于通过CIP运动驱动器连接发送数据的系统1300。CIP运动驱动器连接可包括两个单向单点传送连接一个将数据从控制器1302传到驱动器1304而另一个将数据从驱动器1304传到控制器1302。两个连接都可利用包括包含时间戳(例如,32位的时间戳)的标头以及用于驱动器节点所支持的每个轴实例的一系列数据块的数据结构。各实例还可被架槽(rack slot)进一步组织用于多轴驱动器平台。
驱动器1304与控制器1302之间的数据交换可以由控制器1302来设定步调,即对应于每一个接收到的控制器到驱动器数据包发送一个驱动器到控制器数据包。控制器到驱动器连接包可根据所配置的与连接更新周期相同的控制器更新周期来定期地被发送。与其间驱动器执行其控制计算的更新周期相对应的驱动器更新周期可以并且通常比控制器更新周期更快。常规时隙运动控制协议是硬同步的并且利用为驱动器更新周期整数倍的控制器更新周期。然而,由于CIP运动驱动器连接包包括时间戳,所以控制器更新周期不需要与驱动器更新周期具有整数倍关系。
CIP运动驱动器连接包内的每个实例数据块可包括与循环数据信道1306、事件数据信道1308、以及服务数据信道1310相关联的三个数据块集。给定更新的数据块的大小可以变化并且由连接和实例数据块标头来确定。另外,根据一个示例,数据信道(例如,循环数据信道1306、事件数据信道1308、服务数据信道1310)可具有不同的处理优先级。
循环数据信道1306可以在连接更新周期期间传送可被取样和/或计算的循环数据块。另外,循环数据信道1306可通过利用分布式系统时间与运动控制系统中的其它节点同步。循环数据可以是在驱动器更新周期内被立即处理和/或应用到驱动轴的高优先级的数据。
事件数据信道1308可以传送与驱动器事件(例如,对准、自导引...)相关联的数据。这些事件可发生在连接更新周期内。事件数据可以具有中优先级并可在连接更新周期内被处理和/或应用。
服务数据信道1310可以传送与作为在线配置和/或诊断功能的一部分的读取和/或写入驱动轴对象的属性值的服务请求相关联的数据。另外,服务数据信道1310可提供作为控制器指令执行的一部分的影响驱动轴对象行为的服务请求。服务数据可以具有最低的优先级并可以作为后台任务来缓冲和/或处理。此外,服务请求可以在连接更新周期内或其后的任何时间处理。
CIP运动驱动器连接的结构的大小和/或内容可以是动态的。每个块的结构可以由该连接结构内的标头的内容来确定,因此,省去了向驱动器发送用以解释该连接数据的单独的结构格式定义的需要。另外,CIP运动连接数据结构内的数据可以例如全部定向单个对象。
参照图14-16,示出了根据所要求保护的主题的各个方面的方法。虽然出于解释简明的目的,各方法仅作为一系列动作进行了显示和描述,然而应该理解和认识到的是,所要求保护的主题并不限为动作的顺序所限制,因为有些动作可以不同顺序发生和/或与在此显示和描述的动作之外的其它动作同时发生。例如,本领域的技术人员将会理解和认识到一种方法也可以替换地由诸如状态图中的一系列相关联的状态或事件来表示。此外,并不要求用所示出的所有动作来实现根据所要求保护的主题的方法。另外,还应该认识到的是,在下文中以及贯穿本说明书公开的方法能够被存储在制品上从而有助于将这些方法传输和传送到计算机。当在此使用时,术语制品旨在包括可从任何计算机可读设备、载体、或介质访问的计算机程序。
转到图14,所示出的是工业自动化环境中有助于在网络上用时间戳记协议控制运动的方法1400。在1402,时间戳被与运动相关数据包括在一起。该运动相关数据可以是例如,控制器生成的可被驱动器用来实现操作变化的命令数据。依照另一例示,运动相关数据可以是实际数据(例如,诸如实际主要位置、实际次要位置、实际速度、实际加速度、实际扭矩、实际电压、实际频率等与驱动器相关联的实际数据)。实际数据可以是一些可测值并且可被控制器用来生成供下一更新循环使用的正确的命令。包括在运动相关数据中的时间戳可以与实现命令的时间(例如,利用命令数据)和/或与测量相关的时间(例如,利用实际数据)相关联。时间戳可以被包括在例如运动相关数据包的标头中。
在1404,具有时间戳的运动相关数据在网络上被发送。利用任何网络和/或网络连接都被预想落在所要求保护的主题范围之内。根据一个例示,数据可以在诸如CIP网络等支持运动控制的网络上被发送。数据可以从例如控制器发送到驱动器(例如,命令数据)和/或从驱动器发送到控制器(例如,实际数据)。在1406,具有时间戳的运动相关数据被接收。在1408,可利用包括时间戳的运动相关数据来更新接收设备(例如,控制器、控制轴对象、驱动器、驱动轴对象...)。作为示例,控制器可以接受具有与在驱动器处进行测量的时间相对应的时间戳的实际数据。相应地,控制器可利用该数据以生成可被发送回驱动器和/或由驱动器在下一更新循环期间实现的新的命令。依照另一例示,驱动器可接收具有与实现命令(例如,驱动器可以被给予改变特定位置、速度、加速度、扭矩、电流、频率、电压等的指令)的时间相关联的时间戳的命令数据。时间可以通过使运动控制网络内的节点同步来确定;因此,存在对时间的共同理解。当达到相应时间时,驱动器可以实现新的命令。相应地,相对于时隙技术,通过采用时间戳记可以省去苛刻的配置要求、可以在配置之后添加或移除节点、并且数据即使由于网络等待而被延迟也仍然能被利用。
参照图15,所示出的是能够针对运动控制网络平衡与运动控制更新相关联的单循环定时的方法1500。在1502,时间戳与运动相关数据相关联。在1504,标识用于发送具有时间戳的运动相关数据的合适的间隔。例如,与节点相关联的时钟可以和与不同节点相关的不同时钟相同步以在网络内形成对时间的共同理解。另外,根据当前时间,可以标识特定间隔。根据一个方面,更新循环可以被分为输入传送间隔、计算间隔、以及输出传送间隔。在输出传送间隔期间,运动相关数据可以从驱动器被发送到控制器(例如,发送实际数据),而在输出传送间隔期间,运动相关数据可以从控制器被发送到驱动器(例如,发送命令数据)。在计算间隔期间,运动相关数据传输是停止的,由此使得非运动相关数据能够利用可用网络带宽。在1506,运动相关数据和时间戳一起在所标识的时间间隔期间在网路上被发送。在1508,具有时间戳的运动相关数据被接收节点所接收。在1510,接收节点(例如,接收设备)可以根据接收到的具有时间戳的运动相关数据被更新。
转到图16,所示出的是能够在运动控制网络上传输动态运动相关数据的方法1600。在1602,动态运动相关数据被生成。其数据结构的大小和/或内容可以在一次更新到下一次更新之间改变。动态运动相关数据可在诸如数据包的标头等数据本身内包括对其结构的说明。在1604,时间戳被与运动相关数据包括在一起。例如,时间戳可以与实现一个动作(例如,利用新命令数据)的时间和/或采取一个动作(例如,与实际数据相关联的测量)的时间相关联。在1606,具有时间戳的运动相关数据在网路上被发送(例如,从控制器到驱动器、从驱动器到控制器)。在1608,具有时间戳的运动相关数据被接收。在1610,确定具有时间戳的该运动相关数据的格式。例如,可以评估接收到的数据的标头以标识该结构。这种确定可被实现用来有助于分开数据。在1612,利用具有时间戳的运动相关数据来更新接收设备。
图17-25是示出了与时间戳记运动控制相关联的各个方面的示例性定时图。应该认识到的是,这些定时图仅作为示例被提供而所要求保护的主题并不由这些示例所限制。
具体转到图17,所示出的是描绘了如何利用精细差值将由控制器到驱动器连接传递的命令数据和时间戳应用到驱动轴的一个示例性定时图。根据该示例,连接数据在连接循环期间从控制器被发送到驱动器,其中控制器更新周期(CUP)不是驱动器更新周期的整数倍。作为控制任务的一部分,控制器发起控制器到驱动器连接包向目标驱动器的传输,该包具有递增的更新ID并含有新命令数据和指示当前控制更新周期的开始时间的新的控制器时间戳。目标轴的实例数据块还包括命令目标时间,其在此示例中被设为2以支持被添加到控制器时间戳的2*控制器更新周期(CUP)的精细内推延迟。驱动器运行在每个驱动器更新周期检查新的控制器到驱动器连接包数据的周期性驱动器任务,这可以通过检查被改变的更新ID来实现。如果驱动器任务发现新数据,则其是命令数据更新循环并且对该命令数据进行进一步处理。
驱动器随后可检查同步操作。如果驱动器没有被同步,则不需要执行滞后更新检查,因为避开滞后更新检查允许在起动期间或驱动器没有时间同步服务时对驱动器进行控制。如果驱动器被同步,则驱动器计算当前驱动器更新时间戳与控制器到驱动器连接包中的控制器时间戳之间的差异。如果该差异大于控制器更新延迟上限*控制器更新周期,则驱动器发出控制器更新故障。另外,如果该时间差异已经超出了连接更新周期的两倍,则当前精细内推多项式实际已变为外推多项式以允许驱动器应对该滞后数据状况直到新的数据到达。
此后可以应用命令数据。由于在该示例中使用了精细内推程序,所以驱动器根据被应用于控制器时间戳的目标时间Tctrl加命令目标时间与控制器更新周期的乘积或者2*CUP的命令基准计算精细内推多项式的系数。如果目标时间小于驱动器中的当前系统时间,则仍然根据该命令数据计算对多项式的新系数以提高外推计算的精准度。一般而言,无论何时只要命令数据滞后,该数据仍然表示可用的最新命令数据并且应该尽早被应用。
参照图18,所示出的是其中控制更新周期(CUP)不是驱动器更新周期的整数倍的另一示例性定时图。如该示例中所描绘的,命令目标时间被设为1并且计算出的多项式不是出于精细内推而是出于外推的目的被应用;外推允许驱动器在驱动器执行其控制计算时根据先前的轴轨迹计算精准命令数据值。
图19示出了一个示例性定时图,其显示了在具有不同驱动器更新周期以及相关联的控制器更新周期不是任何一个驱动器更新周期的整数倍的两个驱动轴之间的协调。控制器的运动计划程序任务将相同的命令位置和时间戳发送到虽然与系统时间同步但以不同驱动器更新速率运行的两个从驱动轴。当命令位置数据到达这两个驱动器时,它们使用控制器时间戳、命令目标时间、以及控制器更新周期根据在等于(控制器时间戳+命令目标时间*控制器更新周期)时的多项式值是指定的命令位置值这个约束计算内推多项式的新系数。由于对驱动器更新速率没有依存关系,所以每个驱动器计算出的多项式系数可以相同。由于两个驱动器都不具有与该目标时间重合的更新,所以驱动器使用精细内推多项式来计算每个驱动器更新的命令位置基准直到从控制器接收到新的命令位置。如果直到目标时间以后很长时间新命令位置都不到达,则驱动器继续如上图中所示的使用相同的多项式等式来“外推”用于之后驱动器更新的命令位置。该外推一直继续到新数据到达并且可以计算新系数。以这种方式,无论通过内推还是外推,每个从轴都可平稳地运行并且两个轴与主轴保持相位锁定。
转到图20,所示出的是一个示例性定时图,其显示了即使在控制器到驱动器连接包在跨CIP网络传播时遭受严重延迟的情况下也能保持多个CIP运动驱动轴的精确协调。根据该示例,从驱动轴2的包在传输过程中遭受严重延迟。结果,从上一精细内推多项式外推该轴的命令位置。这允许该轴在传输等待干扰时流畅地运动。当新命令数据到达时,由于外推误差,新命令值可能会不等于外推值。该误差会对运动轮廓(profile)造成干扰。外推误差的大小取决于运动轮廓的动态特性以及控制器更新速率。在大多数实际应用中,持续数个更新周期的传输等待的发生不会对相关联的运动轮廓产生任何明显干扰。
参照图21,描绘的是示出了控制器如何根据驱动器与控制器之间的相对时间戳调节来自驱动器的轴位置数据的示例性定时图。例如,当驱动器时间戳与控制器的本地更新时间戳不匹配时,控制器可根据轨迹来外推实际响应数据值以符合控制器的时间戳。
转到图22,所示出的是一个示例性定时图,其显示了如何使用由驱动器到控制器连接传递的实际数据和时间戳将驱动轴实际位置调整到控制器的时基。如果该轴被同步,则驱动器将当前驱动器任务时间戳与在上一命令数据更新期间确定的实际更新窗口相比较。实际更新窗口具有1个驱动器更新周期的持续时间并且在下一控制器更新的计算时间结束。如果时间戳在时间窗口内,则这是实际数据更新循环。如果时间戳在窗口之前,则驱动器等待将实际数据发送给控制器的下一驱动器任务。(这防止了在反馈捕捉与下一控制器任务的开始之间的时间过长的情况。)如果该轴没有被同步并且通过控制器到驱动器连接接收到命令更新,则这也是实际更新循环并且驱动器如下进行处理。否则,不采取动作并且结束任务。
如果实际更新循环被标识,则驱动器将包括当前驱动器更新时间戳、以及递增的更新ID并且具有来自该驱动器任务的最新实际数据的驱动器到控制器连接包发送给控制器。该包中被发送给驱动器的所有其它数据可以从先前的驱动器任务得到。这允许在驱动器任务执行中的最早时间发生驱动器传输。控制器通过检查被改变的更新ID来检查来自驱动器的新数据。不管更新ID是否改变都将执行以下内容。根据一个方面,更新ID在驱动器没有被同步时可能会是检查新实际数据的唯一方法。
此外,驱动器检查驱动器节点控制字节的同步位以确定该驱动轴是否被同步。如果该驱动轴没有被同步,则控制器应用实际数据以避免滞后更新检查和时间戳纠错。利用这种回避允许驱动器在起动期间或者即使在驱动器没有任何时间同步服务的情形中也能运行。
还可利用滞后更新检查从而使控制器计算当前连接更新周期的时间戳与驱动器到控制器连接包中的时间戳之间的差异。如果差异大于丢失更新容限*更新周期,则控制器发出控制器同步错误。另外,如果先前计算的时间差异非零,则可根据先前的轴实际轨迹来外推实际数据值以与控制器的时间戳相一致。由于运动计划程序假定实际输入是被戳记为控制器更新周期的开始的隐性时间,所以该纠错是必须的。此外,控制器可将作为输入的实际数据应用于计算新命令基准数据的运动计划程序。
转到图23,所示出的是一个示例性定时图,其描绘了如何使用由驱动器到驱动器对等连接传递的实际数据和时间戳将驱动轴实际位置调整到控制器的时基。在该示例中,主轴位置被产生驱动器所捕捉并通过多点传送CIP运动对等驱动器到驱动器(例如,在传动轴应用中)被发送到一个或多个消费驱动器。当主实际位置被另一驱动器所消费时,该消费者进行外推以补偿在连接上遭受的延迟。这是通过使用与被消费的实际数据元素相关联的产生方的时间戳Tpro和由消费控制器锁定的消费者的时间戳Tcon来完成的。一旦为对等连接延迟进行了纠错,则通过电子传动装置,与该消费驱动器相关联的远程从轴可以相对于主轴被精确地定相。这可以在消费和产生驱动器以不同更新速率运算时利用。另外,消费驱动器的更新周期可以大于或小于产生驱动器,只要它们都以分布式系统时间运行。
图24示出了其中产生驱动器将命令位置分布到多个消费驱动器的一个示例性定时图。当主命令位置被另一驱动器所消费时,该消费者进行外推以补偿在连接上遭受的延迟。这可以通过使用与被消费的实际数据元素相关联的产生方的时间戳Tpro以及由消费控制器锁定的消费者的时间戳Tcon来完成。一旦为对等连接延迟进行了纠错,则通过电子齿轮传动,与消费驱动器相关联的远程从轴就可以相对于主轴被精确地定相。
转到图25,所示出的是其中产生驱动器被配置成将本地主命令位置基准延迟表示主命令延迟的一个产生方更新周期Tmcd的一个示例性定时图。这使得所需要用来补偿对等网路上遭受的延迟的外推量最小化。在该示例中,主命令延迟是250μs。由于消费驱动器的更新周期也是250μs,所以净外推时间为0。
参照图26,用于实现本发明各方面的一个示例性环境2610包括计算机2612。计算机2612包括处理单元2614、系统存储器2616、以及系统总线2618。系统总线2618将包括但并不限于系统存储器2616的系统组件耦合至处理单元2614。处理单元2614可以是各种可用处理器中的任意一种。双微处理器和其它多处理器架构也可被用作处理单元2614。
系统总线2618可以是包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线架构的局部总线在内的诸多类型的总线结构中的任意一种,这些可用总线架构包括但并不限于8位总线、工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、智能驱动电路(IDE)、VESA本地总线(VLB)、外围组件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、以及小型计算机系统接口(SCSI)。
系统存储器2616包括易失性存储器2620和非易失性存储器2622。含有用于在诸如启动期间在计算机2612内的各要素之间传送信息的基本例程的基本输入/输出系统(BIOS)通常被存储在非易失性存储器2622中。作为示例而非限制,非易失性存储器2622可包括只读存储器(ROM)、可编程ROM(PROM)、电子可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、或闪存。易失性存储器2620包括用作外部高速缓冲存储器的随机存取存储器(RAM)。作为示例而非限制,RAM以诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、存储器总线直接RAM(RDRAM)的形式可供使用。
计算机2612还包括可移动/不可移动、易失性/非易失性计算机存储介质。图26示出了例如盘存储2624。盘存储2624包括但并不限于,类似于磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒等的设备。另外,盘存储2624可包括与其它存储介质分开或相结合的存储介质,这些其它存储介质包括但并不限于,诸如压缩盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字通用盘ROM驱动器(DVD-ROM)等光盘驱动器。为了有助于将盘存储设备2624连接至系统总线2618,通常使用诸如接口2626等可移动或不可移动接口。
应该认识到的是,图26描述了在用户与于合适的操作环境2610中所述的基本计算机资源之间起到中介作用的软件。这些软件包括操作系统2628。可存储在盘存储2624上的操作系统2628用于控制和分配计算机系统2612的资源。系统应用2630利用操作系统2628通过存储在系统存储器2616或盘存储2624上的程序模块2632和程序数据2634来对资源进行管理。应该认识到的是,本主题发明可以用各种操作系统或其组合来实现。
用户通过输入设备2636将命令或信息输入到计算机2612中。输入设备2636包括,但并不限于,诸如鼠标、跟踪球、指示笔、触摸垫等定位设备、键盘、话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描器、TV调谐卡、数码相机、数码摄像机、以及web相机等。这些和其它输入设备经由接口端口2638通过系统总线2618连接至处理单元2614。接口端口1338包括,例如串行端口、并行端口、游戏端口、以及通用串行总线(USB)。输出设备2640使用一些与输入设备2636相同类型的端口。因此,例如USB端口可被用于向计算机2612提供输入,以及将信息从计算机2612输出到输出设备2640。输出适配器2642被设置以说明在输出设备2640中有一些如于监视器、扬声器、以及打印机等的输出设备2640需要特别的适配器。输出适配器2642包括作为示例但无限制性意义的在输出设备2640与系统总线2618之间提供一种连接装置的视频和声卡。应该认识到的是,诸如远程计算机2644等其它设备和/或设备的系统也提供输入和输出能力两者。
计算机2612可在使用与诸如远程计算机2644等一个或多个远程计算机的逻辑连接的联网环境中操作。远程计算机2644可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其它公共网络节点等,并且通常包括以上关于计算机2612所描述的部分或所有要素。出于简明的目的,远程计算机2644仅示出了存储器存储设备2646。远程计算机2644通过网络接口2648被逻辑地连接至计算机2612并随后通过通信连接2650物理地连接。网络接口2648包括诸如局域网(LAN)和广域网(WAN)等通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE 802.5等。WAN技术包括,但并不限于,点对点链接、类似于综合业务数字网(ISDN)及其变形的电路交换网络、分组交换网络、以及数字用户环线(DSL)等。
通信连接2650是指用于将网络接口2648连接至总线2618的硬件/软件。虽然通信连接2650示例性地清楚显示在计算机2612内部,然而也可以在计算机2612外部。仅出于示例性的目的,与网络接口2648的连接所需的硬件/软件包括,诸如包括常规电话级调制解调器、电缆调制解调器以及DSL调制解调器的调制解调器、ISDN适配器、以及以太网卡等内置和外置技术。
图27是可与本主题发明交互的一个实例计算环境2700的示意框图。系统2700包括一个或多个客户机2710。客户机2710可以是硬件和/或软件(例如,线程、过程、计算设备)。系统2700还包括一个或多个服务器2730。服务器2730可以是硬件和/或软件(例如,线程、过程、计算设备)。服务器2730可容纳例如通过采用本主题发明来执行变换的线程。客户机2710与服务器2730之间的一个可能通信可以用适于在两个或多个计算机过程之间发送的数据包的形式。系统2700包括可用于有助于客户机2710与服务器2730之间的通信的通信框架2750。客户机2710被操作性地连接至可用于存储客户机2710的本地信息的一个或多个客户机数据存储2760。类似地,服务器2730被操作性地连接至可被用于存储服务器2730的本地信息的一个或多个服务器数据存储2740。
以上所作说明包括本主题发明的示例。当然不可能为了说明本主题发明描述这些组件或方法的每一个可想到的组合,但是本领域的普通技术人员可以认识到本主题发明的其它组合和置换是可能的。相应地,本主题发明旨在包括落在所附权利要求的精神实质和范围内的所有变更、修改、和变化。此外,就在具体说明或权利要求中使用的术语“包括”来的程度说,该术语旨在以与术语“包括在内”在用作权利要求中的过渡措词时被解释地相近似的方式表示包含的意思。
附录A 1连接 CIP运动定义了驱动轴对象支持的三种不同连接结构。它们是控制器到驱动器连接、驱动器到控制器连接、以及驱动器对等连接。前两种连接结构提供了控制器轴对象与驱动轴对象之间的双向连接并且一同被称为CIP运动驱动器连接。驱动器对等连接是像适用于驱动器一样同样适用于同级控制器的CIP运动对等连接的一个特殊应用。
1.1 CIP运动驱动器连接 以下小节是包括用于运动控制器与驱动器之间的双向数据传送的控制器到驱动器连接以及驱动器到控制器连接的CIP运动驱动器连接格式的描述。
1.1.1驱动器连接特征 以下是与CIP运动驱动器连接相关联的特征列表 1.用一个控制器更新周期的等待传送循环数据和事件的能力。
2.向驱动器做出用于驱动器配置、调整、以及诊断的低优先级的服务请求的能力。
3.适用于使用双向单点传送连接的星形或雏菊链网络拓扑结构。
4.每个网络节点处理高达255个轴实例的能力。
5.处理具有由一个通信节点服务的多个轴实例的驱动器的能力。
6.元素定义为标准扩展以及供应方专用扩展提供了空间。
7.各个轴实例可具有不同的连接数据结构。
8.驱动器操作模式和循环命令及实际数据集配置两者都被嵌入到循环数据结构中从而使得驱动器操作模式能及时快速地同步改变。
9.支持多信道循环参数读取/写入存取。每个数据信道的内容被清晰地定义为循环连接数据的一部分从而使得相关联的数据映射到什么属性没有模糊不清。
10.支持数据缓冲/阵列传送服务。这种阵列数据传送能力可被用来从驱动器获取阵列数据以用于高速转向或被用来向驱动器设置阵列数据以用于高速增益调度或建立凸轮表。
11.支持具有错误报告的驱动器控制和驱动器响应位握手机制以发起诸如清除故障和关机请求等各种基本状态控制操作。
12.连接标头包括提供控制器或驱动器的更新计时器事件发生时的系统时间的时间戳。
13.使用经过时间戳记的数据,连接定时模型可支持具有不同更新速率和相位偏移的驱动器和控制器。因此,控制器的更新周期不再需要为驱动器更新周期的整数倍。
14.连接定时模型还包括操作诸如低成本VFD驱动器等没有时间同步服务的驱动器的能力。
15.在存在重要HMI、I/O、消息、以及其它使用标准以太网传输协议(例如,TCP和UDP)的以太网通信、CIP或非CIP时可靠运行的能力。
16.在运行时间添加或移除以太网节点而不会不利地影响到现有节点的CIP运动驱动器连接的操作的能力。(随网络拓扑结构而定) 17.在线地添加或移除CIP运动驱动器节点而不干扰其它驱动器节点的操作的能力。(随网络拓扑结构而定) 18.在存在更新数据包滞后或丢失的情况时改善的运动控制性能能够最佳地使用所发送的命令数据。
19.内置的有助于现有驱动器和控制设备以及CIP运动驱动器连接数据结构的较早版本的向后兼容性的连接格式修正。
20.连接格式被组织成使32位字为32位对齐而使16位字为16位对齐。这有助于存储器存取。
表1-1控制器到驱动器连接格式 表1-2驱动器到控制器连接格式 1.1.2 CIP运动驱动器连接概述 CIP运动驱动器连接实际上由两个单项单点传送连接组成一个将数据从控制器传到驱动器而另一个将数据从驱动器传到控制器。两个连接数据结构都以包括32位时间戳的连接标头开始,其后是驱动器节点所支持的每个轴实例的一系列数据块。
驱动器与控制器之间的数据交换是以针对每一个接收到的控制器到驱动器数据包发送一个驱动器到控制器数据包的方式由控制器来定调的。控制器到驱动器连接包是根据配置的控制器更新周期来周期性地被发送的。驱动器更新周期,即驱动器根据其执行控制计算的更新周期通常比控制器更新周期快得多,而绝大多数运动控制协议要求控制器更新周期为驱动器更新周期的整数倍。但是由于CIP运动驱动器连接包包括时间戳,所以控制器的更新周期不需要和驱动器的更新周期有任何固定关系。在本文档的结尾包括了具体的定时图。
CIP运动驱动器连接包内的每个实例数据块由与循环、事件、以及服务数据信道相关联的三组数据块组成。给定更新的三个数据块的大小是可变的并且由连接和实例数据块标头确定。从驱动器的角度来说,这三个不同数据信道具有如图8所示的不同数据处理优先级。
这三个数据信道的具体功能如下 ·循环数据信道——传送在每个控制器更新周期被采样和计算并通过使用分布式系统时间与运动控制系统中的其它节点同步的循环数据块。循环数据是必须在一个驱动器更新周期内立即处理并应用到驱动轴的高优先级数据。
·事件数据信道——传送与在上个控制器更新周期内发生的驱动器事件(例如,对准、自导引(homing)等)相关联的事件数据。事件数据为中优先级并且应该在一个控制器更新周期内被处理和应用。
·服务数据信道——传送与作为在线配置和诊断功能的一部分的读取或写入驱动轴对象的属性值的服务请求以及作为控制器指令执行的一部分的影响驱动轴对象行为的服务请求相关联的数据。服务数据具有最低优先级并通常作为后台任务被缓冲和处理。服务请求不能保证将在控制器更新周期内被处理。
1.2控制器到驱动器连接 为了有助于具体说明其每个组成数据元素,CIP运动控制器到驱动器连接被组织如下 表1-3 CIP运动控制器到驱动器连接格式 1.2.1控制器到驱动器连接标头 控制器到驱动器连接标头包含用于解析实例数据块所需的轴配置关键信息。
连接标头的固定部分被定义如下 表1-4连接标头 ·连接格式所枚举的该字节确定根据以下定义的CIP运动连接的格式 表1-5连接格式 位7位0 ·连接类型这4位枚举将CIP运动连接类型定义如下。控制器到驱动器连接的有效值是2和6。固定连接在操作期间有固定的连接大小以支持类似于ControlNet和DeviceNet等低性能的CIP网络并且通常与不支持时间同步服务的简单的单轴驱动设备相关联。可变连接允许连接数据结构在操作过程中改变大小并且定位于如以太网/IP等高性能的CIP网络。
0=固定控制器对等连接 1=固定驱动器对等连接 2=固定控制器到驱动器连接 3=固定驱动器到控制器连接 4=可变控制器对等连接 5=可变驱动器对等连接 6=可变控制器到驱动器连接 7=可变驱动器到控制器连接 8-15=预留 ·格式修正初始发布为1,该值针对影响接口的控制器到驱动器连接格式的每次修正都递增1。格式修正允许较新的驱动器支持较老的控制器所生成的连接格式。这还允许较老的驱动器认出其不能支持的来自控制器的较新的连接格式并生成适当的错误。
·更新ID该循环处理编号每个更新周期递增一次。更新ID类似于CIP序列计数并且被驱动器用于确定连接缓冲是否包含新数据。如果更新ID没有改变,则驱动器尝试根据先前的轨迹通过外推来应对丢失的更新直到新的数据到来。在驱动轴没有被同步或不支持时间同步服务的情形中,则没有包括时间戳数据或者时间戳无效,所以不尝试进行外推。在这种情形中,更新ID是驱动器检查新连接数据的唯一途径。
·节点控制包含用于控制相关联的驱动器通信节点的状态的位。
表1-6节点控制 远程控制位被用于请求该驱动器节点将驱动器设备的全部控制转交给控制器。
如果该位为零,则驱动器处于本地接口的排它控制之下;CIP运动控制器除非将该驱动器切换回远程控制模式,否则用任何方式都不能影响该驱动器的行为。同步控制位被控制器用于请求对驱动器进行同步操作。同步操作被定义为将该驱动器节点的本地计时器与系统时间进行同步并且该驱动器节点使用控制器时间戳来处理连接数据。同步控制位还意味着控制器时间戳有效。该位在同步操作持续期间应该保持被设定。在异步模式中,不需要本地计时器被同步,也不需要时间戳或时间戳有效。
控制器数据有效位必须被设定以使得驱动器节点可以处理实例数据块。在连接初始化序列期间,可能会有一段时间实例数据块中的连接数据还没有被初始化。
驱动器可以通过首先检查该位并发现其为0来认识到该情况。
节点故障复位位被用于请求驱动器执行通信节点的复位并尝试将节点故障位清零。当控制器检查到节点故障位为0时,则节点故障复位位被清零。如果通信故障仍然持续,则节点故障位可以保持设定,在这种情形下必须执行动力循环或全部重新配置过程。
1.2.1.1固定连接标头 如果连接格式是固定控制器到驱动器连接,则以上标头之后紧跟着是实例数据块。
1.2.1.2可变连接标头 如果连接格式是可变控制器到驱动器连接,则连接标头包含与多轴驱动器寻址和时间戳记有关的附加字段。
表1-7连接标头 ·实例计数该值反应了CIP运动控制器到驱动器连接数据结构中存在的实例数据块的数目。
·时间配置该位所映射的字节包含确定控制器的定时信息的使用和格式的标志。
表1-8时间配置 ·控制器更新周期该元素定义按纳秒计的控制器数据的更新周期。当连接被同步时,控制器更新周期和控制器时间戳一起被驱动器用来检查丢失或滞后的更新。如果上个控制器时间戳与当前本地驱动器时间戳之间的差异超出了由下式给定的最大值 最大延迟=控制器更新延迟上限*控制器更新周期 则控制器更新故障位在驱动轴对象的节点故障类属性中被设置。还可利用任选的控制器更新延迟下限属性。如果上个控制器时间戳与当前本地驱动器时间戳之间的差异超过了由下式给定的最大值 最大延迟=控制器更新延迟下限*控制器更新周期 则控制器更新警报位在驱动轴对象的节点警报类属性中被设置。
当连接被同步并且能够进行精细内推时,控制器更新周期与控制器时间戳值一起还被驱动器用于计算内推/外推多项式的新系数。
在连接没有被同步的情形中,驱动器不执行滞后更新检查。在这种情形中,应该立即应用命令数据,这意味着立即将该数据作为命令基准来应用。
·控制器时间戳该元素携带控制器的更新计时器事件发生时即控制器更新周期开始时的64位系统时间值的低32位。控制器时间戳因此直接与包含在连接中的命令数据相关联。该值由驱动器使用驱动器本地系统时间值的高32位被恢复为其原始64位表示。单位时间戳是以纳秒来表示的。通过与控制器更新周期一起被采用,驱动器具有了计算用以针对驱动器与控制器更新定时之间的差异进行命令数据值纠正的命令内推/外推多项式所需的全部信息。这些差异可能会在控制器更新周期不是驱动器更新周期的整数倍时或在驱动器更新相对控制器有相移时发生。
1.2.2实例数据块 在连接标头之后是由以上实例计数确定的一个或多个实例数据块。实例数据块具有以下基本结构 表1-9实例数据块 1.2.2.1实例数据标头 实例数据标头包含用于解析和应用包含在三个数据信道中的数据所需的关键轴配置信息。该标头仅包括在可变连接格式中以容许多轴驱动器应用。驱动器通信接口可使用该标头内的信息将各个数据块复制到分开的固定存储位置以便处理。
如果是配置用于固定连接格式,由于只支持单个轴实例的循环数据块,所以不需要任何信息来指定实例编号或块大小。因此没有包括实例数据标头。
表1-10实例数据标头 ·实例编号这是标识之后实例数据块所应用的具体驱动轴对象实例的数目。驱动轴对象实例被创建为以实例1开始的一系列相邻的实例编号。在连接数据结构内,每个连续实例数据块的实例编号应该为顺序序列,即1、2、3等。(注意,实例0被定义为类实例,通常不用作连接数据的一部分)。因此在理论上,CIP运动驱动器连接可服务达255个实例。
·实例块大小该值以32位字表示包括标头的实例数据块的大小。实例块大小在驱动器希望不需要将循环、事件以及服务块的大小进行相加而直接存取下一实例数据块时使用。
·循环块大小该值以32位字单位表示包括标头的循环数据块的大小。
·循环命令块大小该值以32位字单位表示包括标头的循环命令数据块的大小。
·循环写入块大小该值以32位字单位表示包括标头的循环写入数据块的大小。
如果循环写入块大小为0则指示驱动器不需要支持循环读取/写入功能。
·事件块大小该值以32位字单位表示包括标头的事件数据块的大小。如果事件块大小为0,则驱动器不需要支持事件功能。
·服务块大小该值以32位字单位包括标头的表示服务数据块的大小。服务块大小值为0指示没有要处理的服务请求。
1.2.2.2循环数据块 不论连接格式如何总会在循环数据块前端包括循环数据标头。该标头包含与控制器到驱动器连接以及驱动器到控制器连接两者的循环数据块的内容、以及由控制模式和反馈配置确定的数据的语境有关的关键元素。标头还提供了控制目标驱动轴的状态的机制。
表1-11循环数据标头 ·控制模式所列举的这8位值确定在运动控制器中当前配置的命令数据的控制模式语境。该值可以在在线时以及甚至在驱动轴处于运行状态时被改变。如果驱动器不支持一特定的控制模式转换,则生成异常从而被配置成响应于该非法转换执行若干动作中的任意一种。
·反馈配置所列举的这8位值指示在运动控制器中当前配置的命令数据的反馈语境。命令数据可以参考反馈1或反馈2中任意反馈、或对于无传感器操作的无反馈。该值可以在在线时以及甚至在驱动轴处于运行状态时被改变。如果驱动器不支持一特定的反馈配置转换,则生成异常从而被配置成响应于该非法转换执行若干动作中的任意一种。
·驱动器控制这8位字是枚举参数,它们可被用于直接执行驱动器操作而无需传送或返回驱动器参数由此也不需要发起CIP服务。该数据元素的有效枚举如下所示 表1-12驱动器控制 通过驱动器控制机制执行驱动器操作工作如下 1.控制器设置所需要的驱动器控制请求代码。
2.驱动器检测新的驱动器控制请求代码并发起所请求的操作。
3.一旦所请求的操作完成,驱动器就在驱动器到控制器连接的驱动器响应元素中设置相匹配的确认代码以确认该操作。同时驱动器在所请求的动作成功时将响应代码设为0或者在所请求的操作失败时将其设为合适的错误代码。
4.控制器查看匹配的驱动器响应确认代码,处理该响应代码、然后将初始驱动器控制请求代码清零用于下一更新循环。(或者,可发出不同的驱动器控制请求代码并从步骤2开始重复。) 5.驱动器看到驱动器控制请求代码为0并在下一更新循环之前将相应的驱动器响应确认代码清零。
·命令数据配置该位所映射的值有一位被定义用于每个可能的实时命令基准。
命令数据以与位编号相同的顺序出现在命令数据集中,所以命令位置将出现在控制器到驱动器连接的实时数据结构中命令扭矩之前。
表1-13令数据配置 命令数据块根据活动运动计划程序的位置可出现在控制器到驱动器连接或驱动器到控制器连接中。活动运动计划程序的位置由包含在驱动器控制模式属性中的计划程序模式值确定。
如果计划程序模式指示运动计划程序在控制器中运行,则以上控制器命令数据元素适用于控制器到驱动器连接的循环数据结构并映射下表中所示的驱动轴对象中的相应属性。命令数据元素单元匹配被定义用于相关联的驱动轴对象属性的单元。
表1-14在基于控制器的计划程序时命令数据元素对驱动对象的映射 如果计划程序模式指示运动计划程序在驱动器中运行,则以上控制器命令数据元素适用于驱动器到控制器连接的循环数据结构并映射下表中所示的驱动轴对象中的相应属性。
表1-15在基于控制器的计划程序时命令数据元素对驱动对象的映射 确保必要的命令数据元素被包括在连接数据中以支持指定驱动器操作模式是控制器任务。
·实际数据配置该位所映射的值有一位被定义用于将被包括在下一更新中的驱动器到控制器连接的实例数据块的实际数据集中的每一个可能的实时实际数据属性。实际数据以与位编号相同的顺序出现,所以实际位置将出现在实际数据集结构中实际扭矩之前。使用该机制,实际数据集的内容可在驱动器操作期间的任意时间被改变。
表1-16实际数据配置 以上实际数据元素映射下表中所示的驱动轴对象中的相应属性。实际数据元素单元匹配被定义用于相关联的驱动轴对象属性的单元。
表1-17实际数据元素对驱动轴对象属性的映射 ·状况数据配置该位所映射的字节包含确定下一更新中驱动器到控制器连接的实例数据块的状况数据集的内容的标志。状况数据以与位编号相同的顺序出现,所以驱动器状况将出现在状况数据集结构中比如故障历史数据之前。这些状况数据元素中每一个的定义都可通过查找相应的驱动轴对象属性规范找到。
表1-18状况数据配置 ·内推控制该字节包含控制精细内推算法以及确定驱动器控制结构的命令数据的目标时间所需的信息。
表1-19内推控制 命令目标时间——这2位整数定义作为命令数据的目标的相对于连接时间戳的一特定时间,它由控制器的运动计划程序所定义。绝对命令目标时间是来自控制器的控制器时间戳与命令目标时间*控制器更新周期这一乘积的和。
命令目标时间为0意味着命令数据的目标是当前更新循环的开始,因此需要立即应用到控制结构。在这种情形中,不需要任何精细内推。这种情形发生在控制器更新周期大大短于驱动器更新周期时或者所控制的该轴的运动在控制器更新周期期间近乎恒定时。
命令目标时间为1意味着命令数据的目标是下一连接更新计时器事件。
在这种情形中,命令内推程序功能主要起根据轴的当前轨迹估计下一命令数据值的外推程序的作用。这是在控制器更新周期与驱动器更新周期相当时或所控制的轴的运动在控制器更新周期期间相对恒定时的典型设置。
命令目标时间为2意味着命令数据的目标是离连接时间戳的两个连接更新计时器事件。在这种情形中,命令内推程序可根据电机的当前动力计算流畅的轨迹以在目标时间达到命令数据值。这在控制器更新周期显著大于驱动器更新周期时为真正的精细内推和适用。
·循环命令数据循环命令数据包含需要在下一驱动器更新期间被应用到相关联的驱动轴实例的高优先级的数据。该块由作为基准被应用到驱动器的控制器算法并且由循环命令数据标头中的命令数据集元素显式确定的命令数据元素组成。
1.2.2.3循环写入数据块 循环写入数据块可被用于同步地更新驱动器内的一个或多个目标驱动轴对象配置参数。该机制可以与功能块程序结合使用以实现复杂的外部循环控制、增益调度、以及动态特性限制算法。与可花费若干驱动器更新周期来处理的服务信道设置驱动器属性服务请求不同,循环写入数据机制确保目标参数在下一可用的驱动器更新时被应用。
仅在可变连接格式中支持循环写入数据块。
表1-20循环写入数据块 该块的相关联的标头包含与循环写入数据块的内容有关的关键元素。
·循环写入块ID这16位ID确定应用到该次更新的循环写入数据的预先定义的循环写入块结构。循环写入块结构是使用设置循环写入数据列表服务来定义的。
该服务的成功响应包括可在下一连接更新中使用从而以该格式传送循环数据的新的循环写入块ID。
·循环读取块ID这16位ID确定应用到下一驱动器到控制器连接更新的循环读取数据的预先定义的循环读取块结构。循环读取块结构是使用设置循环读取块服务来定义的。该服务的成功响应包括可在下一连接更新中使用从而允许驱动器在下一可用的驱动器到控制器连接更新使用新的循环读取数据格式的新的循环读取块ID。
·循环写入数据循环写入数据包含需要在下一驱动器更新期间应用到相关联的驱动器轴实例的高优先级数据。该块由被应用到由控制算法使用的驱动轴对象属性的参数化数据元素组成。循环写入数据的内容由可在循环写入数据标头中找到的循环写入块ID标识的结构来显式地确定。
1.2.3事件数据块 事件数据块被用于传送关于事件信道的信息。特别地,控制器到驱动器连接的事件数据块被用于控制驱动器中事件检查功能的待命(arming)以及确认通过驱动器到控制器连接的事件数据块发送自驱动器的事件通知的接收。
控制器到驱动器连接的事件数据块具有以下格式。
表1-21事件数据块 ·事件检查控制这32位字被复制到用于允许诸如标记或对准输入等各种驱动器输入以生成事件的相同名称的驱动轴对象属性中。当这些事件发生时,驱动器捕捉事件发生时的时间和精确的轴位置。事件检查控制的最后4位是指定实际事件的数目的二进制值,该数目就是列在该事件数据块中的事件确认ID的数目。
事件控制机制工作如下 1.控制器设置适当的事件检查位以寻找要发生的特定事件条件。事件检查控制字中的多个位可以在任意时间被设置。
2.驱动器检测到事件检查控制请求位被设置并发起所请求的事件检查动作。
3.驱动器设置相应的事件检查状况位以确认驱动器现在正活动地检查指定事件条件。
4.控制器看到来自驱动器的事件检查状况位被设置以指示所指定的事件待命因素在驱动器处“待命(armed)”。从该更新开始,控制器可以处理来自驱动器的与指定事件条件相匹配的任何事件通知。
5.驱动器检测指定的事件条件并将事件通知数据块发送给控制器。如果相关联的自动重新待命位在事件检查控制字中为零,则驱动器中止检查指定事件。然而,事件检查状况位保持被设置直到事件检查请求位被控制器清零。需要注意的是其它事件的通知也可以在同一更新中被发送。
6.控制器处理该事件通知、将事件确认发送给驱动器、以及如果自动重新待命没有被启用则清除相关联的事件检查位以用于下一控制器到驱动器连接更新。
7.驱动器检测到事件检查请求位被清零并且在下一驱动器到控制器连接更新之前将相应的事件检查状况位清零。
8.控制器在其见到相关联的事件检查状况位已被复位后能够尽快重新设置事件检查位。所以,控制器接收到事件通知与驱动器被重新待命用于下一事件之间的最小时间是一个控制器更新周期。
在自动重新待命事件检查被请求时的对准事件的情形中,事件处理序列如下 1.控制器设置适当的事件检查位以寻找要发生的具体事件并且还为该事件条件设置自动重新待命位。
2.驱动器检测到事件检查控制请求为被设置并起动所请求的事件检查动作。
3.驱动器设置相应的事件检查状况位和自动重新待命位以确认驱动器现在正活动地检查指定的事件条件。
4.控制器看到来自驱动器的事件检查状况位被设置以指示所指定的事件待命因素在驱动器处被“待命”。从该更新开始,控制器可以处理来自驱动器的与指定事件条件相匹配的任何事件通知。
5.驱动器检测指定的事件条件并将事件通知数据块发送给控制器。由于相应的自动重新待命位被设置,所以驱动器继续检查指定事件。事件检查状况位保持被设置直到控制器将事件检查请求位清零。
6.控制器处理该事件通知、将事件确认发送给驱动器,但是由于自动重新待命位被启用,所以将相关联的事件检查位保留设置用于下一控制器到驱动器连接更新。
7.驱动器接收来自控制器的事件确认。如果指定的事件已经再次发生,则它现在可以发送另一事件通知。否则... 8.驱动器继续检查指定事件条件并只要事件条件发生就将事件通知数据块发送给控制器。事件检查状况位保持被设置直到控制器将事件检查请求位清零。具有自动重新待命特征时,事件检查被持续地启用,从而确保了在重新待命事件检查机制中不会在正常的一个循环延迟期间丢失对准事件。自动重新待命特征的不利方面在于它会产生理论上每个控制更新周期一个指定事件的多个无关紧要的事件要处理。
·事件确认ID由原始事件通知分配给该事件的处理编号。每个事件通过递增存储在驱动器中的当前事件ID来被分配新的事件ID。使用该事件ID,驱动器能够将事件确认匹配到适当的事件通知以完成事件数据处理。
·事件确认状况列举值指示对事件的控制器响应。值0指示该事件被成功处理。
非零值指示在事件处理时发生了错误并且事件需要重新发送。
1.2.4服务数据块 服务数据块允许在一给定更新中将每个实例的一个服务请求发送给驱动器。服务请求要求来自驱动器的指示成功或错误的具体服务响应。在一些情形中,响应服务包含所请求的数据。无论如何,服务请求数据在控制器到驱动器连接数据结构中一直保留到控制器从驱动器接收到相关联的服务响应。
每个服务请求由被如下所示地组织的数据块表示。
服务数据块的前4个字节可以不遵循传统的CIP标准消息格式。这主要是因为该连接结构基本是CIP隐式I/O连接而不是显式消息连接。然而,在固定连接格式的情形中,以下定义的服务专用请求数据通过显式消息连接被发送并遵循用于显式服务请求格式的CIP准则。
表1-22服务数据块 ·处理ID由控制器分配给该服务请求的处理编号。每个服务请求通过递增存储在控制器中的当前处理ID来被分配新的处理ID。使用该处理ID,控制器能够将服务响应匹配到适当的服务请求并完成该服务处理。
·服务代码是确定之后的对象专用服务请求的标识符。所支持的服务代码列表可在本文件的对象专用服务小节中找到。CIP通用服务一般不适用于服务数据块。
·服务专用请求数据服务专用请求数据的格式和语法取决于指定的服务代码。
这一点不管服务专用请求数据是在控制器到驱动器连接中传送还是作为显式消息连接的一部分被传送都成立。
1.2.5控制器到驱动器连接定时 CIP运动驱动器连接数据交换由控制器通过控制器到驱动器连接包发起。将时间戳信息和命令数据一起包括在该包中免除了由其它运动控制网络协议所强加的苛刻的定时要求。图12中的示图示出了在需要精细内推时由控制器到驱动器连接递送的命令数据和时间戳是如何被应用到驱动器轴的。
以下步骤具体说明了在控制器更新周期(CUP)不是驱动器更新周期的整数倍这一通常情形中连接数据是如何在典型的连接循环期间从控制器被发送到驱动器的。
1.控制器发送作为控制任务的一部分,控制器发起控制器到驱动器连接包向目标驱动器的传输,该包具有递增的更新ID并含有新命令数据和指示当前控制器更新周期的开始时间的新控制器时间戳。用于目标轴的实例数据块还包含在该示例中被设为2以支持2*控制器更新周期(CUP)的精细内推间隔的命令目标时间。
2.命令更新ID检查驱动器运行在每个驱动器更新周期检查新的控制器到驱动器连接数据包的周期性的驱动器任务。这可以通过检查被改变的更新ID方便地实现。如果驱动器任务发现新的数据,则这是命令数据更新循环而该命令数据必须根据以下序列被进一步处理。
3.同步操作检查接着,驱动器检查其是否被同步。如果没有同步,由于不需要执行滞后更新检查所以跳到应用命令数据步骤。避免滞后更新检查允许在起动期间或者甚至在驱动器不具有任何时间同步服务的情形下对驱动器进行控制。
4.滞后更新检查如果驱动器被同步,则驱动器计算当前驱动器更新时间戳与控制器到驱动器连接包中的控制器时间戳的差,如果差大于控制器更新延迟上限*控制器更新周期,则驱动器发出控制器更新故障。注意如果时间差已经超过两倍的连接更新周期,则当前的精细内推程序多项式实际上已变为外推程序多项式从而允许驱动器按照滞后数据状况来工作直到新的数据到达。
5.应用命令数据由于在该示例中使用了精细内推程序,所以驱动器根据被应用于控制器时间戳的目标时间Tctr1加命令目标时间与控制器更新周期的乘积或者2*CUP的命令基准计算精细内推多项式的系数。如果目标时间小于驱动器中的当前系统时间,则仍然根据该命令数据计算多项式的新系数以提高外推计算的精准度。一般而言,无论何时只要命令数据滞后,该数据仍然表示可用的最新命令数据并且应该尽早被应用。
如果命令目标时间被设为1,则在步骤5中计算出的多项式不是出于精细内推而是出于外推的目的被应用;外推多项式允许驱动器在其执行控制计算时根据先前轴轨迹计算精准的命令数据。图13示出了在控制器更新周期(CUP)不是驱动器更新周期的整数倍的这一通常情形中的定时模型。
需要注意的是在以上示例中,在一给定控制器更新周期中没有许多驱动器更新周期。当在这种情形中时,精细内推对于驱动器性能不是非常重要,命令数据可以更为直接地被应用到驱动器控制结构而不需要支持精细内推所需的额外延迟。然而外推的缺点在于外推错误被更为直接地表现在命令数据上从而使运动比在使用精细内推时更加粗糙。
与控制器到驱动器连接包相关联的所有循环数据应该在驱动器任务命令更新时被应用从而尽可能早地使用新命令数据,进而计算新的多项式系数,而不论命令目标时间如何。
1.2.5.1驱动器更新周期独立性 图14中的定时图示出了两个驱动轴尽管具有不同的驱动器更新周期并且相关联的控制器更新周期不是任何一个驱动器更新周期的整数倍,这两个轴是如何能够紧密协调的。
在图14的定时图中,控制器的运动计划程序任务将相同的命令位置和时间戳发送到虽然与系统时间同步但以不同驱动器更新速率运行的两个从驱动轴。当命令位置数据到达这两个驱动器时,它们使用控制器时间戳、命令目标时间、以及控制器更新周期根据在等于(控制器时间戳+命令目标时间*控制器更新周期)时的多项式值是指定的命令位置值这个约束计算内推多项式的新系数。由于对驱动器更新速率没有依存性,所以每个驱动轴计算出的多项式系数相同。由于两个驱动器都不具有与该目标时间重合的更新,所以驱动器使用精细内推多项式来计算每个驱动器更新的命令位置基准直到从控制器接收到新的命令位置。如果直到目标时间以后很长时间新命令位置都不到达,则驱动器继续如上图中所示地使用相同的多项式等式来“外推”用于之后驱动器更新的命令位置。这种外推一直继续到新数据到达并且计算出新系数为止。以这种方式,无论通过内推还是外推,每个从轴都可流程的运行并且两个轴与主轴保持相位锁定。
1.2.5.2传输等待独立性 即使在控制器到驱动器连接包在跨CIP网络传播时遭受严重延迟的情况下也能保持多个CIP运动驱动轴的精确协调。在图15的示图中,从驱动轴2的包在传输过程中遭受严重延迟。结果,必须从上一精细内推多项式外推该轴的命令位置。这允许该轴在具有传输等待干扰时流畅地运动。当新命令数据到达时,由于外推误差,新命令值可能会不等于外推值。该误差会对运动轮廓(profile)造成干扰。外推误差的大小取决于运动轮廓的动态特性以及控制器更新速率。在大多数实际应用中,持续数个更新周期的传输等待的发生不会对相关联的运动轮廓产生任何明显干扰。
1.3驱动器到控制器连接 与上述控制器到驱动器连接数据结构类似,CIP运动控制器到驱动器连接被组织如下 表1-23 CIP运动控制器到驱动器连接格式 1.3.1驱动器到控制器连接标头 驱动器到控制器连接标头包含用于解析驱动器到控制器连接数据块所需的重要轴配置信息。连接标头的固定部分被定义如下 表1-24连接标头 ·连接格式与控制器到驱动器定义相同,区别在于所要求的连接类型的值是指示固定驱动器到控制器连接类型的3或者是指示固定驱动器到控制器连接类型的7。
0=固定控制器对等连接 1=固定驱动器对待连接 2=固定控制器到驱动器连接 3=固定驱动器到控制器连接 4=可变控制器对等连接 5=可变驱动器对等连接 6=可变控制器到驱动器连接 7=可变驱动器到控制器连接 8-15=预留 ·格式修正与控制器到驱动器定义相同 ·更新ID驱动器到控制器连接更新ID应该与先前的控制器到驱动器更新ID的更新ID相匹配,因此应该每个更新周期递增一次。在相关联的控制器到驱动器包丢失或滞后的情形中,驱动器到控制器更新ID应该就像控制器到驱动器包已经按时到达那样递增。这允许CIP运动控制系统应对丢失或错过的控制器到驱动器包并保持与匹配的更新ID同步。
更新ID类似于CIP消息序列计数并且被控制器用于确定连接缓冲是否包含新数据。如果更新ID没有改变,则控制器尝试根据先前的轨迹通过外推来应对丢失的更新直到新的更新到达。在轴没有被同步或不支持时间同步服务的情形中,则时间戳数据没有被包括或者无效,所以不尝试进行外推。在这种情形中,更新ID还是控制器检测新连接数据的唯一途径。
·节点状况包含用于控制相关联的驱动器通信节点的状况的位。
表1-25节点状况 远程控制位被用于指示驱动器节点已将驱动器设备的全部控制转交给控制器。如果该位为零,则驱动器将不对包含在控制器到驱动器循环或服务信道中的任何数据进行操作。
同步模式位指示该驱动器节点是否被同步。同步操作被定义为将该驱动器节点的本地计时器与系统时间进行同步并且该驱动器节点使用连接时间戳来处理连接数据。被设置的同步模式位还意味着驱动器时间戳有效。该位在同步操作持续期间应该保持被设定。如果同步模式位为0则驱动器即处于异步模式。在异步模式中,不要求本地计时器被同步,也不需要时间戳或时间戳有效。驱动器数据有效位必须被设置以便控制器处理来自驱动器节点的实例数据块。在连接初始化序列期间,可能会有一段时间实例数据块中的连接数据还没有被初始化。控制器可以通过首先检查该位来认识到该状况。
驱动器节点故障位被用来指示驱动器已经检测到与通信节点有关的一个或多个故障状况。具体的故障状况可由节点故障属性来确定。如果该位为0,则不存在故障状况。驱动器节点故障位可通过设置节点控制字中的节点故障复位位来清零。当存在节点故障状况时所有相关联的轴都被禁用。
1.3.1.1固定连接标头 如果连接格式是固定驱动器到控制器连接,则以上标头之后紧跟着是实例数据块。
1.3.1.2可变连接标头 如果连接格式是可变驱动器到控制器连接,则连接标头包含与多轴驱动器有关的附加字段以进行寻址和时间戳记。
表1-26连接标头 ·实例计数与控制器到驱动器定义相同 ·节点警报包含被用于指示相关联的驱动器通信节点的警报状况的位。
表1-27节点警报 同步更新警报位指示来自控制器的更新已经太过滞后。
处理器警报指示与驱动器相关联的处理器正经历最终可能会导致故障的过载状况。
硬件故障指示与该驱动器相关联的重要支持硬件(FPGA、ASIC等)正经历可能会导致故障的状况。
·节点故障包含被用于指示相关联的驱动器通信节点的故障状况的位。
表1-28节点故障 同步更新故障位指示来自控制器的更新已经太过滞后。
处理器故障指示与该驱动器节点相关联的处理器已经历了诸如严重过载等已启动(trip)了相关联的处理器看门狗机制的故障状况。
硬件故障指示与该驱动器节点相关联的重要支持硬件(FPGA、ASIC等)已经历了故障状况。
·时间配置与控制器到驱动器定义相同。
·驱动器更新周期该元素表示应用命令数据的驱动器控制计算之间的当前时间长度。该值被控制器用来配置被应用到命令数据的精细内推块的行为。如果控制器更新周期比驱动器更新周期长得多,则一般应用精细内推。当控制器与驱动器更新周期相当时,就不需要精细内推了,只需要外推来执行时间戳纠正。
·驱动器时间戳该时间戳值反映了驱动器的更新事件发生时以纳秒计的64位系统时间值的低32位。控制器使用控制器本地系统时间值的高32位将该值恢复到其原始64位表示。有了驱动器时间戳,控制器就有了针对驱动器与控制器更新定时之间的差纠正实际响应数据值所需的全部信息,驱动器与控制器更新定时之间的差发生在控制器更新周期不是驱动器更新周期的整数倍时或发生在驱动器更新相对于控制器有相移时。在该定时模型中假定驱动器时间戳指示驱动器更新周期的开始并且还是反馈被最后一次捕捉到的时间。在驱动器时间戳不匹配控制器的本地更新时间戳的情形中,控制器根据轨迹外推实际响应数据值以与控制器的时间戳相吻合。图16中的定时图示出了控制器是如何根据驱动器与控制器之间的相对时间戳来调整驱动轴位置数据的。
1.3.2实例数据块 在连接标头之后是由以上实例计数确定的一个或多个实例数据块。实例数据块与在控制器到驱动器连接中的非常类似并具有以下基本结构 表1-29实例数据块 1.3.2.1实例数据标头 实例数据标头包含关键的用于解析和应用包含在三个数据信道中的数据所需的轴配置信息。该标头仅包括在可变连接格式中以容许多轴驱动器应用。驱动器通信接口可使用该标头内的信息将各个数据块复制到分开的固定存储位置以便处理。
如果是配置用于固定连接格式,由于只支持单个轴实例的循环数据块,所以不需要关于实例编号或块大小的任何信息。因此没有在连接结构中包括实例数据标头。
表1-30实例数据标头 ·实例编号与控制器到驱动器定义类似 ·实例块大小与控制器到驱动器定义类似 ·循环块大小与控制器到驱动器定义类似 ·循环实际块大小与控制器到驱动器定义类似 ·循环读取块大小与控制器到驱动器定义类似 ·事件块大小与控制器到驱动器定义类似 ·服务数据块大小与控制器到驱动器定义类似 1.3.2.2循环数据块 不论连接格式如何总会在驱动器到控制器连接的循环数据块前端包括循环数据标头。该标头包含与循环数据块的内容以及该块内与驱动器有关的数据的语境相关的关键元素。大部分这些元素是既定的,因此是先前控制器到驱动器连接循环数据块中相应元素的直接复制。因此,驱动器到控制器连接的循环数据块的内容最终由控制器确定。
表1-31循环数据块 ·控制模式与控制器到驱动器定义相同。
·反馈配置与控制器到驱动器定义相同。
·驱动器响应这8位驱动器响应是被用于与控制器到驱动器连接中的相应驱动器控制元素握手以直接发起驱动器操作而无需CIP服务请求的列举值。有效确认代码匹配驱动器控制元素的相应请求代码,并且如下所示 表1-32驱动器响应 参见控制器到驱动器定义中关于驱动器控制/响应序列的驱动器控制细节。
·响应代码当驱动器响应中有非零的确认代码时,还提供了响应代码值以指示所请求的驱动器控制操作是成功还是失败。为0的响应代码指示成功,而非零值指示错误。响应代码值遵照用于通用状况代码的CIP公共标准相一致。
·命令数据配置与控制器到驱动器定义相同。
·实际数据配置与控制器到驱动器定义相同。
·状况数据配置与控制器到驱动器定义相同。
·内推程序状况该字节包含根据以下所示的表格指示内推块的当前状况的标志。
表1-33内推程序状况 命令目标时间被用于通过该轴实例的精细内推程序确定应用到命令位置的当前目标时间。这一认识对控制器的运动计划程序更新延迟补偿算法的正确功能较为重要。
·循环命令/实际/状况数据循环命令/实际/状况数据包含需要在下一驱动器更新期间被应用到相关联的驱动轴实例的高优先级数据。该块由控制器所消费的实际数据元素和状况数据元素构成,它们由循环/实际/状况数据标头中的实际数据集和状况数据集元素显式地确定。
1.3.2.3循环读取数据块 循环读取数据块可被用于根据驱动器中相关联的属性的当前值同步地更新控制器内的一个或多个目标控制轴对象属性。该机制可以与功能块程序结合使用以根据各种可用的驱动器控制信号来实现复杂的外部循环控制。与可花费若干驱动器更新周期来处理的服务信道设置驱动器属性服务请求不同,循环读取数据机制确保目标参数每个连接循环都被更新。
仅在可变连接格式中支持循环读取数据块。
表1-34循环读取数据块 该块的相关联的标头包含与循环写入数据块的内容有关的关键元素。
·循环读取块ID这16位ID确定预先定义的应用到这一更新的循环读取数据的循环读取块结构。循环读取块结构是使用设置循环读取数据列表服务来定义的。该服务的成功响应包括可在下一连接更新中使用从而以该格式传送循环数据的新的循环读取块ID。
·循环读取数据循环读取数据包含需要应用到相关联的控制器轴实例的高优先级数据。该块由将被计算并应用到相应的运动轴对象属性的信号和状况数据元素组成。循环读取数据的内容由可在循环读取数据标头中找到的循环读取块ID标识的结构来显式地确定。
1.3.3事件数据块 事件数据块允许将多个事件通知在一个给定更新中发送给驱动器。每个事件通知需要指示成功或错误的具体事件确认。事件通知数据一直保留在驱动器到控制器连接数据结构中直到驱动器从控制器接收到相应的事件确认。
驱动器到控制器连接的事件数据块具有以下格式。
表1-35事件数据块 ·事件检查状况这32位字是被用于指示驱动器当前是否正根据例如标记、自导引、和对准输入等各种驱动器输入来检查事件的位映射参数。事件检查在相应的事件检查控制位在控制器到驱动器连接中被设置时发起。当事件发生时,驱动器捕捉时间和精确的轴位置并用事件数据块将该信息传到控制器。但是为了使控制器可处理该事件数据,相应的事件检查状况位必须被设置。
·事件ID由原始事件通知分配给该事件的处理编号。每个事件通过递增存储在驱动器中的当前事件ID来被分配新的事件ID。使用该事件ID,驱动器能够将事件确认匹配到适当的事件通知以完成该事件数据处理。
·事件状况枚举值指示对事件的控制器响应。0值指示该事件被成功处理。非零值指示在事件处理时发生了错误并且事件应被重新发送。
·事件类型该枚举值说明了发生的事件的类型。有效的事件类型如下 表1-36事件类型 ·事件位置当指定事件发生时轴位置的64位整数表示。
·事件时间戳该元素携带指定事件发生时系统时间的低32位。该单元是以纳秒计的。事件时间戳在控制器处可以与系统时间的高32位组合在一起以生成绝对的64位事件时间戳。
1.3.4服务数据块 服务数据块允许在一给定更新中将每个实例的一个服务响应发送给驱动器。服务请求要求来自驱动器的指示成功或错误的具体服务响应。在一些情形中,响应服务包含所请求的数据。无论如何,服务请求数据在驱动器到控制器连接数据结构中一直保留到驱动器看到相关联的服务请求被从控制器到驱动器连接实例数据块中被移除(服务块大小=0)或控制器发出了新服务请求(递增的处理ID)。
每个服务响应由被如下所示地组织的数据块表示。
与请求结构相类似,服务响应的结构可以不遵循传统的CIP标准消息格式。这主要是因为该连接结构基本是CIP隐式I/O连接而不是显式消息连接。然而,在固定连接格式的情形中,以下定义的服务专用请求数据通过显式消息连接被发送并遵循用于显式服务请求格式的CIP准则。
表1-37服务数据块 ·处理ID被分配给源自原始请求的处理ID的服务响应的处理编号。每个服务请求通过递增存储在控制器中的当前处理ID来被分配新的处理ID。使用该响应中的处理ID,控制器能够将该服务响应匹配到适当的服务请求。
·服务代码是确定之后的特定服务响应的标识符,它应该与初始服务请求的服务代码相匹配。CIP驱动轴对象的有效服务代码列表在控制器到驱动器小节中给出。
·响应代码响应代码值被提供用于指示所请求的服务请求是成功还是失败。响应代码为0指示成功,而非零值指示错误。响应代码值遵从通用状况代码的CIP公共标准。
·扩展响应代码扩展响应代码提供了用于定义供应方专用或服务专用错误代码的方法。目前这些代码还没有标准定义。
·服务专用响应数据服务专用响应数据的格式和语法取决于指定的服务代码。
1.4固定驱动器连接格式 通过指定固定连接格式,CIP运动驱动器连接可以被缩减到可容易地适用于诸如DeviceNet和ControlNet等低性能的CIP网络的大小。在DeviceNet和ControlNet网络语境中,以下特征已从连接结构中被移除以支持固定连接大小和有限网络带宽的要求。
·时间戳记 ·节点故障/警报 ·仅限一个实例 ·动态块大小 ·循环读取/写入数据块 ·事件数据块 ·服务数据块 驱动轴对象的服务请求仅作为显示消息服务被支持。
表1-38固定控制器到驱动器连接格式(固定大小=16字节) 表1-39固定驱动器到控制器连接格式(固定大小=16字节) 1.4.1驱动器到控制器连接定时 当处于同步模式时,CIP运动驱动器到控制器连接包括具有实际数据的驱动器时间戳以允许控制器确定在控制器任务更新发生时驱动轴的位置。时间戳记允许驱动器采样反馈并根据其自身驱动器更新周期来计算实际数据,这与其它运动控制网络协议不同,它不需要严格地与控制器更新周期相关联。图17的示图示出了如何使用由驱动器到控制器连接递送的实际数据和时间戳将驱动轴实际位置调整到与控制器时基一致。
以下步骤具体说明了在控制器更新周期(CUP)不是驱动器更新周期的整数倍这一通常情形中连接数据是如何在典型的连接循环期间从控制器被发送到驱动器的。
1.实际更新窗口检查如果该轴被同步,则驱动器将当前驱动器任务时间戳与在上一命令数据更新期间确定的实际更新窗口相比较。实际更新窗口具有1个驱动器更新周期的持续时间并在下一控制器更新的计算时间结束。如果时间戳在时间窗口内,则这是实际数据更新循环。如果时间戳在窗口之前,则驱动器必须等待将实际数据发送给控制器的下一驱动器任务。(这防止了在反馈捕捉与下一控制器任务的开始之间的时间过长的情况。)如果该轴没有被同步并且通过控制器到驱动器连接接收到命令更新,则这也是实际更新循环,所以进入驱动器发送步骤。否则,不需要做任何事并且结束本任务。
2.驱动器发送如果这是实际更新循环,则驱动器将包括当前驱动器更新时间戳、以及递增的更新ID并且具有来自该驱动器任务的最新实际数据的驱动器到控制器连接包发送给控制器。该包中被发送给控制器的所有其它数据可以从先前的驱动器任务得到。这允许在驱动器任务执行中的最早时间发生驱动器传输。
3.实际更新ID检查在下一控制器任务中,控制器通过检查被改变的ID来检查来自驱动器的新数据。不管更新ID是否改变都将执行以下内容。注意在驱动器没有被同步时,更新ID是检测新实际数据的唯一途径。
4.同步标志检查驱动器检查驱动器节点控制字节的同步位以确定该驱动轴是否被同步。如果没有,则跳到应用实际数据步骤以避免滞后更新检查和时间戳纠正。回避这些后续步骤允许驱动器在起动期间或者甚至在驱动器没有任何时间同步服务的情形中也能运行。
5.滞后更新检查控制器计算当前连接更新周期时间戳与驱动器到控制器连接包中的时间戳之间的差。如果差大于丢失更新容限*更新周期,则控制器发出控制器同步错误。
6.时间戳纠正如果先前计算的时间差异非零,则可根据先前的轴实际轨迹来外推实际数据值以与控制器的时间戳相一致。由于运动计划程序假定实际输入被隐性地时间戳记为控制器更新周期的开始,所以该纠错是必须的。
7.应用实际数据控制器将作为输入的实际数据应用到运动计划程序,并由其进而计算新的命令基准数据。
1.5 CIP运动同级连接 以下小节是包括适用于驱动轴对象的驱动器到驱动器同级连接的CIP运动同级连接格式的说明。
1.5.1同级连接特征 以下是与CIP运动同级连接相关联的特征列表 1.本方案有效解决了对等连接的主要使用情形的需求,这些使用情形有多个轴与公共主轴齿轮传动或凸轮传动的传动轴应用以及所命令的主驱动器的扭矩被分布到多个从驱动器以分担负载的扭矩跟随装置应用。
2.根据仅限监视(Monitor Only)原理;消费方只能监视被产生轴的状况而不能影响被产生轴的状态或运动。
3.适用于使用单向多点传送产生方到消费方连接的星形或雏菊链网络拓扑结构。
4.将与被产生轴相关联的事件通知数据传送给消费方以解决主动装置检查对准事件并产生对准事件信息送给下游的从动装置以便相位纠正的使用情形的能力。
5.配置被产生轴以产生发送给消费方的附加应用特有属性的能力。这些所产生的属性的身份被定义为连接数据结构的一部分从而使得所产生的属性数据映射到什么被消费轴属性没有岐义。阵列传送机制也被支持。
6.产生方的实时数据格式被内置到CIP运动同级连接数据结构中以允许消费方确定所产生的数据的内容,从而允许在任意时间改变数据结构。
7.由于消费方可能希望消费来自单个产生方的不同实时数据,所以CIP运动同级连接被设计成提供实时数据元素的可配置组合。各个消费方负责确定各自消费什么实时数据元素。
8.实时连接数据根据通常得自具有纳秒精度以及~1秒动态范围的PTP(精确时间协议)的系统时间被戳记。
9.连接支持不同的同级更新速率以及位置、速度、和扭矩数据的样本延迟、以及同级设备内相位偏移的可能性。时间戳和/或延迟与各个轴实例相关联。
10.在存在重要HMI、I/O、消息以及使用标准以太网传输协议(例如,TCP和UDP)的其它以太网通信时可靠运行的能力。
11.在运行时间添加或移除以太网节点而不会不利地影响到现有节点的CIP运动同级连接的操作的能力。(随网络拓扑结构而定) 12.在线地添加或移除CIP运动消费方而不干扰操作的能力。(随网络拓扑结构而定) 13.内置的有助于现有同级设备以及CIP运动同级连接数据结构的较早版本的向后兼容性的连接格式修正。
14.连接格式被组织成使32位字为32位对齐而使16位字为16位对齐。这有助于存储器存取。
1.5.2 CIP运动同级连接格式 表1-40 CIP运动同级连接格式 1.5.3同级连接格式概要 CIP运动同级连接格式由通用标头以及之后的与被产生轴实例相关联的数据块构成。数据块的内容以产生方的指定控制器更新周期被周期性地更新并通过多点传送连接被发送到消费方。通过使用例如PTP等分布式系统时间,该更新被与运动控制系统中的其它同级设备相同步。由于时间戳被包括在连接数据中,产生方更新周期不需要与各个消费方的更新周期具有任何固定关系。
在以下讨论的语境中知道这一点是很重要的,即虽然同级产生方和消费方既可以是控制器也可以是驱动器,然而在驱动轴对象规范的情形中,只有驱动器对等功能才是真正适用的。
为了有助于具体说明其每个组成数据元素,CIP运动同级连接数据块被组织如下 表1-41同级连接格式 1.5.4连接标头 连接标头包含用于解析实例数据块所需的来自产生方的重要轴配置信息。
表1-42连接标头 ·格式修正初始发布为1,该值针对影响接口的CIP运动同级连接格式的每次修正都递增1。格式修正允许较新的消费方支持由较老的产生方生成的连接格式。这还允许较老的消费方认出其不能支持的来自产生方的较新的连接格式并生成适当的错误。
·更新ID该循环处理编号每个产生方的更新递增一次。该更新ID被消费控制器或设备用于确定该数据块是否包含新数据。如果更新ID没有改变——这是产生轴的更新周期比消费轴的更新周期长时常发生的事情——消费控制器或驱动器可根据先前产生的轴轨迹外推以应对缺失的新数据。在产生方没有被同步的情形中,时间戳数据没有被包括或者无效。在这种情形中,更新ID是消费方检测新数据的存在的唯一途径。在没有同步或时间戳记的情形下的CIP运动同级连接操作是不被推荐的。
·连接格式所枚举的该字节确定根据以下定义的CIP运动连结的格式 表1-43连接格式 位7 位0 连接类型这4位枚举定义了CIP运动连结类型。该连接的有效值是用于固定驱动器对等连结的1和用于可变驱动器对等连接的5。
0=固定控制器对等连接 1=固定驱动器对等连接 2=固定控制器到驱动器连接 3=固定驱动器到控制器连接 4=可变控制器对等连接 5=可变驱动器对等连接 6=可变控制器到驱动器连接 7=可变驱动器到控制器连接 8-15=预留 ·节点状况包含被用于指示相关联的驱动器通信节点的状况的位。
表1-44节点状况 同步模式位指示产生驱动器节点是否被同步。同步操作被定义为将产生驱动器节点的本地计时器与系统时间同步并且有效的连接时间戳在连接标头中被提供。该位在同步操作的持续期间应该保持被设置。如果同步模式位为0,即说明驱动器处于异步模式。在异步模式中,不要求本地计时器被同步,也不需要时间戳记或时间戳有效。
驱动器数据有效位必须被设置以便控制器处理来自驱动器节点的实例数据块。在连接初始化序列期间,可能会有一段时间实例数据块中的连接数据还没有生效。消费驱动器可以通过首先检查该位来认识到该状况。
驱动器节点故障位被用来指示产生驱动器已经检测到与通信节点有关的一个或多个故障状况。具体的故障状况可由节点故障属性来确定。如果该位为0,则不存在故障状况。驱动器节点故障位可通过设置节点控制字中的节点故障复位位来清零。当存在节点故障状况时所有相关联的轴都被禁用。
1.5.4.1固定连接标头 如果连接格式是固定对等连接,则以上标头之后紧跟着是实例数据块。
1.5.4.2可变连接标头 如果连接格式是可变对等连接,则连接标头包含与节点诊断和时间戳记有关的附加字段。
表1-45连接标头 ·时间戳配置该位所映射的字节包含确定产生方的定时信息的使用和格式的标志。
表1-46时间配置 ·产生方更新周期该元素指定了以纳秒计的所产生的轴数据的更新周期。该值被消费方用于确定消费方是否错过了太多的连接更新。如果连接被同步,则消费方可简单地相对于消费方自身的本地时间戳检查产生方时间戳。如果两个时间戳之间的差超过了由下式给定的最大值 最大延迟=同级更新延迟上限*产生方更新周期 则同级更新故障位在驱动轴对象的节点故障类属性中被设置。还可利用任选的同级更新延迟下限属性。如果上个产生方时间戳与当前本地驱动器时间戳之间的差超过了由下式给定的最大值 最大延迟=同级更新延迟上限*产生方更新周期 则同级更新警报位在驱动轴对象的节点警报类属性中被设置。在连接没有被同步的情形中,消费方不执行滞后更新检查。
·产生方时间戳该元素携带产生方的更新计时器事件发生时64位系统时间值的低32位。该值由消费方使用消费方本地系统时间值的高32位被恢复为其原始64位表示。产生方时间戳的单位是以纳秒来计的。该值实际上是采样被产生轴的实际数据(例如,位置反馈)或计算命令数据时的时间。在其接收到所产生的数据时,通过将该值与消费方自身的时间戳结合使用,消费方可以外推产生方的当前实际位置和命令位置。
1.5.5实例数据块 在连接标头之后是具有其特有的格式定义、实例数据标头的实例数据块。实例数据块具有以下基本结构 表1-47实例数据块 1.5.6实例数据标头 以下所示的实例标头包含其后的循环数据的完整说明。
表1-48实例数据标头 ·轴配置该字节包含根据以下所示的表格指示包括在被产生轴标头中的配置数据的标志。
表1-49轴配置 ·命令数据配置该位所映射的值有一位被定义用于每个可能的实时命令基准。命令数据以与位编号相同的顺序出现,所以命令位置将出现在实时数据结构中命令扭矩之前。消费设备可通过将产生方被传送的命令数据配置与包含在该消费方轴对象中的自身命令数据配置属性相比较来确定要消费的实时数据元素。
表1-50命令数据配置 ·实际数据配置该位所映射的值有一位被定义用于每个可能的实时实际值。实际数据以与位编号相同的顺序出现,所以实际位置将出现在实时数据结构中实际扭矩之前。消费设备可通过将产生方被传送的实际数据配置与包含在该消费方的轴对象中的自身实际数据配置属性相比较来确定消费哪个实时数据元素。
表1-51实际数据配置 ·状况配置该位所映射的值有一位被定义用于可作为CIP同级连接数据结构的一部分被传送的每一个基本轴状况属性。状况数据并不作为驱动器到驱动器同级连接的一部分被传送,所以该值总是为0。
表1-52状况数据配置 ·循环属性计数包含在循环属性数据集中的循环属性块的数目。
·事件计数包含在事件数据块中事件块的数目。事件不适用于驱动器到驱动器同级连接。
·延迟控制该字节包含控制精细内推算法以及确定驱动器控制结构的命令数据的目标时间所需的信息。
表1-53内推控制 命令目标时间——这2位整数定义作为命令数据的目标的相对于产生方时间戳的特定时间,它由产生方的运动计划程序所定义。绝对命令目标时间是来自产生驱动器的产生方时间戳与命令目标时间*产生方更新周期这一乘积的和。该值被与将被产生轴作为主动装置引用的齿轮或凸轮传动相关联的更新延迟补偿算法所使用。
命令目标时间为0意味着命令数据的目标是当前更新循环的开始,因此需要立即被应到控制结构。在这种情形中,不需要任何精细内推。这种情形发生在产生方更新周期大大短于消费方更新周期时或者所控制的该轴的运动在产生方更新周期期间近乎恒定时。
命令目标时间为1意味着命令数据的目标是下一产生方更新计时器事件。在这种情形中,命令内推程序功能主要起根据轴的当前轨迹估计下一命令数据值的外推程序的作用。这是在产生方更新周期与消费方更新周期相当时或所控制的轴的运动在产生方更新周期期间相对恒定时的典型设置。
命令目标时间为2意味着命令数据的目标是离产生方时间戳的两个连接更新计时器事件。在这种情形中,命令内推程序可根据电机的当前动力计算流畅的轨迹以得到目标时间的命令数据值。这在产生方更新周期显著大于消费方更新周期时为真正的精细内推和适用。
主命令延迟——这2位整数定义了在应用到本地控制结构之前命令数据在产生驱动器中被延迟多少个产生方更新周期,这由产生方的运动计划程序规定。该值被用于确定在被消费方接收到时需要被应用到产生方的命令数据值的外推量。主命令延迟在与消费方时间戳相比前被添加到产生方的时间戳。当产生方更新周期与消费方更新周期相当时,主命令延迟值为1使被应用到所产生的命令数据的外推量降到最低。
·展开如果循环位在轴配置字节中被设置,则产生方被配置的展开值(32位UINT)被添加到实例格式标头。如果适用,该值被消费方用于展开所外推的绝对实际或命令位置数据。该值并不适用于驱动器到驱动器同级连接。
1.5.7循环数据块 循环数据块是CIP运动同级连接数据结构的主要数据有效载荷。它被组织成6个不同数据集。
表1-54循环数据块 1.5.7.1命令数据集 该数据集包含与产生方的命令基准数据有关的元素。这些数据元素对产生方和消费方的对象属性的映射取决于同级连接类型,即控制器对等连结或驱动器对等连结。下表定义了每种同级连接类型的映射。
表1-55驱动器到驱动器命令数据集元素映射 表1-56控制器到控制器命令数据集元素映射 注意所映射的名称对于控制器到控制器情形是相同的而对于驱动器到驱动器情形是不相同的。这主要是因为在控制器中将轴实例用于被消费数据,所以它是被产生轴的“映像”。在驱动器中我们将所产生的数据作为单独信号直接引入到主驱动器轴实例中。
这里是各个命令数据元素的总结 ·命令位置该元素包含以计数为单位的产生方的绝对命令位置。消费方使用该值来确定自上个更新起命令位置的变化(增量命令位置)。该信息在齿轮或凸 轮传动到所消费的轴命令位置时使用。增量命令位置由下式给定 增量命令位置=命令位置—上一命令位置 ·命令速度该元素包含以计数/秒为单位的产生方的命令速度。
·命令加速度该元素包含以计数/秒2为单位的产生方的命令加速度。
·命令扭矩该元素包含以%额定扭矩为单位的产生方的命令扭矩。
1.5.7.2实际数据集 该数据集包含与产生方的命令基准数据有关的元素。这些数据元素对产生方和消费方的对象属性的映射取决于同级连接类型,即控制器对等连结或驱动器对等连结。下表定义了每种同级连接类型的映射。
表1-57驱动器到驱动器实际数据集元素映射 ·实际位置该元素包含以计数为单位的产生方的绝对实际位置。消费方还使用该值来确定自上个更新起实际位置的变化(增量实际位置)。该信息在齿轮或凸轮传动到所消费的轴实际位置时使用。增量实际位置由下式给出 增量实际位置=实际位置—上一实际位置 ·实际速度该元素包含以计数/秒为单位的产生方的实际速度。
·实际加速度该元素包含以计数/秒2为单位的产生方的实际加速度。
·命令扭矩该元素包含以%额定扭矩为单位的产生方的实际扭矩。
1.5.7.3状况数据集 状况数据集包含由实例数据标头中的状况配置字节确定并定义在控制器轴对象(也称为运动轴对象)中的被产生轴的状况数据值。当前所支持的属性是轴状况、故障状况、以及运动状况。状况数据集并不适用于驱动器到驱动器同级连接。
1.5.7.4属性数据集 属性数据集可被用于用产生方中相应属性的当前值来循环地更新目标CIP运动对象属性。如果该属性不为给定消费方所支持,则简单地忽略该数据块。连接标头中指定的属性计数确定了数据集中所产生的属性的数目。所传送的每个属性具有如下所示的结构 表1-58属性数据块 ·属性ID——标识其值被包括在扩展数据块中的具体产生轴状况属性。
·属性维度——确定属性阵列的维度。维度为0意味着属性是奇异(singular)数据元素,因此实际不是阵列。多维阵列(维度>1)通过在属性数据序列之前添加额外的属性起始索引和地址数据元素值来得到支持。
·属性元素大小——确定所产生的属性数据元素按字节计的大小。
·属性起始索引——标识属性值阵列在属性数据段中的起始索引。该字段只有当属性数据类型是阵列(即,维度>0)时才存在。
·属性数据元素——确定数据元素值在属性数据段中的编号。该字段只有当属性数据类型是阵列(即,维度>0)时才存在。
·属性数据——表示要被应用到由属性ID给定的被消费的运动轴对象属性的所产生的值。如果属性是阵列,则新值根据起始索引和数据元素的编号来应用。
对于多维阵列(维度>1),数据序列从左到右依次地移过索引。例如, 表1-59属性数据块——阵列示例 该阵列传送机制特别适用于要求实时存取没有包括在标准命令或实际数据集中的特定产生方属性的应用。
1.5.8驱动器到驱动器同级连接定时 当处于同步模式时,CIP运动驱动器到驱动器连接包括伴随所产生的数据的驱动器时间戳以允许控制器确定在控制器任务更新发生时驱动轴的命令或实际数据值。时间戳记允许驱动器采样反馈并根据其自身驱动器更新周期来计算实际数据值,这与其它运动控制网络协议不同,它不需要严格地与产生方的更新周期相关联。图18的示图示出了由驱动器到驱动器同级连接递送的实际数据和时间戳如何被用于将驱动轴实际位置调整到控制器的时基。
在该示例传动轴系应用中,主轴位置被产生驱动器所捕捉并通过多点传送CIP运动同级驱动器到驱动器连接发送到一个或多个消费驱动器。当主实际位置被另一驱动器所消费时,由该消费方完成外推以补偿在连接上发生的延迟。这通过使用与被消费的实际数据元素相关联的产生方的时间戳Tpro以及由消费控制器锁定的消费方时间戳Tcon来完成。一旦纠正了同级连接延迟,与该消费设备相关联的远程从轴可以通过电子齿轮传动相对于该主轴被精确定相。该方法甚至在消费和产生驱动器以不同更新速率运行时也能工作。实际上,仔细检查该方法就会发现只要消费驱动器和产生驱动器都根据分布式系统时间来操作,那么消费驱动器的更新周期可以大于或小于产生驱动器的更新周期。
在图19的图中,产生驱动器正在将命令位置而不是实际位置分布到多个消费驱动器。当主命令位置被另一驱动器消费时,由该消费方完成外推以补偿在连结上所发生的延迟。这再次通过使用与被消费的实际数据元素相关联的产生方的时间戳Tpro以及由消费控制器锁定的消费方时间戳Tcon来完成。一旦纠正了同级连接延迟,与该消费驱动器相关联的远程从轴可以通过电子齿轮传动相对于该主轴被精确定相。
或者,产生驱动器可被配置成将本地主命令位置基准的应用延迟表示主命令延迟的一个产生方更新周期Tmcd。这使得用于补偿在同级连接上发生的延迟所需的外推量降到最低。在图20的示例中,主命令延迟是250μs。由于消费驱动器的更新周期也是250μs,所以净外推时间为0。这产生所可能的最流畅的齿轮传动性能。
权利要求
1.一种在工业自动化环境中有助于协调与运动控制相关联的定时的系统(100,500,600,700,800,900,1000,1100,1200,1300),包括
运动控制组件(102,502,506,604,704,804,904,1004,1102,1104,1202,1204,1302,1304),通过网络连接与不同的运动控制组件(102,502,506,604,704,804,904,1004,1102,1104,1202,1204,1302,1304)通信;
循环定时组件(104,712),利用定时模型来协调与运动控制有关的所述运动控制组件的操作定时。
2.如权利要求1所述的系统,其特征在于,所述运动控制组件是控制器、控制轴对象、驱动器、驱动轴对象中的至少一个。
3.如权利要求1所述的系统,其特征在于,所述运动控制组件和所述不同运动控制组件利用对时间的共同理解来根据所述定时模型实现所述操作的执行。
4.如权利要求1所述的系统,其特征在于,所述操作为发送数据、接收数据、执行与数据相关联的计算、捕捉数据、以及应用接收到的命令中的一个或多个。
5.如权利要求1所述的系统,其特征在于,所述循环定时组件采用在一个粗略更新周期中实现驱动器的位置和速度中的一个或多个的更新的单循环定时模型,所述循环定时组件利用所述单循环定时模型将所述一个粗略更新周期的平衡部分分配给输入数据传输、输出数据传输、以及非运动相关数据传输。
6.如权利要求1所述的系统,其特征在于,所述循环定时组件采用在两个粗略更新周期中实现驱动器的位置和速度中至少一个的更新的双循环定时模型,所述循环定时组件利用所述双循环定时模型将一个粗略更新周期分配给输入数据传输并将第二个粗略更新周期分配给命令的生成以及所述命令的输出数据传输。
7.如权利要求1所述的系统,其特征在于,所述循环定时组件采用在三个粗略更新周期中实现驱动器的位置和速度中的一个或多个的更新的三循环定时模型,所述循环定时组件利用所述三循环定时模型将一个粗略更新周期分配用于输入数据传送、第二个粗略更新周期分配用于根据所述输入数据执行计算、以及第三个粗略更新周期分配用于输出数据传送。
8.如权利要求1所述的系统,其特征在于,所述运动控制组件是根据所述定时模型在粗略更新周期的开始捕捉实际数据的驱动器,所述驱动器与至少一个不同的驱动器同时将所述实际数据发送到以太网交换器,并且所述以太网交换器将来自所述驱动器和所述至少一个不同的驱动器的实际数据串行化以便传输给控制器。
9.如权利要求1所述的系统,其特征在于,所述循环定时组件用所述定时模型来预先设定。
10.如权利要求1所述的系统,其特征在于,所述循环定时组件从一组定时模型当中选择所述定时模型。
11.一种在工业自动化环境中有助于协调运动控制的方法(200,300,400),包括
在与定时模型相关联的粗略更新周期的开始捕捉与驱动器相关联的实际数据(202,302,402);
根据所述定时模型通过网络将所述实际数据发送到控制器(204,304,406);
根据所述定时模型通过所述网络接收由对应于所述实际数据的控制器生成的命令输出数据(208,308,408);以及
应用所述命令输出数据(210,310,412)。
12.如权利要求11所述的方法,其特征在于,所述实际数据与所述命令输出数据与所述驱动器的位置和所述驱动器的速度中的至少一个有关。
13.如权利要求11所述的方法,其特征在于,还包括通过利用单循环定时模型在实际数据捕捉后的粗略更新周期内应用所述命令输出数据。
14.如权利要求11所述的方法,其特征在于,还包括
通过采用双循环定时模型在所述粗略更新周期期间发送所述实际数据;以及
通过利用所述双循环定时模型在下一粗略更新周期期间接收所述命令输出数据。
15.如权利要求11所述的方法,其特征在于,还包括
通过采用三循环定时模型在所述粗略更新周期期间发送所述实际数据;
接收对应于在所述粗略更新周期中提供的实际数据的所述命令输出数据,所述命令输出数据在比所述粗略更新周期晚两个粗略更新周期的不同粗略更新周期期间被接收。
16.如权利要求15所述的方法,其特征在于,还包括对运动相关数据通信利用全双工网络带宽。
17.如权利要求15所述的方法,其特征在于,还包括实现输入和输出数据包的并行处理。
18.一种在工业自动化环境中有助于协调运动控制的系统(100,500,600,700,800,900,1000,1100,1200,1300),包括
用于在与定时模型相关联的第一时间段期间接收实际数据的装置(102,506,604,704,804,904,1004,1102,1202,1302);
用于在与所述定时模型相关联的第二时间段生成与所述实际数据相对应的命令输出数据的装置(102,506,604,704,804,904,1004,1102,1202,1302);以及
用于在与所述定时模型相关联的第三时间段发送所述命令输出数据的装置(102,506,604,704,804,904,1004,1102,1202,1302)。
19.如权利要求18所述的系统,其特征在于,所述定时模型是单循环定时模型、双循环定时模型、或三循环定时模型中的至少一种。
20.如权利要求18所述的系统,其特征在于,所述实际数据和所述命令数据与所述驱动器的位置和所述驱动器的速度中的至少一个有关。
全文摘要
要求保护的主题提供了工业自动化环境中有助于利用运动控制定时模型来协调与控制运动相关联的操作的系统和/或方法。例如,循环定时组件可实现由定时模型设定的定时(例如,可以选择、预设)。依照一个例示,循环定时组件可利用该定时模型来协调发送数据、接收数据、执行与数据相关联的计算(例如,生成命令)、捕捉数据、应用接收到的命令等。
文档编号G05B19/00GK101196731SQ20071016233
公开日2008年6月11日 申请日期2007年9月28日 优先权日2006年9月29日
发明者M·A·查菲 申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1