SFRD指令使用 点击:1695 | 回复:8



云锋

    
  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2007-06-25 17:25:00
楼主
一程序使用了SFRD指令,以前未接触过该指令,手册上面说的也比较笼统,“左侧的数据逐字向右侧移动”,不知如何理解才算正确?请各位高手帮个忙,指点一下。



云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2007-06-25 22:55:00
1楼
D302的内容传送到D40,然后D301~D499的内容如何变化及传送?
期待高手的解答...

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-26 08:10:00
2楼
我理解了一些,不知对不对,我从实例中看到是,D2至D20,D3移往D2的位置,D4移往D3的位置。。。。。。。D1我不知道指的是什么,所以不知道,讲的不对的地方,请指正!

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-26 08:10:00
3楼
我理解了一些,不知对不对,我从实例中看到是,D2至D20,D3移往D2的位置,D4移往D3的位置。。。。。。。D1我不知道指的是什么,所以不知道,讲的不对的地方,请指正!

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-26 08:10:00
4楼
我理解了一些,不知对不对,我从实例中看到是,D2至D20,D3移往D2的位置,D4移往D3的位置。。。。。。。D1我不知道指的是什么,所以不知道,讲的不对的地方,请指正!

金粟兰看法

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 479回
  • 年度积分:0
  • 历史总积分:975
  • 注册:2006年8月23日
发表于:2007-06-26 11:17:00
5楼
好象是三菱的PLC。没用过。
该指令估计和西门子的右移指令差不多。
我猜D1是不是指每次移位的位数。
打个比方。X001由OFF——ON变化时,如果D1为3就表示右移3位。即D2、D3、D4的数据被移出。D5、D6、D7、D8、D9、D10依次右移
引   云fly
D302的内容传送到D40,然后D301~D499的内容如何变化及传送?
如果D301值为3则表示每次移3个数据。D302——D304的值被移出。
D302--D304将分别被D305——D307的内容取代。数据依次右移,最后3位移入0。
以上纯属个人猜测,不对之处,请指正。

  • 精华:0帖
  • 求助:0帖
  • 帖子:104帖 | 641回
  • 年度积分:0
  • 历史总积分:1360
  • 注册:2005年7月21日
发表于:2007-06-26 17:01:00
6楼
d302 --d499分别有梯形图的时序控制传送给D40,这是一个先入先出的指令,D301的内容有199减小到0,第一次把D302的内容传给D40,D301减1,第二次把D303的内容给D40,D301在减1...

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2007-06-27 11:51:00
7楼
多谢jiyao.
依照手册上所说,本读出不能改变D499(最后一个寄存器)的内容,言下之意D303-D498的内容在传送过程中会改变?
依jiyao所言,D302-D499直接分别传送给了D40,那“左侧的数据逐字向右侧移动”如何解释?这个数据移动是相对于单个寄存器内容还是所有寄存器之间? 唉,人笨了,理解不过来。
还望各位高手继续指点... ...

九哥哥

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:67
  • 注册:2003年6月06日
发表于:2007-06-28 10:10:00
8楼
想知道如何传输的,要看你的指令用法了,你发的程序不全
从程序看,是D302-D499在移位和K0做比较,与D40没有什么关系,比较的结果呢,就是D301>0就把D250加一.
需要知道的是D302-D499的数值来源是什么,你的问题也就解决了.
移位指令本身不复杂,就看用在哪里,用多少次

热门招聘
相关主题

官方公众号

智造工程师