兵部尚书
级别: 探索解密
精华主题: 0
发帖数量: 9 个
工控威望: 104 点
下载积分: 645 分
在线时间: 8(小时)
注册时间: 2017-02-18
最后登录: 2017-06-12
查看兵部尚书的 主题 / 回贴
楼主  发表于: 2017-04-13 14:22
         最近在学习三菱伺服定位系统,发现要学的东西好多。今天上午被QD75定位模块M代码的使用给搞得晕头转向的。后来静下心来,对照参数表捋了一下。有了自己的理解方式,下面分享给大家,也加深下自己的理解。欢迎大家积极讨论,并指正错误与不完善的地方。
         对于各个轴,可以最多有600个定位数据,编写在参数Da.1----Da.10中,每个参数对应一个固定的缓冲寄存器。以轴一为例,一号定位数据所专有的,固定的缓冲寄存器地址为:2000----2009。Da.1(运行形式)Da.2(控制系统)Da.3(加速时间编号)Da.4(减速时间编号)Da.5(要插补的轴)对应2000;Da.10(M代码条件数)据对应2001;Da.9(停顿时间)对应2002;2003未使用;Da.8(命令速度)对应2004和2005;Da.6(定位地址)对应2006和2007;Da.7(弧地址)对应2008和2009。每个参数的内容都可由软件设置,或程序直接写入,不多阐述。可以以此类推,轴一的二号定位数据,编写在2010----2019;轴一的三号定位数据编写在2020----2029。那么往下推下去轴一的第600条定位数据,对应的缓冲寄存器地址就为7990----7999。轴一所有数据都全了,轴二接着轴一的地址,从8000开始一直到13999,轴三接着轴二,14000----19999,轴四接着轴三,20000----25999。
         Da.10对应的就是我们要的M代码条件数据。我们可以算出,一个轴有600条定位数据,那么就对应有600个M代码(M代码的数字可以在0-65535之间随便设置),四个轴就要2400个M代码。你写在哪条定位数据对应的寄存器里,就是哪条定位数据的代码。当定位指令执行时,对应的M代码变ON(通过模式选择可设为with模式或after模式。with模式是指令执行开始时M代码ON,after模式是指令执行结束后M代码ON)。当需要M代码OFF时,把1写入到Cd.7(M代码OFF请求)参数对应的缓冲寄存器中(1504,1604,1704,1804)即可将M代码置OFF。OFF之后,系统会自动将Cd.7写0,以表示M代码OFF请求完成。
         一条定位数据执行开始或执行完成,他对应的M代码就置ON,那么就不能进行下一步操作。必须要将M代码置OFF,才会接着往下执行。可以达到良好的顺序控制的效果。必须要说明的一点是:如果Da.1运行形式设置为独立定位控制和连续定位控制,那么M代码ON的时候,不会执行下一个定位数据,直到OFF为止。如果Da.1运行形式设置为连续路径控制,那么M代码即使是ON的时候,还是会执行下一个定位程序,但是会发出警告(警告代码503)。
         暂时就能想到这么多,希望大家积极讨论,多多指正。
本帖最近评分记录:
  • 下载积分:+1(御坂美琴) 热心助人!
  • 下载积分:+1(l83438797)
  • 下载积分:+1(imarius) 真诚感谢!
  • 下载积分:+1(snails)
    wengine
    级别: 家园常客
    精华主题: 0
    发帖数量: 60 个
    工控威望: 633 点
    下载积分: 955 分
    在线时间: 84(小时)
    注册时间: 2015-03-02
    最后登录: 2024-04-28
    查看wengine的 主题 / 回贴
    1楼  发表于: 2017-04-13 22:58