技术论坛

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

返回主题列表
作者 主题
'Razor
至圣

经验值:20027
发帖数:2761
精华帖:22
楼主    2018-11-30 00:47:20
主题:[博途]+DIY判定数组是否有序的功能块 精华帖 

如题,以元素为基本数据类型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……
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。