我想用间接数来控制台达PLC的移位指令,该如何编写程序? 点击:973 | 回复:3



mytex

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:17帖 | 6回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2001年3月13日
发表于:2009-04-12 10:57:17
楼主
各位大侠:
你们好!
台达PLC的移位指令,无论是ROR,还是ROL,移动的位数都是直接填写常数值,如K4,K8来完成的。
现在我需要移动的位数经常变化,譬如通过触摸屏随时输入某一个数字,控制移位的位数。
台达的计数器指令就可以输入间接数,如:CNT C20 D80,D80中的数字可以通过触摸屏任意修改。而移位指令就无法输入间接数。
请教各位该如何编写程序啊?
谢谢!



yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2009-04-12 11:23:13
1楼

你说的确有其事,执行ROR、ROL指令时,移动的位数都是直接填写常数值,常数范围为:  n≤16

现本人到有一想法,你可试一下:

“RORP   D0   K1”

因为以上指令是脉冲执行型(P),如果希望n=8,就连续执行8次,如果希望n=2,就连续执行2次。

如果你的n就是4或者8,为了尽可能的提高运行速度,上式可改为:“RORP  D0  K4” ,执行一次就是4位,连续2次就是8位。

robotH

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 688回
  • 年度积分:0
  • 历史总积分:2433
  • 注册:2004年10月14日
发表于:2009-04-12 15:25:28
2楼
用乘法也可以实现移位,移1位乘2,移2位乘4。可以方便实现用寄存器控制移位位数。

小兵嘎

  • 精华:1帖
  • 求助:1帖
  • 帖子:104帖 | 2664回
  • 年度积分:0
  • 历史总积分:5866
  • 注册:2003年4月20日
发表于:2009-04-17 22:48:31
3楼

指针?                             


热门招聘
相关主题

官方公众号

智造工程师