Configuração Dinâmica
Este Driver permite que alguns parâmetros de configuração sejam informados em tempo de execução por script, usando o comando de escrita de parâmetros da biblioteca IOKit. Estes parâmetros estão descritos na tabela a seguir.
Parâmetros de configuração
| Propriedade | Parâmetro | Tipo de Dados |
|---|---|---|
| Total Device Number | IEC61850.DeviceCount | DWORD |
| Server | IEC61850.Device[%u].Name | STRING |
| IP | IEC61850.Device[%u].IP | STRING |
| Backup IP | IEC61850.Device[%u].IPBackup | STRING |
| PSEL | IEC61850.Device[%u].PSel | DWORD |
| SSEL | IEC61850.Device[%u].SSel | DWORD |
| TSEL | IEC61850.Device[%u].TSel | DWORD |
| Rem AE Qual | IEC61850.Device[%u].AEQualifier | DWORD |
| Rem AP ID | IEC61850.Device[%u].AppID | STRING |
| Disable | IEC61850.Device[%u].Disable | BYTE |
| Use Backup IP | IEC61850.Device[%u].UseIPBackup | BYTE |
| Save Comtrade (Per Device) | IEC61850.Device[%u].SaveComtrade | BYTE |
| Delete Comtrade Files (Per Device) | IEC61850.Device[%u].DeleteComtrade | BYTE |
| Browse Root Folder Only (Per Device) | IEC61850.Device[%u].BrowseRootFolderOnly | BYTE |
| Comtrade Path (Per Device) | IEC61850.Device[%u].ComtradePath | STRING |
| Use Fixed Comtrade Path On Device (Per Device) | IEC61850.Device[%u].UseFixedPathOnDevice | BYTE |
| Name+Index File Transfer | IEC61850.Device[%u].NameAndIndexFileTransfer | BYTE |
| File Root Name | IEC61850.Device[%u].FileTransferRootName | STRING |
| Prefer Buffered Report Control Blocks | IEC61850.UseReports | BYTE |
| User-Defined Report List | IEC61850.UserReportList | BYTE |
| Poll Tags not found in any report | IEC61850.PollTags | BYTE |
| Local P Selector | IEC61850.LocalPSel | DWORD |
| Local S Selector | IEC61850.LocalSSel | DWORD |
| Local T Selector | IEC61850.LocalTSel | DWORD |
| Local AE Qualifier | IEC61850.LocalAEQualifier | DWORD |
| Local App ID | IEC61850.LocalAppID | STRING |
| RFC 1006 Source TSAP | IEC61850.SourceTSAP | DWORD |
| App Category | IEC61850.AppCategory | STRING |
| Polled Intg Rpt | IEC61850.RptGI | DWORD |
| Auto Intg Prt | IEC61850.IntgPd | DWORD |
| Use Quality change trigger | IEC61850.UseQChgTrgOps | BYTE |
| Conformance Blocks (internal use) | IEC61850.CBB | STRING |
| Services (internal use) | IEC61850.Services | STRING |
| LD File Path | IEC61850.LDPath | STRING |
| Comtrade Path | IEC61850.ComtradePath | STRING |
| Comtrade Directory on Device (internal use) | IEC61850.ComtradeDir | STRING |
| Msg Timeout | IEC61850.Timeout | DWORD |
| Full Log Details | IEC61850.DetailedLog | BYTE |
| Save Comtrade Files | IEC61850.SaveComtrade | BYTE |
| Save Comtrade Per IED | IEC61850.SaveComtradePerIED | BYTE |
| Delete Files after upload | IEC61850.DeleteComtrade | BYTE |
| Comtrade Directory Check Interval | IEC61850.CheckComtrade | BYTE |
| Comtrade Upload Interval | IEC61850.UploadComtrade | DWORD |
| Check Report Time of Entry | IEC61850.RedundantBRCB | BYTE |
| Status Check | IEC61850.StatusCheck | DWORD |
| Asynchronous Write | IEC61850.AsyncWrite | BYTE |
| Use Single Tag Command Alias | IEC61850.SingleTagCmdAlias | BYTE |
| Apply Local Time Offset to Timestamps | IEC61850.ApplyLocalTime | BYTE |
| Use Cmd Tag N1 as check condition | IEC61850.SingleTagCmdN1 | BYTE |
| No LD Database Scan | IEC61850.NoLDScan | BYTE |
| Browse Root Folder Only | IEC61850.ComtradeBrowseRootFolderOnly | BYTE |
| Use Exclusive URCB | IEC61850.ReserveURCB | BYTE |
Um exemplo de configuração COMTRADE dinâmica está descrito a seguir:
- Este Driver deve ter todos os IEDs já declarados, e devem estar com a opção Disable configurada com o valor 1 (um). Isto evita que a comunicação inicie com os parâmetros incorretos.
- Este Driver deve também estar com a opção Define Parameters Per IED configurada.
- No evento AfterStart deve haver um script que altera os parâmetros de cada IED. Estes parâmetros devem ser escritos via biblioteca IOKit. Os parâmetros estão indicados no script a seguir, em que %u deve ser trocado pelo índice do IED neste Driver, começando com 0 (zero). Estes parâmetros estão disponíveis no log deste Driver.
"IEC61850.Device[%u].SaveComtrade"
"IEC61850.Device[%u].DeleteComtrade"
"IEC61850.Device[%u].BrowseRootFolderOnly"
"IEC61850.Device[%u].ComtradePath"
"IEC61850.Device[%u].UseFixedPathOnDevice"
"IEC61850.Device[%u].NameAndIndexFileTransfer"
"IEC61850.Device[%u].FileTransferRootName"
- Considere que os parâmetros ComtradePath e FileTransferRootName são do tipo String e que, se o valor individual por IED não está configurado, considera-se o valor padrão definido na janela de propriedades. O valor padrão para as demais propriedades é 0 (zero, Falso).
- Após escrever os parâmetros desejados, habilite cada IED escrevendo o valor 0 (zero) no parâmetro "IEC61850.Device[%u].Disable".
- Inicie a comunicação com este Driver escrevendo o valor 1 (um) no Tag especial ServerInitialBuild. Este Tag cria os Hosts que estão habilitados e que ainda não foram criados.
' Exemplo considerando um array de 8 (oito) Elementos
' Os índices vazios são ignorados por este Driver
Dim Arr(8)
Arr(1) = Array("IEC61850.Device[0].SaveComtrade",1) ' Este IED busca Comtrades
Arr(2) = Array("IEC61850.Device[1].SaveComtrade",0) ' Este IED não busca Comtrades
Arr(3) = Array("IEC61850.Device[2].SaveComtrade",1) ' Este IED busca Comtrades
Arr(4) = Array("IEC61850.Device[2].NameAndIndexFileTransfer",1) ' Este IED busca Comtrades usando RootName + Index
Arr(5) = Array("IEC61850.Device[0].Disable",0) ' Habilita IED
Arr(6) = Array("IEC61850.Device[1].Disable",0) ' Habilita IED
Arr(7) = Array("IEC61850.Device[2].Disable",0) ' Habilita IED
Driver.Write -1,0,0,3 Arr ' Escreve parâmetros
Driver.Item("ServerInitialBuild").WriteEx 1 'Supondo a existencia deste Tag com o parâmetro Item = ServerInitialBuild,
'ao escrever 1 (um) inicia a comunicação com todos os IEDs habilitados
- Ao parar este Driver, estes parâmetros não são salvos, por isso o evento AfterStart deve continuar existindo para que, ao iniciar este Driver, os IEDs sejam configurados corretamente.