
TIMESWITCH_ADD機能ブロックは、タイマースイッチ内のイベントを作成または変更します。
注意: タイマースイッチは同じ要素に保存されている必要があります。
ヒント: イベントを変更するには、すべての値をTIMESWITCH_GET機能ブロックで読み取ることができます。
この入力は、イベントをカレンダーに作成または変更します。正のエッジの場合です。入力が常に真である場合、イベントが削除されると再度作成されます。イベントの変更は検出されません。
重要: 作成と同時に削除することは避ける必要があります。これはSSDを非常に負荷にかける可能性があるためです。
ここで、タイマースイッチのデータベースが文字列として保存されています。この機能ブロックはTIMESWITCHとしてすでに存在する必要があります。プログラムの順序にも注意してください。この機能ブロックを正しく初期化するためです。
イベントのIDを文字列で定義します。これにより、一意の識別が可能になり、他のイベントによる競合を防ぐことができます。IDは文字と数字のみから構成される必要があります。大文字と小文字は区別されます。
注意: IDはすべてのカレンダーで一意に定義する必要があります。イベントはユーザーがビジュアライゼーション上で他のカレンダーにコピーできます。
イベントのタイトルを文字列として指定します。この文字列には改行を含めないでください。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。
DT#形式のイベントの開始時刻を返します。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。
ヒント: スイッチング時間はMKTIME、STR2DT、およびEASTER_DATE機能ブロックで計算できます。
DT#形式のイベントの終了時刻を返します。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。終了時刻がDT_STARTより小さい場合、DT_ENDは開始時刻として定義されます。
この入力が定義されていない場合、DT_STARTと同じ値が仮定され、イベントでパルスが生成されます。
この入力はカレンダー内のイベントを無効にします。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。
この入力で、繰り返しを文字列として定義できます。これらはREPEAT_YEARLY、REPEAT_MONTHLY、REPEAT_WEEKLY、REPEAT_DAILY、およびREPEAT_HOURLYの補助関数で生成または説明どおりに宣言できます。
文字列はコロンで区切ることができ、次のように構築できます:
w:2:4:135
最初の桁(小文字)は繰り返しの時間間隔を定義します:
| 略語 | 時間間隔 |
|---|---|
| h | 毎時 |
| d | 毎日 |
| w | 毎週 |
| m | 毎月 |
| y | 毎年 |
2番目の桁は、繰り返しの整数間隔を定義します。最小値は1です。
3番目の桁は、繰り返しの終了を定義します。ここで3つの異なる形式を定義できます:
4番目の桁は、繰り返しが行われる曜日を定義します。この桁は週次または月次の繰り返しの定義時にのみ使用されます。
現在の曜日が数値に存在するかどうかを確認します。複数の日を連続して指定できます。例えば、135は月曜日から水曜日にかけてです。値が指定されていない場合(0または空の文字列)、繰り返しは行われません。
| 数値 | 曜日 |
|---|---|
| 1 | 月曜日 |
| 2 | 火曜日 |
| 3 | 水曜日 |
| 4 | 木曜日 |
| 5 | 金曜日 |
| 6 | 土曜日 |
| 7 | 日曜日 |
イベントを繰り返す曜日を定義します。-1から4までの数値がサポートされます。0または宣言なしは、曜日に関係なく毎月同じ日に繰り返します。曜日は最初の日付から取得されます。
| 値 | 説明 |
|---|---|
| -1 | 最後の曜日に繰り返します。 |
| 0 | 同じ日(デフォルト)に繰り返します。 |
| 1 | 最初の曜日に繰り返します。 |
| 2 | 2番目の曜日に繰り返します。 |
| 3 | 3番目の曜日に繰り返します。 |
| 4 | 4番目の曜日に繰り返します。 |
エラーが発生した場合、この出力は真に設定されます。これはカレンダーが存在しないか、IDが定義されていないまたは無効な場合です。