回复:要是做循环的时候PIW怎么做呢?

like821080

  • 帖子

    728
  • 精华

    0
  • 被关注

    7

论坛等级:侠圣

注册时间:2008-09-05

普通 普通 如何晋级?

发布于 2011-04-08 21:53:54

15楼

A I 0.0 //当i0.0触发有上升沿的时候

FN M 1.0

JCN _001

OPN DB 20 //打开DB 20

L P#0.0 //初始读指针

LAR1

L P#2.4 //初始写指针



LAR2

L 10 // 10个字的循环计数为初值



//把DB20.DBX0.0传送到DB20.DBX2.3

//把DB20.DBX0.1传送到DB20.DBX2.4

//把DB20.DBX0.2传送到DB20.DBX2.5

//把DB20.DBX0.3传送到DB20.DBX2.6

//把DB20.DBX0.4传送到DB20.DBX2.7

//把DB20.DBX0.5传送到DB20.DBX3.0

//把DB20.DBX0.6传送到DB20.DBX3.1

//把DB20.DBX0.7传送到DB20.DBX3.2

//把DB20.DBX1.0传送到DB20.DBX3.3

//把DB20.DBX1.1传送到DB20.DBX3.4



M001: T MB 10 //计数值 送入MB 10

A DBX [AR1,P#0.0] //按读指针指示的地址读

= DBX [AR2,P#0.0] //按写指针指示的地址写数据

+AR1 P#0.1 //读指针指向下一数据地址

+AR2 P#0.1 //写指针指向下一数据地址

L MB 10 //取循环计数值

LOOP M001 //结束循环





L P#0.0 //初始读指针

LAR1

L P#3.5 //初始写指针(

LAR2

A DBX [AR2,P#0.0] //把DB20.DBX3.4传送到DB20.DBX0.0

= DBX [AR1,P#0.0]


L P#0.0 //初始读指针

LAR1

L P#2.4 //初始写指针(

LAR2


L 9 // 10个字的循环计数为初值

//把DB20.DBX2.3 传送到DB20.DBX0.1

//把DB20.DBX2.4传送到DB20.DBX0.2

//把DB20.DBX2.5传送到DB20.DBX0.3

//把DB20.DBX2.6传送到DB20.DBX0.4

//把DB20.DBX2.7传送到DB20.DBX0.5

//把DB20.DBX3.0传送到DB20.DBX0.6

//把DB20.DBX3.1传送到DB20.DBX0.7

//把DB20.DBX3.2传送到DB20.DBX1.0

//把DB20.DBX3.3传送到DB20.DBX1.1



M002: T MB 20 //计数值 送入MB20

A DBX [AR2,P#0.0] //按读指针指示的地址读数据

= DBX [AR1,P#0.1] //按写指针指示的地址写数据

+AR1 P#0.1 //读指针指向下一数据地址

+AR2 P#0.1 //写指针指向下一数据地址

L MB 20 //取循环计数值

LOOP M002



_001: NOP 0
为什么我这个循环没有规律?
B0 B1 B2 B3
W0 W2
有什么规律
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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