技术论坛

[博途]+DIY判定数组是否有序的功能块

作者 主题
至圣

经验值: 20126
发帖数: 2776
精华帖: 23
主题:【分享】[博途]+DIY判定数组是否有序的功能块
精华帖精华帖星级4级 推荐帖


只看楼主 只看精华 楼主 2018-11-30 00:47:20

如题,以元素为基本数据类型INT的数组为例。

判断数组是否有序(升序/降序/无序),FC接口如图所示




主要参数有二,一输入,一返回值;一般FC都没有RET_VAL,这里带返回值方便在SCL中表达式中调用作判断,如:

IF "IsSortedAscending"(#Array) THEN

其中“#Array”为传送的实参。

关于传递变量ARRAY/ARRAY[*],博途的在线帮助做得非常到位。




算法的实现,具体使用了两种,简图如下

具体用到的博途提供的块如图所示,指令块的详细说明还是F1

运行效果






块的源文件:

IsSortedASC.zip

IsSortedDSC.zip

IfSorted.zip

一为升序判断,一为降序判断,一为是否有序判断(返回值:1升序,-1降序,0无序)。

最后安利一个西门子官方的指令程序示例库TIA Portal指令程序示例库

Tip:

接口再加两个输入参数ZoneHead、ZoneTail,程序稍加改动便可以检测数组内的某一连续区域是否有序。


Less is more……
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1525582&b_id=66&b_sid=0&s_id=0&num=1

至圣

经验值: 18401
发帖数: 2409
精华帖: 1
回复:[博途]+DIY判定数组是否有序的功能块
推荐帖


只看楼主 只看精华 1楼 2018-11-30 12:36:40


嗯,没用过这个块!学习了


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3893
发帖数: 236
精华帖: 1
回复:[博途]+DIY判定数组是否有序的功能块


只看楼主 只看精华 2楼 2018-12-03 10:41:19

 

真是有心人,学习了


Stay Hungry ,Stay Foolish .
以下网友喜欢您的帖子:

  
侠士

经验值: 1783
发帖数: 109
精华帖: 4
回复:[博途]+DIY判定数组是否有序的功能块


只看楼主 只看精华 3楼 2018-12-14 08:44:14

楼主的算法功能图设计的好。现在很少有人做程序时画程序流程图与算法功能图。其实,那是不规范的表达。起码,设计流程不规范,没有前期的讨论与表达。 谢谢楼主的分享。


人情到时文章老,书读深处意气平。
以下网友喜欢您的帖子:

  
至圣

经验值: 15669
发帖数: 644
精华帖: 0
回复:[博途]+DIY判定数组是否有序的功能块


只看楼主 只看精华 4楼 2018-12-20 08:21:11

好文  收藏


岂能尽如人意 但求无愧我心
以下网友喜欢您的帖子:

  
侠圣

经验值: 2295
发帖数: 337
精华帖: 3
回复:[博途]+DIY判定数组是否有序的功能块


只看楼主 只看精华 5楼 2018-12-20 09:11:46

涨姿势,学习了



能不能不出差这么长时间啊
以下网友喜欢您的帖子:

  
侠圣

经验值: 3512
发帖数: 132
精华帖: 1
回复:[博途]+DIY判定数组是否有序的功能块


只看楼主 只看精华 6楼 2018-12-21 10:47:13

有机会我也得学学博图了


13961469974
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
[博途]+DIY判定数组是否有序的功能块
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。