回复:Smart 200 天花板级冒泡排序子程序封装

已锁定

tingal_cai

  • 帖子

    85
  • 精华

    1
  • 被关注

    2

论坛等级:侠士

注册时间:2021-11-03

普通 普通 如何晋级?

发布于 2023-01-09 16:19:39

29楼

展开查看
以下是引用芳季在2023-01-09 15:48:11的发言 >28楼

要减是可以减的。

就拿网络5来说。

功能是当选择了字节;字;双字的时候间接寻址的递增量自动适应1;2;4

你可以选择:

1的时候是Lx.0=1

2的时候Lx.1=1

3的时候Lx.1=Lx.0=1

4的时候Lx.2=1

然后后面就选择性地执行四次dinc AC0。再后面就DI_I;I_b只出现一次。

然后后面所有出现关于数据类型的比较指令都用
LD LX.x代替。

程序量少了。扫描时间也少了。

老实说,我那地毯级的程序81毫秒就是这么来的。一点一滴省出来。

现在我这个排序程序用在一个中值滤波。不完全排序,去n个头去n个尾,中间平均。还是滤波程序。滤波是基础啊。除此之外我没有用过排序了。

库中库,滤波,线性变换,这些都是紧密相连的。有人可以跟我谈谈什么高耦合低耦合就好了。

以下是引用tingal_cai在2023-01-09 13:36:02的发言 >27楼: 看得出,楼主在有...

引用27楼详细内容:

 看得出,楼主在有意减小封装块大小,无奈基础指令太多,减起来实在是太困难了


从楼主这个例子可以看出,要想一块走天下,对于200smart来说,是需要付出代价的。 在200smart上做数据类型选择,是楼主这个冒泡程序的特色。之前我有个封装块也做了数据类型选择功能,发现太占用资源了,最后还是分开做。不过,在同一个程序中,如果有多组不同数据类型的数组需要排序,可以用楼主的封装块(同一个封装块的首次调用占用空间较大,从第二次调用开始,每个块占用空间大幅减小)。

在官方出来LGF块之前,我也做了一套冒泡排序块,不过都是分开做的,但是我做出来过后,基本很少使用。

感谢楼主分享。


有道理。作为一个技术控,或者说有强迫症的人,或者一个有钻劲的人,当你认真做了一个封装块过后,就根本停不下来了,后面不断的V1.0、V1.1、V1.2……每个版本都是一个小的提升:BUG的修补、算法的优化、块大小的压缩、名称备注的修改,甚至是形式排版上等头发丝级别的修改,总能让你为之抓狂。这就是技术控啊!!!


看得出楼主是这样的人,芳老师也是这样的人


另外,高耦合这个概念没去研究过啊。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9136条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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