语句表

各位师兄,小弟张有一段语句 看不太它要表达的意义   
说明下 这个编辑MOBY-F的以段小程序
程序是在FB72  
Parameter时FB72静态变量里调用的UDT  其主要参数时 CMD S/TAUS
这样的语句程序里有三段,表达的方式都是一样的 我只截取了一个。我主要不明白它要表达的意思   ##Parameter 时一个UDT 它SRW3  意义何在 我在图了一个图示##Parameter  的参数  师兄帮我看看什么意思  谢谢了               

      LAR1  P##Parameter                // Adresse der UDT-Variablen
      TAR1                              // "Parameter" ermitteln
      SRW   3
      T     #Params_ADDR

图片说明:

语句表   

最佳答案

1、没看到你完整的程序,只从下述这几条指令来看,是指针寻址。就指针寻址的功能来解释下述程序:
   LAR1  P##Parameter    // 取#Parameter(地址)送至累加器1中
      TAR1   // 设置地址指针AR1为#Parameter
      SRW   3//将累加器 1 低字中的内容逐位右移3位
      T     #Params_ADDR//将右移3位的结果送至 #Params_ADDR中。
2、为什么 SRW   3(右移3位)?
a、当使用在区域内寄存器间接寻址中时,我们知道这时的AR中的内容只是指明数值单元,因此,区域内寄存器间接寻址时,寄存器中的内容等同于上帖中提及的存储器间接寻址中的双字指针,也就是:
  其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。
  AR:
  0000 0000 0000 0BBB BBBB BBBB BBBB B*
  这样规定,就意味着AR的取值只能是:0.0 ——65535.7
例如:当AR=D4(hex)=0000 0000 0000 0000 0000 0000 1101 0100(b),实际上就是等于26.4。
b、如果AR=D4(hex)=0000 0000 0000 0000 0000 0000 1101 0100(b) SRW   3(右移3位)后,累加器 1 低字中的内容为0000 0000 0001 1010实际上就是等于26,这样就求出了byte字节数。
3、有关指针寻址的文档:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04)     》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
详见《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html

提问者对于答案的评价:
谢谢了

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc295264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐