200smart数据顺序排列

已锁定

啄木鸟1222

  • 帖子

    4
  • 精华

    0
  • 被关注

    18

论坛等级:侠客

注册时间:2015-11-25

黄金 黄金 如何晋级?

200smart数据顺序排列

3564

11

2021-09-27 15:26:42

     经常有客户提出如何将连续的几十个数据按大小排列。如果是1500和1200用SCL处理会比较容易写一点,但是200smart好像就不太好处理了。最近又有客户问到,正好有点时间,花了两天时间终于写了这个程序,现在测试,好像是没问题的,但是没用经过长时间运行测试,不知是否有缺漏的,今天分享给大家看看是否有什么问题,大家可以多提点宝贵意见。    闲话休提上图


子程序解析:

             数据的顺序排列是仿照C语言冒泡排序法写的;我的大概思路是:第一步:正确写入需要排序的数据个数;第二步:统一将数据按位置依次传送到输出地址;第三步:排序输出(采用类似C语言的冒泡排序法);如下图:

首先先看一下局部存储区的接口定义:


获取循环次数:


启动外循环:启动外循环第一个任务是:统一赋值,在循环开始前将源数值赋值到输出地址,再进行排序!!!该处理是关键,如果不在统一时间赋值,有可能在排序中途赋值的话,排序会不完整!


完成赋值,关闭赋值循环


启动内循环:


内循环排序:


排序输出:


测试结果1:

测试结果2:

自己测试了几次显示结果都正确,但是没经过长时间验证,不知是否存在缺漏,因为这是自己写的例子,不是官方的例子程序,错误在所难免,如果有问题请各位提出宝贵意见。谢谢大家!


200smart数据顺序排列 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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