LGF_SearchMinMax指令库及其使用
LGF_SearchMinMax库文件夹下包含四个库指令: LGF_SearchMinMax _Int、 LGF_SearchMinMax _Dint、LGF_SearchMinMax _Real和LGF_SearchMinMax _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_SearchMinMax(v1.1)'
图1.LGF_SearchMinMax库
LGF_SearchMinMaxt简介
该库可实现在任意连续地址构成的数组(数组长度最大100)中搜索最小和最大值,并输出极值的值和索引号。如果在数组中有不止一个的最小或最大值,则输出第一个最小或最大值的索引号。
使用库指令 LGF_SearchMinMax_Int/Dint/Real/Byte 需注意:
由于SMART PLC中没有数组数据类型,因此需使用连续的V区地址来存储数据,并确保V区中的数据类型完全一致,否则结果可能不正确;
该指令整数数据的尺寸需要占用一个字;双整数、实数数据的尺寸需要占用一个双字;无符号数据需要占用一个字节;否则结果可能不正确;
连续地址最多包含100个数据,超过的部分程序不予执行。
程序块:
图 2. LGF_SearchMinMax_Int
图 3. LGF_SearchMinMax_Dint
图 4. LGF_SearchMinMax_Real
图 4. LGF_SearchMinMax_Byte
表 1. LGF_SearchMinMaxt参数
参数 | 声明 | 数据类型 | 注释 |
---|---|---|---|
EN | IN | BOOL | 程序块使能 |
dataPtr | IN | DWORD | 数组的起始地址指针 |
length | IN | WORD | 数组长度,上限100 |
minValue | OUT | INT/DINT/REAL/BYTE | 数组中找到的最小值 |
minValueIndex | OUT | WORD | 最小值在数组中的索引 |
maxValue | OUT | INT/DINT/REAL/BYTE | 数组中找到的最大值 |
maxValueIndex | OUT | WORD | 最大值在数组中的索引 |