STL代码求教 点击:502 | 回复:7



shibaoyou

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2006-07-05 22:54:00
楼主
L     #piw_addr
      SLD   3
      T     LD     4
      L     #mw_addr
      SLD   3
      T     LD     8
      L     #ch_len
next:  T     LW     2
      L     LD     4
      LAR1  
      L     PIW [AR1,P#0.0]
      T     LW     0
      L     LD     8
      LAR1  
      L     LW     0
      T     MW [AR1,P#0.0]
      NOP   0
      L     LD     4
      +     L#16
      T     LD     4
      L     LD     8
      +     L#16
      T     LD     8
      L     LW     2
      LOOP  next
      NOP   0
由于刚接触STL,以上的程序我看不懂,不知道 SLD   3移位是为了什么?这里一共循环几次?(在)B100中: 对piw_addr 赋值为288,mw_addr 赋值为288,ch_len为 48,在硬件组态中AI的模块起是地址为288结束地址是383)
请各位指教!



shibaoyou

  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2006-07-05 22:55:00
1楼
由于刚接触STL,以上的程序我看不懂,不知道 SLD   3移位是为了什么?这里一共循环几次?(在[b]OB100[/b]中: 对piw_addr 赋值为288,mw_addr 赋值为288,ch_len为 48,在硬件组态中AI的模块起是地址为288结束地址是383)
请各位指教!

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2006-07-06 10:07:00
2楼
左移3位是为了构成指针的基本形式  Byte.Bit  的格式
关于指针请参照西门子官方论坛中关于间接寻址的部分。
很显然,循环次数由循环变量ch_len的值来决定的。

shibaoyou

  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2006-07-06 20:57:00
3楼
哈哈,yuanle您好.好久不见了.十分感谢您的解答.

我已经全部考试完了,暑假准备打工作兼职,可是去了唐山人才市场,根本就没有人用(不要兼职,说是害怕泄露公司机密),真是搞不懂.有太多的毕业生找工作,招人的单位根本就不把你放在眼里.找工作真是很难!难于上青天!!

happyoicq

  • 精华:0帖
  • 求助:0帖
  • 帖子:49帖 | 1382回
  • 年度积分:0
  • 历史总积分:3120
  • 注册:2005年10月16日
发表于:2006-07-06 22:11:00
4楼

shibaoyou

  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2006-07-06 22:13:00
5楼
我见的例子中,模拟量的起始地址是288,在左移三位不就连模拟量的输入PIW地址给变了吗?
L     #piw_addr
      SLD   3

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2006-07-07 19:26:00
6楼
其实地址就是改变了,相当于288*8
但是从指针的格式 Byte.Bit  来看,其实288只是编程了288.0而已了。

shibaoyou

  • 精华:1帖
  • 求助:0帖
  • 帖子:97帖 | 346回
  • 年度积分:0
  • 历史总积分:633
  • 注册:2005年11月27日
发表于:2006-07-07 23:01:00
7楼
谢谢解答
是呀左移三位相当于288*8
可是为什么移动3位?
还有,移动了位和指针的格式有什么关系?
移动后是不是指针成了P#288.0了?

热门招聘
相关主题

官方公众号

智造工程师