回复:使用for循环语句,进行数据的移位替换,但是程序运行结果却是全部替换为最后一行数据

已锁定

'Razor

西门子1847工业学习平台

  • 帖子

    3207
  • 精华

    41
  • 被关注

    222

论坛等级:至圣

注册时间:2008-03-31

钻石 钻石 如何晋级?

发布于 2025-03-06 18:24:31

3楼

楼主的程序没能实现预期,是因为for语句一直在执行,把for嵌套在一个判断if中即可以解决上面的问题,我给个提示,楼主程序要实现gid[n]-->gid[n-1],具体需要传递几次由外部count决定,本质上还是块传送,if条件为,目标块尾部元素值 = 源块尾部元素值,当这个条件满足时,不需要执行for中的传送语句,当条件不满足时,则执行for中的传递语句。

例如需要将gid[4]...gid[9]共5个结构元素传送到gid[3]...gid[8],那么结束for循环的判断条件可以为,gid[8] = gid[9](传送的最后一个元素),这样就可以了。

if gid[8] <> gid[9] then//二者不相等,则表示没有传送完

    for

           传送操作;

    end_for

end_if

少即是多
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15100条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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