作者 | 主题 |
---|---|
'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。 运行效果 块的源文件: 一为升序判断,一为降序判断,一为是否有序判断(返回值:1升序,-1降序,0无序)。 最后安利一个西门子官方的指令程序示例库TIA Portal指令程序示例库 Tip: 接口再加两个输入参数ZoneHead、ZoneTail,程序稍加改动便可以检测数组内的某一连续区域是否有序。
Less is more……
|