M指令,多位数怎么解读,比如M40600001

进口设备大量使用M指令,超过M99怎么使用?PLC写的如下:谁能给个解读的方向,阅读能力不足M指令,多位数怎么解读,比如M40600001

 OPN   "SysDbSysFgr"

      L     #KnNr                       //-------------------

      JL    VBEB

      JU    BEB

      JU    KN1L                        //Sprungverteiler

      JU    KN2L

      JU    KN3L

      JU    KN4L                        //-------------------

VBEB: JU    BEB

KN1L: L     P#18.0                      //Adresse 1.MFkt.-Wert Kanal 1 

      LAR1  

      L     DBB   15                    //M-膎derungssignale Kanal 1

      JU    LDMA

KN2L: L     P#98.0                      //Adresse 1.MFkt.-Wert Kanal 2 

      LAR1  

      L     DBB   95                    //M-膎derungssignale Kanal 2

      JU    LDMA

KN3L: L     P#456.0                     //Adresse 1.MFkt.-Wert Kanal 3

      LAR1  

      L     DBB  453                    //M-膎derungssignale Kanal 3

      JU    LDMA

KN4L: L     P#536.0                     //Adresse 1.MFkt.-Wert Kanal 4 

      LAR1  

      L     DBB  533                    //M-膎derungssignale Kanal 4

      JU    LDMA                        //----------------------

BEB:  A     "SysZmEins"

      R     #Vorh

      BEC                               //----------------------

LDMA: T     LB    16                    //Struktur M-Aenderungen

      L     0                           //M-Aenderung 1-5 ???

      ==I   

      R     #Vorh

      BEC   

      R     #Vorh

      L     0

      T     #W4_1

      AN    #MFktAend.M1                //----> M Fkt. 1 <----

      JC    M2AW

      L     DBD [AR1,P#0.0]             

      T     #MFktn

      A     #FktWertAus                 //Dekade 4-1 als Funktionswert ?

      JC    M1W9

      L     #MFktn                      //---------------- 

      L     #M8_1                       // MFkt = M8_1 ?

      ==D   

      =     #Vorh

      R     #MFktAend.M1

      JC    ENDE

      JU    M2AW

M1W9: L     #M8_1                       //----------------

      L     10000                       //Ermitteln , ob die

      MOD                               //Dekaden 8-5 der programmierten

      T     #ModM8_1                    //M-Funktion mit der

      L     #M8_1                       //abgefragten M-Funktion M8_1

      L     #ModM8_1                    //黚ereinstimmen

      -D    

      T     #M8_1MinMod

      L     #MFktn                      //M8_1 /10000 == MFkt / 10000 ?

      L     10000

      MOD                               //nein => n鋍hste M-Funktion 

      T     #ModMFkt                    //ja   => Ausgabe W4_1

      L     #MFktn

      L     #ModMFkt

      -D    

      T     #MFktMinMod

      L     #M8_1MinMod

      <>D   

      JC    M2AW                        //-------------------

      =     #Vorh                       //Ausgabe W4_1:

      R     #MFktAend.M1

      L     #ModMFkt                    //Modulo(MFkt / 10000) -> W4_1

      DTB   

      T     #W4_1

      JU    ENDE                        //-------------------

M2AW: AN    #MFktAend.M2                //----> M Fkt. 2 <----

      JC    M3AW

      L     DBD [AR1,P#6.0]

      T     #MFktn

      A     #FktWertAus                 //Dekade 4-1 als Funktionswert ?

      JC    M2W9

      L     #MFktn                      //---------------- 

      L     #M8_1                       // MFkt = M8_1 ?

      ==D   

      =     #Vorh

      R     #MFktAend.M2

      JC    ENDE

      JU    M3AW

M2W9: L     #M8_1                       //----------------

      L     10000                       //Ermitteln , ob die

      MOD                               //Dekaden 8-5 der programmierten

      T     #ModM8_1                    //M-Funktion mit der

      L     #M8_1                       //abgefragten M-Funktion M8_1

      L     #ModM8_1                    //黚ereinstimmen

      -D    

      T     #M8_1MinMod

      L     #MFktn                      //M8_1 /10000 == MFkt / 10000 ?

      L     10000

      MOD                               //nein => n鋍hste M-Funktion 

      T     #ModMFkt                    //ja   => Ausgabe W4_1

      L     #MFktn

      L     #ModMFkt

      -D    

      T     #MFktMinMod

      L     #M8_1MinMod

      <>D   

      JC    M3AW                        //-------------------

      =     #Vorh                       //Ausgabe W4_1:

      R     #MFktAend.M2

      L     #ModMFkt                    //Modulo(MFkt / 10000) -> W4_1

      DTB   

      T     #W4_1

      JU    ENDE                        //-------------------

M3AW: AN    #MFktAend.M3                //----> M Fkt. 3 <----

      JC    M4AW

      A     #FktWertAus                 //Dekade 4-1 als Funktionswert ?

      L     DBD [AR1,P#12.0]

      T     #MFktn

      JC    M3W9

      L     #MFktn                      //---------------- 

      L     #M8_1                       // MFkt = M8_1 ?

      ==D   

      =     #Vorh

      R     #MFktAend.M3

      JC    ENDE

      JU    M4AW

M3W9: L     #M8_1                       //----------------

      L     10000                       //Ermitteln , ob die

      MOD                               //Dekaden 8-5 der programmierten

      T     #ModM8_1                    //M-Funktion mit der

      L     #M8_1                       //abgefragten M-Funktion M8_1

      L     #ModM8_1                    //黚ereinstimmen

      -D    

      T     #M8_1MinMod

      L     #MFktn                      //M8_1 /10000 == MFkt / 10000 ?

      L     10000

      MOD                               //nein => n鋍hste M-Funktion 

      T     #ModMFkt                    //ja   => Ausgabe W4_1

      L     #MFktn

      L     #ModMFkt

      -D    

      T     #MFktMinMod

      L     #M8_1MinMod

      <>D   

      JC    M4AW                        //-------------------

      =     #Vorh                       //Ausgabe W4_1:

      R     #MFktAend.M3

      L     #ModMFkt                    //Modulo(MFkt / 10000) -> W4_1

      DTB   

      T     #W4_1

      JU    ENDE                        //-------------------

M4AW: AN    #MFktAend.M4                //----> M Fkt. 4 <----

      JC    M5AW

      A     #FktWertAus                 //Dekade 4-1 als Funktionswert ?

      L     DBD [AR1,P#18.0]

      T     #MFktn

      JC    M4W9

      L     #MFktn                      //---------------- 

      L     #M8_1                       // MFkt = M8_1 ?

      ==D   

      =     #Vorh

      R     #MFktAend.M4

      JC    ENDE

      JU    M5AW

M4W9: L     #M8_1                       //----------------

      L     10000                       //Ermitteln , ob die

      MOD                               //Dekaden 8-5 der programmierten

      T     #ModM8_1                    //M-Funktion mit der

      L     #M8_1                       //abgefragten M-Funktion M8_1

      L     #ModM8_1                    //黚ereinstimmen

      -D    

      T     #M8_1MinMod

      L     #MFktn                      //M8_1 /10000 == MFkt / 10000 ?

      L     10000

      MOD                               //nein => n鋍hste M-Funktion 

........

.........

版主推荐答案

掌握寻址方式,指针的指向,画流程图

间接寻址.JPG

查看完整帖子:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1617657&bid=20

提问者对于答案的评价:

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

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

相关推荐

  • 系统的区别

    802C与802CE是同一款系统吗?如果不是有什么区别?数据与PLC都通用吗? 问题补充:据我所知我们厂里用的802C系统和显示是集成在一起的,我没有看到外部有ECU单元,请专家赐…

    SINUMERIK 2017年11月12日
  • 840Dsl的铣床,X轴不静止?

    大家好,我们有套840Dsl的铣床,双通道,同步运行。昨天出现问题:按下“reset”后,不能在Auto,Jog,MDA之间切换。 检查程序后发现,按下“reset”后,…

    SINUMERIK 2017年6月18日
  • 840D自动加工突然转到单程序段方式

    一台840D的加工中心,自动加工时候偶尔自己就转到单程序段方式并加工暂停,没有报警提示,再启动自动加工还可以正常运行。这个问题出现没有规律,请高手指点! 问题补充:电源问题指的是机…

    SINUMERIK 2017年11月27日
  • 802dsl铣削,程序执行到N50时候,报警61000

    您好,程序里已设置刀具补偿语句,程序执行时候还出现61000无有效刀补,请问怎么解决此问题:程序如下:N5   G54 G17 G…

    SINUMERIK 2017年5月29日
  • 落地数控镗铣床W轴和Z轴如何转换

    公司新买了一台落地数控镗铣床。Z轴附加在W轴上。为编程方便,如何实现W轴转换成Z轴?即在编程中照常XYZ,实际动的是W轴?本人刚接触这种机床机床,求指教。 问题补充:siemens…

    SINUMERIK 2020年10月31日
  • 840D数控系统怎样用PLC程序改变齿轮比

    840D数控系统怎样用PLC程序改变齿轮比,即通过MCP上的按键实现齿轮比的改变,以配合实现某轴的手动换档。 问题补充:可惜我的设备该轴为进给轴,大杰的方法只适用于主轴,手册上说M…

    SINUMERIK 2018年12月3日
  • sinumerik802Dsl

    西门子sinumerik802Dsl数控系统(铣削),其自身的攻丝循环cycle84及cycle840为什么总是出现025050号报警,此外还出现sp轴轮廓报警,这到底是怎么回事。…

    SINUMERIK 2017年12月2日
  • 840D V6.4 TOOLBOX

    跪求 840D V6.4 TOOLBOX 工具盒,哪位高手有请给小弟发一份!rongyafei123@126.com 最佳答案 给个链接,自…

    SINUMERIK 2017年12月7日
  • 机床三色灯

    808D系统想接三色灯,三个信号应该取那几个地址? 问题补充:我想知道程序运行是哪个地址 最佳答案 这个一般是根据制造商自定义报警指示器含义的,没有明确指定必须的采用哪些地址。如果…

    SINUMERIK 2017年6月5日
  • P2542参数和 36030参数有啥区别?P2543参数和 36040参数有啥区别??

    P2542参数和 36030参数有啥区别?P2543参数和 36040参数有啥区别??说明书上一个叫西门子参数一个叫轴参数 问题补充:参数截图 图片说明: &n…

    2020年10月31日