回复:PLC数据块中数组的动态寻址方法?

阿鸣

西门子1847工业学习平台

  • 帖子

    4233
  • 精华

    27
  • 被关注

    1298

论坛等级:至圣

注册时间:2004-05-27

普通 普通 如何晋级?

发布于 2010-02-23 09:35:27

1楼

典型的循环语句编程:
1. 将PIW128- PIW147,共20个字送入DB10中
在OB1:
OPN DB 10 //打开DB 10
L P#128.0 //初始读指针(可按实际应用的地址替代,例如10.0)
LAR1
L P#0.0 //初始写指针(可按实际应用的地址替代,例如10.0)
LAR2
CALL FC 100

2. 将PIW256- PIW275,共20个字送入DB20中
OPN DB 20 //打开DB 20
L P#256.0 //初始读指针(可按实际应用的地址替代,例如10.0)
LAR1
L P#0.0 //初始写指针(可按实际应用的地址替代,例如10.0)
LAR2
CALL FC 100


建立一FC块:

在FC100:
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 //循环计数值减1后,如为0则结束循环;如不为0则转相标号//为M001的语句,继续循环。



注:
1. L P#256.0 语句中的256.0是个表示地址的常数,可按需要设值.
2. L 20 语句中的20是个常数,可按需要设值.
3. L PIW [AR1,P#0.0] 语句即为从PIW取数,如写为L IW [AR1,P#0.0] 即为从IW取数。

一日三省吾身
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。