==== 小编分享(七)=====
网友“纯属虚构”在44楼分享了一个快速查找DB块中被激活的位的功能块,小编觉得非常好,可以用来查找报警和警告信息等。受此启发,小编今天也分享一个与DB块有关的功能块吧。在一些项目中经常需要对系统运行数据进行统计和处理,这时可能会需要对某些数据进行排序,然后读取最大、最小值或者某个区间的数据。
西门子全球资源库有这样一个样例函数,可以实现将 DB 块中的整数值按从小到大的顺序排列。该功能块使用STL语言对DB块里的数据进行冒泡排序法排序,如下所示:

其中, 引脚“Data_DB”指定所需排序的DB块,”DB_lengh” 是该DB块的长度。
举个例子,如果DB3 的初始状态如下图所示:

当对该DB块使用上面的功能块后,数据会发生变化,如下图所示:

可以看出,此时DB3里的数据已经按照从小到大的顺序排序了。
此功能块可以在程序里方便的多次调用,对指定数据块里的数据进行排序。该功能块链接为:
http://support.automation.siemens.com/CN/view/zh/36989125
“说说我用过的功能块”这个活动已经进行2周了,非常高兴看到大家的积极参与,许多网友分享了在自己项目中经常用到的STEP 7集成功能块或者自己开发的功能块,相信无论是“菜鸟”还是“大拿”都有所收获或者有所启发。很快这个活动就要进入到下一阶段了,小编的分享也将告一段落,但是如果您对以上的7篇分享有任何疑问仍然可以跟贴,小编会尽力帮大家解答。另外,给大伙分享一篇“武林秘籍”—— STEP 7 v5.x 样例函数集,下载链接如下:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0656
该文档包含了许多工程项目中经常会用到的功能块,都是西门子的工程师“呕血”奉献的,所有链接均包含程序代码或样例项目,赶快去下载吧!
最后,希望大家在接下来的环节中积极分享自己的功能块,大奖等着你哦!