当前位置:首页 期刊杂志

西门子840Dsl系统多组M功能的译码

时间:2024-07-28

付纯连

(通用技术集团大连机床有限责任公司,辽宁 大连 116620)

0 引言

西门子840Dsl系统的NC程序可以在单程序段上编5组M功能,用于辅助动作的执行。针对M功能,西门子提供了动态和静态两种NCK到PLC的接口地址。动态M功能接口地址可以将单程序段上的5组M0到M99这100个M功能一一对应的直接输出给PLC。当需要使用M100以后的M功能时,没有动态接口地址可以使用,只有将静态 M功能接口地址通过PLC程序处理后,才能得到一一对应的PLC地址。由于每增加一个M功能,都需要增加相应的PLC程序,程序编制的重复工作多。因此,我们编制对静态M功能接口地址译码的程序,减少重复性的PLC程序编制工作,增强PLC程序的结构化、模块化和通用性。

1 PLC地址

有关NCK到PLC的静态M功能接口地址见表1。

表1 静态M功能接口地址表

同时,我们还需要建一个用于存储M功能译码地址的DB块。在本文中,DB块的容量是50个字节,译码位地址是DBX0.0~DBX49.7,用于存储M0到M399共计400个M功能。

2 双字指针pointer格式

在对西门子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。

3 译码流程图

在对静态M功能接口地址译码时,我们先计算出译码后的字节地址和位地址,然后根据双字指针格式,将字节地址左移三位,再与位地址进行或运算,就可以得到最终的译码地址并将译码地址置1。

同时,对静态M功能接口地址的处理,需要满足以下要求:

(1)能够完成在NC程序的单程序段上执行多组M功能;

(2)程序段中的M功能不论在第几组,具有唯一的PLC地址;

(3)M功能的PLC地址只保持一个PLC扫描周期;

(4)当M功能超过最大数量时,NC读入禁止并有信息显示。

按照要求,编制流程图,见图1。

图1 多组M功能译码流程图

4 结论

在实际应用中,通过在PLC程序中对西门子840Dsl静态 M功能接口地址的译码处理,译码结果准确,可以实现在西门子NC程序的单程序段上编制、执行多组M功能,增强了PLC程序的结构化、模块化和通用性,同时大幅减少了编制PLC程序的工作量。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!