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系统K1使能一按就报警25040 希望高手帮助分析

    西门子802C系统K1使能一按就报警25040 希望高手帮助分析 最佳答案 西门子802C系统K1使能一按就报警25040 ,从原理上分析,轴接口信号DB31.…

    SINUMERIK 2017年11月12日
  • 主轴换刀

    主轴不在换刀位置 问题补充:主轴在换刀位置,松开刀具并装在刀架后,报主轴不在换刀位置,XYZ坐标没有变化,换刀角度有变化,但是在换刀点信号没有丢,设备回原位后可继续加工,下次换刀时…

    SINUMERIK 2021年7月5日
  • 840D螺距补偿步骤

    西门子840D做螺距补偿时,通常是用电脑与数控机床连接,来传输补偿数据。 但是因为没有数据线,我想通过手动补偿方式进行,但是不知道怎么在数控机床界面找到原来的补偿文件表格…

    SINUMERIK 2017年7月26日
  • 802D SL半该全

    我公司有两台武重产的立车,系统是802D SL的,是半闭环的,现在要改全闭环,我不是很懂。希望哪位师傅帮忙给参考一下?需要买些什么东西,光栅尺选用海德汉 382…

    SINUMERIK 2017年6月8日
  • 关于840D二次开发

    厂里有几台五轴的,系统是840D,现在老大想搞个测试软件,要求集成到数控系统,并能读写系统误差补偿数据,请问该选择哪个模块进行开发呢 钻石用户推荐最佳答案 840D PC…

    SINUMERIK 2020年10月31日
  • 数控系统802C口令忘记如何解决?

    我们生产的一台802C数控系统机床,由于用户修改了口令,修改者辞职了,現在输入新口令。请教大师如何解决。 最佳答案 一般有3级口令,专家级:SUNRISE,制造商级:EVENING…

    SINUMERIK 2020年10月31日
  • CNC里面的工作台上的夹具是什么原理驱使它工作的?

    我看夹具上只是用螺栓给连接在工作台上的,为什么电源启动后,它可以工作(自动夹工件,结束后又自动打开呢? 问题补充:夹具与工作太的连接只3个液压接头,只靠它怎么能控制呢?就算是程序控…

    SINUMERIK 2017年12月9日
  • 机床参数20110位0的含义

    20110 _位0:=0/=1有什么区别,用于测试是什么意思?? 问题补充:我的机床是840dsl系统,我问的是通道专用机床数据里面的一个参数。 图片说明:  …

    2020年10月31日
  • 急!!!!西门子840报警号201600:轴SP SERVO-3.14:2(2):SI CU:触发停止 A.0

    主轴驱动模块RDY亮红灯,开机时加工仓门开着,系统安全监测一切OK,但只要把门关上主轴模块就亮红灯报警201600.我更换驱动模块和主轴又检查了电缆线没有断线,对地也正常。观察各模…

    SINUMERIK 2017年8月26日
  • 840Dsl没找到系统数据入口

    menu select后没有系统数据这个软件 问题补充:sinutrain上没看到系统数据这个菜单 图片说明:       钻石用…

    2021年7月5日