TIMESWITCH_ADD機能ブロック

TIMESWITCH_ADD機能ブロックは、タイマースイッチ内のイベントを作成または変更します。

注意: タイマースイッチは同じ要素に保存されている必要があります。

ヒント: イベントを変更するには、すべての値をTIMESWITCH_GET機能ブロックで読み取ることができます。

ADD入力

この入力は、イベントをカレンダーに作成または変更します。正のエッジの場合です。入力が常に真である場合、イベントが削除されると再度作成されます。イベントの変更は検出されません。

重要: 作成と同時に削除することは避ける必要があります。これはSSDを非常に負荷にかける可能性があるためです。

TIMESWITCH入力

ここで、タイマースイッチのデータベースが文字列として保存されています。この機能ブロックはTIMESWITCHとしてすでに存在する必要があります。プログラムの順序にも注意してください。この機能ブロックを正しく初期化するためです。

ID入力

イベントのIDを文字列で定義します。これにより、一意の識別が可能になり、他のイベントによる競合を防ぐことができます。IDは文字と数字のみから構成される必要があります。大文字と小文字は区別されます。

注意: IDはすべてのカレンダーで一意に定義する必要があります。イベントはユーザーがビジュアライゼーション上で他のカレンダーにコピーできます。

TITLE入力

イベントのタイトルを文字列として指定します。この文字列には改行を含めないでください。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。

DT_START入力

DT#形式のイベントの開始時刻を返します。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。

ヒント: スイッチング時間はMKTIMESTR2DT、およびEASTER_DATE機能ブロックで計算できます。

DT_END入力

DT#形式のイベントの終了時刻を返します。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。終了時刻がDT_STARTより小さい場合、DT_ENDは開始時刻として定義されます。

この入力が定義されていない場合、DT_STARTと同じ値が仮定され、イベントでパルスが生成されます。

DIS入力

この入力はカレンダー内のイベントを無効にします。ADD入力が真である場合、変更はすぐにカレンダーに書き込まれます。

REPEAT入力

この入力で、繰り返しを文字列として定義できます。これらはREPEAT_YEARLYREPEAT_MONTHLYREPEAT_WEEKLYREPEAT_DAILY、およびREPEAT_HOURLYの補助関数で生成または説明どおりに宣言できます。

文字列はコロンで区切ることができ、次のように構築できます:

w:2:4:135

最初の桁(小文字)は繰り返しの時間間隔を定義します:

略語 時間間隔
h 毎時
d 毎日
w 毎週
m 毎月
y 毎年

2番目の桁は、繰り返しの整数間隔を定義します。最小値は1です。

3番目の桁は、繰り返しの終了を定義します。ここで3つの異なる形式を定義できます:

  • 値なし: 繰り返しは無限です。
  • 単純な整数として: 繰り返しは定義された回数の繰り返し後に終了します。
  • 日付YYYY-MM-DDとして: 繰り返しはその日付前に終了します。

4番目の桁は、繰り返しが行われる曜日を定義します。この桁は週次または月次の繰り返しの定義時にのみ使用されます。

毎週の繰り返し

現在の曜日が数値に存在するかどうかを確認します。複数の日を連続して指定できます。例えば、135は月曜日から水曜日にかけてです。値が指定されていない場合(0または空の文字列)、繰り返しは行われません。

数値 曜日
1 月曜日
2 火曜日
3 水曜日
4 木曜日
5 金曜日
6 土曜日
7 日曜日
毎月の繰り返し

イベントを繰り返す曜日を定義します。-1から4までの数値がサポートされます。0または宣言なしは、曜日に関係なく毎月同じ日に繰り返します。曜日は最初の日付から取得されます。

説明
-1 最後の曜日に繰り返します。
0 同じ日(デフォルト)に繰り返します。
1 最初の曜日に繰り返します。
2 2番目の曜日に繰り返します。
3 3番目の曜日に繰り返します。
4 4番目の曜日に繰り返します。

ERR出力

エラーが発生した場合、この出力は真に設定されます。これはカレンダーが存在しないか、IDが定義されていないまたは無効な場合です。