Receitas
Os setpoints que uma execução escreve: um conjunto instantâneo aplicado no Início, ou um perfil temporizado de Degrau, Rampa e Patamar, cada um com o bloco de finalização que toda execução escreve ao terminar.
Uma receita escreve os canais graváveis do modelo. Uma receita instantânea é um conjunto de setpoints aplicado uma vez, quando uma execução começa; uma receita temporizada é um perfil ordenado de segmentos de Degrau, Rampa e Patamar, conduzido pelo relógio da própria execução. As duas podem terminar num bloco de finalização, o estado seguro escrito sempre que a execução termina. Toda escrita passa pelo único funil de escrita registrado em diário e é gravada no arquivo da execução como executada. As receitas vivem em Process > Modelos > modelo > Preparação > Receitas e exigem a permissão Editar receitas e avaliações.
A pasta Receitas
Selecionar a linha Receitas abre a página da pasta ("Valores de setpoint que um procedimento aplica quando uma execução começa, escritos pelo funil único e registrados como foram executados.") com um cartão por receita, por nome; clicar num cartão o abre, e o X o remove. Sem nenhuma, a página diz "Nenhuma receita ainda. Adicione uma."
| Comando | O que faz | Fica cinza quando (situação) | Não é desenhado quando (papel) |
|---|---|---|---|
| Receita (barra de detalhe, com a pasta selecionada; clique direito Adicionar receita) | Acrescenta Receita <n>: Instantânea, Em caso de falha Pausar, sem setpoints. A linha entra no grupo dela, destacada e rolada até ficar à vista ali; o cartão dela a abre. |
Alguma unidade tem uma execução, ou o runtime está parado. | Sem Editar receitas e avaliações. |
A página da receita
O cabeçalho carrega o nome, a frase "Valores de setpoint que um procedimento aplica quando uma execução começa, escritos pelo funil único e registrados como foram executados." e uma pílula com o tipo. Todo campo salva sozinho, e toda edição redesenha a prévia do perfil.
Definição
| Campo | O que é | Valores / padrão | Efeito |
|---|---|---|---|
| Nome | Como a receita se chama na árvore, no seletor de Receita de um procedimento e no seletor Aplicar receita de um painel. | Texto livre; Receita <n> na criação. |
Renomeia a linha. |
| Tipo | A forma da receita. | Instantânea (padrão): um conjunto de setpoints aplicado uma vez no Início. Temporizada: um perfil ordenado de Degrau / Rampa / Patamar no relógio próprio dela. | Troca a página entre as duas formas abaixo. Os setpoints e os segmentos já digitados são mantidos; só a forma que o tipo lê é desenhada. O bloco guardado não é aplicado nem reservado: uma execução escreve e trava apenas o que o tipo em vigor escreve. Um procedimento admite apenas uma receita cujo tipo caiba no modo dele. |
| Em caso de falha (só na temporizada) | O que o perfil faz quando uma escrita falha ou um valor de que ele precisa está ilegível. | Pausar (padrão), Continuar, Abortar; veja a tabela sob a forma temporizada. | A regra da receita; cada segmento pode sobrepô-la. |
| Observações | Texto livre para quem lê a receita. | Várias linhas; vazio por padrão. | Nada mais. |
Valores
Setpoints e alvos são digitados como texto e convertidos para o tipo do canal quando são aplicados, na cultura invariante:
| Tipo do canal | Literais aceitos |
|---|---|
| Booleano | true, false, 1, 0 |
| Inteiro | Um número inteiro, com . nunca usado como separador |
| Número decimal | Um número com . como separador decimal (12.5, 1e-3); numa estação que escreve decimais com vírgula o campo também aceita 12,5 e o guarda como 12.5 |
| Texto | Qualquer texto, como digitado |
| Data e hora | Uma data e hora de ida e volta (2026-09-02T14:30:00+00:00) |
Um literal que não cabe no tipo do canal nunca é escrito: a escrita é gravada como falha no arquivo da execução e tratada pela regra de falha. Toda grade de linhas de canal desta página oferece a uma linha apenas os canais graváveis que as outras linhas da mesma grade não tomaram, então um canal é escrito uma vez por conjunto e uma vez por segmento; quando todo canal gravável está tomado, o botão que acrescenta uma linha fica cinza com "Todo canal gravável já tem um setpoint aqui." (ou "… um alvo neste segmento."), e sem nenhum canal gravável, com "Este modelo ainda não tem canais graváveis."
Uma receita instantânea
Dois cartões independentes, cada um encabeçado por um botão Valor de setpoint que acrescenta uma linha no
primeiro canal gravável livre, com o valor 0:
| Cartão | O que ele escreve |
|---|---|
| Setpoints (aplicados na partida) | Escritos uma vez, no Início, antes de a execução gravar qualquer coisa. |
| Finalização (estado seguro) | "Escrita sempre que a execução termina: conclusão, parada ou aborto." |
As duas grades compartilham as mesmas colunas:
| Coluna | O que é | Valores |
|---|---|---|
| Canal | O canal gravável escrito, como Ch<número> · <nome>. |
Canais Somente escrita e Leitura e escrita ainda não tomados nesta grade. |
| Valor | O literal escrito. | Veja Valores. |
| Ação de linha | Remover pergunta "Excluir setpoint": o nome do canal, "Isso remove o setpoint da receita." |
Uma receita temporizada
A forma temporizada desenha primeiro o perfil, depois os segmentos ao lado daquele escolhido neles, e depois o bloco de finalização.
Perfil temporizado
O gráfico é a própria receita: uma série por canal numérico que os segmentos miram, rotulada
<nome> [<unidade>], desenhada como a curva por partes que os segmentos constroem (um Degrau salta
e se mantém, uma Rampa inclina a partir do valor que chega nela, um Patamar ou um segmento sem alvo
se mantém), sobre o tempo acumulado em segundos. Um alvo num canal que não é numérico não é
desenhado. O gráfico carrega a barra de ferramentas que todo gráfico tem e pode ser aberto numa
janela própria (veja Gráficos); a página do procedimento desenha o mesmo perfil sob
o estágio Aplicar dela.
Segmentos
A lista é encabeçada por Segmentos, e o botão Segmento dela acrescenta um Degrau de 60000 ms sem alvos e o escolhe. Clicar numa linha a abre na coluna Alvos do segmento; sem nada escolhido, a coluna diz "Selecione um segmento para editá-lo inteiro num lugar só, com os alvos até os quais ele conduz."
| Coluna | O que é | Valores / padrão |
|---|---|---|
| Tipo | A forma que o segmento põe no perfil; cada opção carrega aquela forma ao lado do nome dela. | Degrau (padrão), Rampa, Patamar. |
| Duração (ms) | Quanto tempo a receita fica no segmento antes de passar para o próximo. | Um número de milissegundos; 60000 na criação. O campo não aceita número negativo: a entrada é recusada, a nota diz isso embaixo do campo, e o valor anterior volta. |
| Contagem do tempo | Quando este segmento começa a contar o próprio tempo: depois de o equipamento ter aceitado os setpoints, ou no instante em que eles são entregues. | Aguardar chegar ao equipamento · Enviar e seguir. Um Degrau nasce aguardando, uma Rampa nasce enviando; mudar o Tipo do segmento repõe o valor de nascimento do tipo novo, e o que for escolhido depois disso vale. Um Patamar não escreve nada, então a célula dele fica vazia e não há o que escolher. |
| Em caso de falha | Se uma falha aqui segue a regra da receita ou uma própria deste segmento. | (receita) (padrão: herdar), Pausar, Continuar, Abortar. |
| Alvos | Até onde o segmento conduz, numa linha: <canal> = <valor>, …. Um Patamar não conduz nada, então ele se lê vazio. |
Somente leitura; editado na coluna. |
| Ação de linha | Remover pergunta "Excluir segmento": Segmento <n> · <Tipo>, "Isso remove o segmento e os alvos dele da receita." |
| Tipo de segmento | O que ele faz |
|---|---|
| Degrau | Escreve os alvos dele no início do segmento e depois permanece pela duração (um Degrau pode permanecer 0 ms). |
| Rampa | Conduz cada canal mirado linearmente do último valor comandado dele (ou do valor atual dele, quando nada foi comandado ainda) até o alvo, ao longo da duração. A rampa leva o canal entre duas leituras, então o seletor de alvo dela só oferece os canais que guardam número: um canal de texto ou de data e hora fica na lista sem poder ser escolhido, dizendo que um degrau escreve nele uma vez só. |
| Patamar | Segura os últimos valores comandados pela duração; não escreve nada e não carrega alvos. |
A coluna, encabeçada por Segmento <n> · <Tipo>, repete os mesmos campos com uma legenda e o efeito do
valor em vigor sob cada um:
| Campo | Legenda | Efeito |
|---|---|---|
| Tipo | A forma ao lado de cada opção. | |
| Duração (ms) | "Quanto tempo a receita fica neste segmento antes de passar para o próximo." | "Roda por 1 min 30 s." ("tempo nenhum" para 0). |
| Contagem do tempo | "Quando este segmento começa a contar o próprio tempo." | "O tempo só corre depois de os setpoints chegarem ao equipamento; uma recusa ou um tempo esgotado aciona a regra de falha." ou "Envia e conta o tempo; o que o equipamento responde é apenas registrado." |
| Em caso de falha | "Se uma falha aqui é tratada como a receita manda, ou de outro jeito que só este segmento pede." | "Segue a receita: Pausar." ou "Este segmento passa por cima da receita: Abortar." |
A contagem do tempo é uma propriedade do segmento e de nada acima dele: não existe campo válido para a receita inteira, porque um perfil cujos segmentos contam de jeitos diferentes é um perfil legítimo, e uma chave só sobre tudo seria apenas um segundo lugar dizendo a mesma coisa. Também não é um ajuste de falha. O que ela decide é o relógio; o que uma falha faz é a regra Em caso de falha, abaixo. O campo nem chega a ser desenhado num Patamar.
Sob eles, ALVOS guarda os alvos do segmento, com um botão Alvo no cabeçalho da coluna que
acrescenta uma linha no primeiro canal gravável que o segmento ainda não conduz, em 0. Num Patamar
a grade é substituída pela frase "Um patamar mantém os valores que o perfil já alcançou, então ele
não conduz alvo nenhum próprio." e o botão fica cinza, dizendo "Um patamar mantém os valores já alcançados.
Mude o tipo para conduzir um alvo aqui."; os alvos que um Patamar carrega de um tipo anterior
continuam guardados e são ignorados pela execução, pela prévia do perfil e pela folha de percurso do
mesmo jeito:
| Coluna | O que é |
|---|---|
| Canal | O canal gravável conduzido, oferecido apenas entre os canais que os outros alvos deste segmento não tomaram. |
| Alvo | O literal escrito (Degrau) ou alcançado (Rampa). |
| Ação de linha | Remover pergunta "Excluir alvo": o nome do canal, "Isso remove o alvo do segmento." |
Em caso de falha
A regra de falha se aplica a uma receita temporizada quando uma escrita é recusada ou um valor de que ela precisa está ilegível:
| Regra | O que a execução faz |
|---|---|
| Pausar | Congela o perfil no último setpoint e espera o operador Retomar ou Abortar. O datalog continua gravando. |
| Continuar | Grava a falha como executada e segue em frente; o canal que falhou é pulado pelo resto do segmento. |
| Abortar | Escreve o bloco de finalização e encerra a execução como abortada. |
A regra responde por uma falha de que a receita fica sabendo, e o que a receita sabe depende de ela ter ficado ou não para ouvir a resposta. Um problema que ela vê antes de qualquer coisa sair é conhecimento nos dois modos; uma recusa ou um silêncio do equipamento é conhecimento só onde o segmento esperou por ele:
| O que a receita fica sabendo, e quando | Aguardar chegar ao equipamento | Enviar e seguir |
|---|---|---|
| Antes de enviar: o canal não está vinculado, o valor não cabe no tipo do canal, a tag não está no runtime, outra execução segura a tag, o dispositivo já é sabido estar desconectado | A regra se aplica. | A regra se aplica do mesmo jeito: a receita soube antes de soltar. |
| O equipamento recusa o valor no fio | A regra se aplica. | Aqui não é falha: gravado como executado com o motivo, e vai para o diário. |
| O equipamento não responde a tempo | A regra se aplica. | Aqui não é falha: gravado. |
| Um setpoint que uma escrita mais nova no mesmo alvo ultrapassou antes de ele ser enviado | Não é falha. | Não é falha. |
Um setpoint ultrapassado nunca é falha em nenhum dos modos: o valor mais novo daquele alvo é o que o equipamento recebe, e é ele que conta. Uma rampa funciona assim de propósito, cada passo substituindo o passo anterior que ainda não saiu da fila do dispositivo.
Finalização (estado seguro)
O mesmo cartão da receita instantânea, "Escrita sempre que a execução termina: conclusão, parada ou aborto.", com o botão Valor de setpoint e a grade próprios dele.
Onde uma receita é usada
| Superfície | O que ela faz com a receita |
|---|---|
| O estágio Aplicar de um procedimento | O seletor oferece toda receita do modelo; uma receita cujo tipo não cabe no modo do procedimento é listada como "<name> (incompatível)", desabilitada, com o motivo na dica. Um procedimento Instantâneo ou Controlado aceita uma receita instantânea ou nenhuma; um Temporizado aceita uma receita temporizada ou nenhuma, e o perfil dela precisa caber dentro da janela. A frase do estágio diz o que a escolha escreve: "Escreve 4 setpoints na partida.", "Escreve 4 setpoints na partida e 2 setpoints na saída.", "Conduz 3 segmentos ao longo de 2 min 30 s e escreve 2 setpoints na saída.", ou "Nenhum setpoint é escrito." Veja Procedimentos. |
| O cartão Comandos avulsos de um painel | Aplicar receita escreve os setpoints de uma receita instantânea uma vez, fora de qualquer execução, pelo funil registrado em diário e sob uma trava de vida curta; nenhum arquivo de execução é criado, e o diário é o registro. Só receitas instantâneas são oferecidas. Veja Painéis. |
O que uma execução faz com ela
No Início, a execução toma posse de toda origem que a receita escreve, pela duração inteira dela, então um Início cuja receita escreve uma origem que outra execução detém é recusado pelo nome, e toda escrita vinda de outro lugar (um campo de dashboard, um script, um cliente OPC UA) nessas origens é recusada enquanto a execução as detém. Um conjunto instantâneo é escrito uma vez, no Início; um perfil temporizado é percorrido segmento a segmento no relógio da execução, e um procedimento Temporizado sem receita ainda ganha esse relógio, para que todo membro da janela comece, se repita e termine junto. Pausar congela o relógio e Retomar o solta; o datalog continua gravando durante uma pausa. Toda escrita vai para o diário com a execução como origem e é gravada no arquivo da execução como executada, então quem lê depois vê o que foi realmente escrito e quando.
Um segmento, o conjunto instantâneo e o bloco de finalização entregam todos os setpoints deles de uma vez, e cada um segue dali para a fila do próprio dispositivo. Uma estação cujos quatro canais ficam em quatro dispositivos paga por isso o dispositivo mais lento uma vez, e não a soma dos quatro, e a própria Lógica não espera nenhum deles.
O que o segmento faz em seguida é o que a Contagem do tempo decide. Em Aguardar chegar ao equipamento, o relógio do próprio segmento não começa enquanto cada setpoint não tiver sido aceito pelo equipamento dele: enquanto isso acontece, a unidade se lê "Aguardando os setpoints chegarem ao equipamento" na parede da Operação, a duração do segmento ainda não começou a correr, e o datalog grava o tempo todo. Em Enviar e seguir, o relógio começa no instante em que os setpoints são entregues, e as respostas que chegam depois são gravadas e nada mais.
A receita instantânea no Início e o bloco de finalização sempre aguardam, sem campo e sem escolha: uma execução não pode começar antes de o estado inicial dela ser real, e não pode ser dada por encerrada antes de o estado seguro dela ser. As recusas deles são gravadas como executadas e, como sempre, nunca abortam a execução.
O bloco de finalização é escrito sempre que a execução termina: conclusão, Parar ou Abortar. Ele não é escrito quando a própria aplicação é fechada no meio da execução: a execução não está terminando, e ela é retomada pausada no segmento e no ciclo persistidos dela, na inicialização seguinte.
Remover receita
Remover receita fica no grupo de perigo da barra de detalhe com a receita selecionada, no menu de clique direito dela, e como o X no cartão da página da pasta. Ele pergunta antes ("Excluir receita", "Isso remove a receita do modelo."). Todo procedimento que a aplicava esvazia a referência de Receita dele e vira uma execução sem receita. Ele exige Editar receitas e avaliações e fica cinza sob a trava de engenharia e o runtime parado.
O que uma receita não faz
- Ela não lê nada e não julga nada: limites são uma avaliação.
- Ela não escreve valores por unidade. Toda unidade recebe os mesmos literais nas origens vinculadas dela.
- Ela nunca repete uma escrita recusada; a regra de falha é a resposta inteira.
- Uma receita temporizada não pode ser disparada como comando único; só um procedimento roda um perfil.
- A prévia do perfil desenha apenas canais numéricos; um alvo Booleano ou Texto é escrito, mas nunca desenhado.