
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.
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.
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.
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.
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.
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.
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.
A entrada desativa o evento no calendário. Se a entrada ADD for verdadeira, toda alteração será escrita imediatamente no calendário.
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:
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.
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 |
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. |
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.