Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub xoDinamicoV3_CustomConfig()
- Dim f,Fso
- Set Fso = CreateObject("Scripting.FileSystemObject")
- Set f = Fso.OpenTextFile(Caminho_CSV)
- readCSV(f)
- End Sub
- Sub DadosCSV(myArray)
- Dim SE : set SE = Application.GetObject(Substation)
- SubPasta myArray(0),tip
- createTAG myArray(0),myArray(1),myArray(2),myArray(4),myArray(5), _
- myArray(6),myArray(9)
- End Sub
- Function readCSV(f)
- 'le a primeira linha que é o cabeçalho, assim já entra na segunda linha no while'
- f.ReadLine
- Do While Not f.AtEndOfStream
- 'cria um array para separar as informações
- line = split(f.ReadLine,";")
- painel = line(0) : equip = line(1) : docstr = line(2)
- tipo = line(3) : paramDevice = line(4) : paramItem = line(5)
- tagName = line(6) : estado0 = line(7) : estado1 = line(8)
- tipoPonto = line(9) : grandeza = line(10) : fases = line(11)
- myArray = Array(painel,equip,docstr,tipo,paramDevice,paramItem,tagName, _
- estado0,estado1,tipoPonto, grandeza, fases)
- call DadosCSV(myArray)
- Loop
- MsgBox "Configuração Finalizada"
- End Function
- Function SubPasta(painel,tip)
- 'Define o nome da SUBPASTA
- pastaDIGITAIS = "DIG"
- pastaCOMANDOS = "CMD"
- pastaANALOGICOS = "ANA"
- RenamePainel = "[" & painel & "]"
- On Error Resume Next
- 'verifica se já existe a pasta que será adicionado os tags
- 'caso não exista ele cria
- set Driver = Application.GetObject(PastaDriver).Item(painel)
- if Err.Number <> 0 Then
- Application.GetObject(PastaDriver)._
- AddObject "IOFolder", True, painel
- End If
- 'Verifica se já existe a subpasta DIG, se não existir ele cria
- set subPastaDIG = Application.GetObject(PastaDriver & "." & RenamePainel). _
- Item(pastaDIGITAIS)
- if Err.Number <> 0 Then
- Application.GetObject(PastaDriver & "." & RenamePainel)._
- AddObject "IOFolder", True, pastaDIGITAIS
- End If
- 'Verifica se já existe a subpasta CMD, se não existir ele cria
- set subPastaCMD = Application.GetObject(PastaDriver & "." & RenamePainel). _
- Item(pastaCOMANDOS)
- if Err.Number <> 0 Then
- Application.GetObject(PastaDriver & "." & RenamePainel)._
- AddObject "IOFolder", True, pastaCOMANDOS
- End If
- 'Verifica se já existe a subpasta ANA, se não existir ele cria
- set subPastaANA = Application.GetObject(PastaDriver & "." & RenamePainel). _
- Item(pastaANALOGICOS)
- if Err.Number <> 0 Then
- Application.GetObject(PastaDriver & "." & RenamePainel)._
- AddObject "IOFolder", True, pastaANALOGICOS
- End If
- On Error Goto 0
- Select Case tip
- Case "DIGITAL" : SubPasta = pastaDIGITAIS
- Case "ANALOGICO" : SubPasta = pastaANALOGICOS
- Case "COMANDO" : SubPasta = pastaCOMANDOS
- End Select
- End Function
- Function createTAG(painel,equip,docstr,paramDevice,paramItem,tagName,tipoPonto)
- On Error Resume Next
- Select Case tipoPonto
- Case "DIGITAL"
- RenamePainel = "[" & painel & "]"
- set tgDIG = Application.GetObject(PastaDriver & "." & RenamePainel)._
- Item(SubPasta(painel,tipoPonto)).Item(tagName)
- If Err.Number <> 0 Then
- set addTag = Application.GetObject(PastaDriver & "." & _
- RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
- addTag.Name = tagName
- addTag.DocString = docstr
- addTag.AdviseType = 0 'AlwaysInAdvise
- addTag.EnableDeadBand = False 'Desabilita Banda Morta
- addTag.ParamDevice = paramDevice
- addTag.ParamItem = paramItem
- addTag.AllowWrite = False 'Desabilita Escrita
- addTag = True
- End If
- Case "ANALOGICO"
- RenamePainel = "[" & painel & "]"
- set tgANA = Application.GetObject(PastaDriver & "." & RenamePainel)._
- Item(SubPasta(painel,tipoPonto)).Item(tagName)
- If Err.Number <> 0 Then
- set addTag = Application.GetObject(PastaDriver & "." & _
- RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
- addTag.Name = tagName
- addTag.DocString = docstr
- addTag.AdviseType = 0 'AlwaysInAdvise
- addTag.EnableDeadBand = False 'Desabilita Banda Morta
- addTag.ParamDevice = paramDevice
- addTag.ParamItem = paramItem
- addTag.AllowWrite = False 'Desabilita Escrita
- addTag = True
- End If
- Case "COMANDO"
- RenamePainel = "[" & painel & "]"
- set tgCMD = Application.GetObject(PastaDriver & "." & RenamePainel)._
- Item(SubPasta(painel,tipoPonto)).Item(tagName)
- If Err.Number <> 0 Then
- set addTag = Application.GetObject(PastaDriver & "." & _
- RenamePainel & "." & SubPasta(painel,tipoPonto)).AddObject("IOTag",False)
- addTag.Name = tagName
- addTag.DocString = docstr
- addTag.AdviseType = 0 'AlwaysInAdvise
- addTag.EnableDeadBand = False 'Desabilita Banda Morta
- addTag.ParamDevice = paramDevice
- addTag.ParamItem = paramItem
- addTag.AllowRead = False 'Desabilita Leitura
- addTag.AllowWrite = True 'Habilita Escrita
- addTag = True
- End If
- End Select
- On Error Goto 0
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement