SHARE
TWEET

Untitled

a guest Mar 18th, 2019 51 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub xoDinamicoV3_CustomConfig()
  2.     Dim f,Fso
  3.     Set Fso = CreateObject("Scripting.FileSystemObject")
  4.     Set f = Fso.OpenTextFile(Caminho_CSV)
  5.    
  6.     readCSV(f)
  7. End Sub
  8.  
  9. Sub DadosCSV(myArray)  
  10.     Dim SE : set SE = Application.GetObject(Substation)
  11.  
  12.     SubPasta myArray(0),tip
  13.  
  14.     createTAG myArray(0),myArray(1),myArray(2),myArray(4),myArray(5), _
  15.             myArray(6),myArray(9)
  16. End Sub
  17.  
  18. Function readCSV(f)
  19.     'le a primeira linha que é o cabeçalho, assim já entra na segunda linha no while'
  20.     f.ReadLine
  21.    
  22.     Do While Not f.AtEndOfStream
  23.         'cria um array para separar as informações
  24.         line = split(f.ReadLine,";")
  25.  
  26.         painel = line(0) : equip = line(1) : docstr = line(2)
  27.         tipo = line(3) : paramDevice = line(4) : paramItem = line(5)
  28.         tagName = line(6) : estado0 = line(7) : estado1 = line(8)
  29.         tipoPonto = line(9) : grandeza = line(10) : fases = line(11)
  30.  
  31.         myArray = Array(painel,equip,docstr,tipo,paramDevice,paramItem,tagName, _
  32.             estado0,estado1,tipoPonto, grandeza, fases)
  33.  
  34.         call DadosCSV(myArray)
  35.     Loop
  36.     MsgBox "Configuração Finalizada"
  37. End Function
  38.  
  39. Function SubPasta(painel,tip)
  40.     'Define o nome da SUBPASTA
  41.     pastaDIGITAIS = "DIG"
  42.     pastaCOMANDOS = "CMD"
  43.     pastaANALOGICOS = "ANA"
  44.  
  45.     RenamePainel = "[" & painel & "]"
  46.     On Error Resume Next
  47.         'verifica se já existe a pasta que será adicionado os tags
  48.         'caso não exista ele cria
  49.         set Driver = Application.GetObject(PastaDriver).Item(painel)
  50.         if Err.Number <> 0 Then
  51.             Application.GetObject(PastaDriver)._
  52.                     AddObject "IOFolder", True, painel
  53.         End If
  54.         'Verifica se já existe a subpasta DIG, se não existir ele cria
  55.         set subPastaDIG = Application.GetObject(PastaDriver & "." & RenamePainel). _
  56.             Item(pastaDIGITAIS)
  57.         if Err.Number <> 0 Then
  58.             Application.GetObject(PastaDriver & "." & RenamePainel)._
  59.                     AddObject "IOFolder", True, pastaDIGITAIS
  60.         End If
  61.         'Verifica se já existe a subpasta CMD, se não existir ele cria
  62.         set subPastaCMD = Application.GetObject(PastaDriver & "." & RenamePainel). _
  63.             Item(pastaCOMANDOS)
  64.         if Err.Number <> 0 Then
  65.             Application.GetObject(PastaDriver & "." & RenamePainel)._
  66.                     AddObject "IOFolder", True, pastaCOMANDOS
  67.         End If
  68.         'Verifica se já existe a subpasta ANA, se não existir ele cria
  69.         set subPastaANA = Application.GetObject(PastaDriver & "." & RenamePainel). _
  70.             Item(pastaANALOGICOS)
  71.         if Err.Number <> 0 Then
  72.             Application.GetObject(PastaDriver & "." & RenamePainel)._
  73.                     AddObject "IOFolder", True, pastaANALOGICOS
  74.         End If
  75.     On Error Goto 0
  76.    
  77.     Select Case tip
  78.         Case "DIGITAL" : SubPasta = pastaDIGITAIS
  79.         Case "ANALOGICO" : SubPasta = pastaANALOGICOS
  80.         Case "COMANDO" : SubPasta = pastaCOMANDOS
  81.     End Select
  82.  
  83. End Function
  84.  
  85. Function createTAG(painel,equip,docstr,paramDevice,paramItem,tagName,tipoPonto)
  86.     On Error Resume Next
  87.         Select Case tipoPonto
  88.             Case "DIGITAL"
  89.                 RenamePainel = "[" & painel & "]"
  90.                 set tgDIG = Application.GetObject(PastaDriver & "." & RenamePainel)._
  91.                     Item(SubPasta(painel,tipoPonto)).Item(tagName)
  92.                 If Err.Number <> 0 Then
  93.                     set addTag = Application.GetObject(PastaDriver & "." & _
  94.                         RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
  95.                     addTag.Name = tagName
  96.                     addTag.DocString = docstr
  97.                     addTag.AdviseType = 0 'AlwaysInAdvise
  98.                     addTag.EnableDeadBand = False 'Desabilita Banda Morta
  99.                     addTag.ParamDevice = paramDevice
  100.                     addTag.ParamItem = paramItem
  101.                     addTag.AllowWrite = False 'Desabilita Escrita
  102.                     addTag = True
  103.                 End If
  104.             Case "ANALOGICO"
  105.                 RenamePainel = "[" & painel & "]"
  106.                 set tgANA = Application.GetObject(PastaDriver & "." & RenamePainel)._
  107.                     Item(SubPasta(painel,tipoPonto)).Item(tagName)
  108.                 If Err.Number <> 0 Then
  109.                     set addTag = Application.GetObject(PastaDriver & "." & _
  110.                         RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
  111.                     addTag.Name = tagName
  112.                     addTag.DocString = docstr
  113.                     addTag.AdviseType = 0 'AlwaysInAdvise
  114.                     addTag.EnableDeadBand = False 'Desabilita Banda Morta
  115.                     addTag.ParamDevice = paramDevice
  116.                     addTag.ParamItem = paramItem
  117.                     addTag.AllowWrite = False 'Desabilita Escrita
  118.                     addTag = True
  119.                 End If
  120.             Case "COMANDO"
  121.                 RenamePainel = "[" & painel & "]"
  122.                 set tgCMD = Application.GetObject(PastaDriver & "." & RenamePainel)._
  123.                     Item(SubPasta(painel,tipoPonto)).Item(tagName)
  124.                 If Err.Number <> 0 Then
  125.                     set addTag = Application.GetObject(PastaDriver & "." & _
  126.                         RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
  127.                     addTag.Name = tagName
  128.                     addTag.DocString = docstr
  129.                     addTag.AdviseType = 0 'AlwaysInAdvise
  130.                     addTag.EnableDeadBand = False 'Desabilita Banda Morta
  131.                     addTag.ParamDevice = paramDevice
  132.                     addTag.ParamItem = paramItem
  133.                     addTag.AllowRead = False 'Desabilita Leitura
  134.                     addTag.AllowWrite = True 'Habilita Escrita
  135.                     addTag = True
  136.                 End If
  137.         End Select
  138.     On Error Goto 0
  139. End Function
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top