时间:2024-07-28
付纯连
(通用技术集团大连机床有限责任公司,辽宁 大连 116620)
西门子840Dsl系统的NC程序可以在单程序段上编5组M功能,用于辅助动作的执行。针对M功能,西门子提供了动态和静态两种NCK到PLC的接口地址。动态M功能接口地址可以将单程序段上的5组M0到M99这100个M功能一一对应的直接输出给PLC。当需要使用M100以后的M功能时,没有动态接口地址可以使用,只有将静态 M功能接口地址通过PLC程序处理后,才能得到一一对应的PLC地址。由于每增加一个M功能,都需要增加相应的PLC程序,程序编制的重复工作多。因此,我们编制对静态M功能接口地址译码的程序,减少重复性的PLC程序编制工作,增强PLC程序的结构化、模块化和通用性。
有关NCK到PLC的静态M功能接口地址见表1。
表1 静态M功能接口地址表
同时,我们还需要建一个用于存储M功能译码地址的DB块。在本文中,DB块的容量是50个字节,译码位地址是DBX0.0~DBX49.7,用于存储M0到M399共计400个M功能。
在对西门子840Dsl系统的静态M功能接口地址译码时,需要用双字指针(参数类型pointer)确定译码后的地址。双字指针(参数类型pointer)用于存储器间接寻址,它具有32bit的结构:0000 0000 0000 0BBB BBBB BBBB BBBB BXXX,其中0-2bit(3个X)的数值表示被寻址的位地址,3-18bit(16个B)的数值表示被寻址的字节地址。通过双字指针确定具体地址byte.bit,例如,11011表示地址为3.3。
在对静态M功能接口地址译码时,我们先计算出译码后的字节地址和位地址,然后根据双字指针格式,将字节地址左移三位,再与位地址进行或运算,就可以得到最终的译码地址并将译码地址置1。
同时,对静态M功能接口地址的处理,需要满足以下要求:
(1)能够完成在NC程序的单程序段上执行多组M功能;
(2)程序段中的M功能不论在第几组,具有唯一的PLC地址;
(3)M功能的PLC地址只保持一个PLC扫描周期;
(4)当M功能超过最大数量时,NC读入禁止并有信息显示。
按照要求,编制流程图,见图1。
图1 多组M功能译码流程图
在实际应用中,通过在PLC程序中对西门子840Dsl静态 M功能接口地址的译码处理,译码结果准确,可以实现在西门子NC程序的单程序段上编制、执行多组M功能,增强了PLC程序的结构化、模块化和通用性,同时大幅减少了编制PLC程序的工作量。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!