设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400] 请问这个temp1是多少?关不关db10的事 ...

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 4161|回复: 2

[求助-西门子PLC300/400] 请问这个temp1是多少?关不关db10的事 ...

[复制链接]

升级  24%

该用户从未签到

发表于 2014-7-29 17:09:34 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
已解决问题: 请问这个temp1是多少?关不关db10的事?指针的双字与字有什么区别?最后三位作为位吗?
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
4163°C
2
  • amy328
  • zbcOCiID
过: 他们

升级  32.5%

该用户从未签到

发表于 2014-7-29 17:40:33 | 显示全部楼层
1、 L     2
      SLW   3
       LAR1  
常数2:0000 0000 0000 0000 0000 0000 0000 0010;
SLW   3(左移3位)后为0000 0000 0000 0000 0000 0000 0001 0000;
  LAR1 ,指针 AR1 为:当作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的位地址,因此:
  0000 0000 0000 0000 0000 0000 0001 0000 = 2.0  
2、A     M [AR1,P#0.0]  
   =     TEMP1//将M2.0中的状态存入TEMP1中。
3、这个temp1是多少?
取决于M2.0中的状态。
4、指针的双字与字有什么区别?
如上所述,双字指针可以识别字节与位地址。单字指针只应用在地址标识符是非位的情况下。它确定的数值是0-65535,而对于byte.bit这种具体位结构来说,只能用双字指针。这是它们的第一个区别,单字指针的另外一个限制就是,它只能对T、C、DB、FC和FB进行寻址,通俗地说,单字指针只可以用来指代这些存储区域的编号。  
  相对于单字指针,双字指针就没有这样的限制,它不仅可以对位地址进行寻址,还可以对BYTE、WORD、DWORD寻址,并且没有区域的限制。不过,有得必有失,在对非位的区域进行寻址时,必须确保其0-2bit为全0!
5、最后三位作为位吗?
当作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的位地址。
                                                                                                                                                                                                                                                              
                                                        

升级  19.5%

该用户从未签到

发表于 2014-7-29 17:53:41 | 显示全部楼层
L     2      //装载2
SLW   3   //左移三个位,
  LAR1      //装载到地址寄存器1里
   A     M [AR1,P#0.0]  所以这个时候应该是M2.0
   =     TEMP1
这段程序基本不管DB10的事,指针的双字和字当然是由区别的,最后的三位是作为位的,在用指针的时候SLW 指令是挺重要的,有的时候常被遗忘。《S7-300和S7-400寻址》: http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            TEMP1是位变量,只有状态1或0。
指针的双字可以表示地址,指针的字可以表示对块号(FB、FC、DB)、C、T的地址。
参见:S7-300和S7-400寻址
http://www.ad.siemens.com.cn/download/OnlineReading.aspx?DocId=1597
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            L     2//装载2到累加器
      SLW   3//左移3位
      LAR1  //装载地址,地址寄存器的最后三位表示的是位地址。
      A     M [AR1,P#0.0]//判断实际就是判断m2.0的状态
      =     TEMP1//所以temp1的状态和m2.0的一致。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            有个地方我补充一下个人观点:程序中既然已经出现了AR1,说明使用的是寄存器间接寻址,也就是32位指针了,是不是应该使用SLD 3呢,使用单字左移3位,如果装载的数不是太大,使用单字和双字左移3位没有什么区别,那如果你要寻址的指针字节编号为16#FFFF,再使用单字左移3位,是不是前面就会有3个1要舍去了,这样指针字节编号的结果成了16#1FFF;显然不是我们要的结果;而如果使用双字呢,前面3位可以移到第16-18位,由32位指针的组成中可以知道,第16-18位仍代表字节编号,这样指针的字节编号仍然为16#FFFF,也就是我们正要寻址的指针了。虽然实际中我们很少寻址到这么大的字节编号,但我们也是不是应该注意一下呢。
Temp1是一个BOOL型的,状态取决于M2.0的状态,
                                                      
图片说明:1,如下梯形图
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-9 15:50 , Processed in 0.147558 second(s), 20 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表