Consulte as seções a seguir para obter detalhes sobre a sintaxe para construir consultas de tags do PI em PI AF e PI Builder. Para obter informações detalhadas sobre a sintaxe de consulta de tags do PI, consulte a seção “Visão geral da sintaxe de consulta de PIPoint” no PI System Explorer: Ajuda > Referência AF SDK > Visão geral, ou vá para a página de Suporte técnico
Visão geral da sintaxe de consulta de PIPoint (https://techsupport.osisoft.com/ Documentation/PI-AF-SDK/html/b8fbb6da-7a4b-4570-a09d-7f2b85ed204d.htm).
Filtros de condição
Para criar uma consulta de tags do PI, insira um ou mais filtros de condição do AND que também podem ser combinados com uma condição OR conforme necessário. Cada condição
AND contém uma ou mais consultas, separadas por espaço ou AND. A consulta consiste em um
nome do filtro de consulta, um operador e o filtro da consulta. Dessa forma, você pode
especificar diversas condições com uma única consulta, conforme exibido no exemplo a seguir:
(tag:<>sin* AND PointType:Float64) OR (tag:="*Tank*" AND DataType:=Int32)
Nota:
É possível usar parênteses somente entre condições OR.
É possível fazer referência a um nome de filtro uma vez por condição AND da sequência de consultas. Por exemplo, PointId:>5 AND PointId:<10 gera um erro, ao passo que PointType:=Int32 OR PointType:=Float32 é válido.
Para maior eficiência, crie sua consulta de forma a eliminar a maioria dos itens dos resultados recuperados com seus primeiros filtros de condição.
Nomes de filtros de consulta
Ao fazer uma consulta com base em atributos da tag do PI, o nome do filtro da consulta é um nome ou alias do atributo da tag do PI. Os aliases comuns são:
Nome do alias Nome do atributo
Nome Tag
DataType PointType
Descrição Descritor
PointClass PtClassName
A partir de PI AF 2017, é possível fazer consultas com base em valores, além de consultas de tags do PI com base em atributo. Contudo, não é possível usar a condição OR para consultar um valor de tag do PI. Por exemplo, ocorreria um erro se as seguintes consultas fossem inseridas:
• IsGood:false OR Annotated:true
• PointType:Float AND Value:>10 porque PointType:Float é convertido de forma implícita para 'PointType:=Float16 OR PointType:=Float32 OR
PointType:=Float64'
• PointType:Int AND Value:>10 porque PointType:Int é convertido de forma implícita para 'PointType:=Int16 OR PointType:=Int32'
• sin* AND Value:>10 porque sin* é convertido de forma implícita para 'tag:=sin* OR Descriptor:=sin*' se a configuração de filtro padrão para Incluir descrição na pesquisa
for selecionada. Para ser válido, seria necessário limpar o filtro Incluir descrição na pesquisa.
Caracteres coringa
É possível usar os caracteres especiais a seguir em uma consulta de tags de PI.
Nota:
Os resultados dos exemplos abaixo presumem que a opção de pesquisa padrão esteja sendo usada; essa opção pesquisa nomes de tags do PI que iniciam com a string pesquisada.
Caractere
especial Descrição Exemplo
* Substituir qualquer número de caracteres não especificados
sin*
Retorna todas as tags do PI que têm nomes que começam com "sin", por exemplo, sinusoid e sinusoidu.
? Substituir um único caractere
não especificado CD?158
Retorna todas as tags do PI que têm nomes que começam com "CD", seguidas por qualquer caractere único, seguido por "158" (por exemplo, CD1158, CDA158 e assim por diante).
: ou := Ao pesquisar todos os pontos PI com um valor de atributo específico (diferente do nome), separa o atributo e o valor pesquisado.
Dica:
Ao pesquisar um nome de tag do PI contendo uma vírgula, coloque o nome entre aspas duplas ou coloque uma barra invertida antes da vírgula.
pointsource:R
Retorna todas as tags do PI que têm o valor pointsource R.
"ba:temp.1" ba\:temp.1
Qualquer um dos exemplos acima retorna a tag do PI denominada ba:temp.1.
Caractere
especial Descrição Exemplo
'' ou ""
Delimitadores para strings de pesquisa que contêm espaços ou caracteres especiais
'*Owner Change*' ou
"*Owner Change*"
Retorna todas as tags do PI que têm nomes que contêm Alteração do proprietário.
"ba:temp.?"
Retorna todas as tags do PI contendo nomes iniciando com ba:temp. e terminando com um único caractere.
Operadores
A tabela a seguir lista os operadores que podem ser usados em uma condição AND.
Operador Descrição Exemplo
= O operador EQUALS. Tag:Tank* ou Tag:=Tank*
<> O operador NOT EQUALS. PointType:<>Int32
< O operador LESS THAN. Descriptor:<M
<= O operador LESS THAN OR EQUAL. Tag:<=Tank > O operador GREATER THAN . Tag:>Tank >= O operador GREATER THAN OR EQUAL. Tag:>=Tank
Nas consultas de valor da tag do PI com um tipo de dado de Sequência de Caracteres, não é possível usar os seguintes operadores: <<=, > ou >=. Além disso, quando se espera valores booleanos (como com consultas de valor da tag Substituted, Questionable, Annotated e
IsGood), é possível usar somente os operadores = e <>.
Restrições de sintaxe
• Não é possível consultar atributos de tag de dados futuros, como creationdate:>y-1d AND future:true, em servidores PI Data Archive anteriores a 3.4.395.
• Não é possível consultar atributos de tag de dados futuros, como PtSecurity e
DataSecurity, em servidores PI Data Archive anteriores a 3.4.380.