2 Replies Latest reply on Jun 15, 2015 3:35 PM by matheusarruda

    VBA Search  / Pesquisa VBA - PI ProcessBook

    matheusarruda

      [ENGLISH]
      Dear ,
      I am developing a display in ProcessBook that does a search through a metal unit, this search returns the date and time when the metal unit spent in certain equipment .
      the problem I'm having is that the value entered in the search result is always the starting and I need value that the value picked up as reference is the last time that A was detected in TAG .

      For example :

      We have 40 positions in the oven plates , when performing a search with a metal unit that came out of the oven 19:50 me the system returns a value of 18:09 , however this is the time when the board came in the position 40 and was her until the 19:50 ( leaving it considered a desenfornada plate ) I need the result presented me the 19:50 time value when the tag fails to display the metal unit.


      [Portugues]

      Prezados,
      estou desenvolvendo um display no ProcessBook que faz uma pesquisa através de uma unidade metálica, essa pesquisa retorna a data e hora em que a unidade metálica passou em determinados equipamentos.
      o problema que estou tendo é que o valor informado no resultado da pesquisa é sempre o valor inicial e eu preciso que o valor pego como referência seja a última vez em que essa UM foi detectada na TAG.

       

      Por exemplo:

       

      No forno  temos 40 posições de placas, ao realizar uma pesquisa com uma unidade metálica que saiu do forno as 19:50 o sistema me retorna um valor de 18:09, porem essa é a hora em que a placa entrou na posição 40 e ficou nela até as 19:50 (Ao sair dela considera-se uma placa desenfornada) eu preciso que o resultado me apresente o valor de 19:50 hora em que a tag deixa de exibir a unidade metálica.

       

      Estrutura do código:

      Code structure :

      ' Pesquisa Walking Beam

      Public Sub Buscar()

         

          Dim srv As Server

          Dim pipPoint As PIPoint

          Dim pivValues As PIValues

          Dim strTag As String

          Dim strFiltro As String

          Dim strUniMetalica As String

         

          If (txtUniMetalica.Text = "") Then

              lblUnidadeMetalica.Contents = "Não encontrada."

              lblDatUniMetalica.Contents = " "

              Exit Sub

          End If

         

         

          lblUnidadeMetalica.Contents = " "

          lblDatUniMetalica.Contents = " "

         

          Set srv = PISDK.Servers.DefaultServer

          strUniMetalica = Trim(UCase(txtUniMetalica.Text))

           

          strTag = "LTQ_FRN_ID40A"

          strFiltro = "compare( '" & strTag & "', """ & strUniMetalica & "*"")"

          Set pipPoint = srv.PIPoints(strTag)

          Set pivValues = pipPoint.Data.RecordedValues(datInicio.Value, datFinal.Value, btInside, strFiltro)

          For i = 1 To pivValues.Count

              If (pivValues.Item(i).Value <> "Filtered") Then

                  lblUnidadeMetalica.Contents = pivValues.Item(i).Value

                  lblDatUniMetalica.Contents = CStr(pivValues.Item(i).TimeStamp.LocalDate)

                

                  Exit For

              End If

          Next

         

          strTag = "LTQ_FRN_ID40B"

          strFiltro = "compare( '" & strTag & "', """ & strUniMetalica & "*"")"

          Set pipPoint = srv.PIPoints(strTag)

          Set pivValues = pipPoint.Data.RecordedValues(datInicio.Value, datFinal.Value, btInside, strFiltro)

          For i = 1 To pivValues.Count

              If (pivValues.Item(i).Value <> "Filtered") Then

                  lblUnidadeMetalica.Contents = pivValues.Item(i).Value

                  lblDatUniMetalica.Contents = CStr(pivValues.Item(i).TimeStamp.LocalDate)

                  Exit For

              End If

          Next

         

          If (lblUnidadeMetalica.Contents = " ") Then

              lblUnidadeMetalica.Contents = "Não encontrada."

              lblDatUniMetalica.Contents = " "

          End If

          Call BuscaHSB

      End Sub

       

       

       

       

       

      Imagem do Display:

      Picture:

       

      Sem título.png

        • Re: VBA Search  / Pesquisa VBA - PI ProcessBook
          dng

          Hi Matheus,

           

          Is the tag that you are interested in a string or digital tag? For example, if the values for the tag are:

           

          18:00 position5

          18:09 position40

          19:50 outofoven

          20:00 position1

           

          What is your current filter? You can get the 19:50 values by either using the filter

          • 'Tag' = "outofoven" (or)
          • PrevVal('Tag', '*') = "position40" (provided only the previous state is known)

           

          You can also combine them to form a filter expression such as

          • PrevVal('Tag', '*') AND 'Tag' = "outofoven"

          for more specific conditions.

           

          Is this what you are looking for? If not, can you give me your tag configuration, example archive values and your current filter expression?

          1 of 1 people found this helpful