设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]数组的下标能不能使用变量?

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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8244条微博

动态微博

查看: 2759|回复: 2

[求助-西门子PLC300/400]数组的下标能不能使用变量?

[复制链接]

升级  29%

该用户从未签到

发表于 2013-12-23 19:49:20 | 显示全部楼层 |阅读模式

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

×

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

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
比如我想使用循环赋值的方式给一维(或*)数组里的变量赋值,那么数组名的下标就要使用变量,在STL里好像不行哦。</p>
        问题补充:
可是我没有描述清楚吧,我的意思是像这样
L 20
T STAT0[N]
STAT0是ARRAY[1..6] of int 的一维数组,N是循环计数器的当前值,行不通哦。
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2761°C
2
  • terkcov
  • rmnnphs
过: 他们

升级  35%

该用户从未签到

发表于 2013-12-23 20:52:25 | 显示全部楼层
通过下标访问的话,你需要用SCL语言编程。
                                                                                                                                                                                                                                                              
                                                        

升级  37.5%

该用户从未签到

发表于 2013-12-23 21:21:20 | 显示全部楼层
1、数组名的下标就要使用变量,在STL里最擅长,简单明了..。
2. 例:
将PIW256- PIW275,共20个字送入DB20中
  OPN   DB     20      //打开DB 20
      L     P#256.0      //初始读指针
      LAR1  
      L     P#0.0          //初始写指针
      LAR2  
      L     20               // 20个字的循环计数为初值
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的语句,继续循环。   
3、上述例子中应用了地址寄存器寻址,还可以应用单字、双字指针寻址。 详见相关资料:
、见《关于S7-300和S7-400指针寻址的说明与例程(更新版)》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0215
、《详解西门子间接寻址.pdf》下载:
http://ishare.iask.sina.com.cn/f/22746895.html
http://www.gongkong365.com/bbs/job.php?action=download&aid=96
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            在STL中可不像在SCL中那样,在这里只能对变量的地址进行改变从而实现对数组变量的寻址。文档可以参见楼上给出的。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            在SIMATIC S7-300/400控制器中数组变量的起始地址必须已知,并且在使用地址寄存器时索引寻址也必须完成。
详细的可以看看《在 S7-1500 中如何通过变量索引实现数组访问?》
http://support.automation.siemens.com/ww/llisapi.dll?func=cslib.csinfo&objId=67598677&load=treecontent&switchLang
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

关闭

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

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

GMT+8, 2025-12-16 04:59 , Processed in 0.150444 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

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