首页 理论教育 注意事项:PMC子程序设计与调用

注意事项:PMC子程序设计与调用

时间:2023-06-30 理论教育 版权反馈
【摘要】:对于只使用1级高速扫描的PMC程序,程序结束指令END1代表高速扫描程序结束,END2代表普通扫描程序结束。例如,当FS-0iD选配PMC/L时,其子程序号的范围只能为P1~P512,而选择0iD-PMC时,其子程序号的范围可以为P1~P5000等。条件调用指令只有在ACT信号为“1”时才能调用子程序;无条件调用指令可直接调用子程序。图3-50 子程序返回PMC子程序设计需要注意以下问题。

注意事项:PMC子程序设计与调用

1.主程序和END指令

FANUC系统的PMC程序采用了分时管理线性化结构,其用户主程序通常分为图3-46所示的高速扫描和普通扫描两部分。对于只使用1级高速扫描的PMC程序,程序结束指令END1代表高速扫描程序结束,END2代表普通扫描程序结束。

978-7-111-48905-4-Chapter03-65.jpg

图3-46 主程序结构

如果PMC使用了2级高速扫描程序,则第1、2级高速程序的结束指令分别为END1、END2,普通程序结束指令为END3(SUB48)。如果不使用高速扫描程序,其高速程序结束指令END1(END2)也需要编制,指令应编制在程序的起始位置。

2.子程序和SPE指令

PMC程序也可采用主、子程序结构。PMC子程序以图3-47a所示的SP(SUB71)指令作为开始标记;以图3-47b所示的SPE(SUB72)指令作为结束标记。

不同的子程序利用子程序号P进行区分,子程序号P需要在子程序开始标记指令SP中定义,但是,所有子程序的结束指令都为SPE(SUB72)。由于不同规格的PMC,可使用的子程序数量有所不同,因此,其子程序号的允许范围也有区别。例如,当FS-0iD选配PMC/L时,其子程序号的范围只能为P1~P512,而选择0iD-PMC时,其子程序号的范围可以为P1~P5000等。

978-7-111-48905-4-Chapter03-66.jpg

图3-47 子程序定义

978-7-111-48905-4-Chapter03-67.jpg

图3-48 主/子程序结构

采用主/子程序结构的PMC程序如图3-48所示,PMC程序从上到下的排列次序应依次为高速扫描程序、普通扫描程序、子程序,所有子程序都需要统一放在主程序之后,在全部子程序结束处,需要用END(SUB64)指令结束梯形图程序。(www.xing528.com)

3.子程序调用和返回

子程序可通过主程序中的调用指令调用,子程序调用可分条件调用和无条件调用两种,指令的编程格式如图3-49所示。条件调用指令只有在ACT信号为“1”时才能调用子程序;无条件调用指令可直接调用子程序。

978-7-111-48905-4-Chapter03-68.jpg

图3-49 子程序调用

在正常情况下,子程序执行完成后将通过结束指令SPE返回到主程序,并继续执行调用指令后的主程序。但是,如果需要,也可通过JMPC(SUB73)指令,在子程序执行结束后返回到主程序的特定位置。JMPC返回的位置应通过LBL(SUB69)及参数L∗进行标记,指令编程格式如图3-50所示。

978-7-111-48905-4-Chapter03-69.jpg

图3-50 子程序返回

PMC子程序设计需要注意以下问题。

1)返回指令JMPC的目标位置不可位于高速扫描中,或子程序调用指令(CALL/CAL-LU)之前;也不能位于后述的公共线控制区域内。

2)返回指令JMPC的返回目标位置标记LBL,可以和其他JPMB指令共用,但LBL指令的编号(L1~L999)不可重复。

3)子程序调用CALL、CALLU指令可与后述的程序跳过指令JPM(SUB10)、标记跳转指令JPMB(SUB68)同时使用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈