Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement