表5.2-2 宏程序的调用指令一览表自由调用和特定调用用户宏程序调用有自由调用和特定调用两种方式。图5.2-2 用户宏程序的特定调用特定调用的指令编程格式如下:l:重复调用次数;变量赋值的方法见后述。一般情况下,宏程序执行完成后,程序将返回到调用程序段,然后继续执行下一程序段。表5.2-4 自变量指定Ⅱ的程序字与局部变量对应关系表混合赋值宏程序调用指令也可采用自变量指定Ⅰ、自变量指定Ⅱ混合赋值的方式,对局部变量#1~#33进行赋值。......
2023-06-25
1.使用条件
宏程序中断是通过外部输入信号中断现行程序、直接调用指定宏程序的功能,宏程序的调用不需要编制调用指令。宏程序中断功能的使用条件如下:
1)设定CNC参数PRM6003.7(MUS)=1,生效宏程序中断功能。
2)通过PMC程序,在PMC输出信号G053.5上发送宏程序中断信号UNIT。
3)在CNC参数PRM6003.3(TSE)上设定中断信号的类型,设定0为上升沿有效;设定1为信号ON有效。
4)在DNC运行或执行外部输入程序时,不能进行宏程序中断。
2.中断允许与禁止
通过CNC参数的设定,可以M代码生效或禁止宏程序中断功能,相关参数的设定方法如下:
PRM6003.4(MPR)=0:M96生效宏程序中断;M97禁止宏程序中断。
PRM6003.4(MPR)=1:利用CNC参数PRM6033设定的M代码,生效宏程序中断功能;利用CNC参数PRM6034的M代码设定禁止宏程序中断功能。
如图5.3-3所示,当宏程序中断被M代码禁止时,宏程序中断输入信号将无效。
3.中断方式
利用宏程序中断功能中断现行程序的方法有两种。
(1)中断方式Ⅰ
中断方式Ⅰ在设定CNC参数PRM6003.2(MIN)=0时有效。中断方式Ⅰ有效时,只要输入宏程序中断信号UNIT,CNC将立即中止现行程序段的执行,转入宏程序。如果宏程序中含有普通NC程序段,被中止的现行程序段中尚未完成部分将被放弃,宏程序返回后将从中断程序段的下一段开始继续,其处理过程如图5.3-4所示。
图5.3-3 中断允许与禁止
图5.3-4 有NC程序段的中断处理
如宏程序中无普通NC程序段,宏程序执行完成后,将返回到被中断的程序段,继续执行被中止的现行程序段中剩余部分,其处理过程如图5.3-5所示。
图5.3-5 无NC程序段的中断处理
(2)中断方式Ⅱ
选择中断方式Ⅱ在CNC参数PRM6003.2(MIN)设定1时有效。中断方式Ⅱ有效时,如宏程序中含有普通NC程序段,执行到NC程序段时将暂停宏程序的处理;CNC先处理被中止的现行程序段中的剩余部分,然后才能处理宏程序的NC程序段,其执行过程如图5.3-6所示。如中断宏程序中无普通NC程序段,其处理与中断方式Ⅰ相同。
4.固定循环的中断
图5.3-6 有NC程序段的中断Ⅱ处理
固定循环执行期间是否进行宏程序中断,可通过CNC参数PRM6003.6(MCY)的设定选择,设定0时,宏程序中断无效;设定1时,宏程序中断有效,中断方式通过CNC参数PRM6003.2(MIN)设定选择。
当选择中断方式Ⅰ时,如宏程序中含有NC程序段,固定循环的剩余动作将被放弃;如宏程序中无NC程序段,宏程序执行完成后,将继续执行固定循环的剩余动作。当选择中断方式Ⅱ时,宏程序中断需要等待固定循环执行到最后一个运动程序段时,才能转入用户宏程序。如宏程序含有NC程序段,则这一程序段必须在循环结束后才能处理;如宏程序中无NC程序段,在宏程序执行完成后,继续执行固定循环的剩余动作。
执行宏程序时,原程序中的宏程序模态调用指令G66被暂时取消,但当返回到原程序后,模态调用功能被自动恢复。
5.中断的返回
中断宏程序执行完成后,将返回到被中断的程序继续执行,返回位置有如图5.3-7所示的两种指令方式。
图5.3-7 宏程序中断的返回
1)正常返回:如宏程序以M99指令结束,执行完成后正常返回,并根据不同的中断方式处理被中止的程序段。正常返回时,可恢复被中断程序段的模态代码。
2)指定位置返回:如宏程序以指令M99P□□结束,宏程序执行完成后将返回到被中断程序的N□□处。在这种情况下,如宏程序未进行模态代码的修改,被中断程序中的模态代码继续有效;如宏程序中对模态代码进行了修改,它将影响被中断程序的模态代码,因此,需要在返回程序段中定义完整的模态代码或在宏程序返回时设定模态代码。
有关FANUC-0iD编程与操作的文章
表5.2-2 宏程序的调用指令一览表自由调用和特定调用用户宏程序调用有自由调用和特定调用两种方式。图5.2-2 用户宏程序的特定调用特定调用的指令编程格式如下:l:重复调用次数;变量赋值的方法见后述。一般情况下,宏程序执行完成后,程序将返回到调用程序段,然后继续执行下一程序段。表5.2-4 自变量指定Ⅱ的程序字与局部变量对应关系表混合赋值宏程序调用指令也可采用自变量指定Ⅰ、自变量指定Ⅱ混合赋值的方式,对局部变量#1~#33进行赋值。......
2023-06-25
选中中的工具,鼠标单击选择袖山曲线,再依次单击展开线,右键单击,弹出对话框,选择展开方式、处理方式和倒向,输入展开量,单击按钮,省插入,具体过程如图3-44所示。......
2023-06-22
原则上,正常生产过程中的任何中断都属于特殊情况。如果系统制造商不能提供降低中断频率和提高持续时间的策略,甚至可能会导致废弃生产线。例如,系统中输入的数据可用于控制产品质量和优化系统,从而有助于减少中断。在调试阶段,这些数据有助于缩短优化时间;在运行阶段,它有助于加快解决方案或完全避免中断。......
2023-06-15
搜索引擎的整个处理流程是非常复杂的,涉及大量的运算。搜索引擎整理信息的过程称为“创建索引”,其目的是提高搜索引擎查找的速度。接受查询用户向搜索引擎发出查询,搜索引擎接受查询并向用户返回结果。目前,搜索引擎返回结果主要是以网页链接的形式提供的,通过这些链接,用户便能到达含有自己所需信息的网页。要注意的是,各个搜索引擎的检索语法也不尽相同,需要时请到各网站查阅检索帮助。......
2023-10-22
Capric卡一共需要处理三种中断请求,分别为DMA写完成、DMA读完成和错误中断请求。源代码12-9 Capric卡的中断服务例程在capric_probe函数中,capric_interrupt中断服务例程被request_irq函数注册到Linux系统的irq_desc中断描述符表中,并与Linux系统的外部中断处理函数do_IRQ挂接,当Capric卡通过MSI中断方式提交外部中断请求后,do_IRQ函数将最终调用capric_interrupt函数完成相应的中断处理。......
2023-10-20
CPU对中断处理过程包括中断初始化、中断响应、保护现场、中断服务程序处理、中断撤销和中断返回。所以在进入中断服务子程序后,一般都要保护现场,再执行中断服务程序,返回主程序前再恢复现场,用户在编制中断处理程序时必须要考虑上述问题。......
2023-11-04
PowerPC处理器使用OpenPIC中断控制器或者MPIC中断控制器,处理外部中断请求。值得注意的是,PowerPC处理器和x86处理器处理MSI报文的方式有较大的不同。MPIC中断控制器是Freescale的PowerPC处理器使用的通用中断控制器,目前基于E500内核的处理器,如MPC854x、8572等处理器使用这种中断控制器。目前Freescale的P4080处理器对MPIC中断控制器进行了优化。目前Freescale并没有完全公开P4080处理器的实现细节,因此本节仍以MPC8572处理器为例介绍PCIe设备的MSI中断请求。......
2023-10-20
接下来分步说明中断处理的具体实现。Linux内核irqdesc.h中有如下定义:这里可见宏NR_IRQS描述了所有中断的个数,这个数目应该是和处理器相关的。具体的级联中断的解决办法留到相应模块中进行详细说明。3中断控制器的处理接下来看看DM 3730的内核是如何实现中断控制器的管理的。图4-30引自《DM 3730芯片手册》中第2411页的框图。电源管理没有中断控制器唤醒的相关实现,由于这部分是在ARM主处理器的电源域中,并不需要这部分功能。......
2023-11-22
相关推荐