<< Clique para Mostrar o Sumário >>
Parâmetros do Cliente |
Pode-se modificar Tabelas Bilaterais de Clientes ICCP, em tempo de execução, para adicionar ou modificar Tags, por exemplo, de forma a evitar que o Driver seja parado e reiniciado para aplicar as modificações.
No lado Cliente, esta operação pode ser realizada enquanto o Cliente está em modo Offline ou durante a comunicação normal.
Durante a comunicação, pode-se modificar parâmetros dos DataSets, adicionar, modificar e remover DataPoints e equipamentos. Em modo Offline, pode-se criar uma Tabela Bilateral totalmente nova.
Esta operação pode ser realizada ao iniciar o Driver, configurando a opção Start Offline (Allows Runtime Configuration). Neste caso, execute os passos descritos a seguir.
1.Selecione a opção Start Offline (Allows Runtime Configuration).
2.Coloque o Cliente ICCP em modo Offline escrevendo o valor "1" no Tag ICCP.ClientOffline, como no exemplo a seguir.
Write -1, 0, 0, 3, Array("ICCP.ClientOffline", 1)
3.Configure o Tag ICCP.StartOffline com o valor "0". O Driver cria o componente Cliente, pois agora está em modo Online. Entretanto, o componente Cliente ainda está em modo Offline, devido ao passo anterior, como no exemplo a seguir.
Write -1, 0, 0, 3, Array("ICCP.StartOffline", 0)
4.Escreva no Tag StartBatchDatabaseUpdate. No exemplo a seguir, o Tag foi criado dinamicamente antes da chamada.
Set StartBatch = AddObject("IOTag", False, "StartBatch")
StartBatch.ParamItem = "StartBatchDatabaseUpdate"
StartBatch.N1 = 1
StartBatch.Activate
StartBatch.WriteEx 1
5.Adicione DataSets, DataPoints e equipamentos usando os Tags UpdateDatasetDatabase, UpdatePointDatabase e UpdateDeviceDatabase. Deve ser realizada uma chamada para cada componente a ser criado, como no exemplo a seguir.
'Neste caso, há uma pasta chamada SYS
'com um Tag Bloco de cinco Elementos
'chamado UpdatePoint.
Set UpdtPoint = Item("SYS").Item("UpdatePoint")
UpdtPoint.WriteEx Array("TAGNAME_AAA",13,0,0,1)
UpdtPoint.WriteEx Array("TAGNAME_BBB",13,0,0,1)
UpdtPoint.WriteEx Array("TAGNAME_CCC",13,0,0,1)
6.Execute uma chamada ao Tag SaveDatabase.
Set SaveDB = Item("SYS").Item("SaveDatabase")
SaveDB.WriteEx "BLT_Name"
7.Coloque o Cliente novamente em modo Online.
Write -1, 0, 0, 3, Array("ICCP.ClientOffline", 0)
1.Escreva no Tag StartBatchDatabaseUpdate. No exemplo a seguir, o Tag foi criado dinamicamente antes da chamada.
Set StartBatch = AddObject("IOTag", False, "StartBatch")
StartBatch.ParamItem = "StartBatchDatabaseUpdate"
StartBatch.N1 = 1
StartBatch.Activate
StartBatch.WriteEx 1
2.Informe os DataSets, DataPoints e equipamentos utilizando os Tags UpdateDatasetDatabase, UpdatePointDatabase e UpdateDeviceDatabase. Deve ser realizada uma chamada para cada componente a ser criado, como no exemplo a seguir.
'Neste caso, há uma pasta chamada SYS
'com um Tag Bloco de cinco Elementos
'chamado UpdatePoint.
Set UpdtPoint = Item("SYS").Item("UpdatePoint")
UpdtPoint.WriteEx Array("TAGNAME_AAA",13,0,0,1)
UpdtPoint.WriteEx Array("TAGNAME_BBB",13,0,0,1)
UpdtPoint.WriteEx Array("TAGNAME_CCC",13,0,0,1)
3.Execute uma chamada ao Tag SaveDatabase.
Set SaveDB = Item("SYS").Item("SaveDatabase")
SaveDB.WriteEx "BLT_Name"
4.Ao executar a chamada ao Tag SaveDatabase, a Tabela Bilateral atual é comparada com a nova Tabela, com as seguintes regras:
•Se uma coincidência é encontrada em ambas as tabelas, a nova tabela é copiada sobre a existente
•Se uma entrada é encontrada na tabela existente e não na nova tabela, a entrada existente é apagada
•Se uma entrada é encontrada na tabela nova e não na tabela existente, a entrada nova é criada
5.Se qualquer uma destas mudanças implica em mudança nos DataSets, como por exemplo adicionar ou modificar membros, os DataSets são apagados e recriados imediatamente.
IMPORTANTE |
Se um novo Tag é criado, este deve ser colocado em modo Advise (em scan) somente após salvar o banco de dados, ou seja, para adicionar um novo Tag ao Cliente ICCP em tempo de execução, primeiro adicione o ponto à Tabela Bilateral e salve-a, usando o Tag SaveDatabase, e depois crie um Tag de Comunicação no Driver da aplicação E3 ou Elipse Power e coloque-o em modo Online, configurando a propriedade AllowRead com o valor Verdadeiro. |
6.Exemplo de criação de um Tag no E3 ou no Elipse Power em tempo de execução.
Set NewTag = Item("ICCPDriver").AddObject("IOTag", False, "MyTagName")
NewTag.N1 = 1 'Este é um Tag Cliente
NewTag.AllowRead = True
NewTag.Activate