Namespaces de tempo de execução
Todos os componentes do projeto, tais com os tags, alarmes, dispositivos têm associados classes e objetos dot NET com propriedades e métodos acessíveis pelo sistema em tempo de execução. Veja nesta secção.
Objetos do Projeto em Tempo de Execução
O Action.NET tem uma estrutura apoiada em programação Orientada a Objetos, como já como explicado no item "Modelo de Objetos e Namespaces" . A documentação. NET para os espaços de nomes, seguindo o layout do MSDN, é acessível em http://www.spinengenharia.com.br/help/an-2016/runtime/index.html .
Classes do Microsoft .NET Framework
O Action.NET tem acesso a todos os recursos do Microsoft dotNET Framework, como uma aplicação de código gerenciado puro. Para obter informações sobre cas classes C # e VB.NET refira-se a Microsoft MSDN. Framework 4 documentação on-line Net em http:// msdn.microsoft.com/en-us/library/gg145045(v=vs.100).aspx .
Script Toolkit
Ao criar código de scripts dentro do Action.NET, pode-se utilizar um conjunto de métodos utilitários públicos, a que chamamos Script Toolkit. Esses métodos estão disponíveis no TK namespace a partir de qualquer código dentro do projeto. Os métodos disponíveis são definidos em http://www.spinengenharia.com.br/help/an-2016/runtime/index.html
Teclados personalizados em Telas
Ao usar painéis touchscreen, você pode personalizar um teclado já fornecido no Action.NET sobre tela. Ou pode fazer uma tela-Teclado própria.. Contate-nos para exemplos de código fonte sobre a implementação de teclados personalizados.
Toolkit de controles WPF
Você pode adicionar qualquer controle WPF diretamente em telas do Action.NET sem necessidade de quaisquer ferramentas adicionais. Mas, se você quer ter um diálogo de configuração personalizada, acessando os Tags na aplicação, você pode usar as interfaces do WK (Toolkit de controles WPF). Contate-nos para obter exemplos sobre a criação de controles WPF, ou se você precisar de ajuda para encapsular controles Active-X ou dot NET para usá-los dentro de telas Action.NET.
API de acesso a dados COM
Se você precisar acessar o banco de dados em tempo real a partir de aplicações externas, usando qualquer linguagem de programação ou mesmo código JavaScript em navegadores web, você pode usar a API de acesso a dados COM, descrita em http:// www.spinengenharia.com.br/help/an-2016/runtime/index.html.
Assistente de Importação e Toolkit de drivers
Action.NET tem extensões para permitir que você crie seus próprios "drivers" de comunicação com dispositivos (protocolos de comunicação), usando o Toolkit de drivers, bem como Ferramentas de importação personalizadas e componentes "add-in". Contate SPIN se você precisar de informações sobre essas extensões adicionais.
Namespace Tag
Todas as variáveis em tempo real do projeto, ou Tags de Projeto, como são normalmente chamadas em sistemas SCADA, estão disponíveis neste Namespace. Os tags são criados na interface Edit >Tags> Objects. Para cada tag é definido um tipo para o seu valor. Os tipos disponíveis são mostrados em "Tipos de Tags pré-definidos" na página 94.
A sintaxe tag.<TagName> está disponível para todos os tipos de tag. Para saber o tipo de um tag em particular é possível acessar propriedades adicionais e métodos usando a sintaxe:
Tag.<TagName>.<PropertyName>. O elemento TagObj mostra propriedades e métodos disponíveis para todos os tipos de tag. Por outro lado, Analog mostra as propriedades comuns a todos tags Analógicos (refere-se ao tipo de tag para propriedades específicas). São permitidos os tipos criados pelo usuário (templates) em combinação com os tipos nativos pré-definidos.
ClassTagObj
Classe de base para todos os objetos tag.
ForceValue
Força a propriedade de valor do objeto ser alterada para o valor dado como parâmetro. Exemplo:
@Tag.AnalogInt1.ForceValue(10)(VB) @Tag.AnalogInt1.ForceValue(10);(C#)
Tostring
Retorna uma string que representa o objeto atual. Exemplo:
Dimsas string(VB) @Tag.AnalogInt1= 33
s=@Tag.AnalogInt1.Tostring();
strings;(C#) @Tag.AnalogInt1= 33;
s=@Tag.AnalogInt1.Tostring();
Neste exemplo, s será avaliado como "33".
Alarm Disable
Retorna ou altera o estado de alarme desabilitado do Tag. Se 0 (zero), a propriedade AlarmDisable não fica ativa. No caso de valores diferentes de 0 (zero), a propriedade
AlarmDisable fica ativa. Quando a propriedade AlarmDisable não está ativa, todos os alarmes associados ao Tag atual não são tratados. Exemplo:
@Tag.AnalogInt1.AlarmDisable | = | 1(VB) |
@Tag.AnalogInt1.AlarmDisable | = | 1;(C#) |
Neste exemplo, os alarmes associados ao objeto AnalogInt1 não serão tratados.
Alarm State
Retorna ou alterao estado de alarme do Tag. Se 0 (zero): fora de estado de alarme. No caso de valores diferentes de 0 (zero): em estado de alarme. Exemplo:
Dim alarmStateas Integer(VB) alarmState= @Tag.AnalogInt1.AlarmState intalarmState;(C#)
alarmState=@Tag.AnalogInt1.AlarmState;
GetName
Fornece o nome do Tag. É ideal para definir o "target" de um tag de referência.Exemplo:
@Tag.ReferenceTagName.Link=@Tag.TagName.GetName()(VB) @Tag.ReferenceTagName.Link= @Tag.TagName.GetName();(C#)
Changed
Retorna ou altera o estado de "houve alteração" do valor do Tag. True: valor foi alterado. False: valor não foi alterado.
Domain
Retorna ou altera a propriedade de Domínio do Tag. Se 0 (zero): servidor. Se 1: cliente.
Units
Retorna ou altera as unidades de engenharia usadas para quantificar o Tag, como definido na sua criação.
Format
Retorna ou altera o formato do valor do Tag para fins de exibição.
Historian
Fornece o objeto HistoryItem onde o Tag atual está configurado como TagName. Se são permitidos tags duplicados nas tabelas de Historiadores, então o Historiador apontará para o último objeto HistoryItem onde o Tag atual está configurado como TagName. Exemplo:
@Tag.AnalogInt.Historian.Deadband=5(VB) @Tag.AnalogInt.Historian.Deadband= 5;(C#)
Locked
Retorna ou altera a condição de "locked" do Tag. Quando um Tag está "locked", o valor usado para o processamento origina-se da propriedade LockValue e não da propriedade Value.
Se 0 (zero): desbloqueado. No caso de valores diferentes de 0 (zero): bloqueado. Exemplo:
@Tag.AnalogDouble1.Locked=1(VB) @Tag.AnalogDouble1.Locked= 1;(C#)
Quality
Retorna ou altera o estado de qualidade do Tag.
Para a qualidade são utilizados os códigos definidos pelo padrão OPC-DA. Os dois códigos de qualidade OPC mais comuns são:
192 ou hex C0 é de boa qualidade.
0 (decimal ou hexadecimal) é de má qualidade.
Diversas qualidades no padrões do protocolo OPC são mostradas na tabela a seguir:
Para mais informações, consulte as especificações do OPC. (Nota: nem todos os servidores suportarão todos esses códigos). Exemplo:
@Tag.Digital1.Quality | = | 192(VB) |
@Tag.Digital1.Quality | = | 192;(C#) |
Retentive
Retorna ou altera a propriedade Retentiva do Tag. Esta propriedade especifica se o Valor do Tag deve ser salva quando a aplicação for encerrada. O valor salvo é então usado como o valor de inicialização na execução da próxima aplicação. Se 0 (zero): não retentivo. No caso de valores diferentes de 0 (zero): retentivo. Exemplo:
@Tag.AnalogInt1.Retentive=1(VB) @Tag.AnalogInt1.Retentive= 1;(C#)
TimeStamp
Retorna ou altera a propriedade Timestamp do tag, isto é a data e hora em que ocorreu a última alteração no valor ou qualidade do tag. Exemplo:
Dim dtAsDateTimeOffset(VB) dt = @Tag.AnalogInt1.Timestamp
DateTimeOffsetdt;(C#)
dt=@Tag.AnalogInt1.Timestamp;
ValueType
Retorna a propriedade ValueType do Tag. Para cada tipo de tag é definido um numero int que representa este tipo. Os numeros acima de 100 são reservados para os UserTypes (templates). Exemplo:
Dim doubleTypeAs Integer(VB) doubleType= @Tag.AnalogInt1.ValueType
intdoubleType;(C#)
doubleType=@Tag.AnalogInt1.ValueType;
Visibility
Retorna ou altera o estado de visibilidade do Tag. Se 0 (zero): privado, 1: protegido e 2: público. Para o significado destes valores veja em "Criando e Editando Tags" na página 91. Exemplo:
Dim visibilityStateas Integer(VB) visibilityState= @Tag.AnalogInt1.Visibility
intvisibilityState;(C#)
visibilityState=@Tag.AnalogInt1.Visibility;
Class Digital
Propriedades do Runtime para Classe Digital. Valores possíveis: 0 = false e 1 = true. Tipos equivalentes no script:
•C#: int32
•VB: int
•.NET: int
Toogle
Alterna a propriedade de valor do Tag entre 0 (zero) e 1. Se o valor atual é 0 (zero), então o novo valor é 1. Se o valor atual é 1, então o novo valor é 0 (zero). Exemplo:
DimnewValueasByte(VB)
newValue=@Tag.Digital1.ToggleValue()
bytenewValue;(C#)
newValue=@Tag.Digital1.ToggleValue();
LockValue
Retorna ou altera a propriedade LockedValue do Tag. Quando um Tag está bloqueado, o valor usado para o processamento origina-se da propriedade LockValue e não da propriedade Valor. É um int32 Exemplo:
@Tag.Digital1.LockValue=1(VB) @Tag.Digital1.LockValue= 1;(C#)
State
Fornece a propriedade de Estado do Tag digital. Valor = 0 corresponde ao estado = False (VB) ou estado = false (C#). Valor = 1 corresponde ao estado = True (VB) ou estado= true (C#).
Value
Retorna ou altera a propriedade de Valor do Tag digital. Valores válidos: 0 (zero) ou 1. Exemplo:
@Tag.Digital1.Value=1(VB) @Tag.Digital1.Value= 1;(C#).
Class Analog
Propriedades do Runtime para Analog Class.
Bit0, Bit1,...Bit31
Retorna ou altera o estado do bit de ordem 0,1,...31 do valor de um um AnalogInt.
Hi, HIHi, Lo LoLo
Retornam ou alteram o valor do limite atual Hi, HiHI, LO ,LO LO de um tag de tipo Analog, qualquer.
Class Analog<T>
Propriedades de Runtime para Classe Analog <T>. Estas Classes derivadas da Analog são defibnidas para cada um dos tipos de valor que podem ser utilizados: AnalogInt, AnalogDecimal, AnalogDouble, AnalogLong.
Deadband
Retorna ou altera a banda morta do Tag analógico. Exemplo:
@Tag.AnalogDouble1.Deadband=5(VB) @Tag.AnalogDouble1.Deadband= 5;(C#)
LockValue
Retorna ou altera o valor de bloqueio do Tag analógico. Exemplo:
@Tag.AnalogDouble1.LockValue=50(VB) @Tag.AnalogDouble1.LockValue= 50;(C#)
Analog.Min e Analog.Max
Retorna ou altera o valor mínimo ou máximo do Tag analógico. Exemplo:
@Tag.AnalogDouble1.Min = 120(VB) @Tag.AnalogDouble2.Min = 120;(C#)
@Tag.AnalogDouble3.Max = 120(VB) @Tag.AnalogDouble4.Max = 120;(C#)
StartValue
Retorna ou altera o valor inicial do tag analógico, que pode ser definido em tempo de configuração no TManager. Exemplo:
@Tag.AnalogDouble1.StartValue=50(VB) @Tag.AnalogDouble1.StartValue= 50;(C#)
State
Retorna ou altera o estado do Tag analógico. Se o valor é igual a 0 (zero), o estado é FALSE. Se o valor é diferente de 0 (zero), o estado é TRUE. Exemplo:
Dim state as Boolean(VB) state = @Tag.AnalogInt1.State bool state;(C#)
state=@Tag.AnalogInt1.State; @Tag.AnalogInt1.Value=55(VB)ou @Tag.AnalogInt1=55 @Tag.AnalogInt1.Value=55;(C#) ou @Tag.AnalogInt1=55;
Class AnalogInt
Propriedades do Runtime para AnalogInt Class.
Class AnalogDecimal
Propriedades do Runtime para Classe Decimal Analógica.
Class AnalogDouble
Propriedades do Runtime para Classe AnalogDouble.
Class Text
Propriedades do runtime para classe texto.
LockValue
Retorna ou altera o valor de bloqueio do tag de texto. Exemplo:
@Tag.Text1.LockValue="Text to display"(VB) @Tag.Text1.LockValue="Text to display";(C#)
Value
Retorna ou altera o valor do tag de texto. Exemplo:
@Tag.Text1.Value ="This text"(VB)ou @Tag.Text1="This text" @Tag.Text1.Value ="This text";(C#) ou @Tag.Text1="This text";
Class TDataTime
Propriedades do Runtime para ClasseTDataTime.
LockValue
Retorna ou altera o valor de bloqueio do Tag de TDataTime. Exemplo:
@tag.dataTime1.LockValue = DateTime.Now;
Value
Retorna ou altera o valor do Tag de TDataTime. Exemplo:
@tag.dataTime1.Value = DateTime.Now;
Class Counter
Define propriedades do Runtime para Classe Counter.
Event
Fornece o evento do Tag Counter. Valores possíveis: "Change", "ChangeUp" e "ChangeDown". Exemplo:
Dim counter1Event asstring(VB) counter1Event=@Tag.Counter1.Event stringcounter1Event;(C#) counter1Event= @Tag.Counter1.Event;
Model
Fornece o modelo do Tag Counter. Valores possíveis: "Up" e "Down". Exemplo:
Dim counter1Model asstring(VB) counter1Model=@Tag.Counter1.Model stringcounter1Model;(C#) counter1Model= @Tag.Counter1.Model;
Trigger
Retorna ou altera o disparo do Tag Counter. Exemplo:
@Tag.Counter1.Trigger | = | "Tag.Digital1"(VB) |
@Tag.Counter1.Trigger | = | "Tag.Digital1";(C#) |
Class Timer
Propriedades do Runtime para Classe Timer.
Interval
Retorna ou altera o intervalo do Tag Timer. Trata-se de uma string que representa o intervalo de tempo exibido no formato "hh:mm:ss.mmm". Exemplo:
@Tag.Timer1.Interval="0:0:10"(VB) @Tag.Timer1.Interval= "0:0:10";(C#)
Model
Fornece o modelo do Tag Timer. Valores possíveis: "SquareWave", "Pulse" e "Comparer". Exemplo:
Dim timerModelas string(VB) timerModel=@Tag.Timer1.Model stringtimerModel;(C#) timerModel= @Tag.Timer1.Model;
Class Reference
Propriedades de Runtime para a Classe Reference.
Link
Retorna ou altera o link do Tag Reference. Exemplo:
@Tag.Reference1.Link=@Tag.TagName.GetName()(VB) @Tag.Reference1.Link= @Tag.TagName.GetName();(C#)
Class TDataTable
Propriedades do Runtime para Classe TDataTable.
Initialize
Define uma nova referência ao objeto Tabela. Este método é usado somente internamente.
Table
Fornece uma cópia do objeto DataTable. Exemplo:
DimdtasNewTDataTable(parent,id)(VB)
Dim table As DataTable table =dt.Table
TDataTable dt=newTDataTable(parent, id);(C#) DataTabletable;
table=dt.Table;
OverwriteOnUpdate
Retorna ou altera o operando OverwriteOnUpdate. Esta propriedade é usada somente internamente.
Update
Atualiza o objeto Tabela. Este método é usado somente internamente. Parâmetros: DataTable table
Classe UserType
Propriedades do Runtime para Classe UserType.