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

2021-07-02 01:32付纯连
组合机床与自动化加工技术 2021年6期
关键词:程序段译码指针

付纯连

(通用技术集团大连机床有限责任公司,辽宁 大连 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程序的工作量。

猜你喜欢
程序段译码指针
基于WinCC的物料小车控制系统设计与仿真
基于校正搜索宽度的极化码译码算法研究
数控系统手轮回退功能的研究与实现*
基于NC程序段的提高数控加工监控阈值与信号同步的方法*
数控铣床FANUC 0i 系统刀具半径补偿系统参数设置解析
为什么表的指针都按照顺时针方向转动
从霍尔的编码译码理论看弹幕的译码
LDPC 码改进高速译码算法
基于改进Hough变换和BP网络的指针仪表识别
ARM Cortex—MO/MO+单片机的指针变量替换方法