LGF_BubbleSort 指令库及其使用
LGF_BubbleSort 库文件夹下包含四个库指令: LGF_ BubbleSort Int, LGF BubbleSort Dint, LGF BubbleSort Real, LGF BubbleSort _Byte。
注意:
此指令库使用STEP 7 MicroWIN SMART V2.6版本编写,请在STEP 7 MicroWIN SMART V2.6或更高版本软件中使用该库指令。
此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
在项目中使用库
创建完成的指令库文件扩展名为".smartlib"。库文件可以作为单独的文件拷贝、移动,将库文件移动至系统库文件夹下即可使用库指令(STEP 7-Micro/WIN SMART库文件夹一般存储路径为"C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib")。如果操作完成打开软件后未找到库指令,在库菜单栏下单击右键选择"刷新库"即可。
成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘LGF_BubbleSort (v1.3)'
图1.LGF_BubbleSort 库
LGF_BubbleSort简介
对任意数量整数/双整数/实数/无符号数据元素(最大100)的数组重新排序,可根据引脚选择排序方式为升序或降序,并将数组排序后的版本返回到同一地址区域内。
使用库指令LGF_ BubbleSort _Int/Dint/Real/Byte需注意:
由于SMART PLC中没有数组数据类型,因此需使用连续的V区地址来存储数据,并确保V区中的数据类型完全一致,否则结果可能不正确;
该指令整数数据的尺寸需要占用一个字,双整数、实数数据的尺寸需要占用一个双字,无符号数据需要占用一个字节,否则结果可能不正确;
连续地址最多包含100个数据,超过的部分程序不予执行。
程序块:
图 2. LGF_BubbleSort_Int
图 3. LGF_BubbleSort_Dint
图 4. LGF_BubbleSort_Real
图 4. LGF_BubbleSort_Byte
表 1. LGF_BubbleSort参数
参数 | 声明 | 数据类型 | 注释 |
---|---|---|---|
EN | IN | BOOL | 程序块使能 |
mode | IN | BOOL | 排序模式:0为升序,1为降序 |
dataPtr | IN | DWORD | 数组的起始地址指针 |
length | IN_OUT | WORD | 数组长度,上限100个 |
Status | OUT | WORD | 错误码说明 16#0000:无错误发生 16#8200:数组长度参数输入数据过小(小于2) 16#8201:数组长度参数输入数据过大(大于100) |