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>