首页> 中国专利> 一种用于物料在栅格阵列间搬运的PLC程序设计方法

一种用于物料在栅格阵列间搬运的PLC程序设计方法

摘要

本发明公开了一种用于物料在栅格阵列间搬运的PLC程序的设计方法,通过物料在栅格阵列间搬运动作所需要的程序和数据结构分离的方法,通过源栅格数据表,目的栅格数据表,搬运动作命令列表来实现用户自定义的物料在栅格阵列间的柔性的搬运路径规划,通过人机交互的图形化界面来编辑生成源和目的栅格数据表以及搬运动作命令列表。相对于传统的对于每一栅格组合都编写一段PLC代码来实现栅格间物料搬运路径规划的方法,每增加一种栅格组合占用PLC的存储容量小,PLC能支持的栅格组合的数量大大增加,增加组合的操作简单快速,可以满足工业4.0大规模定制化生产对于产品换线的要求,同时降低了设备使用维护人员的技能的要求。

著录项

  • 公开/公告号CN105302057A

    专利类型发明专利

  • 公开/公告日2016-02-03

    原文格式PDF

  • 申请/专利权人 苏州和瑞科自动化科技有限公司;

    申请/专利号CN201510810360.2

  • 发明设计人 李二文;马全成;

    申请日2015-11-22

  • 分类号G05B19/05;

  • 代理机构北京众合诚成知识产权代理有限公司;

  • 代理人连平

  • 地址 215000 江苏省苏州市木渎镇金枫南路1258号1幢一层

  • 入库时间 2023-12-18 13:52:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-13

    授权

    授权

  • 2016-03-02

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

    实质审查的生效

  • 2016-02-03

    公开

    公开

说明书

技术领域:

本发明属于工业自动化技术领域,具体是涉及一种用于物料在栅格阵列间搬运的 PLC程序设计方法。

背景技术:

在生产线实现自动化改造的过程中,栅格阵列状态排列的物料搬运是个重要的环 节,其广泛存在于产品的加工,测试和储运的过程中,比如在电路板生产过程中,矩 阵状拼接的电路板在被切割开后需要装入到矩阵穴格的TRAY盘中去。生产的产品不 同,物料搬运的起始地的源栅格阵列的排列和物料搬运的目的地的目的栅格阵列的排 列都会有变化,因此需要物料搬运的路径规划能够适应这种变化。

可编程逻辑控制器(PLC)由于其内在的同步机制,易于在编程时实现逻辑完整性 和实时同步,因此在自动控制系统中得到了广泛的应用。当使用PLC来实施物料在栅 格间搬运时,目前流行的做法是对于每一种源和目的栅格阵列的排列都编写一段PLC 的程序来实现搬运路径的规划和动作,当生产的产品改变时,通过切换PLC运行的程 序来实现产线的切换。使用上述的传统的PLC编程方法来实现物料在栅格间的数据搬 运时,搬运的路径规划和搬运动作代码是融合在一体的,这意味着每增加一种栅格的 组合,就要编写一段PLC的代码,这样的做法的缺陷是:1)设备使用人员的要求比较 高,需要有PLC编程技能的工程师来编写某一栅格组合特定的PLC代码并调试,并且 要花费相当的时间,提高了设备使用的成本。2)每个栅格组合专有的代码都要占用PLC 的相对比较多的存储空间,如果栅格结构比较多的情况下,很容易发生PLC存储空间 爆满的状况。

在产线上生产的产品的种类不是很多,栅格阵列组合的熟练不太多的情况下,传 统的PLC程序编程方法可以满足要求,但是工业4.0要求高度柔性的定制化的制造过 程,在产线上,产品种类变化会很多,而且要求不同产品的生产的切换时间要非常短, 因此要求规划的物料搬运路径切换要适应这种要求,一是用户要很方便地增加新的搬 运路径规划,二是在不同的路径规划之间的切换的时间要求快。传统的PLC程序编程 方法由于上述的两个问题,不能够满足大规模定制化制造生产的需求。因此必须要找 到一种新的PLC程序的设计方法,针对栅格物料的搬运的应用可以做到1)能够支持栅 格阵列组合的数量足够大。2)用户可以很方便地增加一个新的栅格阵列组合的搬运路 径规划。

PC编程由于其代码和数据分离的特点,在程序设计上比较容易实现前述要求,但 是PC编程逻辑完整性和实时同步功能的保证要差一些,如果能在PLC上能够实现PC 编程的一些方法,则可以创造性的解决这一问题。

发明内容:

本发明的目的就是针对现有技术之不足,而提供一种用于物料在栅格阵列间搬运 的PLC程序的设计方法,在PLC系统容量的约束的前提下,能将其支持的栅格阵列组 合的数量最大化,同时能够使操作员容易增加一个新的栅格结构组合的搬运路径规划, 以满足工业4.0大规模定制的要求。

为达到上述目的,本发明的技术方案如下:

一种用于物料在栅格阵列间搬运的PLC程序的设计方法,包括如下步骤:

S1:对PLC程序架构进行设计,所述PLC程序架构包括源栅格数据表编辑模块、 目的栅格数据表编辑模块、搬运动作命令数据列表编辑模块和搬运动作执行模块;所 述源栅格数据表编辑模块、所述目的栅格数据表编辑模块、所述搬运动作命令数据列 表编辑模块表现为人机交互的图形化界面,用户对所述图形化界面进行操作产生源栅 格数据表、目的栅格数据表和搬运动作命令数据列表;所述搬运动作执行模块用于根 据所述源栅格数据表、目的栅格数据表和搬运动作命令数据列表中的数据完成搬运动 作;

S2:对数据结构进行设计,所述数据结构包括源栅格数据结构、目的栅格数据结 构、搬运动作命令数据结构;所述源栅格数据结构用于定义物料搬运的起始栅格阵列 中的每个穴位的X、Y坐标位置,所述目的栅格数据结构用于定义物料搬运的目的栅格 阵列中的每个穴位的X、Y坐标位置,所述搬运动作命令数据结构用于定义每个搬运动 作的搬运起始栅格穴位、目的栅格穴位、物料抓取数量、是否旋转、物料放下数量和 对应的抓取手的位置;

S3:利用所述PLC程序架构和所述数据结构实现用户自定义的物料在栅格阵列间 的柔性的搬运路径规划和搬运动作。

作为上述技术方案的优选,所述步骤S3具体包括如下步骤:

S31:用户对所述图形化界面上的源栅格数据表编辑模块进行编辑,生成源栅格数 据表,所述源栅格数据表为物料搬运的起始栅格阵列中的每个穴位的X、Y坐标位置的 列表;

S32:用户对所述图形化界面上的目的栅格数据表编辑模块进行编辑,生成目的栅 格数据表,所述目的栅格数据表为物料搬运的目的栅格阵列中的每个穴位的X、Y坐标 位置的列表;

S33:用户对所述图形化界面上的搬运动作命令数据列表编辑模块进行编辑,生成 搬运动作命令数据列表,所述搬运动作命令数据列表为最少搬运循环周期中的每个搬 运动作的搬运起始栅格穴位、目的栅格穴位、抓取的数量、是否旋转、物料放下数量 和对应的抓取手的位置的列表;

S34:所述源栅格数据表、目的栅格数据表、搬运动作命令数据列表实现了用户自 定义的物料在栅格阵列间的柔性的搬运路径规划;

S35:所述搬运动作执行模块循环使用S34中的搬运路径规划来设定每次搬运动作 的动作参数,实现循环往复的搬运动作,完成所有物料在栅格阵列间的搬运。

作为上述技术方案的优选,所述起始栅格阵列和所述目的栅格阵列采用矩形栅格 阵列,所述矩形栅格阵列通过阵列的几何参数的方法自动产生栅格阵列中每个穴位的 坐标位置数据。

作为上述技术方案的优选,所述搬运动作命令数据结构中通过设置多个抓取头实 现每个搬运动作中不同的物料抓取数量和不同的物料放下数量。

作为上述技术方案的优选,所述搬运动作命令数据列表的长度为有限长度,所述 搬运动作命令数据列表的长度小于等于起始栅格阵列中穴位数量和目的栅格阵列中穴 位数量的最小公倍数。

作为上述技术方案的优选,所述源栅格数据表编辑模块、所述目的栅格数据表编 辑模块、所述搬运动作命令数据列表编辑模块为运行于PLC触摸屏控制面板的程序或 运行于PC的程序。

本发明的有益效果在于:通过物料在栅格阵列间搬运动作所需要的程序和数据结 构分离的方法,通过源栅格数据表,目的栅格数据表,搬运动作命令列表来实现用户 自定义的物料在栅格阵列间的柔性的搬运路径规划,通过人机交互的图形化化界面来 编辑生成源和目的栅格数据表以及搬运动作命令列表。相对于传统的对于每一栅格组 合都编写一段PLC代码来实现栅格间物料搬运路径规划的方法,每增加一种栅格组合 占用PLC的存储容量小,PLC能支持的栅格组合的数量大大增加,增加组合的操作简单 快速,可以满足工业4.0大规模定制化生产对于产品换线的要求,同时降低了设备使 用维护人员的技能的要求。

附图说明:

以下附图仅旨在于对本发明做示意性说明和解释,并不限定本发明的范围。其中:

图1为本发明一个实施例的一种用于物料在栅格阵列间搬运的PLC程序的设计方 法流程图;

图2为本发明一个实施例的一种用户自定义的物料在栅格阵列间的柔性的搬运路 径规划和搬运动作流程图;

图3为本发明一个实施例的一种源栅格示意图;

图4为本发明一个是实力的一种目的栅格示意图。

具体实施方式:

实施例1

如图1所示,本发明的一种用于物料在栅格阵列间搬运的PLC程序的设计方法, 包括如下步骤:

S1:对PLC程序架构进行设计,所述PLC程序架构包括源栅格数据表编辑模块、 目的栅格数据表编辑模块、搬运动作命令数据列表编辑模块和搬运动作执行模块;所 述源栅格数据表编辑模块、所述目的栅格数据表编辑模块、所述搬运动作命令数据列 表编辑模块表现为人机交互的图形化界面,用户对所述图形化界面进行操作产生源栅 格数据表、目的栅格数据表和搬运动作命令数据列表;所述搬运动作执行模块用于根 据所述源栅格数据表、目的栅格数据表和搬运动作命令数据列表中的数据完成搬运动 作。所述源栅格数据表编辑模块、所述目的栅格数据表编辑模块、所述搬运动作命令 数据列表编辑模块为运行于PLC触摸屏控制面板的程序或运行于PC的程序,运行于PC 的程序时,在需要执行时由PLC从PC下载到PLC中。

S2:对数据结构进行设计,所述数据结构包括源栅格数据结构、目的栅格数据结 构、搬运动作命令数据结构;所述源栅格数据结构用于定义物料搬运的起始栅格阵列 中的每个穴位的X、Y坐标位置,所述目的栅格数据结构用于定义物料搬运的目的栅格 阵列中的每个穴位的X、Y坐标位置,所述搬运动作命令数据结构用于定义每个搬运动 作的搬运起始栅格穴位、目的栅格穴位、物料抓取数量、是否旋转、物料放下数量和 对应的抓取手的位置。

所述起始栅格阵列和所述目的栅格阵列可以为规则的阵列如矩形栅格阵列,也可 以使不规则的阵列,本实施例中,所述起始栅格阵列和所述目的栅格阵列采用矩形栅 格阵列,所述矩形栅格阵列通过阵列的几何参数的方法自动产生栅格阵列中每个穴位 的坐标位置数据。

所述搬运动作命令数据结构如下:

Struct{

LISTSource;---物料取出的源栅格穴位索引号列表

LISTDestination;---物料放入的目的栅格穴位索引列表

MASKFetch;---多抓取头的哪几个头取出物料

MASKPut;---多抓取头的哪几个头放下物料

MASKRotation;---多抓取头的每个头旋转的设定

}

所述搬运动作命令数据结构中通过设置多个抓取头实现每个搬运动作中不同 的物料抓取数量和不同的物料放下数量,即搬用命令数据结构支持多抓取头的结 构,可以同时抓取多个物料,Source和Destination列表定义了同时取出和放入 穴位的索引号,Fetch和Put是MASK数据类型,则定义了取出和放入时,哪 几个抓取头在动作,Rotation则定义了物料在放入是是否要旋转。

所述搬运动作命令数据列表的长度为有限长度,所述搬运动作命令数据列表 的长度小于等于起始栅格阵列中穴位数量和目的栅格阵列中穴位数量的最小公倍 数。如果源栅格阵列的穴位数为N,目的栅格阵列的穴位数为M,N和M的最少公 倍数为L,那么一个完整的搬运动作循环中,要将L/N个源栅格的物料搬运到L/M 个目的栅格中去,物料总数为L,如果每次搬用平均物料数为A,则搬运动作命 令列表的长度为L/A左右。

S3:利用所述PLC程序架构和所述数据结构实现用户自定义的物料在栅格阵列间 的柔性的搬运路径规划和搬运动作。

如图2所示,所述步骤S3具体包括如下步骤:

S31:用户对所述图形化界面上的源栅格数据表编辑模块进行编辑,生成源栅格数 据表,所述源栅格数据表为物料搬运的起始栅格阵列中的每个穴位的X、Y坐标位置的 列表。

S32:用户对所述图形化界面上的目的栅格数据表编辑模块进行编辑,生成目的栅 格数据表,所述目的栅格数据表为物料搬运的目的栅格阵列中的每个穴位的X、Y坐标 位置的列表。

S33:用户对所述图形化界面上的搬运动作命令数据列表编辑模块进行编辑,生成 搬运动作命令数据列表,所述搬运动作命令数据列表为最少搬运循环周期中的每个搬 运动作的搬运起始栅格穴位、目的栅格穴位、抓取的数量、是否旋转、物料放下数量 和对应的抓取手的位置的列表。

S34:所述源栅格数据表、目的栅格数据表、搬运动作命令数据列表实现了用户自 定义的物料在栅格阵列间的柔性的搬运路径规划。

S35:所述搬运动作执行模块循环使用S34中的搬运路径规划来设定每次搬运动作 的动作参数,实现循环往复的搬运动作,完成所有物料在栅格阵列间的搬运。在执行 搬运动作时,搬运执行动作模块的代码循环依次使用搬运动作命令列表的每个数据结 构,依据数据结构中的数据来配置每个动作,如决定要从源栅格的哪几个穴位中取出 物料,要放入到哪几个目的栅格的穴位中去,是否要旋转,由于搬用动作命令数据结 构中位置数据是索引号,因此需要引用源栅格数据表,目的栅格数据表中的数据来确 定运动的X和Y的坐标位置。

这样,通过搬运动作模块使用源栅格数据表,目的栅格数据表和搬运动作命令列 表中的数据,就完成了一种栅格组合的搬运动作规划。相对于传统方法用一段完整的 PLC代码来实现一种栅格阵列组合的搬运路径规划,由于本发明的方法只有数据,而无 代码,因此每增加一种栅格整列组合,占用PLC存储空间的容量的增量要比传统的方 法大大地减少。

本实施例还给出一种将物料从图3所示的3X3的矩阵阵列搬运到图4所示的4 X3的矩阵阵列中的搬运路径规划和搬运动作的示例。

对源栅格数据编辑模块进行编辑生成源栅格数据表,物料搬运的起始栅格阵列中 的每个穴位的X、Y坐标位置的列表,如下:

S11(x11,y11)S12(x12,y12)S13(x13,y13)

S21(x21,y21)S22(x22,y22)S23(x23,y23)

S31(x31,y31)S32(x32,y32)S33(x33,y33)

对目的栅格数据编辑模块进行编辑生成目的栅格数据表,物料搬运的目的栅格阵 列中的每个穴位的X、Y坐标位置的列表,如下:

D11(x11,y11)D12(x12,y12)D13(x13,y13)

D21(x21,y21)D22(x22,y22)D23(x23,y23)

D31(x31,y31)D32(x32,y32)D33(x33,y33)

D41(x41,y41)D42(x42,y42)D43(x43,y43)

假定抓取手每次抓取三个,需要旋转90度,通过编辑产生的搬运动作命令数据列 表为:

S(S11,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

S(S21,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

S(S31,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

所述搬运动作执行模块,对于上述动作命令列表解释并执行后产生以下动作:

S(S11,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第一列。

S(S21,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第二列。

S(S31,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格第三列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第一行抓取三个物料,第一个料旋转90度,放入目的栅格D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个料旋转90度,放入目的栅格D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个料旋转90度,放入目的栅格D43。

ChangeTrayD

更换目的栅格料盘。

S(S21,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第一列。

S(S31,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度放入目的栅格第二列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第三列。

S(S21,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第二行抓取三个物料,第一个物料旋转90度,放入D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个物料旋转90度,放入D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个物料旋转90度,放入D43。

ChangeTrayD

更换目的栅格料盘

S(S31,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格第一列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第二列。

S(S21,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第三列。

S(S31,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个物料旋转90度,放入目的栅格D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个物料旋转90度,放入目的栅格D43。

ChangeTrayD

更换目的栅格料盘。

本实施例所述的一种用于物料在栅格阵列间搬运的PLC程序的设计方法,通过物 料在栅格阵列间搬运动作所需要的程序和数据结构分离的方法,通过源栅格数据表, 目的栅格数据表,搬运动作命令列表来实现用户自定义的物料在栅格阵列间的柔性的 搬运路径规划,通过人机交互的图形化化界面来编辑生成源和目的栅格数据表以及搬 运动作命令列表。相对于传统的对于每一栅格组合都编写一段PLC代码来实现栅格间 物料搬运路径规划的方法,每增加一种栅格组合占用PLC的存储容量小,PLC能支持的 栅格组合的数量大大增加,增加组合的操作简单快速,可以满足工业4.0大规模定制 化生产对于产品换线的要求,同时降低了设备使用维护人员的技能的要求。

实施例2

本实施例提供一种用于物料在栅格阵列间搬运的PLC程序的设计方法,包括PLC 程序架构和数据结构的设计方法,以及利用此程序架构和数据结构来实现用户自定义 的柔性的搬运路径规划的方法,所述PLC程序架构是指PLC程序包括由源和目的栅格 结构数据表编辑模块,搬用动作命令数据编辑模块和搬运动作执行模块组成,栅格数 据编辑模块和搬用动作命令数据编辑模块表现为图形化的人机界面,操作员可以通过 人机交互实现数据编辑任务,搬用动作执行模块通过使用源和目的栅格的数据以及搬 用动作命令数据来完成搬运动作。所述的数据结构是指源栅格数据结构,目的栅格数 据结构和动作命令数据结构,源栅格数据定义了物料搬运的起始栅格阵列的中每个穴 位的X,Y的坐标位置,目的栅格数据定义了物料搬运的目的栅格阵列的中每个穴位的 X,Y的坐标位置,动作命令数据结构定义了每个搬运动作的搬用起始栅格穴位,目的栅 格穴位,抓取的数量,是否旋转,物料放下数量和对应的抓取手的位置。所述用户自 定义的柔性的搬运路径的规划方法是指在用户定义了源和目的栅格的数据后,可以利 用动作命令数据结构来定义一个搬运动作命令列表,此列表定义了一个最少搬运循环 周期的动作命令数据,PLC搬运动作执行模块循环使用此列表的数据来设定每次搬运动 作的动作参数,既可以实现循环往复的搬运动作。

物料搬运起始的源栅格阵列和物料搬运到达的目的栅格整列可以是规则阵列如巨 型阵列,也可以是不规则的阵列,如果是规则阵列,可以通过设置阵列的几何参数的 方法自动产生栅格穴位位置数据。

动作命令数据结构支持多抓取头的结构设计,在一次搬运动作中,可以同时抓取 多个物料,也可以同时放下多个物料或者是单个物料。

搬运动作命令列表的长度可以做到有限长度,在最坏情况下,其长度为源栅格穴 位数量和目的栅格穴位数量的最小公倍数。

源和目的栅格结构数据表编辑模块,搬用动作命令数据编辑模块程序时可以运行 于PLC触摸屏控制面板的程序,也可以是运行于PC的程序。

本实施例是利用和扩展PLC编程中“配方”功能,实现搬用动作和对应栅格结构 的搬运路径规划数据的分离,同时编写图形化的人机界面,以使作业员很方便地生成 和编辑新的栅格结构的搬运路径规划数据。具体到代码模块和数据结构上,代码模块 由源栅格源和目的栅格结构数据表编辑模块,搬用动作命令数据编辑模块和搬运动作 执行模块组成。数据结构由源栅格数据结构,目的栅格数据结构,动作命令数据结构 和相应的列表组成,源和目的栅格数据结构,动作命令数据结构的列表就共同组成了 对应栅格结构组合的搬运路径规划数据。源栅格数据表,目的栅格数据表,和动作命 令列表都是PLC程序的“配方”。

源栅格数据表是物料搬运起始栅格的每个穴的X,Y坐标列表,目的栅格数据表是 物料搬运目的栅格的每个穴位的X,Y坐标列表,对于源栅格的每个穴位,目的栅格的每 个穴位,都有一个顺序的索引,动作命令列表是动作命令数据结构的列表,定义了每次 搬运的动作内容,具体为此次搬运动作搬运物料的数量,从源栅格的哪几个位置中取 出,放入到目的栅格中的哪几个位置,是否要旋转调整角度。搬运动作命令数据结构 如下:

Struct{

LISTSource;---物料取出的源栅格穴位索引号列表

LISTDestination;---物料放入的目的栅格穴位索引列表

MASKFetch;---多抓取头的哪几个头取出物料

MASKPut;---多抓取头的哪几个头放下物料

MASKRotation;---多抓取头的每个头旋转的设定

}

如上所示,搬用命令数据结构支持多抓取头的结构,可以同时抓取多个物料, Source和Destination列表定义了同时取出和放入穴位的索引号,Fetch和Put 是MASK数据类型,则定义了取出和放入时,哪几个抓取头在动作,Rotation则定义 了物料在放入是是否要旋转。

搬用动作命令列表的长度是有限的,如果源栅格阵列的穴位数为N,目的栅格阵列 的穴位数为M,N和M的最少公倍数为L,那么一个完整的搬运动作循环中,要将L/N个 源栅格的物料搬运到L/M个目的栅格中去,物料总数为L,如果每次搬用平均物料数 为A,则搬运动作命令列表的长度为L/A左右。

在执行搬运动作时,搬运执行动作模块的代码循环依次使用搬运动作命令列表的 每个数据结构,依据数据结构中的数据来配置每个动作,如决定要从源栅格的哪几个 穴位中取出物料,要放入到哪几个目的栅格的穴位中去,是否要旋转,由于搬用动作 命令数据结构中位置数据是索引号,因此需要引用源栅格数据表,目的栅格数据表中 的数据来确定运动的X和Y的坐标位置。

这样,通过搬用动作代码使用源栅格数据表,目的栅格数据表和搬运动作命令列 表中的数据,就完成了一种栅格组合的搬运动作规划。相对于传统方法用一段完整的 PLC代码来实现一种栅格阵列组合的搬运路径规划,由于本发明的方法只有数据,而无 代码,因此每增加一种栅格整列组合,占用PLC存储空间的容量的增量要比传统的方 法大大地减少。

源栅格数据表,目的栅格数据表和动作命令列表可以通过人机交互的图形化界面 (GUI)来产生并保存,源和目的栅格数据编辑模块用来生成源和目的栅格数据,动作 命令数据编辑模块用来生成动作命令列表。这些数据表生成对于操作员来讲是按照一 定的步骤在一个格式化的表格中输入数据的过程,相对于PLC代码的开发,对于操作 员的技能要求大大降低,时间也大大地缩短。

优选的技术方案,对于规则的栅格结构如矩阵状栅格结构,可以采用自动的方式 来生成源栅格数据表,目的栅格数据表和搬运命令数据列表。源栅格数据表,目的栅 格数据表和搬运命令列表的生成可以不用从PLC的运行界面产生,可以由在PC上运行 的人机界面程序来产生,在需要执行时由PLC从PC下载到PLC中。

本实例要完成的动作是将物料从图3的3X3的矩阵搬运到图4所示的4X3的矩 阵中,源栅格数据编辑模块产生的源栅格每个穴位的X,Y坐标数据,如下:

S11(x11,y11)S12(x12,y12)S13(x13,y13)

S21(x21,y21)S22(x22,y22)S23(x23,y23)

S31(x31,y31)S32(x32,y32)S33(x33,y33)

目的栅格数据编辑模块产生的目的栅格每个穴位的X,Y坐标数据,如下:

D11(x11,y11)D12(x12,y12)D13(x13,y13)

D21(x21,y21)D22(x22,y22)D23(x23,y23)

D31(x31,y31)D32(x32,y32)D33(x33,y33)

D41(x41,y41)D42(x42,y42)D43(x43,y43)

假定抓取手每次抓取三个,需要旋转90度,通过编辑产生的动作命令列表为:

S(S11,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

S(S21,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

S(S31,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

ChangeTrayS

S(S11,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

S(S21,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

S(S31,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

ChangeTrayD

PLC搬运动作执行代码,对于上述动作命令列表解释并执行后产生以下动作:

S(S11,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第一列。

S(S21,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第二列。

S(S31,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格第三列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第一行抓取三个物料,第一个料旋转90度,放入目的栅格D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个料旋转90度,放入目的栅格D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个料旋转90度,放入目的栅格D43。

ChangeTrayD

更换目的栅格料盘。

S(S21,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第一列。

S(S31,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度放入目的栅格第二列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第三列。

S(S21,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第二行抓取三个物料,第一个物料旋转90度,放入D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个物料旋转90度,放入D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个物料旋转90度,放入D43。

ChangeTrayD

更换目的栅格料盘

S(S31,NA,NA)F(111)D(D11,NA,NA)P(111)R(111)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格第一列。

ChangeTrayS

更换源栅格料盘。

S(S11,NA,NA)F(111)D(D12,NA,NA)P(111)R(111)

从源栅格第一行抓取三个物料,旋转90度,放入目的栅格第二列。

S(S21,NA,NA)F(111)D(D13,NA,NA)P(111)R(111)

从源栅格第二行抓取三个物料,旋转90度,放入目的栅格第三列。

S(S31,NA,NA)F(111)D(D41,NA,NA)P(100)R(100)

从源栅格第三行抓取三个物料,旋转90度,放入目的栅格D41。

S(NA,NA,NA)F(000)D(D42,NA,NA)P(010)R(010)

第二个物料旋转90度,放入目的栅格D42。

S(NA,NA,NA)F(000)D(D43,NA,NA)P(001)R(001)

第三个物料旋转90度,放入目的栅格D43。

ChangeTrayD

更换目的栅格料盘。

本实施例所述用于物料在栅格阵列间搬运的PLC程序的设计方法,通过物料在栅 格结构间搬运动作所需要的代码和数据分离的方法,通过源栅格数据表,目的栅格数 据表,搬运动作命令列表来实现栅格间搬运动作的路径规划,通过人机交互的图形化 化界面来编辑生成源和目的栅格数据表以及动作命令列表。相对于传统的对于每一栅 格组合都编写一段PLC代码来实现栅格间物料搬运路径规划的方法,每增加一种栅格 组合占用PLC的存储容量小,PLC能支持的栅格组合的数量大大增加,增加组合的操作 简单快速,可以满足大规模定制化生产对于产品换线的要求,同时降低了设备使用维 护人员的技能的要求。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。 对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的 变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易 见的变化或变动仍处于本发明创造的保护范围之中。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号