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.