首页> 中国专利> 控制器支持装置、控制程序的仿真方法、控制器支持程序以及用于存储控制器支持程序的计算机可读存储介质

控制器支持装置、控制程序的仿真方法、控制器支持程序以及用于存储控制器支持程序的计算机可读存储介质

摘要

控制程序的顺序控制部分被配置为执行一个周期的仿真,以生成与顺序控制部分相关的执行结果。运动控制部分被配置为执行一个周期的仿真,以生成与运动控制部分相关的执行结果。然后,增量更新控制周期编号。确定是否为可恢复控制周期,如果确定为可恢复控制周期,则将在先前的控制周期中更新的恢复数据缓冲器(828)的内容存储在恢复数据存储单元(826)中。

著录项

  • 公开/公告号CN102804087A

    专利类型发明专利

  • 公开/公告日2012-11-28

    原文格式PDF

  • 申请/专利权人 欧姆龙株式会社;

    申请/专利号CN201180014340.4

  • 发明设计人 阪口泰规;森健一郎;

    申请日2011-02-14

  • 分类号G05B19/05;G05B19/4069;

  • 代理机构隆天国际知识产权代理有限公司;

  • 代理人郝新慧

  • 地址 日本京都府京都市

  • 入库时间 2023-12-18 07:31:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-01-25

    未缴年费专利权终止 IPC(主分类):G05B19/05 专利号:ZL2011800143404 申请日:20110214 授权公告日:20150415

    专利权的终止

  • 2015-04-15

    授权

    授权

  • 2013-01-23

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20110214

    实质审查的生效

  • 2012-11-28

    公开

    公开

说明书

技术领域

本发明涉及一种能够仿真控制程序的控制器支持装置、控制程序的仿真 方法、控制器支持程序以及用于存储控制器支持程序的计算机可读存储介 质,其中该控制程序包括在用于控制机器移动的控制器中针对每个控制周期 被执行的顺序控制部分和运动控制部分。

背景技术

公开号为2001-209406的日本未审查专利(专利文献1)描述了一种用 来仿真可编程逻辑控制器(PLC)程序指令执行的PLC仿真器装置。PLC程 序具体而言是一种用诸如梯形图或指令列表之类的语言描述的顺序程序。 PLC仿真器装置针对每一个指令执行来执行PLC程序,并显示执行结果。因 而方便了PLC程序的调试。

专利文献1:公开号为2001-209406的日本未审查专利

发明内容

待由本发明解决的问题

通常而言,顺序程序的操作确认(check)基本上包括关于针对每一个指 令执行获得了在预定输入条件下假定的输出的确认。

而且,如同专利文献1中所描述的,一轮执行可以被重复多次以等待预 定输入条件出现。然而,如果预定输入条件出现,则以一个周期的执行来确 认指令执行的操作。

代替重复一轮执行,可以通过手动输入或使用调试程序来提供预定输入 条件,从而使得能够以一个周期的执行来确认某个指令执行的操作。

在包括运动控制(该运动控制通过对于每个控制周期向用于驱动伺服电 机、步进电机等的电机驱动器提供指令值来控制电机操作)的控制程序中, 程序的运行需要被跟踪很多个控制周期以确认待提供给电机驱动器的指令 值是否是如同设计时假定的那样所计算的。

例如,当控制周期是1ms时,需要确认计算一万次所计算出的指令值的 推移(transition)以确认十秒钟的电机操作。在这种情况下,为了检查中间 的任意控制周期的指令值,需要重复地执行控制程序,从开始直至到达相关 的那个控制周期。

因此,与顺序控制部分的情况相反,不能通过提供预定输入条件以及仅 执行针对程序的运动控制部分的相关控制周期来实施操作确认。因此,需要 重新建立适于包括运动控制部分的控制程序的操作确认方法。

在这种情况下,需要考虑以下的问题。

在运动控制中,“以给定速度从当前位置移动到目标位置”为单位的运 动以复数形式被连接以在整体上编程出一段长时间内的复杂移动。在这种情 况下,如果控制程序的运动控制部分被修正或者影响运动控制部分的开始或 中断的顺序控制部分被修正以确认结果,则对于一系列运动需要从开始实施 仿真执行,因而关于程序修正结果的确认需要非常长的时间。

此外,如果控制程序使得运动控制的内容根据来自传感器的输入以及来 自手动开关的输入而改变,那么输入内容和输入时机需要在每次重新执行仿 真时被精确地再现,而这是很不方便的。

鉴于上述问题,发明人发现,如果当仿真包括运动控制的控制程序的执 行时能够使从位于执行的开始和结束之间的中间控制周期开始进行重新执 行,则能够实现高度便利。

本发明的目的是提供一种控制器支持装置、控制程序的仿真方法、控制 器支持程序以及用于存储控制器支持程序的计算机可读存储介质,该控制器 支持装置能够使在仿真包括运动控制的控制程序的执行时从位于执行的开 始和结束之间的中间控制周期开始进行重新执行。

解决问题的方案

根据本发明一个方案的一种控制器支持装置涉及一种控制器支持装置, 用于仿真控制程序,所述控制程序包括在用于控制机器移动的控制器中针对 每个控制周期被执行的顺序控制部分和运动控制部分,所述控制器支持装置 包括:仿真单元,用于仿真所述控制程序的执行并且生成执行结果数据;显 示数据创建单元,用于创建用于显示由所述仿真单元生成的所述执行结果数 据随时间变化的显示数据;接受单元,用于接受用户关于所述仿真单元的指 示;以及显示器,用于显示由所述显示数据创建单元创建的显示数据。所述 仿真单元包括:顺序计算执行部,用于仿真所述控制程序的所述顺序控制部 分的执行,并生成与所述顺序控制部分相关的执行结果数据;顺序变量存储 部,用于供用于执行仿真的所述顺序计算执行部所使用;运动计算执行部, 用于仿真所述控制程序的运动控制部分的执行,并生成与所述运动控制部分 相关的执行结果数据;运动变量存储部,用于供用于执行仿真的所述运动计 算执行部所使用;控制周期计数部,用于对控制周期的执行数目进行计数; 以及恢复数据存储部,用于保存恢复数据,所述恢复数据包括与能够开始重 新执行仿真的可恢复控制周期相对应的执行数目的数据以及从所述可恢复 控制周期开始重新执行仿真所使用的变量数据,所述变量数据为存储在所述 顺序变量存储部和所述运动变量存储部中的数据。所述仿真单元指定所述可 恢复控制周期,并将与所述可恢复控制周期相应的所述恢复数据存储在所述 恢复数据存储部中。所述仿真单元从所述接受单元获取关于指定用来开始重 新执行的控制周期的具体要求,并使用该具体要求来指定用来开始重新执行 的控制周期,并且使用所保存的与所指定的控制周期相应的恢复数据来从所 指定的控制周期开始重新执行仿真。

优选地,还设置了用来编辑控制程序的控制程序编辑单元。该控制程序 编辑单元能够接受用户操作以修正在所述仿真单元中执行的控制程序仿真。 所述仿真单元能够接受用户操作以针对所述控制程序编辑单元修正的控制 程序使用在所述控制程序被修正之前所保存的恢复数据来开始重新执行仿 真。

特别地,所述控制程序编辑单元通过用户操作来修正所述控制程序的所 述运动控制部分。所述仿真单元从所述控制程序编辑单元获取用于指定被修 正的运动控制部分的信息,从多个可恢复控制周期中指定能够从最新修正的 运动控制部分实施重新执行的控制周期,并且从所述控制周期开始重新执行 仿真。

特别地,所述控制程序编辑单元在显示器上以列表显示所述控制程序的 内容。所述接受单元接受列表显示上用来开始重新执行的运动控制部分 的具体要求。所述仿真单元从多个可恢复控制周期中指定能够从指定的运动 控制部分实施重新执行的控制周期,并且从所述控制周期开始重新执行仿 真。

优选地,所述控制程序的所述运动控制部分在每个控制周期中处于活动 状态或者处于非所述活动状态的不活动状态,其中所述活动状态是计算指令 值的状态。所述仿真单元以所述运动控制部分从所述不活动状态变为所述活 动状态的控制周期作为基准来指定所述可恢复控制周期。

优选地,所述控制程序的运动控制部分在每个控制周期中处于执行状态 或处于非所述执行状态的不执行状态,其中在所述执行状态中所述运动控制 部分处于执行中。所述仿真单元以所述运动控制部分从所述不执行状态变为 所述执行状态的控制周期作为基准来指定所述可恢复控制周期。

优选地,所述仿真单元将对于每个恒定间隔的控制周期指定为所述可恢 复控制周期。

优选地,所述显示数据创建单元创建用于将所述执行结果数据随时间的 变化显示为图形的显示数据。所述接受单元接受关于显示在显示器上的图形 位置的用户指示。所述仿真单元从多个可恢复控制周期中指定与用户指示的 图形上的位置相应的控制周期,并且从这个控制周期开始重新执行仿真。

优选地,所述显示数据创建单元创建用来将针对所述仿真单元所生成 的位置的执行结果数据随时间的变化显示为二维空间或三维空间中的轨迹 的显示数据。所述接受单元接受关于所述轨迹上的位置的用户指示。所述仿 真单元从多个可恢复控制周期中指定与用户指示的轨迹上的位置相应的控 制周期,并且从所述控制周期开始重新执行仿真。

优选地,所述显示数据创建单元创建用于将所述执行结果数据随时间的 变化显示为位置列表的显示数据。所述接受单元接受关于显示在显示器上的 位置列表中的位置的用户指示。所述仿真单元从多个可恢复控制周期中指定 与用户指示的位置列表中的位置相对应的控制周期,并且从所述控制周期开 始重新执行仿真。

根据本发明另一方案的控制程序的仿真方法涉及一种用于在包括显示 器的控制器支持装置中仿真控制程序的控制程序仿真方法,所述控制程序 包括在用于控制机器移动的控制器中针对每个控制周期被执行的顺序控制 部分和运动控制部分,所述控制程序仿真方法包括以下步骤:仿真计算步骤, 根据用户指示仿真所述控制程序的执行,并生成执行结果数据;显示数据创 建步骤,创建用于显示由所述仿真计算步骤生成的所述执行结果数据随时间 变化的显示数据;显示步骤,将所述显示数据创建步骤创建的所述显示数据 显示在所述显示器上。所述仿真计算步骤包括:顺序计算执行步骤,仿真所 述控制程序的所述顺序控制部分的执行,并生成与所述顺序控制部分相关的 执行结果数据;运动计算执行步骤,仿真所述控制程序的所述运动控制部分 的执行,并生成与所述运动控制部分相关的执行结果数据;控制周期计数步 骤,对控制周期的执行数目进行计数;指定可恢复控制周期的步骤,所述可 恢复控制周期是能够开始重新执行仿真的控制周期;恢复数据保存步骤,保 存恢复数据,所述恢复数据包括关于与所述可恢复控制周期相应的执行数目 的数据以及从所述可恢复控制周期开始重新执行仿真用到的变量数据,所述 变量数据包括与所述顺序控制部分的执行相关联的顺序变量数据以及与所 述运动控制部分的执行相关联的运动变量数据;以及重新执行开始步骤:接 受用来指定开始重新执行的控制周期的用户具体要求,使用所述具体要求来 指定用来开始重新执行的控制周期,并且使用所保存的与所指定的控制周期 相对应的恢复数据来从所指定的控制周期开始重新执行仿真。

根据本发明的又一方案的控制器支持程序涉及一种用于在包括显示器 的控制器支持装置中仿真控制程序的控制器支持程序,所述控制程序包括 在用于控制机器移动的控制器中针对每个控制周期被执行的顺序控制部分 和运动控制部分。所述控制程序使所述控制器支持装置执行如下步骤:仿真 计算步骤:根据用户指示仿真所述控制程序的执行,并生成执行结果数据; 显示数据创建步骤:创建用于显示由所述仿真计算步骤生成的所述执行结果 数据随时间变化的显示数据;显示步骤:将所述显示数据创建步骤创建的所 述显示数据显示在所述显示器上。所述仿真计算步骤包括:顺序计算执行步 骤,仿真所述控制程序的所述顺序控制部分的执行,并生成与所述顺序控制 部分相关的执行结果数据;运动计算执行步骤,仿真所述控制程序的所述运 动控制部分的执行,并生成与所述运动控制部分相关的执行结果数据;控制 周期计数步骤,对所述控制周期的执行数目进行计数;指定可恢复控制周期 的步骤,所述可恢复控制周期是能够开始重新执行仿真的控制周期;恢复数 据保存步骤,保存恢复数据,所述恢复数据包括关于与所述可恢复控制周期 相应的执行数目的数据以及从所述可恢复控制周期开始重新执行仿真所使 用的变量数据,所述变量数据包括与所述顺序控制部分的执行相关联的顺序 变量数据以及与所述运动控制部分的执行相关联的运动变量数据;以及,重 新执行开始步骤,接受用来指定开始重新执行的控制周期的用户具体要求, 使用所述具体要求来指定用来开始重新执行的控制周期,并且使用所保存的 与所指定的控制周期相应的恢复数据来从所指定的周期开始重新执行仿真。

根据本发明又一方案的一种用于存储控制器支持程序的记录介质涉及 一种存储有控制器支持程序的计算机可读存储介质,所述控制器支持程序用 于包括在显示器的控制器支持装置中仿真控制程序,所述控制程序包括在用 于控制机器移动的控制器中针对每个控制周期被执行的顺序控制部分和运 动控制部分。所述控制程序使所述控制器支持装置执行如下步骤:仿真计算 步骤,根据用户指示仿真所述控制程序的执行,并生成执行结果数据;显示 数据创建步骤,创建用于显示由所述仿真计算步骤生成的所述执行结果数据 随时间变化的显示数据;显示步骤,将所述显示数据创建步骤创建的所述显 示数据显示在显示器上。所述仿真计算步骤包括:顺序计算执行步骤,仿真 所述控制程序的所述顺序控制部分的执行,并生成与所述顺序控制部分相关 的执行结果数据;运动计算执行步骤,仿真所述控制程序的所述运动控制部 分的执行,并生成与所述运动控制部分相关的执行结果数据;控制周期计数 步骤,对控制周期的执行数目进行计数;指定可恢复控制周期的步骤,所述 可恢复控制周期是能够开始重新执行仿真的控制周期;恢复数据保存步骤, 保存恢复数据,所述恢复数据包括关于与所述可恢复控制周期相对应的执行 数目的数据以及从所述可恢复控制周期开始重新执行仿真所使用的变量数 据,所述变量数据包括与所述顺序控制部分的执行相关联的顺序变量数据以 及与所述运动控制部分的执行相关联的运动变量数据;以及重新执行开始步 骤:接受用来指定开始重新执行的控制周期的用户具体要求,使用所述具体 要求来指定用来开始重新执行的控制周期,并且使用所保存的与所指定的控 制周期相应的恢复数据来从所指定的周期开始重新执行仿真。

本发明的效果

根据本发明,当仿真包括运动控制的控制程序的执行时,由于能够从位 于执行开始到结束之间的中间的控制周期开始重新执行,因而方便了程序的 操作确认。

附图说明

图1是描述根据本发明实施例的控制系统的配置的视图;

图2是描述根据本发明实施例的PC 6的硬件配置的视图;

图3是描述当CPU 901执行控制器支持程序8时实现的功能块的视图;

图4是描述根据本发明实施例的仿真单元806的功能的详细框图;

图5是描述根据本发明实施例的控制程序调试操作的流程图;

图6是描述根据本发明实施例的控制器支持程序8的执行的流程图;

图7是描述根据本发明实施例的仿真单元806中仿真执行的流程图;

图8A和图8B是描述控制周期中的处理以时间顺序排布的情况中的视 图;

图9是描述根据本发明实施例的与计算指令值的控制周期相关的仿真单 元806中数据流的视图;

图10是描述根据本发明实施例的与没有计算指令值的控制周期相关的 仿真单元806中数据流的视图;

图11A和图11B是描述根据本发明实施例的IC芯片转移装置100的视 图。

图12是描述根据本发明实施例的IC芯片转移装置100的操作流程的视 图;

图13是描述用来控制IC芯片转移装置100中XYZ导杆50的控制程序 的一部分的视图;

图14是描述根据本发明实施例的控制器支持程序的窗口屏幕的视图;

图15是描述根据本发明实施例的可恢复点设置方法的选择窗口屏幕 1100的视图;

图16是描述根据本发明实施例的时间表窗口屏幕1200的视图;

图17是描述根据本发明实施例的空间轨迹显示窗口屏幕1300的视图;

图18是描述根据本发明实施例的轴位置列表的显示窗口屏幕1400的视 图;

图19A和图19B是描述根据本发明实施例的Buffered模式的视图;

图20是描述根据本发明实施例的用于Aborting模式中一部分FB的端子 的输入信号和输出信号的时序表的视图;

图21是示出根据本发明实施例的用于BlendingNext模式中一部分FB的 端子的输入信号和输出信号的时序表的视图;

图22是描述根据本发明实施例的用于BlendingPrevious模式中一部分 FB的端子的输入信号和输入信号的时序表的视图。

具体实施方式

下文将参照附图详细描述本发明的实施例。在整个附图中,相同的附图 标记指代相同或相应的部分,并且将省略其描述。

图1是描述根据本发明实施例的控制系统的配置的视图。参见图1,根 据本发明实施例的控制系统配置有服务器2、网络4、PC(个人电脑)6、控 制器14以及控制对象装置16。

服务器2通过网络4连接至PC 6。PC 6可通信地连接至用来控制该控 制对象装置16的控制器14。

PC 6用作根据本发明一个实施例的控制器支持装置。PC 6安装有控制 器支持程序8,并且存储有由用户创建的控制程序10。紧凑只读光盘存储器 (CD-ROM)12存储该控制器支持程序8。安装在PC 6中的控制器支持程 序8是从CD-ROM 12中被安装的。

控制器14控制该控制对象装置16的移动。

在本发明的实施例中,可编程逻辑控制器(PLC)被用作控制器14的一 个实例。换言之,PLC具有所谓的运动控制功能。控制器14存储控制程序 15,该控制程序15定义了关于控制对象装置16的控制内容。控制器14针 对每个控制周期执行一轮控制程序15。存储在控制器14中的控制程序15是 通过拷贝存储在PC 6中的控制程序10而获得的拷贝数据,并且是从PC 6 传输过来的。

控制对象装置16包括电机18(例如,伺服电机和步进电机)以及用来 驱动电机的电机驱动器17。

驱动电流从电机驱动器17被供应至电机18。电机驱动器17从执行控制 程序15的控制器14接受针对每个控制周期的位置指令值,并向电机18提 供与该指令值相对应的驱动电流。如果电机18是伺服电机,则电机18包括 编码器,并且电机18旋转位置的实际测量值由该编码器检测。电机旋转位 置的实际测量值用于由电机驱动器17进行的反馈控制。

在以上描述中,已经描述了通过CD-ROM 12将控制器支持程序安装在 PC 6中的情况,然而并非特别地限制于此,也可以通过网络4将控制器支持 程序从服务器2下载到PC 6。对于控制程序而言也是如此。

图2是描述根据本发明实施例的PC 6的硬件配置的视图。

参见图2,根据本发明实施例的PC 6包括CPU 901(该CPU901是处理 装置)、ROM902、RAM 903以及HDD 904(ROM 902、RAM 903以及 HDD 904是存储装置)、CD-ROM驱动装置908(CD-ROM驱动装置908 是数据读取单元)、通信IF 909(通信IF 909是通信装置)、监视器907(监 视器907是显示装置)以及键盘905和鼠标906(键盘905和鼠标906是输 入装置)。这些单元通过内部总线910的方式彼此连接。

HDD 904典型地是非易失性磁性存储器,并且存储由CD-ROM驱动装 置908从CD-ROM 12中读取的控制器支持程序。HDD 904还存储控制程序 15。

CPU 901开发存储在HDD 904至RAM 903等中的根据本实施例的控制 器支持程序8,并且执行该程序。

RAM 903是易失性存储器,并且用作工作存储器。ROM 902通常存储 诸如操作系统(OS)等之类的程序。

通信IF 909典型地支持诸如以太网(Ethernet,为已被注册的商标)和 USB(通用串行总线)之类的通用通信协议,并且通过互联网4提供与服务 器2之间的数据通信,以及提供与控制器14之间的数据通信。

监视器907被配置为液晶显示装置、CRT(阴极射线管)、等离子体显 示装置等,并且显示PC 6的处理结果等。键盘905接受用户的按键输入, 并且鼠标906接受用户的定点操作。

图3是描述当CPU 901执行控制器支持程序8时实现的功能块的视图。

参见图3,示出了用户接口单元802、显示数据创建单元804、仿真单元 806、控制程序存储单元808、控制程序编辑单元810以及控制器接口单元 812。

用户接口单元802是这样一个单元,其用来创建将被显示在PC 6的监 视器907上的窗口屏幕内容,并且用来接受用户通过键盘905和鼠标906进 行的操作。

控制程序编辑单元810使用户能够输入并编辑控制程序。如果有必要进 行编译来执行控制程序,则还实施编译。创建的控制程序通过控制器接口单 元812被发送至控制器14。创建的控制程序存储在控制程序存储单元808中, 控制程序存储单元808是HDD 904中的预定区域。控制程序编辑单元810 通过控制器接口单元812读出存储在控制器14中的控制程序15并且编辑该 控制程序。

仿真单元806是控制器14的仿真器。仿真单元806仿真控制器14的如 下操作:即,控制器14根据存储在控制程序存储单元808中的控制程序10 来执行控制程序15,并计算针对每个控制周期控制器14将输出的位置指令 值。

仿真单元806还能够仿真信号从外部到达并且影响控制程序的操作的状 态,或者能够仿真这样的状态,即,控制器14的内部状态(例如,控制器 14中存储器的存储内容)通过控制程序15自己本身的执行而改变,并且这 种改变影响控制程序15的操作。

仿真单元806通过用户接口单元802接收与仿真执行相关的用户指示。 换言之,用户接口单元802还用作用来接收关于仿真单元806的用户指示的 装置。

显示数据创建单元804创建显示数据,该显示数据用来显示仿真单元806 创建的执行结果数据随时间的变化。显示器数据创建单元804将创建的显示 数据发送至用户接口单元802,以在PC 6的监视器907上以图形和字符的形 式显示该显示数据。

图4是描述根据本发明实施例的仿真单元806的功能的详细框图。

参见图4,根据本发明实施例的仿真单元806包括:仿真控制部820、 调试辅助部822、控制周期计数部824、恢复数据存储部826、恢复数据缓冲 器828、执行结果数据存储部830、顺序控制仿真部840以及运动控制仿真 部850。恢复数据存储部826、恢复数据缓冲器828以及执行结果数据存储 部830分别使用RAM 903或HDD 904的预定区域。

仿真控制部820从控制程序存储单元808读取控制程序10,仿真执行以 及从中间开始重新执行控制程序10,并且伴随着控制顺序控制仿真部840、 运动控制仿真部850、控制周期计数部824、恢复数据缓冲器828、恢复数据 存储部826以及执行结果数据存储部830中的数据流。稍后将描述具体的数 据流。

顺序控制仿真部840执行控制程序10的顺序控制部分。

运动控制仿真部850执行控制程序10的运动控制部分。

控制程序10的运动控制部分是用来计算针对每个控制周期待提供给电 机驱动器17的指令值的部分。例如,以梯形图中使用的运动功能块(function  block)的形式来描述运动控制部分。后文中,有时将运动功能块简化描述为 FB。

控制程序10的顺序控制部分是指除控制程序10的运动控制部分之外的 部分。顺序控制部分除了包括梯形图的继电器(relay sequence)部分之外, 还包括数值计算指令或数值计算功能块。

顺序控制仿真部840包括顺序计算执行部844、顺序变量存储部846以 及顺序计算控制部842。

顺序计算控制部842控制顺序控制部分的执行。

顺序计算执行部844根据顺序计算控制部842的指令仿真执行控制程序 的顺序控制部分,并且生成与顺序控制部分相关的执行结果数据。

顺序变量存储部846存储与根据顺序计算控制部842的指令进行的顺序 控制部分执行相关的顺序变量。顺序变量存储部846使用RAM 903或HDD 904的预定区域。

运动控制仿真部850包括运动计算执行部854、运动变量存储部856以 及运动计算控制部852。

运动计算控制部852控制运动控制部分的执行。

运动计算执行部854根据运动计算控制部852的指令仿真执行控制程序 的运动控制部分,并生成与运动控制部分相关的执行结果数据。

运动变量存储部856存储与根据运动计算控制部852的指令进行的与运 动控制部分执行相关的运动变量。运动变量存储部856使用RAM 903或HDD 904的预定区域。

控制周期计数部824对控制周期的执行数目数进行计数。

恢复数据缓冲器828临时保存针对每个控制周期在恢复数据存储部826 中保存的那种类型的数据。

恢复数据存储部826保存对于在仿真被执行了至少一次后从仿真中间开 始重新执行而言所必要的恢复数据。待被保存的数据是临时保存在恢复数据 缓冲器828中的数据。恢复数据包括以下三种类型的数据。

第一种是与可恢复控制周期相对应的控制周期的执行数目的数据,在可 恢复控制周期中能够开始重新执行仿真。

第二种是存储在顺序变量存储部846的数据中、从可恢复控制周期开始 重新执行仿真所用到的顺序变量数据。

第三种是存储在动作变量存储部856的数据中、从可恢复控制周期开始 重新执行仿真所用到的运动变量数据。

执行结果数据存储部830存储用于显示的执行结果数据。

调试辅助部822提供调试中用到的功能,例如,断点设置(该断点是用 来在控制程序中间暂停仿真的区域)、逐步执行设置(该逐步执行设置用来 在每执行一步控制程序时暂停),等等。调试辅助部822使得仿真控制部820 在通过用户接口单元802接收到与仿真执行和从中间开始的重新执行相关的 用户指示以及其他调试功能时基于该用户指示来执行操作。

当配置仿真单元806的每个部协调运行时,仿真单元806通过用户接口 单元802获取用来指定开始重新执行的控制周期的具体要求(specification), 使用这种具体要求来指定用来开始重新执行的控制周期,并且使用与指定的 控制周期相对应的恢复数据来从指定的控制周期开始重新执行仿真。

图5是描述根据本发明实施例的控制程序的调试操作的流程图。

参见图5,首先创建控制程序(步骤S0)。然后,仿真执行该控制程序 (步骤S2)。然后,确定是否获得了假定的结果(步骤S4)。如果在步骤 S4确定获得了假定的结果,则该处理继续步骤S6,由作为实际机器的控制 器14实施操作确认,并在必要时,根据控制器支持程序8修正PC 6中的控 制程序。然后,结束该处理。

如果在步骤S4确定没有获取假定的结果(在步骤S4中为否),则修正 控制程序(步骤S8)。该处理再次返回到S2,并且基于修正后的控制程序 来实施仿真执行。随后的处理与以上的处理类似,因此详细的描述将不再重 复。获得了假定的结果的控制程序被存储在控制程序存储单元808中。

图6是描述根据本发明实施例的控制器支持程序8的执行的流程图。

参见图6,首先,准备控制程序10(步骤S10)。存在各种方法来准备 控制程序10。例如,能够使用如图5所描述的那样由新的输入创建的并且存 储在控制程序存储单元808中的控制程序。可替代地,能够从存储介质 (CD-ROM 12)或者通过网络4从服务器2读取控制程序。可替代地,可以 从作为实际机器的控制器14中读取控制程序。

仿真单元806根据用户指令仿真执行控制程序10,并生成执行结果数据 (步骤S14)

显示数据创建单元804创建用于显示执行结果数据随时间变化的显示数 据(步骤S16)。

然后,用户接口单元802将显示数据显示在监视器907上(步骤S18)。

然后,控制程序编辑单元810确定是否作出开始进行修正的指示(步骤 S20)。具体而言,控制程序编辑单元810确定是否用户通过用户接口单元 802作出了开始进行修正的指示。

如果在步骤S20中确定用户通过用户接口单元802作出了开始进行修正 的指示(步骤S20中为是),则控制程序编辑单元810根据用户指示修正控 制程序(步骤S22)。该处理再次返回到步骤S12,并通过用户指示仿真执 行控制程序(步骤S12)。随后的处理是相同的。

如果在步骤S20确定没有作出开始进行修正的指示(在步骤S20中为 否),则控制程序编辑单元810通过用户指示将控制程序传输至作为实际机 器的控制器14(步骤S24)。然后结束该处理。

现在将描述图6的步骤S12中根据用户指示进行控制程序仿真执行的处 理以及步骤S14中生成执行结果数据的处理的具体内容。

图7是描述根据本发明实施例的仿真单元806中仿真执行的流程图。

参照图7,首先,仿真控制部820执行初始化处理或执行恢复初始化处 理(步骤S30)。“初始化处理”是指一种当从第一个控制周期开始执行控 制程序时初始化变量等之类的值的处理。“恢复初始化处理”是指一种当从 中间的控制周期开始重新执行控制程序时从恢复数据存储部826读取恢复数 据并且使用该恢复数据来准备开始重新执行仿真的处理。

仿真控制部820执行I/O刷新处理的仿真(步骤S32)。“I/O刷新处理” 包括输出处理和输入处理。

输出处理是一种将先前周期中的执行结果数据输出的处理。

输出处理包括将输出变量数据输出的处理以及将指令值输出的处理,输 出变量是控制程序的顺序控制部分的执行结果,指令值是控制程序的运动控 制部分的执行结果。

在实际的控制器14中,输出变量数据通过I/O单元被传输至控制对象装 置16,并用于对致动器等之类的驱动。指令值被传输至电机驱动器17,并 用于对控制对象装置16的电机18的控制。然而,在仿真执行的情况下,执 行结果数据实际上并没有被传输至控制对象装置16,而是一部分执行结果数 据被存储在仿真结果存储部830中。

输入处理是一种获取(retrieve)待被顺序控制部分所使用的输入变量数 据、待被运动控制部所使用的位置数据等的处理。在仿真执行的情况下,输 入变量数据可以由用户手动提供,或者可以由复制控制对象装置操作的调试 程序来提供。先前周期中的位置指令值可被采用作为位置数据。

然后,顺序控制仿真部840仿真执行一个周期的控制程序的顺序控制部 分,并生成与顺序控制部分相关的执行结果(步骤S36)。

运动控制仿真部850仿真一个周期的运动控制部分的执行,并且生成与 运动控制部分相关的执行结果(步骤S38)。

然后,仿真控制部820增量(increment)更新控制周期编号(步骤S40)。

然后,仿真控制部820确定执行中的控制周期是否为可恢复控制周期(步 骤S42)。换言之,如果执行中的控制周期与可恢复控制周期的指定条件(例 如,为稍后将描述的“FB的活动开启(FB的Active ON)”、“FB的忙碌 开启(FB的Busy ON)”以及“恒定间隔”)相匹配,则将执行中的控制 周期确定为可恢复控制周期,。根据这种确定从一系列控制周期中指定出可 恢复控制周期。如果可恢复控制周期的条件是“恒定间隔”,则能够通过预 先准备可作为可恢复控制周期的多个控制周期的列表来指定可恢复控制周 期。在这种情况下,通过与相关列表相核实来确定执行中的控制周期是否为 可恢复控制周期。

如果在步骤S42中确定为可恢复控制周期(在步骤S42中为是),则仿 真控制部820将先前控制周期中更新的恢复数据缓冲器828的内容保存在恢 复数据存储部826中(步骤S44)。

然后,该处理继续进行步骤S46。

如果在步骤S42中确定不是可恢复控制周期(在步骤S42为否),则仿 真控制部820基于在顺序控制仿真部840和运动控制仿真部850中生成的执 行结果来更新恢复数据缓冲器828的内容(步骤S46)。

然后,仿真控制部820确定是否结束仿真执行(步骤S48)。

如果在步骤S48中确定结束仿真执行,则仿真控制部820结束该处理。

如果在步骤S48中确定不结束仿真执行(步骤S48中为否),则仿真控 制部820返回到步骤S32,并且根据被增量更新的下一个控制周期编号来执 行步骤S32中的I/O刷新的仿真。重复上述处理直到仿真执行结束。

如图6所示,在根据本实施例的控制器支持程序中,控制程序编辑单元 810能够接收用户操作来修正已经在仿真单元806中被仿真过的控制程序。

如图7所示,对于被控制程序编辑单元810修正的控制程序,仿真单元 806能够使用在控制程序被修正之前保存的恢复数据,接收用户操作来开始 重新执行仿真。

因此,通过让用户指定在控制程序中执行结果受到修正影响的部分被执 行的控制周期之前的控制周期以开始重新执行仿真,能够快速地检查控制程 序中受到修正影响的那部分的操作。

图8A和图8B是描述控制周期中的处理以时间顺序排布的情况的视图。

参见图8A,如果不是可恢复控制周期,则执行I/O刷新处理、顺序控制 部分的执行、运动控制部分的执行以及控制周期编号更新中的每一个处理。 之后,用更新后的控制周期编号以及在该控制周期中生成的执行结果数据来 重写更新恢复数据缓冲器(更新恢复数据缓冲器)。

参见图8B,如果是可恢复控制周期,则执行I/O刷新处理、顺序控制部 分的执行、运动控制部分的执行以及控制周期编号更新中的每一个处理。之 后,将存储于恢复数据缓冲器828中的在先前控制周期中更新的控制周期编 号以及在先前控制周期中生成的执行结果数据保存在恢复数据存储部826中 (保存恢复数据)。然后,用在相关控制周期中更新的控制周期编号以及在 该控制周期中生成的执行结果数据来重写更新恢复数据缓冲器828(更新恢 复数据缓冲器)。

控制周期编号更新处理、恢复数据缓冲器更新处理以及恢复数据保存处 理是特定于仿真的处理,而不会在作为实际机器的控制器14中执行。

每个控制周期占用的时间在作为实际机器的控制器14中是恒定的,在 这样的控制器14中,通过在定时器中断时启动控制周期而将控制周期设定 为恒定时间,甚至在仿真执行中也是如此。

在完成控制周期中的必要处理之后的时间是空闲时间。从而,由此提高 了根据仿真执行所需的时间预测作为实际机器的控制器14中执行时间的准 确度。如果这不是必要的话,则在完成该控制周期中的必要处理之后可立即 开始下一个控制周期的处理。

图9是描述根据本发明实施例的与计算指令值的控制周期相关的仿真单 元806中的数据流的视图。

参见图9,控制周期计数部824对当前“控制周期编号”进行计数。“控 制周期编号”是从控制程序执行开始控制周期的执行总数。

此处,“当前”是指执行中的控制周期的数据。在以下的描述中这都是 相同的。这是以如下事实作为前提的:数据在每个控制周期均可能变化。

顺序变量存储部846存储顺序变量。“顺序变量”是与控制程序的顺序 控制部分的执行相关联的数据。这包括对于顺序控制部分的执行所读取的数 据和作为执行结果将被写入的数据这二者。具体而言,当前“I/O数据”和 “内部变量数据”被存储。

“I/O”数据是与顺序控制部分的执行相关联的变量数据,并且是将成 为I/O刷新处理对象的数据。换言之,它是输入变量数据和输出变量数据。

“内部变量数据”是与顺序控制部分的执行相关联的变量数据,且限 制为在程序内部使用的数据,而不会是I/O刷新处理的对象。

运动变量存储部856存储运动变量。“运动变量”是与控制程序的运动 控制部分的执行相关联的数据。运动变量包括为了执行运动控制部分所读取 的数据以及作为执行结果被写入的数据这二者。具体而言,当前的“FB设 置参数”、“指令值”、“轴位置”、“活动FB的ID”以及“忙碌FB的 ID”被存储为运动变量。

在本实施例中,假设将运动控制分描述为运动功能块(FB)。“FB设 置参数”是用来指定FB操作方式的参数。FB设置参数可以是在编程阶段给 定的常数值以及由程序执行确定的变量值。FB设置参数可包括使用FB的输 入值在FB中计算出的二次参数。例如,加速时间由作为FB的输入值的速 度和加速度计算得到,并且该加速时间在多个控制周期内加速时被作为参 考,这里,不需要针对每个控制周期执行相同的计算,即通过计算在启动FB 执行的控制周期中的加速时间并将加速时间存储在运动变量存储部。

如果只是通过作为FB输入值的常数和顺序变量来配置FB设置参数, 并且运动计算执行部854被配置为能够访问顺序变量存储部846,则FB设 置参数由程序本身给出的常数以及存储在顺序变量存储部846中的顺序变量 所确定,因而将FB设置参数存储到运动变量存储部856不是必须的。

“指令值”是运动控制部分针对每个周期输出的数据。在本实施例中, 指令值至少包括位置指令值。此外,指令值可以是速度指令值、扭矩指令值 等。

“轴位置”是电机18的旋转位置或者被电机18驱动的控制对象装置的 特定部分的位置。使用旋转编码器等来测量控制对象装置的轴的实际位置。 在仿真过程中,在运动变量存储部856中准备虚拟轴,将指令值写入虚拟轴 的存储区域中以使这样的存储内容作为轴位置,并且用新的指令值来更新该 值。在运动控制部分针对每个控制周期输出用于某个轴的指令值的周期中, 轴位置是在前一个控制周期中计算出的位置指令值。在运动控制部分没有针 对每个控制周期输出指令值的周期中,不更新轴位置,并且保持相同的值。

指令值在其用于轴位置时并不是直接被采用,而是可采用根据控制对象 装置的可移动部分的物理特性(诸如力矩、质量、摩擦等)由指令值的历史 所计算出的预测位置。

“Active(活动)”是一种FB针对每个控制周期计算指令值的状态。 它也被称作活动状态。

“Busy(忙碌)”是FB处于执行中的状态。处于忙碌状态的FB可 以是活动的,也可不是活动的。如同后文将描述的,当向FB输入了Execute ON时就实现了忙碌状态。通常,如果FB是忙碌的,则该FB就是活动的, 但是,如同后文将描述的,如果多个FB通过Buffered模式或Blending模式 连接,则除了连接头之外的FB可能处于忙碌但不活动的状态。

“FB的ID”是用来分别指定在一个控制程序用使用的FB的信息。例 如,它可以是在编程时给出的FB的名称。

当启动控制周期时,仿真控制部820使得顺序控制仿真部840和运动控 制仿真部850执行一个周期的仿真。控制周期计数部824增量更新“当前控 制周期编号”。如上所述,然后,仿真控制部820确定是否是可恢复控制周 期,如果确定不是可恢复控制周期,则重写并在恢复数据缓冲器828中保存 来自控制周期计数部824的“当前控制周期编号”、来自顺序变量存储部846 的“当前I/O数据”和“当前内部变量数据”、以及来自运动变量存储部 856的“当前FB设置参数”、“当前指令值”、“当前轴位置”、“当前 活动FB的ID”以及“当前忙碌FB的ID”。

如果仿真控制部820确定为可恢复控制周期,则首先将恢复数据缓冲器 828的内容记录在恢复数据存储部826中,然后与当确定为不是可恢复控制 周期时相类似地重写恢复数据缓冲器828。

在本实施例中,待被保存在恢复数据存储部826中的控制周期编号是能 够开始重新执行的可恢复控制周期的前一个周期的控制周期编号,但是该控 制周期编号可以不从恢复数据缓冲器828中传送,并且可恢复控制周期本身 的控制周期编号可被保存为恢复数据。在这种情况下,当重新执行仿真时, 基于如下的前提来实施用于开始重新执行的准备处理:在恢复数据中包含的 控制周期编号指示的控制周期为生成了恢复数据而非控制周期编号的控制 周期之后的那个控制周期。此外,如果存在约定条件将增加了常数偏移值的 控制周期编号保存为恢复数据并且在恢复时减去相同的偏移值,则可以保存 该控制周期编号而非上述值。换言之,将保存的是能够与可恢复控制周期相 对应的控制周期编号。

用于从可恢复控制周期开始重新执行的恢复数据从恢复数据缓冲器中 读出,并被存储在恢复数据存储部826中。这不同于存储在可恢复控制周期 中生成的恢复数据。在图8A和图8B的情况下,存储可恢复控制周期的前一 个控制周期中所生成的恢复数据。如果恢复数据缓冲器828配置为用于多个 周期的环形缓冲器,则在前几个周期的控制周期中生成的恢复数据可以被存 储在恢复数据存储部826中。在这种情况下,通过从生成恢复数据的控制周 期之后的控制周期开始进行数个周期的预备执行,能够在重新执行时从使用 用户的具体要求所指定的控制周期开始重新执行。

如果指令值和轴位置这二者均存储在恢复数据存储部826,则在轴位置 是先前周期的指令值情况下能够基于指令值和轴位置的差来获得速度。

在生成恢复数据的控制周期的前个周期中更新的轴位置,即,反映了之 前两个周期的那个周期中输出的指令值的轴位置可代替指令值被存储在恢 复数据存储部826中。可以基于两个“轴位置”的差来获取速度。如果将考 虑了控制对象装置的物理特性所计算出的轴位置作为预测位置,则能够获得 与预测位置相对应的预测速度。

代替如上所述的在恢复时基于两个位置的值获取速度,也可以将预先计 算出的速度值存储在恢复数据存储部826中。

可以将所有控制周期的恢复数据保存在恢复数据存储部826中。然后, 能够从任一控制周期开始重新执行仿真。

所有控制周期的恢复数据均可以一次保存在恢复数据存储部826中,然 后可以设置任意数目的可恢复控制周期,并且之后可以删除与不是可恢复周 期设置对象的控制周期相对应的恢复数据。

在每一个控制周期中在执行图7中I/O刷新处理仿真的时刻(步骤S32), 仿真控制部820将来自控制周期计数部824的“当前控制周期编号”、来自 顺序变量存储部846的“当前I/O数据”以及来自运动变量存储部856的“当 前指令值”和“当前轴位置”记录在执行结果数据存储部830中,并且还生 成“轴的移动执行标志”,并且将其记录在执行结果数据存储部830中,如 图9中的(1)、(2)和(3)所示。“轴的移动执行标志”是指示用于控 制相关轴的多个FB之一处于活动的标志。I/O数据可以存储所有类型的I/O 数据,但是用户可以指定在时间表中安排为将被图形显示的I/O数据,并且 可以只存储这样的I/O数据以节省存储容量。只有指令值或轴位置的其中之 一可以被存储在执行结果数据存储部。如果二者均被存储,则当轴位置为考 虑了控制对象装置的物理特性所计算出的预测位置时,能够检查指令值和预 测位置之间的差。

如果速度将基于存储在执行结果数据存储部830中的执行结果数据来获 得,则能够基于先前周期(控制周期编号#N-1)的轴位置和当前周期(控制 周期编号#N)的轴位置来获取速度。

如果轴位置是先前周期的指令值,则能够基于同一控制周期中的指令值 和轴位置之间的差来获取速度。

因此,代替在显示执行结果数据的同时基于两个位置值来获取速度,可 以将预先计算出的速度值存储在执行结果数据存储部830。

如果待被控制的轴有多个,则将针对每个轴的轴位置以及轴的移动执行 标志存储在待存储它们的每个存储部中。

如果对象FB有多个,则针对每个FB存储FB设置参数和FB的ID。

在图9中,任意控制周期均可以是可恢复控制周期,而不管哪个FB是 活动,也就是说,不管控制周期是FB之一正在计算指令值的周期,还是只 有顺序控制部分正在被执行的周期。

图10是描述根据本发明实施例的与没有计算指令值的控制周期相关的 仿真单元806中数据流的视图。

参见图10,示出了一个没有任何FB处于活动的周期中的数据流。在该 周期期间,与FB的状态相关的数据(FB设置参数、指令值、活动FB的ID、 忙碌FB的ID)并不有效存在,因而与FB的状态相关的数据没有被存储为 恢复数据和执行结果数据。即使是在FB不处于活动的周期中,轴位置也会 有效存在,因而轴位置被存储。

在该示例中,以堆满模式(packed mode)显示没有存储数据的区域,但 是可确保数据区域本身不变。

如果能够被设置为可恢复控制周期的周期被限制为没有FB是活动的周 期,则与FB的状态相关的数据不需要被保存为恢复数据,因而能够减少用 于保存恢复数据的存储容量。即使是当第一控制周期(在第一控制周期中, FB之一从没有FB处于活动的周期起变为活动的)成为可恢复控制周期时, 这也类似于能够被设置为可恢复控制周期的周期被限制为没有FB处于活动 的周期的那种情况,这是因为在生成待被保存数据之前的周期中仍没有FB 处于活动。

如果不是从FB的中间开始恢复而总是从FB的头部开始恢复,则用于 对可作为可恢复控制周期的控制周期进行限制的方法也是有用的。

图11A和图11B是描述根据本发明实施例的IC芯片转移装置100的视 图。在本发明的实施例中,将IC芯片转移装置100描述为控制对象装置来 举例说明。

图11A示出IC芯片转移装置100的平面图。

图11B示出IC芯片转移装置100的正视图。

参见图11A和图11B,IC芯片转移装置100配置有XYZ导杆50和真 空吸盘60,XYZ导杆50包括能够通过电机(未示出)进行X轴定位的X 导杆51、能够进行Y轴定位的Y导杆52以及能够进行Z轴定位的Z导杆 53,真空吸盘60用于使用XYZ导杆50来吸附IC芯片TP。真空吸盘60真 空吸附以预定间隔布置在IC芯片传送器80上的IC芯片TP。使用XYZ导 杆50在安装在IC托盘传送器75上的IC托盘70的预定位置安装IC芯片TP。

IC托盘70包括用来以阵列形式安装IC芯片的空单元(empty cell)RN。 XYZ导杆50一次将一个IC芯片转移至布置在IC托盘70中的空单元RN中。 具体而言,预先设置IC芯片TP被供应至的工件供应位置,并且将IC托盘 70中的空单元RN之一指定为工件转移位置。XYZ导杆50使用真空吸盘60 将被真空吸附的IC芯片TP从工件供应位置转移至工件转移位置,并在指定 的工件转移位置安装IC芯片TP。

通过移动IC芯片传送器80将安装在IC芯片传送器80上的IC芯片TP 移动到工件供应位置。沿着IC芯片传送器80的行进方向以预定间隔布置IC 芯片TP。

图12是描述根据本发明实施例的IC芯片转移装置100的操作流程的视 图。

参见图12,首先,使用IC托盘传送器75将其上没有安装IC芯片TP 的IC托盘70(即未安装的IC托盘70)移动至供应接纳位置(步骤S50)。

然后,移动IC芯片传送器80以将IC芯片TP移动至工件供应位置(步 骤S52)。

然后,使用XYZ导杆50将真空吸盘60移动至工件供应位置(步骤S54)。

然后,使用真空吸盘60真空吸附IC芯片TP(步骤S56)。

将使用XYZ导杆50真空吸附的IC芯片TP移动至IC托盘70的空单元 位置(工件转移位置)(步骤S58)。

将IC芯片TP安装在IC托盘70的空单元位置(工件转移位置)(步骤 S60)。

然后,确定是否继续转移IC芯片TP(步骤S62)。

如果在步骤S62中确定不继续转移IC芯片TP(在步骤S62中为否), 则结束该处理。

如果在步骤S62中继续转移IC芯片(在步骤S62中为是),则然后确 定IC托盘70是否有空单元RN(步骤S64)。如果确定IC托盘70有空单 元RN(在步骤S64中为是),则将IC芯片TP移动至供应位置(步骤S52)。 随后的处理相同,因而将不再重复其详细描述。换言之,一次将一个IC芯 片TP安装在IC托盘70的空单元RN上。

如果在步骤S64中确定IC托盘70没有空单元(在步骤S64中为否), 则将未安装的IC托盘70移动至供应接纳位置(步骤S50)。

然后重复以上处理。

图13是描述用来控制IC芯片转移装置100中的XYZ导杆50的控制程 序的一部分的视图。

参见图13,此处示出了用来控制XYZ导杆50将真空吸盘60移动至IC 托盘70中的空单元RN的位置的这部分程序。

FB1和FB2是相同类型的运动功能块,具有相同的名称 MC_MoveAbsolute,并且具有针对每个控制周期生成指令值以将一个轴(电 机的旋转位置)从当前位置移动到用绝对坐标给出的目标位置的功能。

FB1(MoveToTray_X)用于将真空吸盘60的X坐标位置移动至空单元 的X坐标位置。

FB2(MoveToTray_Y)用于将真空吸盘60的Y坐标位置移动至空单元 的Y坐标位置。此处,FB1和FB2与控制程序的运动控制部分相对应。

每个FB左侧的端子是输入端子,而右侧的端子是输出端子。

首先将描述输入端子。

为“Axis”端子赋予与相关FB相对应的轴名称。X轴被分配为Axis_1, Y轴被分配为Axis_2。

当将ON(开)输入提供至“Execute”端子时,FB开始进入忙碌状态和 活动状态。

为“Position”、“Velocity”、“Acceleration”、“Deceleration”以及 “Jerk”中每一个端子分别提供目标位置、速度、加速度、减速度以及跃度 (jerk)的值。

以变量名称Cell_X、Cell_Y将目标位置提供至“位置”端子。在程序不 同区域计算出的空单元的X坐标和Y坐标被存储在Cell_X、Cell_Y中。

在编程阶段为“Velocity”、“Acceleration”以及“Deceleration”中每 一个端子赋予常数值。“Jerk”端子的输入被省略。

“Direction”是用于环形模式的端子,在环形模式中,即使轴绕了几圈 并达到位置,但只要该轴在一圈中的旋转位置是相同的,那也没有区别,此 处将不再对此进行描述。

后文将描述“BufferMode”。此处不使用BufferMode。

现在将描述输出端子。

输出的“Axis”端子不作改变地将输入的Axis端子的数据输出。

“Done”端子在完成FB的执行的控制周期之后的控制周期中输出ON。

“CommandAborted”端子在FB的执行异常中断的控制周期之后的控 制周期中输出ON。

当FB处于忙碌状态时“Busy”端子输出ON。

在FB处于活动状态时“Active”端子输出ON。

当出现某种错误时“Error”端子输出ON。

当出现错误时“ErrorID”输出错误代码。

当名称为Under_MovingToTray的接触点(contact)(变量)变为ON 时,将ON提供至FB1和FB2的“Execute”端子,FB1和FB2开始指令值 计算以将X轴和Y轴朝向空单元RN的位置移动。在每个轴的移动完成后, 每个“Done”端子输出ON。“Done”端子输出的ON或OFF的值被存储在 名称为ToTray_Done_X、ToTray_Done_Y的接触点(变量)中。这种接触 点用来开始Z轴的降低操作以将IC芯片TP安装在空单元中。

图14是描述根据本发明实施例的控制器支持程序的窗口屏幕的视图。

参见图14,根据本发明实施例的控制器支持程序的窗口屏幕1000包括 设置栏1002和控制程序编辑栏1004。

设置栏1002是用来实施在进行控制程序的编辑和仿真中必要的各种设 置输入的部分。

控制程序编辑栏1004用来输入和编辑控制程序。

在右下方区域中,示出提供了可恢复点设置方法的设置按钮1010、仿真 执行控制按钮1006以及仿真执行结果显示链接部1008的情况。

当按下可恢复点设置方法的设置按钮1010时,打开图15中的选择窗口 屏幕1100作为不同的窗口。在作出这种设置后,在执行仿真时保存恢复数 据。

针对仿真执行控制按钮1006提供了四个按钮,从左到右提供了用于指 示开始、停止、暂停和逐步执行仿真的按钮。

当链接部被点击(按下)时,仿真执行结果显示链接部1008打开图16 中的时间表窗口屏幕作为不同的窗口。

图15是描述根据本发明实施例的可恢复点设置方法的选择窗口屏幕 1100的视图。

参见图15,根据本发明实施例的选择窗口屏幕1100包括复选框1102, 在复选框1102处能够选中“FB的Active ON”、“FB的Busy ON”以及“恒 定间隔”中的每一个,在本示例中示出了通过鼠标906等选中“FB的Active ON”的情况。布置有“确定(OK)”按钮1104和“取消(cancel)”按钮 1106,当点击(或按下)“确定”按钮1104时,在复选框中选中的设置方 法变得有效。当点击(或按下)“确定”按钮1104或“取消”按钮1106时, 关闭该窗口屏幕。

如果选中了“FB的Active ON”,则将每个FB变成Active On(活动状 态开启)的控制周期假定为可恢复控制周期。

在每个FB变成Active ON的控制周期之前的某个编号的控制周期可以 成为可恢复控制周期。通过以运动控制部分变成活动状态的控制周期作为基 准来设置可恢复控制周期,用户能够容易地从运动控制部分变为活动状态的 时刻附近开始重新执行。通过不设置与运动控制部分变成活动状态的控制周 期不相关联的可恢复控制周期或者减少这种设置的数目,能够减少保存恢复 数据的量,但是仍然能够保持一定程度的便利性。

如果选中了“FB的Busy ON”,则将每个FB变成Busy ON(忙碌状态 开启)的控制周期假定为可恢复控制周期。如果将某个FB变成Busy ON的 控制周期假定为可恢复控制周期,则在前一个周期中,即在生成恢复数据的 周期中,关于该轴的处于忙碌或活动的另一个FB可能会存在,因而需要将 “当前活动FB的ID”保存为恢复数据,但是关于该轴的处于忙碌但是不活 动的另一个FB不会存在,因而可以不将“当前忙碌FB的ID”保存为恢复 数据。可以将每个FB变成Busy ON的控制周期之前的某个编号的控制周期 假定为可恢复控制周期。通过以运动控制部分变成执行状态的控制周期作为 基准来设置可恢复控制周期,用户能够容易地从运动控制部分变成执行状态 的时刻附近开始重新执行。通过不设置与运动控制部分变为执行状态的控制 周期不相关联的可恢复控制周期或者减少这种设置的数目,能够减少保存恢 复数据的量,但是仍然能够保持一定程度的便利性。

如果选中了“恒定间隔”并且指定了时间(秒),则将与用于每个指定 时间间隔的时刻相对应的控制周期假定为可恢复控制周期。如果将可恢复控 制周期的间隔设置为充分小,则能够从任意地方适当地开始重新执行。

不限于一个设置方法,而是能够使多个设置方法同时有效。

图16是描述根据本发明实施例的时间表窗口屏幕1200的视图。

参见图16,当点击(按下)图14中的仿真执行结果显示链接部1008时, 打开根据本发明实施例的时间表窗口屏幕1200。

对于一个IC芯片TP的一轮的吸附和安装操作,示出了每个轴的速度状 态以及移动执行标志的状态。

在“恢复点指定方法”栏中,能够可交替地从五种方法中选择恢复点指 定方法。

具体而言,如果选择了“恢复点指定方法”栏中的“在图上”,则能够 通过在水平方向上拖动时间指定标签(tab)来指定恢复点。如果将恢复点设 置为“FB的Active ON”或“FB的Busy ON”,则多个轴中一个轴的移动 执行标志的上升时刻就是可恢复点。通过垂直标线(cursor line)1208的位 置来指示恢复点,标线1208随着时间指定标签1206的移动而移动,从而使 得时间指定标签1206能够持续地改变位置而标线1208的移动方式是离散 的,这是因为恢复点是以离散的方式存在的。在本示例中,标线1208定位 在与时间指定标签1206的位置最接近的3.18秒的可恢复点处。如果将时间 指定标签从这种状态向左稍微移动,则将标线1208离散地移动到3.04秒的 位置,在该位置处Z轴的移动执行标志上升。在时间显示栏1203中,将标 线1208位置处的时间显示在时间标尺1212上,其中标线1208位置处每个 图形的垂直轴的值被显示在数值显示栏1204中。能够通过操作滚动条1210 来改变时间标尺1212的位置。

因此,通过接收关于在监视器907上所显示的图形上的位置的用户指示, 指定与用户指示的图形上的位置相对应的可恢复控制周期,并且从可恢复控 制周期开始重新执行仿真,用户能够与控制程序的执行结果的推移 (transition)相一致地指示开始重新执行。

如果选中了“恢复点指定方法”栏中“在图上”右侧的“临时释放”, 则临时释放恢复点的指定操作状态,将标线1208显示在与时间指定标签1206 相同的位置,并且持续移动标线1208,通过数值显示栏1204的显示,能够 检查在任意时刻每个图形的值。

如果选择了“恢复点指定方法”栏中的“最终修正的FB”,则将能够 从在图14中的程序编辑栏1004中输入值最新被修正的FB处实施重新执行 的可恢复控制周期指定为恢复点。在这种情况下,通过仿真单元806,从控 制程序编辑单元810获取用来指定修正的FB的信息,指定能够从最新修正 的FB开始实施重新执行的可恢复控制周期,并且从可恢复控制周期开始重 新执行仿真。因此,能够容易地从修正的运动控制部分开始实施重新执行。

如果选择了“恢复点指定方法”栏中的“在程序列表上”,则从位于图 14的控制程序编辑栏1004中显示的程序列表中选择FB,并将能够从这样的 FB开始实施重新执行的可恢复控制周期指定为恢复点。具体而言,通过在 程序列表中点击来选择一个FB,并从下拉菜单中选择“指定为恢复点”。 在这种情况下,仿真单元806指定能够从显示的程序列表上指定的FB开始 实施重新执行的可恢复控制周期,并从可恢复控制周期开始重新执行仿真。 因此,用户能够与控制程序的列表显示中示出的运动控制部分相一致地指示 重新执行的开始。

如果选择了“恢复点指定方法”栏中的“在空间轨迹上”,则将与在图 17的空间轨迹显示窗口屏幕1300中显示的空间轨迹上所指定的位置相对应 的控制周期指定为恢复点。

如果选择了“恢复点指定方法”栏中的“在轴位置列表上”,则根据图 18的关于轴位置列表的具体要求来指定恢复点。

在“最终修正的FB”、“在程序列表上”、“在空间轨迹上”以及“在 轴位置列表上”所有这些情况中,图形自动滚动以使显示指定的恢复点。

当选择“在程序列表上”、“在空间轨迹上”或“在轴位置列表上”其 中之一并且按下“跳转(GO)”按钮1201时,图14、图17或图18中的对 应窗口屏幕被打开或者近侧窗口屏幕被显示。

图17是描述根据本发明实施例的空间轨迹显示窗口屏幕1300的视图。

参见图17,使用存储在执行结果数据存储部中的一系列轴位置绘制出显 示在空间轨迹显示窗口屏幕1300上的空间轨迹。

可以使用存储的指令值来代替轴位置进行绘制。

图17中显示的空间轨迹示出了一个轨迹的示例,该轨迹绘制出在Z方 向升高时投影到XY坐标平面上的半圆形,与IC芯片转移装置100的XYZ 导杆50的情况相反。

在屏幕上部的虚拟机构设置栏1301中显示当前正在被使用的虚拟机构 的名称。虚拟机构是电子建立模型,并且是通过一系列指令值来移动的三维 模型,其配置是针对每一种类型的机构(例如XYZ导杆)抽象出来的。当 点击栏右侧的三角形标志时,会出现虚拟机构列表,并且能够作出从当前使 用的虚拟机构至另一种虚拟机构的改变。

当按下用于设置和编辑的按钮1303时,虚拟机构设置屏幕被打开作为 不同的窗口屏幕。

在坐标值显示栏1304中显示针对每个坐标轴的轴当前位置。

在轴和运动FB的对应显示栏1306中显示在控制程序中使用的轴名称与 当前操作的FB的对应关系。

在本示例中,按下显示设置栏1307的“3D”按钮1307A,从而在图像 显示栏1302中显著地显示3D显示。当再次按下“3D”按钮1307A时,实 现四维显示,该四维显示除了包括3D显示之外,还包括到XY平面的投影 视图、到XZ平面的投影视图以及到YZ平面的投影视图。当按下一个不是 “3D”的按钮时,以放大形式显示对应的平面投影视图。

通过透视性的描绘方法来描述3D显示,在该3D显示中,通过鼠标操 作能够自由地改变三维空间中的视点位置和视线方向。

小球体被显示为当前位置标记,该当前位置标记指示Z方向上线性移动 元件末端(distal end)的当前位置。

在显示设置栏1307中,能够选择是否显示指令值的轨迹,并且能够选 择是否显示虚拟机构。如果不显示虚拟机构,则只显示轨迹曲线。当按下详 细设置按钮1307P时,能够实施轨迹厚度设置、轨迹显示颜色设置、显示坐 标轴和坐标数值的设置等。

移动图像再现控制按钮1310显示在屏幕的下部。

再现时间条1314表示从开始到结束执行控制程序所需的时间。随着控 制程序执行时间的推移,当前时刻标签1312在再现时间条1314上从左到右 移动。能够通过用鼠标906拖动操作当前时刻标签1312来调整移动图像的 显示开始时间。轨迹开始点标签1308和轨迹结束点标签1316指示轨迹的显 示开始时刻和结束时刻,二者均能够通过鼠标906的拖动操作而沿着再现时 间条1314移动。当前位置随着时间的推移连续移动时,正在被显示的轨迹 长度在轨迹开始点标签1308和轨迹结束点标签1316据此移动时会被改变。

当开始显示移动图像时,显示每个机构元件移动和当前位置标记沿着轨 迹移动的状态。

用来配置成移动图像的每个顺序显示的静态图像可以不是针对所有控 制周期而被创建的,但是可以针对每个恒定间隔的控制周期而创建。

在图像显示栏1302中,大量的与轨迹重叠显示的十字标记指示设置了 仿真的可恢复点的位置。在该示例中,以时间恒定间隔(temporally constant  interval)来设置可恢复点。用户能够通过点击并选择这样的标记之一并从下拉 菜单中选择“指定为恢复点”来指定仿真恢复点。在这种情况下,仿真单元 指定与用户指示的轨迹上的位置相对应的可恢复控制周期,并且从相关的可 恢复控制周期开始重新执行仿真。因此,用户能够与位置指令值的空间轨迹 相一致地开始重新执行。

图18是描述根据本发明实施例的轴位置列表的显示窗口屏幕1400的视 图。

参见图18,根据本发明实施例的显示窗口屏幕1400显示与设置了可恢 复点的控制周期相对应的时间以及轴位置列表,从而使得能够从中指定恢复 点。

通过操作滚动条1402能够滚动显示在显示窗口屏幕中的内容。能够被 指定的恢复点只有一个。在本示例中,每个轴的位置用数值显示,但是也可 以用表示该轴位置的变量名称来显示。通过点击(按下)“确定”按钮1404, 恢复点的指定变为有效。通过点击(按下)“取消”按钮1406,能够取消恢 复点的指定。

在这种情况下,仿真单元806指定与用户指示的位置列表中的位置相对 应的可恢复控制周期,并且从可恢复控制周期开始重新执行仿真。因此,用 户能够与控制程序的执行结果的推移相一致地来指示开始重新执行。

图19A和图19B是描述根据本发明实施例的Buffered模式的视图。

参见图19A,Buffered模式是通过将前边的(左边)FB的Axis输出端 子与后边(右边)的FB的Axis输入端子直接耦接来将两个FB串联连接一 起的模式,并且将ON(值为1)输入到后边的FB的Execute端子,以使后 边的FB在前边的FB执行期间处于忙碌状态。被预先设置为忙碌状态的后 边的FB从前边的FB完成执行的控制周期之后的控制周期变为活动的,并 且开始计算指令值。

通过将“Buffered”输入到后边的FB的BufferMode端子来指定Buffered 模式。

即使还有另外的FB被串联连接在后边的FB的后面,也仍然能够在这 样的FB上指定Buffered模式。

参见图19B,示出了用于Buffered模式中一部分FB的端子的输入信号 和输出信号的时序图。

示出了在时刻t1FB1开始将处于忙碌状态和活动状态的情况。还示出了 在时刻t2FB2开始将处于忙碌状态的情况。进一步示出了FB2在时刻t3变 为活动状态的情况。

当针对可恢复点的设置方法指定了“FB的Active ON”和“FB的Busy ON”这二者时,与图中的t1、t2和t3相对应的控制周期成为可恢复点。

图20是描述根据本发明实施例的用于在Aborting模式中一部分FB的端 子的输入信号和输出信号的时序表的视图。

当将“Aborting”输入到图19A中两个串联连接的FB中的后边的FB的 BufferMode端子时,实现了Aborting模式。在Aborting模式中,当在前边 的FB执行期间将ON(值为1)输入到后边的FB的Execute端子时,前边 的FB的执行立即被取消,并且后边的FB在下一个控制周期变成活动的进 而开始计算指令值。即使还有另外的FB串联连接到后边的FB的后面,也 能够在这样的FB上指定Aborting模式。

当针对可恢复点的设置方法指定了“FB的Active ON”和“FB的Busy ON”这二者时,与图中的时刻t1和t2相对应的控制周期成为可恢复点。在 Buffered模式情况下后边的FB开始执行的时刻t3不会成为Aborting模式中 的可恢复点。

现在将描述Blending模式。Blending模式与Buffered模式共同之处在于 前边的FB完成了执行而没有被取消,但是速度没有如同Buffered模式中的 那样一次变为零,并且从前边的FB处于活动的状态转移至后边的FB处于 活动的状态的同时以中继速度持续运动。依赖于确定中继速度的方式, Blending模式具有四个模式:BlendingNext模式、BlendingPrevious模式、 BlendingHigh模式以及BlendingLow模式。

图21是示出根据本发明实施例的用于在BlendingNext模式中一部分FB 的端子的输入信号和输出信号的时序表的视图。

当将“BlendingNext”输入到图19A中两个串联连接的FB中的后边的 FB的BufferMode端子时,实现了BlendingNext模式。

在BlendingNext模式中,当在前边的FB执行期间将ON(值为1)输入 到后边的FB的Execute端子时,调节前边的FB的指令值计算内容,从而使 得前边的FB的结束速度变为后边的FB的目标速度。预先处于忙碌状态的 后边的FB从前边的FB完成执行的控制周期之后的控制周期开始变成活动, 并且开始指令值计算。

即使还有另外的FB串联连接在后边的FB的后面,也能够在这样的FB 上指定BlendingNext模式。

如果针对可恢复点的设置方法指定了“FB的Active ON”和“FB的Busy ON”这二者,则与图中的时刻t1、t2和t3对应的控制周期成为可恢复点。

图22是描述根据本发明实施例的用于在BlendingPrevious模式中一部分 FB的端子的输入信号和输入信号的时序表的视图。

当将“BlendingPrevious”输入到图19A中两个串联连接的FB中的后边 的FB的BufferMode端子时,实现了BlendingPrevious模式。

在BlendingPrevious模式中,当在前边的FB执行期间将ON(值为1) 输入到后边的FB的Execute端子时,调节前边的FB的指令值计算内容,从 而使得前边的FB维持目标速度直到执行完成。预先处于忙碌状态的后边的 FB从前边的FB完成执行的控制周期之后的控制周期开始变成活动的,并且 后边的FB开始指令值的计算。

即使还有另外的FB串联连接在后边的FB的后面,也能够针对这样的 FB指定BlendingPrevious模式。

如果针对可恢复点的设置方法指定了“FB的Active ON”和“FB的Busy ON”这二者,则与图中的时刻t1、t2和t3相对应的控制周期成为可恢复点。

当将“BlendingHigh”输入到图19A中两个串联连接的FB中后边的FB 的BufferMode端子时,实现了BlendingHigh模式。在BlendingHigh模式中, 前边的FB的目标速度或后边的FB的目标速度中较大的一个变为中继速度。 换句话说,在前边的FB的目标速度较大时的操作与BlendingPrevious模式 的操作相同,在前边的FB的目标速度较小时的操作与BlendingNext模式中 的操作相同。

当将“BlendingLow”输入到图19A中两个串联连接的FB中后边的FB 的BufferMode端子时,实现了BlendingLow模式。在BlendingLow模式中, 前边的FB的目标速度或后边的FB的目标速度中较小的一个变为中继速度。 换言之,在前边的FB的目标速度较大时的操作与BlendingNext模式的操作 相同,在前边的FB的目标速度较小时的操作与BlendingPrevious模式中的 操作相同。

以上通过举例说明,已经描述了用于以针对一个轴的绝对坐标来指定目 标位置的运动功能块,然而动作功能块具有不同的类型,例如,用于以相对 于FB执行开始时位置的相对坐标来指定目标位置的功能块,用于将多个轴 分组并对包括在该组中的每个轴的移动开始时刻和移动结束时刻以及中间 的速度控制进行同步以使得在位于二维空间或三维空间内两个点之间线性 移动的功能块,以及用来在绘制弧线轨迹的同时在两个点之间移动的功能 块。毫无疑问,本发明能够应用于任意一种情况。

还可以提供用于执行在以上流程中所描述的控制的计算机运行方法以 及用来实现这种方法的程序。这种程序可以被记录在非临时存储的计算机可 读记录介质中,例如软盘(flexible disc)、紧凑只读光盘存储器(CD-ROM)、 只读存储器(ROM)、随机存取存储器(RAM)以及与计算机相连的存储 卡,并且这种程序作为程序产品被提供。可替代地,该程序可以通过被记录 在诸如集成在计算机中的硬盘的记录介质中而被提供。该程序还可以通过网 络被下载而提供。

该程序可以以预定阵列和预定时序调用作为计算机操作系统(OS)的一 部分所提供的程序模块中的必要模块,并且可以处理该必要模块。在这种情 况下,相关模块不是被包括在程序本身中,并且该处理是与OS协同执行的。 不包括这种模块的程序也被涵盖在根据本发明的程序之内。

根据本发明的程序可以通过集成到另一个程序中的一部分中而被提供。 在这种情况下,另一个程序的模块也不是被包括在该程序本身中,而且该处 理是与另一个程序配合执行的。集成到另一个程序中的该程序也被涵盖在根 据本发明的程序之内。

将被提供的程序产品安装在待被执行的程序存储部(例如硬盘)中。该 程序产品包括程序本身以及记录了该程序的记录介质。

如上已经描述了本发明的实施例,然而本文公开的实施例在所有的方面 均是示意性的,不应当被解释为是限制性的。本发明的范围应当由权利要求 来限定,与权利要求等同的含义以及权利要求范围内的所有改型均被涵盖在 本文中。

附图标记说明

2服务器

4网络

8控制器支持程序

10、15控制程序

14控制器

16控制对象装置

17电机驱动器

18电机

50XYZ导杆

60真空吸盘

70IC托盘

75IC托盘传送器

80IC芯片传送器

100IC芯片转移装置

802用户接口单元

804显示数据创建单元

806仿真单元

808控制程序存储单元

810控制程序编辑单元

812控制器接口单元

820仿真控制部

822调试辅助部

824控制周期计数部

826恢复数据存储部

828恢复数据缓冲器

830执行结果数据存储部分

840顺序控制仿真部

842顺序计算控制部

844顺序计算执行部

846顺序变量存储部

850运动控制仿真部

852运动计算控制部

854运动计算执行部

856运动变量存储部

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号