840D sl 超过M99后的M代码如何去定义、使用

840D sl 的M指令大于99时如何去写,比如M200。
看到有两种方式:一种是比较DB21.DBW68和DB21.DBD70中的值;另一种是通过DB75和DB76基于列表的M解码实现。
两者有什么区别?

图片说明:

840D sl 超过M99后的M代码如何去定义、使用    840D sl 超过M99后的M代码如何去定义、使用   

最佳答案

使用解码列表的解码方法,1、此种解码方法不分通道;2、此种解码方法可以解码256个M功能,分成16个组,每组16个(扩展地址16个,每个扩展地址内的值最多16个);3其接口信号需要用户自己生成。使用方法:1、生成DB75,作用是告诉PLC哪些M功能用这种方法解码,①在STEP7中打开library(已经安装过toolbox)→②选择相应的基本程序文件夹(根据toolbox会生成不同的)→③打开"Quellen"(德语,源文件)→④复制文件"medclist"至用户PLC程序的源文件文件夹中→⑤"medclist"文件内"MSigGrp[1].MExtAdr"是M功能的扩展地址(共16组,以第一组为例,下同),"MSigGrp[1].MFirstAdr"为该组的起始值,"MSigGrp[1].MLastAdr"为该组的最终值(每组可以不是16位,即有部分可以不使用,如"MSigGrp[1].MExtAdr"=0,"MSigGrp[1].MFirstAdr"=10,"MSigGrp[1].MLastAdr"=15,即使用M10-M15;如"MSigGrp[1].MExtAdr"=10,"MSigGrp[1].MFirstAdr"=10,"MSigGrp[1].MLastAdr"=15,即使用M10=10-M10=15)→⑥改好后进行编译("Compile")→在程序内自动生成DB75;4、打开OB100,在FB1中有一个"ListMDecGip"的形参,DB75一共16个组,使用了几个组就在里面输几;5、下载DB75和OB100,执行PLC暖启动(PO);6、生成接口信号DB76,以上面的例子为例:
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 DB76
- - M15 M14 M13 M12 M11 M10 DBB0
- - - - - - - - DBB1
- - M10=15 M10=14 M10=13 M10=12 M10=11 M10=10 DBB2
- - - - - - - - DBB3
完成后调用例如:在NC程序内输入"M10=15",即将DB76.DBX2.5置位,这种M功能有 一个特点:一旦执行这个M功能,NC程序是否继续往下执行由PLC来决定,也就是PLC可以决定M功能未执行完成前NC程序要不要继续运行,直至PLC将M功能对应的DB76复位,NC才能继续运行,所以在PLC程序内必须编制一个复位程序,DB76(NC→PLC),但要求PLC要将其复位为零后才能继续执行NC

以前笔记,供你参考

使用DBB58解码的方法:
例如编一段NC程序:N10    M8    M10=8    M9999    M10000    M15
                             M fct.1    M fct.2   M fct.3    M fct.4     M fct.5
DBB58 M fct.1-5指的是该行程序内的第几个M功能,例当执行上程序"M8"时,NC告诉PLC这一行有一个M功能要执行,PLC会将DB21.DBX58.0置一个OB1周期的"ON"
DB21.DBW68储存的是M功能的扩展地址,如Mx=yy,x就是扩展地址,DB21.DBD70储存的是M功能的值(内容),yy就是值(以上都以通道1,M功能1为例)
为了方便编程,不去固定M功能在程序段内的位置,需要在PLC内进行“或”
这种M功能的解码范围为M[0~99](扩展地址0~99)=0~99999999(值的范围),其解码范围特别大

提问者对于答案的评价:
很详细,谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc295794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:40
下一篇 2020年10月31日 下午1:41

相关推荐

  • 802D sl编程问题

    手上有一套老的802D sl数控系统,在加工编程的时候,每次后面必须输入eof,怎么才能取消这个 最佳答案 西门子数控编程中,eof 即文件结尾,你可以不用特意…

    SINUMERIK 2017年6月10日
  • 个人电脑(PC)如何与sinumerik 808d Advanced实现通讯

    个人普通pc与808d之间使用以太网通信,cnc控制器与伺服驱动,电机之间采用profibus。如何实现从pc上获取数控系统已经伺服驱动相关信息数据。 问题补充:求具体的实现方式,…

    2017年6月11日
  • 840D如何屏蔽轴

    840D系统有两个轴损坏不使用,如何屏蔽,但是屏幕上还要显示有轴存在,请高手赐教??? 最佳答案 如何做轴的屏蔽——     &n…

    SINUMERIK 2019年6月11日
  • 专家口令 制造商口令 都被更改 怎么破

    专家口令 制造商口令 都被更改 怎么破 或者如何恢复初始状态 问题补充:不知道供货商 二手市场淘的 钻石用户推荐最佳答案 840D…

    SINUMERIK 2020年10月31日
  • 如何使用CFC功能?

    在什么情况下使用?如何使用CFC功能呢? 问题补充:那一般情况下,做数控机床加工的时候,是使用CFC呢?还是使用CFTCP呢? 最佳答案 功能:如果刀具半径补偿(G41/G42,参…

    SINUMERIK 2017年11月1日
  • 主轴不允许在第二通道

    在下在搞840d的立车,左右刀架分别配置为第一和第二通道,主轴默认是在第一通道,现在情况是:1.第一通道主轴旋转定位都正常。2.在第二通道GETD命令调用主轴,显示器上第一通道主轴…

    SINUMERIK 2017年11月27日
  • 840D 系统配置611U驱动器

    最近在搞840D的测试系统,碰到个问题,我的611U驱动器通过DP 链接用S7-300 PLC可以控制,现在想不通过PLC,直接把驱动器挂在NCU上,当主轴使用…

    SINUMERIK 2017年6月19日
  • 840C 49号报警

    840C   49号报警 NC in general reset ,怎么解决 图片说明: &nbsp…

    2021年7月5日
  • 840Dsl系统M功能指令含义

    各位大神,单位某德国数控车床,系统为840Dsl,NC程序中使用大量的M扩展功能指令,如M74=1814,该如何理解啊,谢谢!下图为数控机床的部分桁架控制NC程序 版主推荐答案 如…

    2020年10月31日
  • 西门子840D 内存满

    最近几天突然经常内存满,硬盘剩余空间为0,删除部分文件后,运行一段时间后又满了。求助,到底在运行时生成了什么文件占用了内存???更改哪些设置可以改变这种状态??? 最佳答案 楼主的…

    SINUMERIK 2020年10月31日