H2Aシーケンスのカウンターを作ってみる

今度、運輸多目的衛星新1号(MTSAT-1R)を搭載して、種子島宇宙センターから打ち上げられる、日本の主力ロケットH2Aの7号機の発射シーケンスの各工程をカウントダウンするカウンターをJavaScriptで作ってみました。時刻だけを表示する簡単なものですが、利用したい方がいらっしゃいましたらご自由に。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
	<title>H2A7号機/MTSAT-1R打ち上げシーケンス</title>

	<SCRIPT LANGUAGE="JavaScript">

	//***変数一覧***
	//day,hour,min,sec 現在時刻
	//vD,vH,vM,vS 発射時刻のそれぞれの時間
	//vDHMS 発射時刻の日付オブジェクト
	//Countdown 経過時間
	//watch() 現在時刻を取得し、それぞれの時刻を表示する関数
	//vSetNow() 発射時刻を現在の時刻に設定する関数
	//vSetSet() 発射時刻を指示した時刻に設定する関数

	//発射時刻のデフォルト設定
	//未詳につき削除

	function watch() {
		//1秒に1回更新のタイマー部分
		setTimeout('watch()', 500); // 500msec秒に1回更新
		//現在の時刻を取得する部分
		now = new Date();
		day = now.getDate()
		hour = now.getHours();
		min = now.getMinutes();
		sec = now.getSeconds();
		document.forms[0].watch.value = day+"日"+hour+"時"+min+"分"+sec+"秒";

		//各時計を書き換える部分
			//時間差を計算
				Countdown = Math.round( ( vDHMS - now ) / 1000);
			//0.第1エンジン点火
				document.forms[0].t0.value = ( Countdown - 5 ) + "秒";
			//1.リフトオフ
				document.forms[0].t1.value = Countdown + "秒";
			//2.個体補助ロケット点火
				document.forms[0].t2.value = ( Countdown + 46 ) + "秒";
			//3.個体補助ロケット燃焼終了
				document.forms[0].t3.value = ( Countdown + 105 ) + "秒";
			//4.個体ロケットブースター燃焼終了
				document.forms[0].t4.value = ( Countdown + 128 ) + "秒";
			//5.固体ロケットブースター分離
				document.forms[0].t5.value = ( Countdown + 130 ) + "秒";
			//6.固体補助ロケット分離
				document.forms[0].t6.value = ( Countdown + 131 ) + "秒";
			//7.衛星フェアリング分離
				document.forms[0].t7.value = ( Countdown + 255 ) + "秒";
			//8.第1段主エンジン燃焼停止
				document.forms[0].t8.value = ( Countdown + 395 ) + "秒";
			//9.第1段・第2段分離
				document.forms[0].t9.value = ( Countdown + 403 ) + "秒";
			//10.第2段エンジン第1回燃焼開始
				document.forms[0].t10.value = ( Countdown + 409 ) + "秒";
			//11.第2段エンジン第1回燃焼停止
				document.forms[0].t11.value = ( Countdown + 750 ) + "秒";
			//12.第2段エンジン第2回燃焼開始
				document.forms[0].t12.value = ( Countdown + 1473 ) + "秒";
			//13.第2段エンジン第2回燃焼停止
				document.forms[0].t13.value = ( Countdown + 1646 ) + "秒";
			//14.MTSTA-1R分離
				document.forms[0].t14.value = ( Countdown + 2400 ) + "秒";
			//15.カウント
				if ( Countdown > 0 ) {
					document.forms[0].t15.value = "打ち上げまで残り" + ( Math.abs(Countdown) ) + "秒";
					}else{
					document.forms[0].t15.value = "打ち上げから" + ( Math.abs(Countdown) ) + "秒経過";
					}
		}

	//発射時刻を現在の時刻に設定する部分
	function vSetNow() {
		vDHMS = new Date();
		vD = vDHMS.getDate()
		vH = vDHMS.getHours();
		vM = vDHMS.getMinutes();
		vS = vDHMS.getSeconds();
		document.forms[0].vDHMS.value = vD+"日"+vH+"時"+vM+"分"+vS+"秒";
		}

	//発射時刻を指定する時刻に設定する部分
	function vSetSet() {
		vD = document.forms[0].vD.value;
		vH = document.forms[0].vH.value;
		vM = document.forms[0].vM.value;
		vS = document.forms[0].vS.value;
		document.forms[0].vDHMS.value = vD+"日"+vH+"時"+vM+"分"+vS+"秒";
		vDHMS = new Date();
		vDHMS.setDate(vD);
		vDHMS.setHours(vH);
		vDHMS.setMinutes(vM);
		vDHMS.setSeconds(vS);
		}

	//時刻の更新を行う部分
	watch();
	</SCRIPT>

</head>

<body>

<form METHOD="post">
	<p><input name="watch" size="22">:現在の時刻<br>
	<input name="vDHMS" size="22">:発射時刻<br>
	<input name="t15" size="22">:カウント</p>
	<p><input type="button" value="発射時刻に現在時刻を設定" onClick="vSetNow()"><br>
	<input type="button" value="発射時刻を次の時刻に設定" onClick="vSetSet()"> <input name="vD" size="5">日<input name="vH" size="5">時<input name="vM" size="5">分<input name="vS" size="5">秒</p>

	<p>イベント 打ち上げ後経過時間 位置<br>
	残り時間(経過時間) 高度 慣性速度</p>

	<p>0.第1エンジン点火 -5秒<br>
	<small>発射台</small><br>
	<input name="t0" size="20"> 0km 0.0km/s</p>

<table><tr><td>

	<p>1.リフトオフ 0秒<br>
	<small>(Lift off) 種子島</small><br>
	<input name="t1" size="20"> 0km 0.4km/s</p>

	<p>2.個体補助ロケット点火 46秒<br>
	<small>(SSB ignition) 日本近海</small><br>
	<input name="t2" size="20"> 6km 0.6km/s</p>

	<p>3.個体補助ロケット燃焼終了 1分45秒<br>
	<small>(SSB, burnout)</small><br>
	<input name="t3" size="20"> 38km 1.6km/s</p>

	<p>4.個体ロケットブースター燃焼終了 2分8秒   <br>
	<small>(SRB-A, burnout)</small><br>
	<input name="t4" size="20"> 57km 1.7km/s</p>

	<p>5.固体ロケットブースター分離 2分10秒<br>
	<small>(SRB-A jettison)</small><br>
	<input name="t5" size="20"> 59km 1.7km/s</p>

	<p>6.固体補助ロケット分離 2分11秒<br>
	<small>(SSB jettison)</small><br>
	<input name="t6" size="20"> 60km 1.7km/s</p>

	<p>7.衛星フェアリング分離 4分15秒<br>
	<small>(Faring jettison)</small><br>
	<input name="t7" size="20"> 138km 2.7km/s</p>

</td><td>

	<p>8.第1段主エンジン燃焼停止 6分35秒<br>
	<small>(First stage engine, cutoff (MECO)) 名古屋の南ぐらい</small><br>
	<input name="t8" size="20"> 216km 5.2km/s</p>

	<p>9.第1段・第2段分離 6分43秒<br>
	<small>(First and second stages, separation)</small><br>
	<input name="t9" size="20"> 222km 5.2km/s</p>

	<p>10.第2段エンジン第1回燃焼開始 6分49秒<br>
	<small>(Second stage engine, first-time ignition (SEIG 1))</small><br>
	<input name="t10" size="20"> 226km 5.2km/s</p>

	<p>11.第2段エンジン第1回燃焼停止 12分30秒<br>
	<small>(Second stage engine, first-time cutoff (SECO 1)) ハワイと日本の中間ぐらい</small><br>
	<input name="t11" size="20"> 314km 7.7km/s</p>

	<p>12.第2段エンジン第2回燃焼開始 24分33秒<br>
	<small>(Second stage engine, second-time ignition (SEIG 2)) ハワイの南</small><br>
	<input name="t12" size="20"> 258km 7.7km/s</p>

	<p>13.第2段エンジン第2回燃焼停止 27分26秒<br>
	<small>(Second stage engine, second-time cutoff (SECO 2)) ハワイの南よりちょとアメリカより</small><br>
	<input name="t13" size="20"> 255km 10.2km/s</p>

	<p>14.MTSTA-1R分離 40分0秒<br>
	<small>(Separation of MTSAT-1R) 北アメリカの南</small><br>
	<input name="t14" size="20"> 1979km 8.9km/s</p>

</td></tr></table>
</form>
</body>
</html>