1     免责声明

 

本使用手册中描述的内容可能与用户实际使用不同,用户可能需要结合实际使用情况做相应修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。

以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。

2     介绍

2.1     概述

本文主要介绍3GL-QT开发包实现带计算的程序段搜索功能。采用PI服务中的_N_FINDBL激活搜索指令实现。 

3     方法

启动通道中的含计算的搜索过程,在开始_N_FINDBL的PI服务之前需要填写程序段搜索的数据结构(模块SPARPF[1]


[1] HMI Path为:/channel/search/…。关于SPARPF的详细介绍请见BTSS.chm中的 “BTSS变量通道专用的数据模块 C/SPARPF:供程序段搜索使用的程序指示器“。

3.1     调用Pi服务之前的准备工作-SPARPF数据设置

Step1:设置搜索的程序名

读取通道中当前生效的程序(子程序)的程序名称。并将此程序名写入至用于程序段搜索和运行的程序指针的区中(SPARPF) 。


//Step1:读当前通道中的实际运行程序并写入至SPARPF

QVariant vExecutedProName;

QString szProgNameItem = "/Channel/ProgramInfo/progName[u1]";      

//读取通道1正在执行的程序名

SlCapErrorEnum eError =     m_capServerReadWrite.read(szProgNameItem, vExecutedProName);

QString szItem = "/channel/search/progname[u1,1]";

//将读取通道1正在执行的程序名写入至程序搜索中

eError =     m_capServerReadWrite.write(szItem, vExecutedProName);


Step2:选择搜索类型


szItem = "/Channel/Search/searchType[u1,     1]";

//1:程序段号;2:标签;3:字符串;4:程序名称;5:行导向的搜索指针

QVariant vWriteData = 3;  

//搜索类型选择 字符串 并写入程序搜索中

eError = m_capServerReadWrite.write(szItem,     vWriteData);


Step3:写入搜索字符串


szItem = "/Channel/Search/searchString[u1,1]";

//从界面的LineEdit控件中获取用户输入的搜索字符串

vWriteData = lineEdit_searchstring->value();

//写入字符串至程序搜索中

eError = m_capServerReadWrite.write(szItem,     vWriteData);

            


Step4:搜索方向选择


szItem = "/Channel/Search/forward[u1,1]";

//1.向后(无计算);2.正向

vWriteData = 2;

//写入至程序搜索中

eError =     m_capServerReadWrite.write(szItem, vWriteData);           


3.2     执行PI服务_N_FINDBL


QVector<QString> arguments;

//选择类别为NC 名称为_N_FINDBLPI指令

QString szCommand = "/NC/_N_FINDBL";

QString szArgument1 = "201"//通道1

//1.不计算搜索;2.计算“轮廓”搜索;3.预留,目前未执行

//4.计算“程序段终点”搜索。程序段搜索后的运动由从目标程序段的轴编程决定

QString szArgument2 = "2";        //查找模式 带计算

arguments.append(szArgument1);

arguments.append(szArgument2);

//执行PI服务

eError =     m_capServerReadWrite.piStart(szCommand, arguments); 


3.3     效果展示

效果如下所示:

image.png

 

3.4     注意事项

1.  搜索类型可以为多种:1.程序段号;2:标签;3:字符串;4:程序名称;5:行导向的搜索指针。用户可根据需求自由选择。

 

4     作者/联系人

徐仁俊

2022.05.07

5     版本信息

版本

日期

修改内容

V1.0

2022.05.07

创建