SIEMENS子程序库提供了刀架和刀库转向判别子程序SBR48(TOOL_DIR),该子程序既可用于蜗轮蜗杆或齿轮传动的连续回转高速刀架、加工中心刀库的减速刀位计算,也可用于不需要预减速的间隙分度通用液压刀架和加工中心刀库的捷径回转方向选择。SBR48程序设计如下。
子程序SBR48的局部变量定义以及调用时的变量赋值要求如表8.2-3所示。
表8.2-3 SBR48局部变量定义表
2.PLC程序设计
子程序SBR48(TOOL_DIR)的设计由计算参数生成及刀号判别程序Network1、转向判别和减速刀位计算程序Network2组成。
程序Network1的设计如图8.2-6所示。
图8.2-6 计算参数生成及刀号判别程序
程序Network1的第1行,利用刀最大刀位数设定值LD0的右移位操作SHR_DW,替代除法运算,可在LD24上得到捷径选刀时最大正向旋转刀位数(正整数)。接着,利用减法运算指令SUB_DI,在LD28上得到了最大反向旋转刀位数(负整数)。(www.xing528.com)
程序Network1的第2行,通过对最大刀位数设定值LD0加1的操作,可在LD32上得到目标刀位大于最大刀位的判别值。接下来的移动指令MOV_DW可将减速刀位预设为初始值0。
程序Network1的第3行用于目标刀位判别,当目标刀位大于最大刀位数时,代表CNC编程错误,直接利用子程序结束指令RET,结束子程序。
程序Network2的设计如图8.2-7所示,该网络用于捷径转向输出变量L16.0和减速刀位输出变量LD12的生成。
图8.2-7 转向选择和减速刀位计算程序
程序Network2的第1行,通过目标刀位Tprog(LD4)与现行实际刀位Tcurr(LD8)的减法运算,可在LD20上得到刀塔需要回转的刀位数。如目标刀位和现行实际刀位一致,则可直接利用第2行的子程序结束指令RET,结束子程序。
程序Network2的第3~6行用来生成转向判别信号。当需要回转的刀位数LD20为正、且小于最大正向旋转刀位数LD24时,刀架应正转,状态信号L40.0为1;当需要回转的刀位数LD20为负、且绝对值大于最大负向旋转刀位数LD28时,刀架同样需要正转,状态信号L40.1为1。当需要回转的刀位数LD20为正且状态信号L40.0为0时,刀架应反转,状态信号L40.2为1;当需要回转的刀位数LD20为负且状态信号L40.1为0时,刀架同样需要反转,状态信号L40.3为1。
程序Network2的第7~9行用于正转时的转向信号和减速刀位输出。第7行可将转向输出信号L16.0置1(正转);第8、9行用于减速刀位计算。当目标刀位不为1时,正转时的减速刀位LD36就是目标刀位减去1后的值;当目标刀位为1时,减速刀位LD36就是最大刀位。第9行程序也可直接利用双字移动指令MOV_DW,将LD0传送至LD36,程序的概念更清晰,也便于理解。
程序Network2的第10~13行用于反转时的转向信号和减速刀位输出。第10行可将转向输出信号L16.0置0(反转);第11、12行用于减速刀位计算。当目标刀位不为最大刀号时,反转时的减速刀位LD36就是目标刀位加上1后的值;当目标刀位为最大刀号时,减速刀位LD36就是1号刀位。为了便于理解,第12行也可直接利用双字移动指令MOV_DW,将常数1传送至LD36。第13行用于减速刀位输出变量LD12的生成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。