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

相关推荐

  • DB数据块的建立

    数控机床厂家的程序,程序中建立了UDT100数据类型,其中DB2块采用了该UDT100数据类型!问题出现在这里:原程序打开DB2块为数组形式的数据块,删除后自己建立的DB2块则为列…

    2020年11月1日
  • 840D 五轴求助

    本单位现有一台大型动梁龙门式5轴加工中心 A C双摆头 因加工大型工件需要拉直工件上的象限线 非常费时费力 考虑用ROT调整坐标系…

    SINUMERIK 2020年10月31日
  • 840d进入不了系统

    840D系统启动后就提示照片所示的提示,进不了系统。怀疑是硬盘出问题,但将硬盘取下安装到另一台机床的PCU50上,可以进入系统,请问是不是pcu50出故障了,是主板坏了吗? 问题补…

    2020年10月31日
  • 用西门子软起动器实现多台电机的频繁起动

    能否用一台西门子软起动器实现多台(4台)不同功率电机的频繁启动?最多的电机功率才3KW(这台有时需要反转,是不是可以外接接触器来实现?),其他几台都是不到1KW的。谢谢各位高手指点…

    SINUMERIK 2019年6月11日
  • 828D ToolBox软件安装不上

    828D软件安装不了,提示如图片 问题补充:软件支持win7系统吗? 图片说明:    最佳答案 报警提示你的电脑与软件版本不兼容,更换版本试试。828系统安装…

    2017年6月12日
  • 840D SL 轴状态如何修改

    系统变量$AA_STAT 看到轴状态是2,正常需要的是4,请问如何处理? 图片说明:    最佳答案 这个是读NC的信号,是不能修改的。 提问者对于答…

    2020年10月31日
  • 808D车削系统找不到TSM菜单

    一台二手机床开机调试 找不到TSM菜单 为什么呢? 图片说明:       最佳答案 西门子 808D车削系统…

    2017年6月4日
  • 802D PLC 导出程序(pte)和828导出格式(ard)不一样

    西门子802DSL PLC程序导出格式是PTE,而828导出是ARD格式的,两个不一样,我用828的软件可以导入PTE格式的PLC,但是导出只能是ARD的,不知道802D…

    SINUMERIK 2017年6月5日
  • 求助840Dsl MSG用法和注意事项

    NC加工程序中有很多跳转程序,条件不满足时跳到子程序,机床运动到home位置/运动到安全位置暂停。背景描述:1. 数控系统为3通道。   &…

    SINUMERIK 2020年10月31日
  • 840dsl 怎么在pcu50上显示PLC

    如题,840DSL怎么才可以在HMI上显示PLC!求各位大神指点!谢谢! 最佳答案 楼主的这个问题在西门子840dsl 的应用上比较普遍,也很实用,我曾经在利用西门子84…

    SINUMERIK 2017年6月11日