<< Clique para Mostrar o Sumário >>
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 seria como a seguir:
1 – O driver deve ter todos os IED´s já declarados, e devem estar marcados com a opção Disable setada (em 1). Isto para evitar que a comunicação suba com os parâmetros incorretos.
2 – O driver deve estar também com a opção “Define Parameters Per IED” setada.
3 – No evento AfterStart, deve haver um script que altera os parâmetros de cada IED. Estes parâmetros devem ser escritos via IOKIT. Os parâmetros são estes abaixo, onde %u deve ser trocado pelo índice do IED no driver, começando com 0. (Também é possível ver estes parâmetros no log do 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"
4 – Considerar que os parâmetros ComtradePath e FileTransferRootName são textos, e que se o valor individual (por IED) não for setado, será considerado o valor default que for definido no Dialog. O valor default para as demais propriedades é 0 (FALSO).
5 – Após escrever os parâmetros desejados, devemos habilitar cada IED escrevendo 0 no parâmetro "IEC61850.Device[%u].Disable".
6 – Pedir para o driver subir a comunicação, escrevendo 1 no tag especial “ServerInitialBuild”, este tag cria os Hosts que estiverem habilitados e que ainda não tiverem sido criados.
Exemplo de Script:
‘ Exemplo considerando um array de 8 elementos. Os índices que estiverem vazios são ignorados pelo driver
Dim Arr(8)
Arr(1) = Array(“IEC61850.Device[0].SaveComtrade”,1) ‘ Este IED vai buscar Comtrades
Arr(2) = Array(“IEC61850.Device[1].SaveComtrade”,0) ‘ Este IED não vai buscar Comtrades
Arr(3) = Array(“IEC61850.Device[2].SaveComtrade”,1) ‘ Este IED vai buscar Comtrades
Arr(4) = Array(“IEC61850.Device[2].NameAndIndexFileTransfer”,1) ‘ Este IED vai buscar Comtrades usando o sistema 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 parametros
Driver.Item(“ServerInitialBuild”).WriteEx 1 ‘Supondo a existencia deste tag com o parâmetro Item = ServerInitialBuild, ao escrever 1 ele vai criar a comunicação com todos os IED´s que foram habilitados
7 – Ao parar um driver, estes parâmetros não são salvos, por isso o script AfterStart deve continuar existindo para que em toda partida do driver, os IED´s sejam configurados corretamente.