Bloco de Função TIMESWITCH_ADD

O bloco de função TIMESWITCH_ADD cria ou modifica um evento em um relógio programável.

Aviso: O relógio programável deve estar armazenado no mesmo elemento.

Dica: Para modificar um evento, todos os valores podem ser lidos usando o bloco de função TIMESWITCH_GET.

Entrada ADD

A entrada cria ou modifica um evento no calendário em uma borda positiva. Se a entrada for sempre verdadeira, o evento será recriado assim que for excluído. Alterações de um evento não são reconhecidas.

Importante: A criação e exclusão simultânea devem ser evitadas, pois isso pode sobrecarregar muito a SSD.

Entrada TIMESWITCH

Aqui, o banco de dados do relógio programável é armazenado como uma string. Este deve existir como bloco de função TIMESWITCH. Observe também a ordem do programa para que este bloco de função seja inicializado corretamente.

Entrada ID

Define o ID como uma string do evento. Isso permite uma identificação única e evita que outros eventos gerem conflitos. O ID deve conter apenas letras e números. A diferenciação entre maiúsculas e minúsculas é considerada.

Aviso: O ID deve ser definido de forma única para todos os calendários. Um evento pode ser copiado pelo usuário na visualização para outro calendário.

Entrada TITLE

O título do evento como uma string. Este não deve conter quebras de linha. Se a entrada ADD for verdadeira, toda alteração será escrita imediatamente no calendário.

Entrada DT_START

O ponto de início do evento no formato DT#. Se a entrada ADD for verdadeira, toda alteração será escrita imediatamente no calendário.

Dica: Os tempos de comutação podem ser calculados usando os blocos de função MKTIME, STR2DT e EASTER_DATE.

Entrada DT_END

O ponto de término do evento no formato DT#. Se a entrada ADD for verdadeira, toda alteração será escrita imediatamente no calendário. Se o ponto de término for menor que DT_START, DT_END será definido como o ponto de início.

Se a entrada não for definida, o mesmo valor que DT_START será assumido e um pulso será gerado no evento.

Entrada DIS

A entrada desativa o evento no calendário. Se a entrada ADD for verdadeira, toda alteração será escrita imediatamente no calendário.

Entrada REPEAT

Na entrada, as repetições podem ser definidas como uma string. Estas podem ser geradas com as funções auxiliares REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY e REPEAT_HOURLY ou declaradas como descrito.

A string pode ser construída separada por dois pontos da seguinte forma:

w:2:4:135

O primeiro dígito (minúsculo) define o intervalo de tempo da repetição:

Abreviação Intervalo de Tempo
h Horário
d Diário
w Semanal
m Mensal
y Anual

O segundo dígito define o intervalo como um inteiro da repetição. O valor mínimo é 1.

O terceiro dígito define o fim da repetição. Aqui, três formatos diferentes podem ser definidos:

  • Sem valor: A repetição é infinita.
  • Como um inteiro simples: A repetição termina após o número definido de repetições.
  • Como uma data YYYY-MM-DD: A repetição é encerrada antes da data.

O quarto dígito define os dias da semana em que a repetição ocorre. Este dígito é usado apenas na definição de repetições semanais ou mensais.

Repetições Semanais

Verifica se o dia da semana atual está presente no número. Vários dias podem ser especificados um após o outro. Como por exemplo, 135 para segunda-feira, quarta-feira e sexta-feira. Se nenhum valor for especificado (0 ou uma string vazia), a repetição não ocorrerá em nenhum dia.

Número Dia da Semana
1 Segunda-feira
2 Terça-feira
3 Quarta-feira
4 Quinta-feira
5 Sexta-feira
6 Sábado
7 Domingo
Repetições Mensais

Define em qual dia da semana o evento deve ser repetido. Números de -1 a 4 são suportados. 0 ou nenhuma declaração repete mensalmente no mesmo dia, independentemente do dia da semana. O dia da semana é assumido a partir da primeira data.

Valor Descrição
-1 Repete no último dia da semana.
0 Repete no mesmo dia. (Padrão)
1 Repete no primeiro dia da semana.
2 Repete no segundo dia da semana.
3 Repete no terceiro dia da semana.
4 Repete no quarto dia da semana.

Saída ERR

Em caso de erro, a saída é definida como verdadeira. Isso pode ocorrer se o calendário não existir ou se o ID não for definido ou inválido.