INT型データの連結によるTIME型への変換
CONCAT_TIME_INT命令は、日、時、分、秒、msを表すINTEGER型のデータを連結します。演算結果をTIME型の出力変数に格納します。入力変数の値が無効な日時データのときBOOL型出力ERRORをセットします。
入力
入力1: 日
入力2: 時
入力3: 分
入力4: 秒
入力5: ms
出力
演算結果
入力変数の値が無効な日時データのときBOOL型出力ERRORをセットします。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
TIME_value: TIME:=T#0s;
DAYS_value: INT:=234;
HOURS_value: INT:=15;
MINUTES_value: INT:=58;
SECONDS_value: INT:=57;
MILLISECONDS_value: INT:=890;
ERROR: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 9 ;
NETWORK_BODY
B(B_VAROUT,,TIME_value,27,1,29,3,);
B(B_VAROUT,,ERROR,27,2,29,4,);
B(B_VARIN,,DAYS_value,15,1,17,3,);
B(B_VARIN,,HOURS_value,15,2,17,4,);
B(B_VARIN,,MINUTES_value,15,3,17,5,);
B(B_VARIN,,SECONDS_value,15,4,17,6,);
B(B_VARIN,,MILLISECONDS_value,15,5,17,7,);
B(B_F,CONCAT_TIME_INT!,Instance,17,0,27,7,,?DDAYS?DHOURS?DMINUTES?DSECONDS?DMILLISECONDS?C?CERROR);
L(1,0,1,9);
END_NETWORK_BODY
END_NET_WORK
END_BODY
TIME_value := CONCAT_TIME_INT(DAYS := DAYS_value,
HOURS := HOURS_value,
MINUTES := MINUTES_value,
SECONDS := SECONDS_value,
MILLISECONDS := MILLISECONDS_value,
ERROR => ERROR);