O espaço de endereços da unidade
Todo ponto que uma unidade publica sob Process.Model.Unit, o tipo e o significado dele, quais pontos são comandos graváveis, e o que um script da Logic pode ler dele.
Toda unidade publica os dados de execução dela como endereços comuns da Logic, sob
Process.<Model>.<Unit>, então dashboards, expressões da Logic, o servidor OPC UA embutido e o
agente os alcançam sem encanamento extra. O ramo é navegado na página Logic, sob "De outras páginas"
(De outras páginas), e em todo seletor de endereço. Renomear um modelo,
uma unidade, um canal ou um campo de metadados substitui os endereços correspondentes e reescreve as
referências textuais vivas; os arquivos gravados mantêm os nomes congelados na hora em que foram
escritos. Os segmentos são os nomes higienizados: uma unidade chamada "Unidade 1" do modelo "Câmara
climática" é endereçada como Process.Camara_climatica.Unidade_1.
| Ramo | O que ele expõe | Gravável |
|---|---|---|
Channels.<Channel> |
O valor vinculado ao vivo de cada canal, tipado como o canal declara. | Um canal gravável (papel Somente escrita ou Leitura e escrita) é um ponto gravável pelo funil de escrita; uma origem que uma execução detém recusa todo outro escritor. |
Procedure.<point> |
O estado da execução, um escalar por ponto (tabela abaixo). | Não. |
Commands.<command> |
Start, Hold, Resume, Stop, Abort e Comment. |
Sim: escrever despacha (tabela abaixo). |
Next.<point> |
A área de preparação que o próximo Iniciar consome. | Apenas os campos de metadados manuais. |
Productivity.Today.<branch> e Productivity.Rolling.<branch> |
A projeção de produtividade da unidade para cada período. | Não. |
Canais
Um ponto de canal lê o valor por trás do vínculo da unidade, projetado no tipo de dado do canal, e
se lê como um vazio quando o canal não tem vínculo ou a origem dele está indisponível. Num script da
Logic, o ponto é uma projeção tipada somente leitura da tag ou da variável vinculada, nunca a tag em
si: Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited,
ValueRounded, as conversões ValueToBool(), ValueToInteger(), ValueToReal(),
ValueToString() e ValueToDateTime(), a qualidade State(), os carimbos SourceTimeStamp() e
ApplicationTimeStamp(), Refresh(), Name e EngineeringUnit. Os membros da cadeia respondem
por um vínculo de tag; um vínculo de variável responde o valor e o carimbo da aplicação.
Procedure
Todo ponto é calculado a partir da execução ao vivo e é lido com qualidade boa; um ponto que não tem nada a dizer se lê como um vazio.
| Ponto | Tipo | Significado |
|---|---|---|
Status |
Texto | Preparing enquanto a unidade está reservada e nenhuma execução existe ainda, Idle enquanto nada a detém e, fora isso, o estado da execução: Running, Held, Saving, Completed, Aborted, Failed. |
Running |
Booleano | Estritamente o estado Em execução; nunca verdadeiro na preparação, na pausa, ao salvar nem na finalização. |
Busy |
Booleano | O intervalo ocupado inteiro: a reserva, Em execução, Pausada, Salvando e o fechamento final do arquivo da execução. |
Verdict |
Texto | OK, NOK, Indeterminate ou None. A evidência julgada continua legível depois de a execução terminar, até a próxima começar. |
Mode |
Texto | O modo da execução ativa, Instant, Temporal ou Controlled; um comando único (amostra, avaliar agora) também informa. Vazio quando ociosa. |
ActiveProcedure |
Texto | O nome da execução ativa ("Procedimento · Unidade"). Vazio quando ociosa. |
SegmentIndex |
Inteiro | O segmento atual do perfil temporizado, começando em 0. Vazio sem um perfil. |
CycleIndex |
Inteiro | O ciclo atual, começando em 0. Vazio quando ociosa. |
CycleCount |
Inteiro | O total de ciclos da execução (1 numa passagem única). Vazio quando ociosa. |
Cycle |
Texto | "2 / 10" numa execução cíclica; um vazio quando a execução não é cíclica, então uma leitura vinculada mostra a marca de vazio em vez de uma passagem única enganosa. |
FailedCycles |
Inteiro | Ciclos julgados NOK até agora. Vazio quando a execução não é cíclica. |
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid |
Inteiro | Os contadores de evidência da avaliação, atualizados atomicamente pelo motor de avaliação. Vazio sem evidência julgada. |
Elapsed |
Número decimal | Segundos desde que a execução começou. Vazio quando ociosa. |
StartedAt |
Data e hora | Quando a execução ativa começou. Vazio quando ociosa. |
Commands
Ler um ponto de comando responde "isto pode executar agora", então um Botão vinculado se desabilita sozinho; escrevê-lo despacha o comando pelo console de execução, registrado em diário com a origem da superfície que escreveu e gravado com a identidade de quem acionou. Um comando é uma chamada de serviço, nunca uma escrita de ponto enfileirada.
| Ponto | Lê verdadeiro quando | Escrever |
|---|---|---|
Start |
A unidade não está ocupada, o runtime aceita operações, o intertravamento está em Sem disparo e há um procedimento preparado. | Inicia o procedimento preparado com os metadados preparados. |
Hold |
Uma execução está Em execução e o procedimento dela é Temporizado. | Congela a janela. |
Resume |
Uma execução está Pausada e o intertravamento está em Sem disparo. | Solta a pausa. |
Stop |
Uma execução está Em execução. | Encerra a execução como Concluída. |
Abort |
Uma execução está Em execução ou Pausada. | Encerra a execução como Abortada. |
Comment |
Nunca: o ponto não tem leitura. | Acrescenta o texto escrito como comentário à execução ativa, ou como nota pós-execução na última execução terminada da unidade, quando ela está ociosa. Uma unidade sem execução nenhuma recusa ("A unidade não tem execução para comentar."), e texto vazio também. |
Todo comando lê falso enquanto a estação está recusando escritas (o runtime parado).
Next
| Ponto | Tipo | Significado |
|---|---|---|
Next.Procedure |
Texto | O nome do procedimento preparado. Somente leitura aqui: preparar é feito no cartão Execução ou com o componente seletor de Procedimento. |
Next.<Field> |
Texto | Um ponto por campo de metadados que o procedimento preparado pergunta; o ramo se remodela quando a unidade é preparada de novo, e um campo de outro procedimento se lê como vazio. Um campo manual (de texto ou numérico) é um ponto de preparação gravável, que é o que um componente Input vinculado a ele escreve. Um campo sequencial é uma previsão somente leitura do identificador que o contador comporia agora; ler nunca o reserva. |
A preparação vale para a estação inteira, é em memória e é transitória: ela zera quando a aplicação inicia e é consumida pelo Iniciar, não limpa por ele.
Productivity
Dois períodos, Today (desde a meia-noite local) e Rolling (a janela declarada no modelo ou na
unidade), cada um com três ramos (Produtividade):
| Ramo | Pontos | Tipo |
|---|---|---|
Summary |
ProductivityPercent, YieldPercent, TypicalElapsedSeconds |
Número decimal; um vazio até o denominador existir. |
Summary |
Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed |
Contagens inteiras. |
Outputs.<key> |
Quantity, RatePerHour |
Número decimal; uma chave por quantidade nomeada, ou por procedimento produtivo quando o modelo não declara quantidade. |
Procedures.<key> |
Quantity, RatePerHour e os pontos de resumo acima |
Como acima, por procedimento produtivo. |
As chaves derivam do id estável e da unidade de saída congelada, não do nome de exibição, então uma renomeação nunca move uma expressão. Todo ponto é somente leitura, e a projeção é lida do índice de históricos, nunca dos arquivos de execução.
O que um script pode fazer
Scripts de variável, de alarme e de ação da Logic podem ler tudo o que está aqui: valores de canal, estado da execução, prontidão de comando, valores preparados e pontos de produtividade. Eles não podem despachar um comando, escrever um campo de preparação nem acrescentar um comentário; essas escritas pertencem aos consumidores explícitos de comando: os painéis de operação, os Botões, os Inputs e o seletor de Procedimento de um dashboard, a automação da unidade e as ferramentas do agente.