为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   申请VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
刀具

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 螺纹加工机床 齿轮加工机床
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 特种加工 机器人

刀具

电工电力 工程机械 航空航天 汽车 模具
仪器仪表 通用机械 轨道交通 船舶

搜索
热门关键字:

数控机床

 | 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 机器人
您现在的位置:刀具网> 技术前沿>NUM数控PLC程序变量写输出查找方法剖析
NUM数控PLC程序变量写输出查找方法剖析
2016-1-7  来源:神龙汽车有限公司襄阳工厂   作者:周 毅

       【摘要】 从NUM数控系统PLC梯形图程序变址操作和C语言函数操作两种特殊的变量操作方式,通过三个变量的分析查找,详细介绍NUM数控系统PLC程序变量写输出的查找方法。


      【关键词】 交互参照表、变量、基地址、变址、函数


      在NUM数控机床故障维修中,有许多变量往往没有直接的输出线圈,维修人员经常碰到这种情况无从深入查找,给维修人员故障查找带来很大的困难,为了广大维修人员快速排出故障,掌握NUM特殊变量写输出的查找方法,下面以XF0235数控磨床和ETFA机械手PLC程序为例,详细介绍查找方法。


      1、变址操作


  
      NUM数控系统通过变址增量很容易地扫描大量连续变量的值。除了变量.&(地址)之外所有的变量都可以变址,变址必须是一个 %Mxxx.W 变量,同时变址增量只能是字节。


     变量变址操作原理如下,如果%M100.W = 8,则%M5.B [%M100.W] 寻址变量为%MD.B,其中%M5.B是基地址,%M100.W是变址(偏移),5 + %M100.W = 5 + 8 = 13,十六进制为D,即对应变量地址为%MD.B。
 
 
      1.1 以故障位%M8d.0为例进行分析查找
 
      首先查找交互参照表,要查找变量的局部交互参照表如下:

      

 

      从上表可知,该变量在交叉表中没有线圈,所以应考虑变址赋值。根据规律往回查找变量交互参照表,查找同类型功能(故障位)的第一个变量的写地址,即基地址。

 

     

 

      从上交叉表可以看出,第一个故障位对应%M0.0,在%SP29第0步中有写输出,查看%SP29第0步,程序如下:

   

      

 

      从程序中可知要查找的变量%M8d.0应包含在%M0.0[%M11d0.W]变址中,
      %M0.0[%M11d0.W]  %M8d.0
      根据变址规则:0 + %M11d0.W = 8d  即:%M11d0.W = 8d
      由上述程序可知%M11d0.W = %Y2.W,则即:%Y2.W = 8d
      由于NUM数控PLC程序的地址是按16进制编址的,所以在程序中查找0x8d,在%SP141中找到3处,如下:
 
      %SP141

  
     

 

      通过分析上面程序三处0x8d的程序,后面的网络中刚好有要查找的%M8d.0触点,可判断是该程序块执行了spy(0x1d,0x8d,0x44,0x15,0x1)函数,而执行spy函数时刚好其四个      参数进入局部变量%Y,即%Y0.L=0x8d, 屏幕上显示的第一行故障报警号
      %Y4.L=0x44, 屏幕上显示的第二行故障报警号
      %Y8.L=0x15, 故障类型
      %YC.L=0x1,动作类型
      从%Y0.L=0x8d得出%Y2.W=0x8d,也就说明执行spy(0x1d,0x8d,0x44,0x15,0x1)函数时把%M8d.0置位,而spy(0x1d,0x8d,0x44,0x15,0x1)函数即为故障信息显示程序,0x8d=141为故障号。继续向前翻页查找%Wf.0和%Wf.1,故障的原因为%I606.2和%I606.3,见如下程序块。


     

 

      从上面可推知,M变量的地址转换为10进制刚好等于故障号,也就是说故障报警时对应报警号的v变量置位。

      1.2 以M功能变量%v1e6.0为例进行分析查找
 
      要查找变量的交互参照表如下:


      

 

      从上表可知,该变量在交叉表中没有线圈,应考虑变址赋值。看符号象是M功能码,根据规律往回查找变量交互参照表,查找同类型功能的第一个变量的写地址,即基地址。

 

      

 

      从交叉表可以看出,第一个M功能码对应% V100.0,在%SP0第0步中有写输出,查看%SP0第0步,程序如下:

 

      

 

      从中可知要查找的变量%v1e6.0应包含在上述%v100.0[var]变址中,

      %v100.0[var]  %v1e6.0
      根据变址规则:100 + var = 1e6  即:var = 1e6-100=e6,因0xe6=230,也即var=230,从程序已知这个值来自于M功能码,并且M230是一个不带应答的M功能码,由上可知var=%Mff0.W 或 %Mff2.W ,已知%v1e6.0为侧头前进命令,与轴组1有关,同时在零件加工程序中查找M230,M230在%508中,而%508又由%1.1调用,显然该M功能码来自轴组1,所以只能是%R104.W = 230,从而可知当1号轴组执行不带应答的M230功能码时置位%v1e6.0。

      总结:变量%v100.0~%v1ff.0对应M0~M255功能码的执行,当这些M功能码执行时置位相对应的v变量,要查找的变量的地址减去100的十进制数为M功能码号。


      2、函数操作


  
      函数操作一般是对字节、字和长字进行操作,对位是一种间接的赋值方式,所以函数操作对位来说只能通过间接查找方法,下面以ETFA机械手PLC程序M.F13变量为例进行分析查找。
 
      通过交互参照表查找M.F13没有直接写输出的地址,分析为间接写输出,找相近的M.F10,在%SP22的第6步有写输出,局部交互参照表如下。


      

 

      打开%SP22梯形图第6步,M.F13包含在M.F10中,通过oct(字节转化为位)函数把B.400-B.407八个位传给B.408-B.40F,再通过bit(位转化为字节)函数把B.408-B.40F八个位传给M.F10-M.F17,由此可知M.F13的值来自于B.403。查B.403有多个输出,它是一个中间变量,要找离M.F10之前临近的B.403,见下面%SP22第4-5步程序。


      

 

      %SP22第6步程序:

 

       

 

      在线查看B.403的状态,发现机械手与机床联机时B.49a被置1,导致B.403闪断,从而导致M.F13为0。
      查找B.49a输出,见下面%SP1第4步程序。

      %SP1第4步程序:

  
     

 

      分析B.49a置位的原因,发现E.35一直为0,查看E.35原理图为Z轴原位开关(AXE Z DEGAGE),调整该开关,使E.35=1,故障解决。

      间接位操作函数
 
      间接位操作函数是以字节、字、长字进行操作,它间接地改变了位的值,除了bit、oct外还有以下函数。
      setb(&dest, b, n)函数从目标地址(dest)开始,连续给n个字节赋值,值为b。
      setw(&dest, b, n) 函数从目标地址(dest)开始,连续给n个字赋值,值为b。
      setl(&dest, b, n) 函数从目标地址(dest)开始,连续给n个长字赋值,值为b。
      spy(moduleno {, argn}6 ...) 函数第一个变量为调用子程序的号,后为6个可选参数,函数执行时可选参数的值进入局部变量%Y,%Y为 32位的长字,局部变量的分配如下:
      %Y0.L包含第一个参数的值
      %Y4.L包含第二个参数的值
      %Y8.L包含第三个参数的值
      %Yc.L包含第四个参数的值
      %Y10.L包含第五个参数的值
      %Y14.L包含第六个参数的值

 

      3、结束语


  
      通过上述三个变量的详细分析和查找,对于NUM数控PLC梯形图变量的查找和故障维修,必将为广大NUM数控维修人员起到极其重要的指导作用。

    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com