设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]间接寻址赋值的问题?

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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 3475|回复: 2

[求助-西门子PLC300/400]间接寻址赋值的问题?

[复制链接]

升级  26%

该用户从未签到

发表于 2014-6-24 19:55:21 | 显示全部楼层 |阅读模式

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

×

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

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
编一个小程序,把变量内容赋值到一个DB块内。开始是整形数据,需要2个字节,赋值到DB1. DBW [#Point],之后为实型数据,需要4个字节。
如何定义这个指针变量[#Point]?刚开始是按照2倍递增,之后按照4倍递增?
最好能有个STL语句具体指导一下。谢谢!</p>
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
3477°C
2
  • vgocaxg
  • 晴天雨天
过: 他们

升级  35%

该用户从未签到

发表于 2014-6-24 21:10:35 | 显示全部楼层
例题:
将PIW128- PIW136,共5个字送入DB10的DW128- DW136中,再PID138- PID154,共5个双字送入DB10的DD138- DD154中
    OPN   DB     10      //打开DB 10
     L     P#128.0          //初始读指针
     LAR1  
     L     P#0.0            //初始写指针   
     LAR2  
     L     5               // 5个字的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据
      T     DBW [AR2,P#0.0]  //按写指针指示的地址写数据
      +AR1  P#2.0            //读指针指向下一数据地址
      +AR2  P#2.0            //写指针指向下一数据地址
      L     MB    10        //取循环计数值
      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环
      L     P#138.0          //初始读指针
      LAR1  
      L     P#0.0            //初始写指针   
      LAR2  
      L     5               // 5个双字的循环计数为初值
M002: T     MB    11        //计数值 送入MB 10
      L     PID [AR1,P#0.0]   //按读指针指示的地址读数据
      T     DBD [AR2,P#0.0]  //按写指针指示的地址写数据
      +AR1  P#4.0            //读指针指向下一数据地址
      +AR2  P#4.0            //写指针指向下一数据地址
      L     MB    11        //取循环计数值
      LOOP  M002           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环
                                                                                                                                                                                                                                                              
                                                        

升级  31%

该用户从未签到

发表于 2014-6-24 21:47:24 | 显示全部楼层
L P##StartAdr //起始地址
LAR1
L #OFFSET  // INT,该变量的变化为:0,2,4,6,8,10.....,当然也可以是0,4,8,12....
ITD
SLD 3
TAR1
+D
LAR1
L #VAR               // 你要的变量 INT
T W[AR1,P#0.0 ]  //P#0.0在这里就不需要变化就能使指针产生移动,
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            你想多了,直接按2个字节增加就可以,没有必要先2倍递增,之后按照4倍递增。实型数据占4个字节,只要你把这4个字节内容都传送了,并且也按照实型数据来访问使用就可以的,数值不会变化的。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

关闭

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

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

GMT+8, 2025-5-11 00:32 , Processed in 0.106322 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

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