登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:台达EH3的PLC关于D1336和D1338寄存器的问题。

点击:9081 回复:7

请问台达EH3的PLC怎么给D1336和D1338里面赋值。
我是这有操作的
LD M1
DMOV D200 D1336
LD M2
DMOV D202 D1338
这有当M1,M2通时为什么这两个寄存器里的值不会改变为D200和D202的值?
是不是当脉冲发出时不能改变这两个寄存器的值呀?
在什么时候可以给这两个寄存器赋值?
我已经找到我的程序的问题了,我之前用的是个DDRVI的相对指令,在指令结束时用M1029给寄存器赋值的,接着就执行DPPMA的指令了,导致赋值失败。
我的指令如下
LD M1-----DDRVI D400 D402 Y0 Y1
     /DMOV D1336 D200
     /LD M1029-----DMOV D200 D1336
                /----RST M1029
               /SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
这有导致我赋值失败了,我在改为这有后可以了
LD M1-----DDRVI D400 D402 Y0 Y1
     /DMOV D1336 D200
     /LD M1029---- /----RST M1029
                  /SET M3
LD M3---TMR T0 K1
    /-DMOV D200 D1336
    /--LD T0 --RST M3
              / SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
附上台达EH3的编程手册
最后修改:2015/12/9 22:43:34
15-12-08 21:59
原点复位时,D1336和D1338自动清除为0.后面开始记脉冲数了!
应该开机时,只能付一次值
15-12-09 09:05
D1336属于特殊寄存器,先搞清楚具体是什么再使用;
15-12-09 09:11
查一下手册,D1336与D1338这两个如果是特殊D寄存器,有可能就不能人为改变值。
15-12-09 09:15

引用 340241994 在 2015/12/9 9:05:14 发言【内容省略】

不对吧,这也只是个寄存器,在不读取寄存器时应该是可以赋值的。
我已经找到我的程序的问题了,我之前用的是个DDRVI的相对指令,在指令结束时用M1029给寄存器赋值的,接着就执行DPPMA的指令了,导致赋值失败。
我的指令如下
LD M1-----DDRVI D400 D402 Y0 Y1
      /DMOV D1336 D200
      /LD M1029-----DMOV D200 D1336
                 /----RST M1029
                /SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
这有导致我赋值失败了,我在改为这有后可以了
LD M1-----DDRVI D400 D402 Y0 Y1
      /DMOV D1336 D200
      /LD M1029---- /----RST M1029
                   /SET M3
LD M3---TMR T0 K1
     /-DMOV D200 D1336
     /--LD T0 --RST M3
               / SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
15-12-09 22:27

引用 qjj740210 在 2015/12/9 9:15:16 发言【内容省略】

可以改变的,一般工程师写回原点 程序时如果 不用 专门的回原指令了,就是用这样写
LD M0 ----DDRVI  D200 D202 Y0 Y1
       /---LD M1029----DMOV K0 D1336
这个时候你当前位置就是坐标原点,如果你的屏幕上坐标是用脉冲数算出来的话,这时候坐标也是0,这就是所谓的回原。
当然你也可以用DZRN专门的原点回归指令
15-12-09 22:40
我已经找到我的程序的问题了,我之前用的是个DDRVI的相对指令,在指令结束时用M1029给寄存器赋值的,接着就执行DPPMA的指令了,导致赋值失败。
我的指令如下
LD M1-----DDRVI D400 D402 Y0 Y1
     /DMOV D1336 D200
     /LD M1029-----DMOV D200 D1336
                /----RST M1029
               /SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
这有导致我赋值失败了,我在改为这有后可以了
LD M1-----DDRVI D400 D402 Y0 Y1
     /DMOV D1336 D200
     /LD M1029---- /----RST M1029
                  /SET M3
LD M3---TMR T0 K1
    /-DMOV D200 D1336
    /--LD T0 --RST M3
              / SET M2
LD M2 ----DPPMA D300 D302 D304 Y0
15-12-09 22:41
楼主给出了解决结果,很好!
15-12-13 16:07

工控新闻

更多新闻资讯