编程概述

下面说明Part Feeding选件的概述。在本章节以后将说明详细内容。
在几乎所有的应用中,都由系统自动进行送料器运作。此外,也会自动生成基本的SPEL程序。由已生成的名为回调函数的SPEL函数构成。
执行时,系统会调用回调函数。符合下述条件时会进行调用。

PF_Robot函数 送料器上有可拾取的部件时
PF_Status函数 状态发生变化时
PF_Vision函数 通过PF_Vision callback进行视觉处理时
PF_Feeder函数 进行独自的送料器控制时
PF_Control函数 控制料斗或前灯等时
PF_MobileCam函数 因使用移动相机检测部件而将相机移动至送料器上方时
PF_CycleStop函数 停止Part Feeding的运作时

为了处理特定要件,需要更改回调函数。
几乎所有的应用都需要使用PF_Robot与PF_Status回调函数。
如下所述为各回调函数的概述。

PF_Robot回调函数
如果完成送料器运作与视觉处理并判断可拾取部件,则会自动执行PF_Robot回调函数。记述实现部件取放动作的代码。在单纯的应用中,记述用于实现机器人取放动作与夹爪(部件抓取机构)动作的数行代码。如果PF_Robot回调函数结束,则会执行PF_Status回调函数。

PF_Status回调函数
如果各回调函数完成,则会自动执行PF_Status回调函数。PF_Status时,根据各回调函数的返回值向系统发出后续方法指示。另外,PF_Status时也向操作员发出发生错误状态的通知。错误包括机器人过载转矩错误等系统级错误、料斗进给过少或过多这样的Part Feeding错误等。为PF_Robot回调函数时,记述应对发生的错误的方法。在单纯的应用中,无需更改PF_Status回调函数的代码。

在更复杂的应用中,也许需要客户记述视觉处理。在这种情况下,需要使用PV_Vision回调函数。如下所述为PF_Vision回调函数的概述。

PF_Vision回调函数
客户进行零件送料器的视觉处理(而非系统准备的视觉处理)时,记述PF_Vision回调函数所需的处理。需要利用相机拍摄图像,启动部件检测序列,获取结果或将结果添加至部件坐标队列。在单纯的应用中,由系统进行视觉处理,因此无需记述PF_Vision回调函数。
有关详细信息,请参阅以下内容。
PF_Vision

偶尔需要使用客户准备的照明(而非内置的背光灯)。PF_Control回调函数用于控制客户准备的照明。也通过PF_Control回调函数控制客户准备的料斗。另外,也通过PF_Control回调函数控制本公司的料斗选件。如下所述为PF_Control回调函数的概述。

PF_Control回调函数
系统判断需要通过料斗进行进给时,或系统判断需要进行灯的ON/OFF运作时,会自动执行PF_Control回调函数。使用Epson的料斗选件时,需要将通过PF_Control回调函数注释的PF_OutputONOFF命令,进行非注释化处理。

PF_MobileCam回调函数
为设置在机器人上的移动相机(而非设置在送料器上方的向下相机)时,会自动执行PF_MobileCam回调函数。在PF_MobileCam回调函数中记述机器人将相机移动至送料器上方的代码。此外,检测到部件并将部件数据添加至Part Feeding队列后,也记述机器人从送料器上方的转移动作。使用向下固定相机时,无需记述PF_MobileCam回调函数。

PF_CycleStop回调函数
如果执行PF_Stop,则自动执行PF_CycleStop回调函数。该PF_CycleStop回调函数用于将机器人移动到安全位置或将输出置为ON或OFF那样的结束处理。在单纯的应用中,无需记述PF_CycleStop回调函数。

PF_Feeder回调函数
客户的装置或部件无法顺利进行自动送料器控制处理时,可使用PF_Flip或PF_Shift命令等,在PF_Feeder回调函数内通过SPEL代码记述送料器运作。一般来说,无需记述PF_Feeder回调函数。

所有的回调函数都需要设定返回值。要通过函数返回值时,将值分配给函数名称(比如,PF_Robot = PF_CALLBACK_SUCCESS,其中,PF_CALLBACK_SUCCESS为定义值0的常数)。正常结束时,会将PF_CALLBACK SUCCESS作为返回值。PF_Status时,会在某个回调函数完成后或发生错误后,向系统发出后续方法的指示。系统需要识别要执行的运作(继续、结束、重新启动等)。比如,可将返回值设为常数PF_EXIT并结束。在简单的应用中,可直接使用自动生成的回调函数的返回值。
有关详细信息,请参阅以下内容。
Part Feeding回调函数
下页所述为进行拾取&放置的程序的全体图。