Daggos

Members
  • Posts

    34
  • Joined

  • Last visited

Posts posted by Daggos

  1. Thanks for that but the folder isn't the DAQ install folder i just created that folder for this script. the file is being created as intended but all that shows up is. 

    Pinging 192.0.0.168 with 32 bytes of data:
    Request timed out.
    Request timed out.
    Request timed out.

     

    The problem is as you can see from my sequence that isn't the ip i have listed  global pingIPs = {'192.168.141.50', '192.168.141.55', '192.168.141.94'}

  2. Thanks for reply but these are my sequences below 

    function checkPing(string ip, string path)
       system.ShellExecute("cmd","",'/C "ping ' + ip + " > " + path, "", "hide")
       delay(5)
       private h = file.Open(path,1,0,0,0)
       private string data = file.Read(h, file.GetLength(h))
       file.Close(h)
       return(find(data,"TTL=",0) != -1)

     

     

     

     

    global pingIPs = {'192.168.141.50', '192.168.141.55', '192.168.141.94'}
    global pingState = fill(0, numrows(pingIPs))
    while(1)
       try
          for (private i = 0, i < numrows(pingIPs), i++)
             pingState = checkPing(pingIps, "d:\DAQFACTORY\probe2")
             delay(0.1)
         endfor
       catch()
          ? strLastError
          delay(0.1)
       endcatch
    endwhile

  3. Hi

    I have been trying to test remote connections to my development DAQ on the same LAN with mixed results. If i add the remote connection details it will work with all channels lighting up but when i save and reopen it wont connect with error Invalid Network Packet. I have repeated this a few times.

    The remote connection is a trial pro i have 3 runtime licenses as well but are installed on other machines i want to test that the remotes work as i am hoping they do then buy more runtime licenses.

  4. Hi 

    I have found this script for displaying alarms in a table which is working perfectly but i would like to also filter the rows out by group as well.

    This is the sequence

    ========================================================

    Global ALARM_DISPLAY_MANAGER_RUN_TIME
    private ALARM_DISPLAY_MANAGER_RUN_TIME_START

    Global Alm_Activos
    Global Alm_ActivosNum
    Global string AlmDateFormat = "%Y-%m-%d %H:%M:%S"
    Global NumRowsTodos_Alm = 0

    private Alm_Activos_NSort
    private Alm_NActivos_NSort

    private string Todos_Alm
    private string strAlmIter
    private AlmIter
    private iter = 0


    private i = 0
    private k = 0
    private n = 0
    private string m

    private sort = 0

    class Alm
       local string AlmName
       local AlmFired
       local AlmAck
       local AlmPriority  
       local AlmTimeFired
       local string strAlmDesc
       
       local string strAlmTimeFired
       local string AlmEstado
       
       local string strAlmDescArray
       
       function CopyFrom(string obfrom)
          AlmName = obfrom
          Execute("AlmFired = Alarm."+AlmName+".Fired")
          Execute("AlmAck = Alarm."+AlmName+".Acked")
          Execute("AlmPriority = Alarm."+AlmName+".Priority")
       endfunction
       
       function ParseEstado()     
          Execute("AlmTimeFired = Alarm."+AlmName+".TimeFired")
          Execute("strAlmDesc = Alarm."+AlmName+".strDescription")
          strAlmTimeFired = FormatDateTime(AlmDateFormat,AlmTimeFired)
          strAlmDescArray = Parse(strAlmDesc,-1,";")
          if(AlmFired)
             AlmEstado = "Alarming"
          else
             AlmEstado = "Reset"
          endif
       endfunction
    endclass


    Todos_Alm = Alarm.ListAll()

    while(1)
       try()
          
       ALARM_DISPLAY_MANAGER_RUN_TIME_START = systime() 
       
       Alm_Activos_NSort.ClearHistory()
       Alm_NActivos_NSort.ClearHistory()
       
       if(NumRows(Todos_Alm)!=NumRowsTodos_Alm)
          Todos_Alm = Alarm.ListAll()
       endif
       NumRowsTodos_Alm = NumRows(Todos_Alm)
       iter = 0
       while (iter<NumRowsTodos_Alm)
          strAlmIter = Todos_Alm[iter]
          AlmIter = new(Alm)
          AlmIter.CopyFrom(strAlmIter)
          
       
          if(AlmIter.AlmPriority==4 && (AlmIter.AlmFired || (!AlmIter.AlmFired && !AlmIter.AlmAck)))
            
             AlmIter.ParseEstado()
             if(AlmIter.AlmFired)
                Alm_Activos_NSort.Append(AlmIter)
             else
                Alm_NActivos_NSort.Append(AlmIter)
             endif
          endif
          iter=iter+1
       endwhile
       
       sort = 0
       
       if(sort == 1)
          n = NumRows(Alm_Activos_NSort)
          for( i = 1,i<n,i++)
           for (k = i, k > 0 && (Alm_Activos_NSort[k].AlmTimeFired > Alm_Activos_NSort[k-1].AlmTimeFired), k--)
                m = Alm_Activos_NSort[k-1]
                Alm_Activos_NSort[k-1]=Alm_Activos_NSort[k]
                Alm_Activos_NSort[k] = m
             endfor
          endfor

          n = NumRows(Alm_NActivos_NSort)
          for( i = 1,i<n,i++)
             for (k = i, k > 0 && (Alm_NActivos_NSort[k].AlmTimeFired > Alm_NActivos_NSort[k-1].AlmTimeFired), k--)
                m = Alm_NActivos_NSort[k-1]
                Alm_NActivos_NSort[k-1]=Alm_NActivos_NSort[k]
                Alm_NActivos_NSort[k] = m
             endfor
          endfor
       endif
      
       n = NumRows(Alm_NActivos_NSort)
       for( i = 0,i<n-1,i++)
          Alm_Activos_NSort.Append(Alm_NActivos_NSort)
       endfor
       
       
       Alm_Activos = Alm_Activos_NSort
       Alm_ActivosNum = NumRows(Alm_Activos)
       ALARM_DISPLAY_MANAGER_RUN_TIME = systime() - ALARM_DISPLAY_MANAGER_RUN_TIME_START
       catch()
       endcatch()
       delay(1)
    endwhile

     

     

    ==================

    Below are the table components

    Alm_Activos.strAlmTimeFired

    Alm_Activos.strAlmDescArray[0]

    Alm_Activos.strAlmDescArray[1]

    Alm_Activos.AlmEstado

     

    ========================

    to display the group in separate column alarm description is as follows

    Pump Station 2; L1 ELR Alarm;

    or 

    Pump Station 1; L1 ELR Alarm;

    ======================

    So in the tables i want to only display group Pump Station 1 and a different table for Pump Station 2

    Thanks for any help im hoping its a simple extra if statement