技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 关于累加器,地址寄存器,临时变量。

关于累加器,地址寄存器,临时变量。

刘玉蓉 发布于2014-11-10 17:24 147 0 标签:

L     P##Bits_Temp
      LAR1  
      L     LB [AR1,P#0.0]
      T     #Schalt_punkte
求助,这段代码什么意思。越详细越好,尤其是句和第三句,这其中Bits_Temp是16位word,比如说是CF5F,那么 P##Bits_Temp的值是什么?另外,AR1地址寄存器有什么特殊意义,为什么要把值传到AR1,LB又是什么?求解,越详细越好,知道是什么但是实在不明白这么做的意义

佳答案

首先建议你去了解西门子间接寻址和指针(百度下就有)。。假设此段程序是在FC1里面的。。
L     P##Bits_Temp//在这里,#Bits_Temp是个临时变量,在调用FC1时系统会根据变量申明表(里面有关于此变量的起始地址和数据类型)给此变量在L堆栈里分配个地址。此条指令就是把这个变量的地址装入到ACCU1中。
LAR1 
L     LB [AR1,P#0.0]
T     #Schalt_punkte
至于其他的几条指令楼上说的是对的。。下面我说说 为啥要这样编程:从程序中可以看出变量#Schalt_punte为字节型(8位),而变量#Bits_Temp为字型(有2个字节),此程序的目的在于把变量#Bits_Temp的个字节里面的数据赋给变量#Schalt_punte。。因为两个变量的数据类型对不上,所以不可能直接传送,因此只有先找到这个变量的存储位置,才能把它的个字节拿出来赋给变量#Schalt_punte。。
还有建议你去百度下“西门子间接寻址和指针”,把这个弄清楚再结合我说的你就明白了。。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签