本申请要求2002年6月3日提交的、系列号为No.60/384979(律师记事表No.2002P08867US)的未决的临时申请的优先权,并将该申请全部引用在本申请中以作参考。
附图简述
通过以下参照附图对某些实施例的详细描述,本发明及其各种可能的实施方案将会容易地被理解,其中:
图1示出了本发明方法1000的实施例的流程图;
图2示出了本发明系统的实施例的框图;
图3示出了本发明位置模块3000的实施例的框图;
图4示出了本发明位置控制向导屏4000的实施例;
图5示出了本发明位置控制向导屏5000的实施例;
图6示出了本发明位置控制向导屏6000的实施例;
图7A示出了本发明应用7000的用于选择正极性的旋转选项的实施例;
图7B示出了本发明应用7100的用于选择负极性的旋转选项的实施例;
图8示出了本发明位置模块配置屏8000的实施例;
图9A示出了本发明位置模块配置屏9000的实施例;
图9B示出了电机9100的常规“转矩-速度”曲线的实施例;
图10示出了本发明位置模块配置屏10000的实施例;
图11示出了本发明位置模块配置屏11000的实施例;
图12示出了本发明位置模块配置屏12000的实施例;
图13A示出了本发明位置模块配置屏13000的实施例;
图13B示出了本发明的“位置-零位置”关系图13100的实施例;
图14示出了本发明位置模块配置屏14000的实施例;
图15示出了本发明位置模块配置屏15000的实施例;
图16示出了本发明位置模块配置屏16000的实施例;
图17A示出了本发明运动概况定义屏17000的实施例;
图17B示出了本发明位置模块模式选择17100的实施例;
图18示出了本发明位置模块配置屏18000的实施例;
图19示出了本发明位置模块配置屏19000的实施例;
图20示出了本发明位置模块配置屏20000的实施例;
图21示出了本发明运动概况定义屏21000的实施例;
图22示出了本发明的示例性功能块22000的框图;
图23示出了本发明的示例性功能块23000的框图;
图24示出了本发明的示例性功能块24000的框图;
图25示出了本发明的示例性功能块25000的框图;
图26示出了本发明的示例性功能块26000的框图;
图27示出了本发明的示例性功能块27000的框图;
图28示出了本发明的示例性功能块28000的框图;
图29示出了本发明的示例性功能块29000的框图;
图30示出了本发明的示例性功能块30000的框图;
图31示出了本发明的示例性功能块31000的框图;
图32示出了本发明的示例性功能块32000的框图;
图33示出了本发明的示例性操作控制板33000的屏幕。
详述
图1是本发明方法1000的实施例的流程图。在某些实施例中,方法1000可以结合一个影响运动装置的智能位置模块一起使用。智能位置模块可以是任何能够产生脉冲序列以控制运动装置的速度和位置的功能模块。运动装置可以是任何能够用该脉冲序列控制的装置,包括:运动控制器,例如步进电机控制器、伺服控制器、致动器控制器等等;运动驱动器,例如步进驱动器、伺服驱动器等等;和/或致动器,例如步进电机、伺服电机、线性电机、电机、滚珠螺杆、伺服阀、水压致动器、气动阀等等。
也以智能模块而公知的位置模块产生脉冲序列,用来基于存储在PLC的存储器中的配置信息控制运动。位置控制向导(wizard)简便了配置信息的创建、测试和维护。应当理解,在某些优选的实施例中,西门子EM 253是所述的位置模块,西门子STEP 7-Micro/WIN是所述的程序操作系统,以及西门子S7-200是所述的PLC。
在活动1010中,向导可能被用户启动用来配置所述的位置模块。应当理解,向导可以被离线地启动和执行,使得该向导不需要由一个与PLC相连接的处理装置来执行。也应当理解的是,当包括位置模块配置信息的当前项目是开放的时候,向导可以被启动。
在活动1020中,确定配置信息是否与当前项目相兼容。如果是不可接受的配置,则在活动1030中产生一个差错报告。如果是可接受的配置,则在活动1040中由用户接收一个询问,以便要么编辑现有的向导配置,要么创建新的向导配置。
如果用户选择创建新的配置,则产生一个默认的配置,并供用户修改。在活动1050中,如果程序平台和向导同PLC和所附的位置模块是联机的,则在活动1055中由程序平台从PLC中检索参数数据。应当理解,参数数据的检索减轻了用户配置该位置模块的负担。
在活动1060中,向导询问用户应答以参数化位置模块。应当注意,向导优选地详细解释每个参数以便允许用户输入合适的选择。如果用户需要额外的解释,则用户可以随时按F1以访问在线帮助网址的程序平台。应当理解,某些优选的实施例提供了西门子STEP 7-Micro/WIN在线帮助以对当前的向导话题提供上下文特有的帮助。
在活动1070中,当用户完成向导配置和选择“Finish”时,输入到向导中的用户配置选择被处理,以自动地生成正确格式的模块配置。该配置是在用户的项目中生成的,并且每个参数被记录以允许用户打印检查和保留项目记录。向导还产生程序指令;基于模块配置的功能块。该程序指令被定制地产生,以反映可能由用户的特定向导选择所带来的特殊需要。
在活动1080中,用户检查指令,并可以测试位置模块的操作。本领域技术人员应当理解,检查和测试是优选的,不是必须的步骤。
在活动1090中,用户通过调用由向导所产生的指令来把所生成的程序“连接”到智能位置模块上。应当理解,由向导生成的代码可以用与标准PLC指令足够相似的方式来调用。
智能模块配置和用户程序的细节被加密和下载到PLC上。应当理解,当用户利用程序操作系统、例如西门子STEP 7-Micro/WIN上载PLC程序时,智能模块配置和用户程序是可用的。因此允许智能模块向导重建用户的选项,并允许用户在被上载的程序中编辑任何已有的配置。
图2是本发明系统的实施例的框图。系统可以包括便携式计算机(PC)2005,该计算机包括被连接到存储器2010、例如双端口RAM上的主处理器2050和PC接口2060。PC接口2060可以是通信接口,例如总线、连接器、电话线接口、无线网接口、蜂窝网接口、局域网接口、宽带电缆接口等等。存储器2010包括一个程序操作系统2020、例如西门子STEP 7-Micro/WI N,一个智能模块向导2030和向导输出2040。
系统还可以包括一个可编程逻辑控制器(PLC)2080、例如西门子S7-200,包括通过连接器耦合到运动处理器2100上的主处理器2090。在某些实施例中,运动处理器2100可以连接到PLC 2080的诸如系统背板和/或扩展输入/输出总线等连接器上。运动处理器2100可以是商业上能得到的通用微处理器。在另一实施例中,运动处理器2100可以是一种应用特有的集成电路(ASIC),其已经被设计用于在其硬件或固件内实现本发明实施例的方法的至少一部分。在又一实施例中,运动处理器2100可以是现场可编程栅阵列(FPGA)。
存储器2120可以包含用软件实现的指令,其可以采用本领域公知的许多形式。存储器2120可以包括一个系统块2130、一个数据块2140和一个程序块2150。
PLC 2080也可以包括一个运动控制器接口2110,例如总线、连接器、电话线接口、无线网接口、蜂窝网接口、局域网接口、宽带电缆接口等等。运动控制器接口2110优选地被连接到运动控制器2170和与PLC 2080隔开的运动控制器2200。运动控制器2170和2200被连接到相应的运动驱动器和/或致动器2210、2180上。
位置模块2220可以通过通信接口2070、例如总线被连接到PLC2080和PC 2005上。可选地,位置模块2190可以通过网络2160被连接到PLC 2080和PC 2005上。网络2160可以是公共交换电话网(PSTN)、无线网、蜂窝网、局域网、因特网等等。
应当理解,尽管在图2中为明了的目的示出了两个位置模块,但在接下来的附图中只讨论位置模块2220。
图3是本发明位置模块2220的实施例的框图。位置模块2220产生脉冲序列,以用于电机的速度和位置的开环控制,这种电机如步进电机和/或伺服电机。在本发明的某些实施例中,位置模块2220是西门子EM 253位置模块,它是一种西门子S7-200特殊功能模块。位置模块2220通过扩展I/O总线2070与PLC 2080通信,并且可以是具有8个数字输出的智能模块的配置。
基于数据块2140、系统块2130和程序块2150中的配置数据和参数,位置模块2220产生用于控制运动的脉冲序列。
应当理解,向导2030允许用户完全地配置位置模块2220。还应当理解的是,由于程序和配置数据被下载到PLC 2080,所以可以替换掉模块2220,而不必重新编程和重新配置该被去掉的位置模块。
在某些优选实施例中,如表1所示,位置模块2220可以为通向运动程序的接口提供五个数字输入和四个数字输出。这些输入和输出对位置模块2220来说是本地的。本领域技术人员应当理解,在本发明中可以实现替换的用于产生脉冲的智能模块。
表9-1 位置模块的输入和输出
信号 |
描述 |
STP |
STP输入使模块停止进程当中的运动。你可以在位置控制向导中选择所需的STP操作。 |
RPS |
RPS(参考点切换)输入为绝对运动操作建立参考点或原点位置 |
ZP |
ZP(零脉冲)输入帮助建立参考点和原点位置。典型地,电机每旋转一次,电机驱动器/放大器便提供ZP脉冲 |
LMT+LMT- |
LMT+和LMT-输入给运动过程建立最大的限制。位置控制向导允许你配置LMT+和LMT-输入的操作。 |
P0P1P0+,P0-P1+,P1- |
P0和P1是开放式漏极晶体管脉冲输出,用于控制电机的运动和运动方向。P0+,P0-和P1+,P1-是差动的脉冲输出,用于在提供高信号质量时相应地提供P0和P1的相同功能。所述的开放式漏极输出和差动输出全部是同时有效的。基于电机驱动器/放大器的接口需要,你选择采用哪组脉冲输出。 |
DIS |
DIS是开放式漏极晶体管输出,用于禁止或允许电机驱动器/放大器 |
CLR |
CLR是开放式漏极晶体管输出,用于清除伺服脉冲计数寄存器。 |
图4是本发明向导屏4000的实施例。向导2030允许为位置模块2220产生一个配置/概况表以便控制一个运动应用。为了执行位置控制向导2030,应当理解,项目必须已经被编译和被设置成符号编址模式。为了启动向导2030,用户要么点击导航条中的图标“工具”且然后双击图标“位置控制向导”,要么选择一个菜单命令“工具>位置控制向导”。如图4所示,向导2030允许用户要么配置位置模块2220的操作,要么配置脉冲输出指令的PTO/PWM操作。在用户选择一个用于位置模块2220的选项并点击“下一”之后,向导2030便给用户指导被用来配置位置模块2220的全部步骤。
图5是本发明向导屏5000的实施例。如图所示,向导2030帮助用户给位置模块2220定义参数,以及给用户的应用定义一组运动概况。响应于点击按钮“读模块”5010,向导2030自动地读取位置模块2220的模块位置。通过读取位置模块2220,向导2030可以“预先装载”一些配置选项,从而用户在稍后无需作出某些判断。
图6是本发明的位置控制向导屏6000的实施例。如图所示,用户选择一个将要在整个向导配置过程中被使用的测量系统。用户可以选择要么采用工程单位,要么采用脉冲。应当理解,如果用户选择脉冲,则不必规定额外的信息。但如果选择工程单位,则用户必须输入额外的数据,包括:需要被用来使指定的电机产生一次旋转的脉冲数量,测量的基本单位(例如英寸、英尺、毫米或厘米),以及由电机的一次旋转所规定的运动的数量(或“单位”)。
应当理解,在程序操作系统2020是STEP 7-Micro/WIN的某些优选实施例中,提供一个EM253控制板以允许用户修改在位置模块2220已被配置之后的每次旋转的单位数量。但本领域技术人员应当理解,如果测量系统在稍后被改变,则需要删除包括由向导2030所产生的任何指令在内的全部配置。然后还需要输入与新的测量系统相一致的选择。
在某些优选实施例中,应当理解的是,向导2030提供了一种高级选项选择,这种选择允许用户观看和编辑位置模块2220的默认输入和输出配置。例如,标记“Input Active Levels”将改变致动电平设置。当该电平被置为“High”时,则读取逻辑1,此时有电流流入输入。当该电平被置为“Low”时,则读取逻辑1,此时无电流流入输入。逻辑1电平总被解释为条件是有效的意思。当有电流流入输入时,LED发光,不管致动电平如何(默认值=active high)。
另外,输入标记“过滤时间”允许用户规定一个延时(范围为0.20ms-12.80ms)以用于过滤STP、RPS、LTM+和LTM-输入。该延迟有助于滤除输入线上的噪声,这种噪声可能导致输入状态的不经意变化(默认值=6.4ms)。最后,标记“脉冲和方向输出”允许用户规定控制方向的方法。用户必须首先规定输出的极性。
图7A是本发明应用7000的用于选择正极性的旋转选项的实施例。图7B是本发明应用7100的用于选择负极性的旋转选项的实施例。对于采用正极性的应用,用户选择图7A所示的方法之一来调节应用的驱动和定向。位置模块2220从用于正旋转的P0输出发出脉冲,从用于负旋转的P1输出发出脉冲。如果位置模块2220从P0输出发出脉冲,则该模块接通用于正旋转的P1输出,并关断用于负旋转的P1输出(这是默认设置)。
对于用户采用负极性的应用,用户选择图7B所示的方法之一以调节应用的驱动和定向。位置模块2220从用于负旋转的P0输出发出脉冲,从用于正旋转的P1输出发出脉冲。如果位置模块2220从P0输出发出脉冲,则该模块关断用于正旋转的P 1输出,并接通用于负旋转的P1输出。
图8是本发明位置模块配置屏8000的实施例。如图所示,由用户规定位置模块2220将如何应答某些输入条件,例如LMT+切换、LMT-切换以及STP输入。对于每种情况,位置模块2220要么用不动作应答(忽略输入条件)并减速至停止(默认),要么立即停止。
图9A是本发明位置模块配置屏9000的实施例。如图所示,由用户给用户的应用输入一个最大速度(MAX_SPEED)和一个启/停速度(SS-SPEED)。MAX_SPEED是用户的应用在用户电机的转矩能力之内的最佳运行速度值。该被用于驱动负载的转矩是由摩擦、惯性和加速/减速时间决定的。向导2030计算和显示一个可以由位置模块2220针对指定的MAX_SPEED而控制的最小速度。SS_SPEED是一个位于用户电机能以低速驱动负载的能力之内的值。如果SS_SPEED值太低,电机和负载就可能在运行的始末处振动或短距离跳动。如果SS_SPEED值太高,电机就可能在启动时丢失脉冲,并且负载可能在尝试停止时使电机过载。
图9B是电机9100的常规“转矩-速度”曲线的实施例。电机数据清单不同地规定了电机的启/停(或到达/离开)速度和给定的负载。典型地,有用的SS_SPEED值是MAX_SPEED值的5%-15%。SS_SPEED值必须大于根据用户的MAX_SPEED规定所显示的最小速度。用户应该参看电机数据清单来为用户应用选择正确的速度。
图10是本发明位置模块配置屏10000的实施例。如图所示,用户输入Jog命令参数值。Jog命令被用来人工地把工具移到所需的位置。当用户希望少量地移动一个机构时(“人工地拧一个机构”)该命令被典型地采用。Jog参数值包括JOG_SPEED(电机的慢步速度)、在JOG命令保持有效期间可以获得的最大速度、以及JOG_INCREMENT(工具由瞬时JOG命令移动的距离)。图形10010示出了Jog命令的操作。当位置模块2220收到一个Jog命令时,它启动其计时器。如果Jog命令在用完0.5秒之前终止,则位置模块2220将工具以SS_SPEED所定义的速度而移动一个在JOG_INCREMENT中所规定的量。如果Jog命令在0.5秒过后仍然有效,则位置模块2220加速到JOG_SPEED。运动一直持续到Jog命令终止。位置模块2220然后实现减速停止。应当理解,对于某些实施例,Jog命令可以由EM 253控制板或由位置指令进行允许。
图11是本发明位置模块配置屏11000的实施例。如图所示,由用户设置电机的加速和减速时间。应当理解,加速时间和减速时间的默认设定值都是1秒。但典型地,电机可以利用小于1秒工作。用户输入ACCEL_TIME的毫秒数,也即电机从SS_SPEED加速到MAX_SPEED所需要的时间,在此默认值是1000毫秒;而且还输入DECEL_TIME,也即电机从MAX_SPEED减速到SS_SPEED所需要的时间,其中默认值等于1000毫秒。
应当理解,当测试一个应用时,在某些实施例中可以使用EM 254控制板来调节所需要的值。通过不断地减少时间来优化应用设置,直到电机开始停转。
图12是本发明位置模块配置屏12000的实施例。应当理解,通过降低运动概况的加速和减速部分中的冲击(变化率),冲击补偿提供了更平稳的位置控制。如图12100所示,降低冲击改善了位置跟踪特性。冲击补偿-也被称为“S曲线整形”-只能适用于简单的单步骤的概况。这种补偿被同样地施加给加速和减速曲线的开始和结束部分。应当理解,冲击补偿不适用于在0速度和SS_SPEED之间的起始和最终步骤。
用户通过输入一个时间值(JERK_TIME)来输入冲击补偿。JERK_TIME是从0加速到由MAX_SPEED、SS_SPEED和ACCEL_TIME所定义的最大加速度所需要的时间,或同样地适用于DECEL_TIME。应当理解,与通过简单地增加ACCEL_TIME和DECEL_TIME所获得的相比,较长的冲击时间会得到总周期时间增加更少的更平稳的操作。0值表示不应施加补偿。JERK_TIME默认值等于0ms。
图13A是本发明位置模块配置屏13000的实施例。应当理解,如果应用规定了从一个绝对位置开始的运动,则用户必须建立一个零位置,该零位置决定了到物理系统上的一个已知点的位置度量。在实施例中,用户在物理系统上提供一个参考点(RP)。为了简化该方法,位置模块2220提供了一个外部参考点切换(RPS)输入,以用于搜寻该RP。
控制你的运动应用如何搜寻RP的“参考点搜寻(RP搜寻)”参数也可以被配置。RP可被集中在RPS激活区,RP可以位于RPS激活区的边缘,或者RP可以位于从RPS激活区的边缘开始产生指定数量的零脉冲(ZP)输入转变的地方。
如图13A所示,为了配置一个RP,用户给电机输入RP搜寻速度,包括:RP_FAST,也即当执行RP搜寻命令时由位置模块2220所采用的初始速度;以及RPSLOW,也即最终接近于RP的速度。当接近于RP时优选采用更慢的速度,以便不错过它。应当理解,RP_FAST值典型地约为MAX_SPEED值的三分之二,而RP_SLOW值等于SS_SPEED值。
用户还为RP搜寻输入一个初始搜寻方向(RPm_SEEK_DIR)和一个最终接近方向(RP_APPR_DIR)。这些方向被规定为负的或正的。RPSEEK_DIR是RP搜寻操作的初始方向。优选地,该方向是从工作区指向RP附近。应当理解,在定义一个搜寻RP的区域时,临界切换是具有重要意义的。还应当理解的是,当执行RP搜寻操作时,遇到一个临界切换将导致方向的反转,其允许在默认值是负的时继续搜寻。RP_APPR_DIR是最终接近于RP的方向。为了减少间隙和提供更高的精确性,RP_APPR_DIR以与正常工作周期相同的方向运动。应当理解,默认值是正的。
向导2030提供了允许用户输入RP偏移(RP_OFFSET)的高级参考点选项,该偏移是从RP到零位置的距离。如图13B所示,RP通过一种相对于RPS寻找精确位置的方法来识别。为了配置RP偏移,用户向图13A所示的屏幕输入:RP_OFFSET,也即一个从RP到物理测量系统零位置的距离,其中默认值为0;一个间隙补偿,也即电机为了消除系统在改变方向时的游隙(间隙)而必须移动的距离。应当理解,间隙补偿总是正值。应当理解默认值等于零。还应当理解向导2030允许用户跳过该部分。
图14和图15均是本发明的相应位置配置屏14000和15000的实施例。如果用户选择配置一个参考点,则这些屏幕允许配置某些参考点参数以“搜寻”该参考点。向导2030允许配置一个被位置模块2220用来搜寻参考点的顺序。用户对RP搜寻顺序可以选择以下选项:RP搜寻模式0,此时不执行RP搜寻顺序;RP搜寻模式1,此时RP是RPS输入在离开工作区边缘的路径上变得有效的地方,这是默认值;RP搜寻模式2,此时RP位于RPS输入的有效区的中心;RP搜寻模式3,此时RP位于RPS输入的有效区的外侧,其中RP_Z_CNT定义了在RPS变成无效之后应该接收多少个ZP(零脉冲)输入计数;以及RP搜寻模式4,此时RP通常位于RPS输入的有效区之内。RP_ZCNT规定了在RPS变成有效之后应该接收多少个ZP(零脉冲)输入计数。
图16是本发明位置模块配置屏16000的实施例。应当理解,一个概况是一个预先定义的运动描述,包括影响从起点到终点的运动的一个或多个运动速度。用户无需定义一个概况以便使用该模块,因为向导2030提供了用于控制运动的指令子程(POSx_GOTO)。
如图所示,由用户输入:概况的数量、运动的顺序、最多应为该模块配置的25个概况的最大值;命令字节的地址,用于位置模块2220的命令字节的输出(Q)存储器地址;以及配置/概况表的地址。应当理解,用于配置/概况表的起始存储器地址存储了位置模块2220的配置数据和所有概况的数据。还应当理解,在某些优选实施例中,位置模块2220的配置数据需要V存储器的92个字节,而且每个概况需要V存储器的34个字节。例如,具有一个概况的位置模块2220的配置/概况表所需要的存储器数量是V存储器的126个字节。位置控制向导2030可以建议大小合适的、没有被使用的V存储器块地址。
图17A是本发明运动概况定义屏17000的实施例。该屏幕允许用户定义运动的顺序,并提供概况的原始图形显示。如图所示,向导2030提供一个运动概况定义“Motion Profile Definition”,在这里给应用定义一个运动概况。对于每个概况,用户输入一个操作模式并定义该概况的每个单独步骤的细节。向导2030允许用户通过简单地输入一个该概况被定义的符号名而为每个概况定义一个符号名。在用户完成用于配置概况的数据输入之后,向导2030允许用户存储和打印该概况参数的拷贝。
图17B是本发明位置模块17199的模式选择的实施例。如图所示,向导2030允许用户根据操作模式配置一个概况,要么一个绝对位置、一个相对位置、一个单速的连续旋转,要么一个双速的连续旋转。
应当理解,一个步骤是工具移动的一个固定距离,包括在加速和减速时间内覆盖的距离。每个概况可以具有高达4个的单独步骤。用户向图17A的向导屏输入一个目标速度和每个步骤的结束位置。如果有多于一个的步骤,用户点击“新步骤”按钮,并输入该概况的每个步骤的信息。四个示例性的概况包括一个单步的、一个双步的、一个三步的和一个四步的概况。通过点击“绘图步骤”按钮,用户可以观看该步骤的如2030所计算的图形显示。应当理解,该特征允许用户容易地和交互地检查和编辑每一个步骤。
图18是本发明位置模块配置屏18000的实施例。应当理解,位置模块2220的配置被存储在PLC 2080的V存储器中。如图所示,向导2030检查用户的程序并建议一个与程序V存储器用途不相冲突的地址。
图19是本发明位置模块配置屏19000的实施例。如图所示,图19是一个提供了项目构件概要的完整屏幕,所述的项目构件包括将要作为向导输出2040的结果而被加入到用户项目中的数据、指令和编程。位置控制向导2030把一个模块配置和概况表插入到PLC 2080的程序的数据块2140中。向导2030还为运动参数创建一个总符号表,并把运动指令子程加入到为用户应用所提供的项目程序块2150中。该屏幕还提供了为完成该过程所需要的接下来步骤的描述。
图20是本发明位置模块配置屏20000的实施例。如图所示,该屏幕在用户的项目已包括一个或多个由向导生成的配置时首先出现。它允许用户在重新编辑一个由向导生成的现有配置和创建一个新的额外配置之间作出选择。
图21是本发明运动概况定义屏21000的实施例。若用户选择编辑一个现有的由向导生成的配置,该屏幕便允许用户进行该编辑。如图所示,用户可以从项目中删除现有的配置。选择该选项将导致这种由向导生成的配置的所有项目构件从用户指定的项目中被删去。用户可以将该配置移到不同的模块位置。如果选定,向导2030将自动地把该配置移至另一模块位置。如果用户选择“下一”而不选择任一可用选项,则用户将启动一个再编辑向导过程来改变当前的参数。
应当理解,通过再执行该向导来修改向导配置的这种能力方便了长期的维护和运动装置通常所需的修改。
通过根据模块的位置和用户输入的配置选项来创建唯一的指令子程,向导2030方便了位置模块2220的控制。每个位置指令被加上前缀“POSx”,其中x是模块位置。因为每个位置指令是一个子程,所以11个位置指令采样11个子程。
可以从一个中断例行程序执行一个POSx_RUN和POSx_GOTO指令。如果一个指令在一个中断例行程序中被启动,则POSx_CTRL指令的输出将被用来监视位置模块何时已完成运动。
位置控制向导2220根据用户所选择的测量系统自动地配置速度参数值(Speed和C_Speed)和位置参数值(Pos或C_Pos)。对脉冲而言,这些参数是DINT值。对于工程单位而言,这些参数是你选择的单位类型的REAL值。例如,选择厘米(cm)将以厘米把位置参数存储作为REAL值,并以厘米/秒存储速度参数作为REAL值。
在此,由位置控制向导生成的指令被提供如下。
图22是本发明的示例性功能块22000的框图。如图所示,POSx_CTRL指令(控制)通过每当在PLC2080变为RUN模式时自动地命令位置模块2220去装载所述的配置/概况表来允许和启动该位置模块2220。该指令优选地在一个项目中应被使用一次,并且应优选地针对每次扫描而被调用。
POSx_CTRL指令的参数在以下的表2中被示出。在某些实施例中,SMO.O(一直是开启的)被用作EN参数的输入。EN参数必须是开启的以便允许其它位置指令把命令发送给位置模块2220。如果EN参数被关断,则位置模块2220将放弃进程中的任何命令。POSx_CTRL指令的输出参数提供了位置模块2220的当前状态。当位置模块执行完任何指令时,Done参数便开启。Error参数包含该指令的结果。
Cpos参数是模块的当前位置。根据测量单位,该值要么是脉冲的数量(DINT),要么是工程单位的数量(REAL)。C_Speed参数提供了模块的当前速度。如果你针对脉冲而为位置模块配置了测量系统,则C_Speed是一个包含每秒脉冲数量的DINT值。如果你针对工程单位配置了测量系统,则C_Speed是一个包含所选的每秒工程单位(REAL)的REAL值。C_Dir参数表示电机的当前方向。
表2-POSx_CTRL指令的参数
输入/输出 |
数据类型 |
操作数 |
MOD_EN |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Done,C_Dir |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
C_Pos,C_Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD |
图23是本发明的示例性功能块23000的框图。如图所示,POSx_MAN指令(人工模式)把位置模块2220置为人工模式。这允许电机以不同的速度运行或在正负方向上反复启动。当POSx_MAN指令被允许时,只有POSx_CTRL和POSx_DIS指令被允许。
在某些实施例中,RUN、JOG_P或JOG_N输入中每次只有一个被允许。允许RUN(Run/Stop)参数来命令位置模块加速到指定的速度(Speed参数)和方向(Dir参数)。Speed参数的值可以在电机运行期间被改变,但Dir参数必须维持恒定。禁止RUN参数来命令位置模块减速直到电机停止。
允许JOG_P(Jog正旋转)或JOG_N(Jog负旋转)参数将命令位置模块在正或负方向上反复启动。JOG_P或JOG_N参数保持被允许小于0.5秒。位置模块2220发出脉冲以运行在JOG_CREMENT中所指定的距离。如果JOG_P或JOG_N参数保持被允许0.5秒或更长,则运动模块开始加速到指定的JOG_SPEED。
Speed参数确定了RUN被允许时的速度。如果位置模块2220的测量系统被测量用于脉冲,则速度是每秒脉冲数的一个DINT值。如果位置模块的测量系统被配置用于工程单位,则速度是每秒单位数的REAL值。该参数可以在电机运行时被改变。
Dir参数确定了在RUN被允许时运动的方向。你不能在RUN参数被允许时改变该值。Error参数包含了该指令的结果。C_Pos参数包含了模块的当前位置。根据所选的测量单位,该值要么是每秒的脉冲数(DINT),要么是每秒的工程单位数(REAL)。C_Speed参数包含了模块的当前速度。根据所选的测量单位,该值要么是每秒的脉冲数(DINT),要么是每秒的工程单位数(REAL)。C_Dir参数表示了电机的当前方向。
表3-POSx_MAN指令的参数
输入/输出 |
数据类型 |
操作数 |
RUN,JOG_P,JOG_N |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD,常数 |
Dir,C_dir |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
C_Pos,C_Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD |
图24是本发明的示例性功能块24000的框图。POSx_GOTO指令命令位置模块2220走到所需的位置。开启EN比特,将允许该指令。开启START参数,将给位置模块2220发送一个GOTO命令。对于每次扫描,当START参数开启且位置模块当前不忙的时候,该指令将给位置模块2220发送一个GOTO命令。为了保证只有一个GOTO命令被发出,采用一个边缘检测元件来开启START参数。
Pos参数包括一个值,其表示了运动的位置(对于绝对运动)或运动的距离(对于相对运动)。根据所选的测量单位,该值是脉冲数(DINT)或工程单位数(REAL)。
Speed参数确定了该运动的最大速度。根据测量单位,该值是每秒的脉冲数(DINT)或每秒的工程单位数(REAL)。
Mode参数选择了运动类型:
0-绝对位置
1-相对位置
2-单速、连续正旋转
3-单速、连续负旋转
当位置模块完成该指令时,Done参数开启。
Error参数包含了该指令的结果。C_POS参数包含该模块的当前位置。根据测量单位,该值是脉冲数(DINT)或工程单位数(REAL)。C_SPEED参数包括该模块的当前速度。根据测量单位,该值是每秒的脉冲数(DINT)或每秒的工程单位数(REAL)。
表4-POSx_GOTO指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Pos,Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD,常数 |
Mode |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*LD,常数 |
Abort,Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
C_Pos,C_Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD |
图25是本发明的示例性功能块25000的框图。POSx_RUN指令(运行概况)命令位置模块2220按照存储在配置/概况表内的具体概况执行一个运动操作。开启EN比特将允许该指令。开启START参数将向一个Profile Done位置模块发送一个RUN命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由一个指令把RUN命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。Profile参数包括该运动概况的数量或符号名。
开启Abort参数,将命令位置模块2220停止当前的概况并减速到电机停止。当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。
C_Profile参数包括当前正由位置模块2220执行的概况。C_Step参数包括当前正被执行的概况的步骤。C_Pos参数包括模块的当前位置。根据测量单位,该值是脉冲数(DINT)或工程单位数(REAL)。C_SPEED参数包括该模块的当前速度。根据测量单位,该值是每秒的脉冲数(DINT)或每秒的工程单位数(REAL)。
表5-POSx_RUN指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Profile |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD,常数 |
Abort,Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error,C_Profile,C_Step |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
C_Pos,C_Speed |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD |
图26是本发明的示例性功能块26000的框图。POSx_RSEEK指令(搜寻参考点位置)启动一个参考点搜寻操作,其中利用配置/概况表中的搜寻方法。当位置模块2220定位一个参考点并停止运动时,位置模块2220便把RP_OFFSET参数值装进当前的位置中,而且在CLR输出上产生一个50ms的脉冲。
RP_OFFSET的默认值是0。向导2030、EM 253控制板或POSx_LDOFF(装载偏移)指令可以被用来改变RP_OFFSET值。开启EN比特将允许该指令。
开启START参数,将给位置模块2220发送一个RSEEK命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由一个指令把RSEEK命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。
当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。
表6-POSx_RSEEK指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图27是本发明的示例性功能块27000的框图。POSx_LDOFF指令(装载参考点偏移)将建立一个新的零位置,该位置处于一个远离参考点位置的不同位置处。
在执行该指令之前,参考点的位置被首先确定,而且机器需要被移到起始位置。当该指令发送LDOFF命令时,位置模块2220计算一个位于该起始位置(当前位置)和参考点位置之间的偏移。位置模块2220然后把该计算的偏移存储到RPOFFSET参数中,并把当前位置设为0。这便把起始位置建立为零位置。如果电机(由于功率损失或如果电机被人工地重定位)失去了其位置线索,则POSx_RSEEK指令自动地重建立一个零位置。
开启EN比特,将允许该指令。开启START参数,将给位置模块2220发送一个LDOFF命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由指令把LDOFF命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。
表7-POSx_LDOFF指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图28是本发明的示例性功能块28000的框图。POSx_LDPOS指令(装载位置)把位置模块2220中的当前位置值改变为一个新的值。该指令也可以被用来为任何绝对运动命令建立一个新的零位置。
开启EN比特,将允许该指令。开启START参数,将给位置模块2220发送一个LDPOS命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由指令把LDPOS命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。
New_Pos参数提供了一个新的值,用于代替位置模块2220为绝对运动所报告和采用的当前位置值。根据测量单位,该值是脉冲数(DINT)或工程单位数(REAL)。
当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。C_Pos参数包含了该模块的当前位置。根据测量单位,该值是脉冲数(DINT)或工程单位数(REAL)。
表8-POSx_LDPOS指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
New_Pos,C_Pos |
DINT,REAL |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图29是本发明的示例性功能块29000的框图。POSx_SRATE指令(设置速率)命令位置模块2220改变加速、减速和冲击时间。开启EN比特,将允许该指令。开启START参数,将把新的时间值拷入配置/概况表中,并给位置模块2220发送一个SRATE命令。对于START参数开启且位置模块当前不忙时的每一次扫描,由指令把SRATE命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。ACCEL_Time,DECEL_Time以及JERK_Time参数确定了毫秒(ms)级的新的加速时间、减速时间和冲击时间。
当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。
表9-POSx_SRATE指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L |
ACCEL_Time,DECEL_Time,JERK_Time |
DINT |
ID,QD,VD,MD,SMD,SD,LD,AC,*VD,*AC,*LD,常数 |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图30是本发明的示例性功能块30000的框图。POSx_DIS指令开启或关断位置模块2220的输出。这允许使用DIS输出来禁止或允许电机控制器。如果在位置模块2220上使用DIS输出,则可以在每次扫描时或只有在需要改变DIS输出值时调用该指令。
应当理解,当开启EN比特以允许该指令时,DIS_ON参数将控制位置模块的DIS输出。Error参数包括该指令的结果。
表10-POSx_DIS指令的参数
输入/输出 |
数据类型 |
操作数 |
DIS_ON |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD,常数 |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图31是本发明的示例性功能块31000的框图。POSx_CLR指令(给CLR输出施加脉冲)命令位置模块2220在CLR输出上产生一个50ms脉冲。开启EN比特,将允许该指令。开启START参数,将给位置模块2220发送一个CLR命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由指令把CLR命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。
当模块完成该指令时,Done参数开启。Error数包括该指令的结果。
表11-POSx_CLR指令的参数
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
图32是本发明的示例性功能块32000的框图。POSx_CFG指令(重装配置)命令位置模块2220从配置/概况表指针所指定的位置读取配置块。然后位置模块2220将新的配置与现有的配置进行比较,并执行任何需要的设置变化或重算。
开启EN比特,将允许该指令。开启START参数,将给位置模块2220发送一个CFG命令。对于START参数开启且位置模块2220当前不忙时的每一次扫描,由指令把CFG命令发送给位置模块2220。为了保证只有一个命令被发出,采用一个边缘检测元件来开启START参数。当模块完成该指令时,Done参数开启。Error参数包括该指令的结果。
表9-12
输入/输出 |
数据类型 |
操作数 |
START |
BOOL |
I,Q,V,M,SM,S,T,C,L,功率通量 |
Done |
BOOL |
I,Q,V,M,SM,S,T,C,L |
Error |
BYTE |
IB,QB,VB,MB,SMB,SB,LB,AC,*VD,*AC,*LD |
表9-12-POSx_CFG指令的参数
图33是本发明的示例性操作控制板33000的屏幕。如图所示,程序操作系统2020(例如STEP 7-Micro/WIN)提供了一个EM 253控制板。操作、配置和诊断标记方便了在位置模块研制过程的启动和测试态期间对位置模块2220的操作进行监视和控制。
图33所示的EM 253控制板可以被用来认证位置模块2220是正确地连线的,以便调节配置数据和测试每个运动概况。控制板的操作标记允许用户与位置模块2220的操作进行交互。控制板显示位置模块2220的当前速度、当前位置和当前方向。用户也可以监视输入和输出LED(除脉冲LED外)的状态。控制板也允许用户通过改变速度和方向、启停运动、以及反复启动该工具(若运动停止)来与位置模块2220进行交互。
用户也能产生运动命令。“U允许人工操作”命令提供使用人工控制来定位工具。运行“运动概况”命令,以选择一个需要被执行的概况。该控制板显示正被位置模块2220执行的概况的状态。“搜寻参考点”命令通过使用被配置的搜寻模式来找到参考点。“装载参考点偏移”命令提供使用人工控制来把工具慢步到新的零位置,然后装载一个参考点偏移。“重装当前位置”命令更新当前的位置值,并建立一个新的零位置。“激活DIS输出”和“去活DIS输出”命令将开启和关断位置模块2220的DIS输出。“给CLR输出施加脉冲”命令在位置模块2220的CLR输出上产生一个50ms的脉冲。“教导一个运动概况”命令将在人工地定位工具时存储运动概况和步骤的一个目标位置和速度。
应当理解,控制板显示正被位置模块执行的概况的状态。
EM 252控制板还提供附加的命令。“装载模块配置”命令通过命令位置模块2220从PLC 2080(例如S7-200)的V存储器中读取配置块而装载一个新的配置。“J移到绝对位置”命令允许以目标速度移到指定的位置。在使用该命令之前必须已经建立零位置。“移动一个相对量”命令允许以目标速度从当前位置移动一个指定的距离。用户可以输入正的或负的距离。
“U复位命令接口”命令清除位置模块2220的一个命令字节,并设置一个Done比特。当位置模块2220好象不回答命令时采用该命令。
尽管本发明是参考其特定的实施例来讲述的,但应当理解可以能有多种变型、修改和附加实施例,相应地,所有这些变型、修改和实施例应被视为落入本发明的精神和范畴之内。例如,位置模块的编程可以通过互联网来进行。同样,脉冲序列的传输可以通过互联网实现。在此特别标出和讨论的对比文献被引作参考,就如同完全在此被讲述一样。因此,附图和说明书在本质上应被视为解释性的,而非限制性的。