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/plc306914.html

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

相关推荐

  • 840D双通道MDI下程序运行问题?

    840D系统,双通道轴如下X、Z、U、X2、Z2、U2,JOG方式时各轴运行正常。在两个通道的MDI方式下都编了简单的程序, 通道1执行程序正常。通过控制面板通道转换键变…

    SINUMERIK 2017年6月10日
  • 车床加使能X轴往下掉

    车床,840D系统,X轴(斜向上的轴),开床子加使能之后X轴就往下掉一点,完了就报警停了,轴卡和驱动模块都换了.怎么回事. 最佳答案 840D垂直方向进给轴加上使能后,抱闸就会打开…

    SINUMERIK 2017年8月26日
  • 西门子850系统 NC电源模块救急

    西门子850系统,NC电源模块坏了(6EW1861-3AA),无5V-15V输出,求各位大侠告诉我哪里有售.急!!! 邮箱地址haianshuoyu@163.com,先谢…

    SINUMERIK 2017年7月30日
  • 机床爬行

    系统为802D/C  机床润滑良好 F=4MM/分 (F值小的时候)丝杆转动的时候,不连贯,一抖一抖的, F值大的时候,机床运动还…

    SINUMERIK 2018年12月6日
  • 802c如何屏蔽一根伺服轴

    我想屏蔽一根伺服轴,请问各位大师要改那些参数啊! 最佳答案 设置为模拟轴就可以了,30130 30240都改为0就可以了 提问者对于答案的评价:谢了啊

    SINUMERIK 2018年12月5日
  • 3150吨水压机加压时伦茨伺服控制器操作面板显示Imax Nmax,如何避免?

    大家好!3150吨水压机加压时伦茨伺服控制器操作面板显示Imax Nmax,每次加压31.5MN显示,加压16MN和压机空程时不显示。会缩短电机寿命吗?如何产生的?如何避…

    SINUMERIK 2020年10月31日
  • 上传备份遇到问题

    step 7想上传保存程序时遇到如下问题。请教各位。 问题补充:昨天图片没传成功。补上 图片说明:       最佳答案 如果是跟…

    2017年6月24日
  • 828D7个轴怎么分配

    西门子828D数控怎么分配PLC轴一共有7个伺服轴 钻石用户推荐最佳答案 六个伺服轴一个PLC轴吗?在828 Quick staert 简明调试的8.…

    SINUMERIK 2020年10月31日
  • 求Creat MyConfig Diff 这款软件

    大佬们有这个软件的安装包么,分享一下!嘿嘿 问题补充:1018864526@qq.com 图片说明:    最佳答案 留个地址,分享给你。下载地址已发送,软件包…

    2021年7月5日
  • 840dsl 断电回退功能无法实现

    840dsl ESR功能无法实现,许可证都激活了,拍急停之后IPO延时什么什么的,就是不退,如果我循环那句话就可以执行回退,ASUP文件已经建立 最佳答案 这个功能用的比…

    SINUMERIK 2017年11月6日