/* */ /* ' ########################################################### ' 小形コチ選定計算用JS - フリーフローチェーン用 ' Create 2016.02.19 Noguchi ' Modyfy ----.--.-- -------- ' ########################################################### */ var ST_INIT = "init" var ST_PROV_RESULT = "provisory_result" var ST_CONFIRM_LOAD = "confirm_load" var ST_REAL_CALC = "real_calc" var ST_REAL_CALC_RESULT = "real_calc_result" var m_arr; // DBから取得した値を格納 var m_sDebug = ""; var m_dG = 9.80665; var m_df1 = 0; // 摩擦係数f1 var m_df2 = 0; // 摩擦係数f2 var m_df3 = 0; // 摩擦係数f3 var m_dV = 0; // 入力値:搬送速度 var m_dKv = 0; // 速度係数 var m_dL1 = 0; // 入力値:搬送部の長さ var m_dL2 = 0; // 入力値:アキュムレート部の長さ var m_dChainW1m = 0; // 入力値:チェーン1mあたりの重量 var m_dW1 = 0; // 入力値:搬送部の搬送物質量 var m_dW2 = 0; // 入力値:アキュムレート部の搬送物質量 var m_dWt = 0; // 入力値:搬送物質量 var m_dF = 0; // 作用張力 var m_dF4kW = 0; // 作用張力 動力計算用(並列係数0.6倍なし) var m_dAlwBodyRolLod = 0; // 本体ローラー許容負荷 var m_dAlwTranRolLod = 0; // 搬送ローラー許容負荷 // 搬送速度ロストフォーカス時処理 // 速度係数の決定 function DispKv() { SetInputParam(); SetSpeedFactor(); $( "#Kv").html( m_dKv); } // 仮選定入力値チェック function CheckInputProvisory() { // 必須入力チェック if( !CheckCompulsoryInput( "Type")) { return false;} if( !CheckCompulsoryInput( "Material")) { return false;} if( !CheckCompulsoryInput( "Plate")) { return false;} if( !CheckCompulsoryInput( "BodyRoller")){ return false;} if( !CheckCompulsoryInput( "BodyLube")) { return false;} if( !CheckCompulsoryInput( "TranRoller")){ return false;} if( !CheckCompulsoryInput( "TranLube")) { return false;} if( !CheckCompulsoryInput( "V")){ return false;} if( !CheckCompulsoryInput( "Wt")){ return false;} // 数値チェック if( !CheckNumeric( "V")){ return false;} if( !CheckNumeric( "Wt")){ return false;} // 搬送速度は120m/minまで var dV = parseFloat( $( "#V").val()); if( dV > 120){ alert( "Conveying speed exceeds the allowable rate (120m/min). "); $( "#V").select(); return false; } return true; } // 本選定入力値チェック function CheckInputRealCalc() { // 必須入力 if( !CheckCompulsoryInput( "R_L1")){ return false;} if( !CheckCompulsoryInput( "R_L2")){ return false;} if( !CheckCompulsoryInput( "R_W1")){ return false;} if( !CheckCompulsoryInput( "R_W2")){ return false;} // 数値チェック if( !CheckNumeric( "R_L1")){ return false;} if( !CheckNumeric( "R_L2")){ return false;} if( !CheckNumeric( "R_W1")){ return false;} if( !CheckNumeric( "R_W2")){ return false;} return true; } // 必須入力チェック function CheckCompulsoryInput( sId) { var sMsg = ""; switch( sId) { case "Type": sMsg = "Select a chain type. "; break; case "Material": sMsg = "Select a chain series. "; break; case "Plate": sMsg = "Select a link plate type. "; break; case "BodyRoller": sMsg = "Select a base chain roller. "; break; case "BodyLube": sMsg = "Select a lubrication status of base chain roller "; break; case "TranyRoller": sMsg = "Select a transfer roller "; break; case "TranLube": sMsg = "Select a lubrication status of transfer roller "; break; case "V": sMsg = "Input a conveying speed V "; break; case "Wt": sMsg = "Input total mass Wt of conveyed objects "; break; case "R_L1": sMsg = "Input a length of conveying portion L1 "; break; case "R_L2": sMsg = "Input a length of accumulating portion L2 "; break; case "R_W1": sMsg = "Input a mass of conveyed objects W1 in conveying portion "; break; case "R_W2": sMsg = "Input a mass of conveyed objects W2 in accumulating portion "; break; } if( sMsg == ""){ return true;} if( trimzen( $( "#" + sId).val()) == ""){ $( "#" + sId).focus(); alert( sMsg); return false; } return true; } // 入力値の数値チェック function CheckNumeric( sId) { var sMsg = ""; switch( sId) { case "V": sMsg = "Input a value of conveying speed V "; break; case "Wt": sMsg = "Input a value of total mass Wt of conveyed objects "; break; case "R_L1": sMsg = "Input a value of length L1 in conveying portion "; break; case "R_L2": sMsg = "Input a value of length L2 in accumulating portion "; break; case "R_W1": sMsg = "Input a value of mass of conveyed objects W1 in conveying portion "; break; case "R_W2": sMsg = "Input a value of mass of coinveyed objects W2 in accumulating portion "; break; } if( sMsg == ""){ return true;} if( trimzen( $( "#" + sId).val()) == ""){ return true;} if( !IsNumeric( $( "#" + sId).val())){ $( "#" + sId).focus(); $( "#" + sId).select(); alert( sMsg); return false; } return true; } // 本選定を行う function CalcConveyorChain() { $( "#ResultRealCalcNoDataArea").hide(); $( "#ResultRealCalcExistDataArea").hide(); $( "#ResultArea").hide(); // 基本形番と仕様を取得 var arChain; $.ajax( { type: "GET" , cache: false , url: "calc_csc_ff_getspec_listbox.asp" , data: "size=" + $( "#ChainSize").val() + "&tens=" + m_dF + "&kv=" + m_dKv , async: false , dataType: "text" , success: function(dt){ arChain = eval( dt); } } ); var sDebugUrl = "http://temold/tecs/calc/csc/calc_csc_ff_getspec_listbox.asp?" + "size=" + $( "#ChainSize").val() + "&tens=" + m_dF + "&kv=" + m_dKv; DebugPrint( m_dKv, "速度係数"); DebugPrint( sDebugUrl, "本選定形番取得URL(単列)"); if( arChain == ""){ // NoData表示 $( "#ResultRealCalcNoDataArea").show(); // 選定結果を非表示 $( "#ResultArea").hide(); // ボタンを表示と「お待ちください」非表示 $( "#R_BtnExecArea").show(); $( "#R_BtnParamClearArea").show(); $( "#R_WaitForCalcArea").hide(); return; } // 選定結果を表示(作用張力、所要動力を除く) var sUrl = GetUrlProductInfo( arChain[0].ChainNo); $( "#S_Kata").html( "" + arChain[0].ChainNo + ""); $( "#S_AlwTens").html( arChain[0].MaxAlwT_kN); // 張力余裕率 var dRate = parseFloat( arChain[0].MaxAlwT_kN / $( "#S_WorkTens").html()); $( "#S_TensRate").html( AddDecimalKeta( String( RoundDecimal( dRate, 3)), 3)); $( "#S_RolAlwLoad").removeClass(); var bRolAlCommentShow = false; var sLoad1 = ""; var sLoad2 = ""; if( arChain[0].AlwRolLoad_kN == null){ sLoad1 = "-"; $( "#S_RolAlwLoad1").addClass( "AlignC"); }else{ sLoad1 = arChain[0].AlwRolLoad_kN; $( "#S_RolAlwLoad1").addClass( "AlignR"); $( "#ResultCautionRolAlwLoadArea").hide(); } if( arChain[0].f1_RolNoLub == null){ sLoad2 = "-"; $( "#S_RolAlwLoad2").addClass( "AlignC"); }else{ sLoad2 = arChain[0].f1_RolNoLub; $( "#S_RolAlwLoad2").addClass( "AlignR"); $( "#ResultCautionRolAlwLoadArea").hide(); } $( "#S_RolAlwLoad1").html( sLoad1); $( "#S_RolAlwLoad2").html( sLoad2); if( $( ":radio[name=RunType]:checked").val() == "Single") $( "#ResultRunType").html( "Single strand "); else $( "#ResultRunType").html( "Double strand "); // 「選定結果をご確認ください」表示 $( "#ResultRealCalcExistDataArea").show(); $( "#ResultArea").show(); // ボタンを表示と「お待ちください」非表示 $( "#R_BtnExecArea").show(); $( "#R_BtnParamClearArea").show(); $( "#R_WaitForCalcArea").hide(); } // 入力値を変数にセット function SetInputParam() { m_dV = parseFloat( $( "#Vc").val()); // 搬送速度 m_dWt = parseFloat( $( "#Wt").val()); // 搬送物総質量 m_dL1 = parseFloat( $( "#R_L1").val()); // 搬送部の長さ m_dL2 = parseFloat( $( "#R_L2").val()); // アキュムレート部の長さ m_dW1 = parseFloat( $( "#R_W1").val()); // 搬送部の搬送物質量 m_dW2 = parseFloat( $( "#R_W2").val()); // アキュムレート部の搬送物質量 } // 速度係数の決定 function SetSpeedFactor() { DebugPrint( m_dV, "チェーン速度"); m_dKv = 0; if( m_dV <= 15){ m_dKv = 1;} else if( m_dV <= 30){ m_dKv = 1.2;} else if( m_dV <= 50){ m_dKv = 1.4;} else if( m_dV <= 70){ m_dKv = 1.6;} else if( m_dV <= 90){ m_dKv = 2.2;} else if( m_dV <= 110){ m_dKv = 2.8;} else if( m_dV <= 120){ m_dKv = 3.2;} } // 作用張力の計算 function CalcWorkingTension() { // 作用張力(単列時、並列時)を表示 var DispWorkTension = function(){ var sWT = String( RoundDecimal( m_dF * m_dKv, 3)); $( "#S_WorkTens").html( AddDecimalKeta( sWT, 3)); $( "#Dbg_WT_F").html( m_dF); $( "#Dbg_WT_Kv").html( m_dKv); } // ボタンを非表示と「お待ちください」表示 $( "#R_BtnExecArea").hide(); $( "#R_BtnParamClearArea").hide(); $( "#R_WaitForCalcArea").show(); // トップローラの場合は帰り側の摩擦係数にf2を使う var sFr; if( $( "#ChainSize").val().indexOf("TR", 0) >= 0){ sFr = m_df2 }else{ sFr = m_df1 } // 作用張力の計算 if(($( "#Type").val() == "TR") && ($( ":radio[name=R_Interval]:checked").val() == "2") ){//TRの場合 m_dF = (m_dG / 1000) * ((m_dW1 + m_dChainW1m_2link) * m_dL1 * m_df1 + m_dW2 * m_dL2 * m_df2 + (m_dW2 + m_dChainW1m_2link) * m_dL2 * m_df3 + 1.1 * m_dChainW1m_2link * (m_dL1 + m_dL2) * sFr); // 動力計算用に保持 m_dF4kW = m_dF }else{//TR以外の場合 m_dF = (m_dG / 1000) * ((m_dW1 + m_dChainW1m) * m_dL1 * m_df1 + m_dW2 * m_dL2 * m_df2 + (m_dW2 + m_dChainW1m) * m_dL2 * m_df3 + 1.1 * m_dChainW1m * (m_dL1 + m_dL2) * sFr); // 動力計算用に保持 m_dF4kW = m_dF } // 最大張力の計算結果をデバッグ用に表示 $( "#DbgMaxT_F_HR").html( m_dF); $( "#DbgMaxT_F06_HR").html( m_dF * 0.6); $( "#DbgMaxT_F_Kv_HR").html( m_dF * m_dKv); $( "#DbgMaxT_F06Kv_HR").html( m_dF * 0.6 * m_dKv); $( "#TR_DbgMaxT_F06_HR").hide(); $( "#TR_DbgMaxT_F_Kv_HR").hide(); $( "#TR_DbgMaxT_F06Kv_HR").hide(); if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列 $( "#TR_DbgMaxT_F06_HR").show(); $( "#TR_DbgMaxT_F06Kv_HR").show(); }else{ // 単列 $( "#TR_DbgMaxT_F_Kv_HR").show(); } // m_dF(静的最大張力値)を設定。作用張力計算の前に行う // 並列時の作用張力は、単列時の0.6倍 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ m_dF *= 0.6; } $( "#DbgMaxT_W1_HR").html( m_dW1); $( "#DbgMaxT_W2_HR").html( m_dW2); $( "#DbgMaxT_L1_HR").html( m_dL1); $( "#DbgMaxT_L2_HR").html( m_dL2); $( "#DbgMaxT_f1_HR").html( m_df1); $( "#DbgMaxT_f2_HR").html( m_df2); $( "#DbgMaxT_f3_HR").html( m_df3); $( "#DbgMaxT_fr_HR").html( sFr); $( "#DbgMaxT_MC_HR").html( m_dChainW1m); DispWorkTension(); } // 所要動力の計算 function CalcRequiredPower() { var sWarnPow = "

The mechanical transmission efficiency of the drive area is calculated as 1.

"; var dPower = 0; // 所要動力(計算用) var sNum = ""; var sPower = ""; // 所要動力(表示用) var iEta = 1; // 伝達機械効率 // 確認用計算式の非表示 $( "#DbgTbl_kWt_HR").hide(); $( "#DbgTbl_kW_VT").hide(); $( "#DbgTbl_kW_SL").hide(); $( "#DbgTbl_kW_HRSL").hide(); // 水平搬送 dPower = m_dF4kW * m_dV / 60 * 1 / iEta; sNum = String( RoundUpDecimal( dPower, 3)); sPower = "

" + AddDecimalKeta( sNum, 3) + "

"; sPower += sWarnPow; $( "#DbgTbl_kW_HR").show(); $( "#Dbg_kw_HR_F").html( m_dF4kW); $( "#Dbg_kw_HR_V").html( m_dV); $( "#ReqPow").html( sPower); } // 静的最大張力から該当するチェーンサイズを仮選定する function ProvisionalDecisionChainSize() { // 入力値チェック if( !CheckInputProvisory()){ return;} // 仮選定結果以下を非表示 HideArea( ST_INIT); $( "#WaitForProvisoryArea").show(); // 静的最大張力(F)を求める // F(kN)=Wt×f1×Kv×G/1000 var dWt = parseFloat( $( "#Wt").val()); var dKv = parseFloat( $( "#Kv").html()); var df1 = parseFloat( $( "#f1").html()); var df2 = parseFloat( $( "#f2").html()); var df3 = parseFloat( $( "#f3").html()); var dG = parseFloat( $( "#G_Forces").html()); var dF = dG * dWt * (df2 + df3) * dKv / 1000; // 並列走行の張力は単列の0.6倍 if( $( ":radio[name=RunType]:checked").val() == "Parallel") dF *= 0.6; // Fを満たす最小の許容張力を持つチェーンサイズ決定 - ① // 形番パターンの生成 var sBuf; var sType = $( "#Type").val(); var sPlate = $( "#Plate").val(); var sMaterial = $( "#Material").val(); var sBodyRoller = $( "#BodyRoller").val(); var sTranRoller = $( "#TranRoller").val(); var sKataMatch ; sKataMatch = sPlate + "___PERCENT___[0-9]"; sBuf = sType.replace("SR", ""); sBuf = sBuf.replace("TR", ""); sKataMatch = sKataMatch + sBuf; sBuf = sBodyRoller.replace("STL", ""); sBuf = sBuf.replace("SUS", ""); sBuf = sBuf.replace("HLNK", ""); sKataMatch = sKataMatch + sBuf; sBuf = sMaterial.replace("STANDARD", ""); sKataMatch = sKataMatch + sBuf; sBuf = sTranRoller.replace("STL", ""); sBuf = sBuf.replace("PA", ""); if(sTranRoller != "-SRPB") sBuf = sBuf.replace("PB", ""); sBuf = sBuf.replace("PC", ""); sBuf = sBuf.replace("PD", ""); sBuf = sBuf.replace("PUA", ""); sBuf = sBuf.replace("PUB", ""); sBuf = sBuf.replace("SUS", ""); sKataMatch = sKataMatch + sBuf; // alert(dF + "\n" + sKataMatch); // 条件に合うチェーンの形番、最大許容張力、重量などを格納する配列 var arChain; // 生成した形番パターンをキーにtecs_csc_tens、tecs_csc_tensテーブル検索 // ①の最大許容張力、概略質量、ピッチを取得 - ② $.ajax( { type: "GET", cache: false, // キャッシュを読み込まない url: "calc_csc_getchain.asp", data: "kata=" + sKataMatch + "&F=" + dF, // url先に渡すデータ async: false, // 同期する(url処理が終わるまで待つ) dataType: "text", // 結果を受け取る型 success: function(dt){ // 処理成功時に行う処理 arChain = eval( dt); } } ); var sDebug = "http://temold/tecs/calc/csc/calc_csc_getchain.asp?" + "kata=" + sKataMatch + "&F=" + dF; DebugPrint( sDebug, "仮選定用SQL"); //DebugPrint( sKataMatch, "形番パターン"); if( arChain == "" || dF == 0){ var arChain2; // 形番が取得出来なかった場合、DBに形番が存在するかチェックする $.ajax( { type: "GET", cache: false, // キャッシュを読み込まない url: "calc_csc_getchain.asp", data: "kata=" + sKataMatch + "&mode=KataCheck", async: false, // 同期する(url処理が終わるまで待つ) dataType: "text", // 結果を受け取る型 success: function(dt){ // 処理成功時に行う処理 arChain2 = eval( dt); } } ); if( arChain2 == ""){//DBに形番が存在しない場合の処理 // 該当なし $( "#ResultProvisoryNoDataArea").show(); $( "#ResultProvisoryNoDataArea").children("p").html("No chain is found that conform to the input conditions "); }else{//DBに形番が存在する場合の処理 $( "#ResultProvisoryNoDataArea").show(); $( "#ResultProvisoryNoDataArea").children("p").html("No chain is found that conform to the maximum load by input conditions "); } // 静的最大張力 $( "#StaticTension").html( RoundDecimal( dF, 3)); // チェーンサイズ AddListChainSize( null, "", ""); // 最大許容張力 $( "#AllowableTension").html( "-"); // 概略質量 $( "#ChainWeight").html( "-"); // ピッチ $( "#ChainPitch").html( "-"); }else{ // 本番でこのメッセージが出ないように仕組むこと if( arChain[0].Weight == "---"){ alert("形番" + sKataMatch.replace("___PERCENT___[0-9]", "****") + "の質量データが登録されていないため計算できません。"); $( "#WaitForProvisoryArea").hide(); return; } DebugPrint( dF, "静的最大張力"); // データあり // ②を結果に表示 $( "#StaticTension").html( RoundDecimal( dF, 3)); AddListChainSize( arChain, sType, sBodyRoller); $( "#AllowableTension").html( arChain[0].MaxAlwT_kN); $( "#ChainWeight").html( arChain[0].Weight); $( "#ChainPitch").html( arChain[0].DimP); // チェーン質量/mを変数にセット m_dChainW1m = parseFloat( arChain[0].Weight); m_dChainW1m_2link = parseFloat( arChain[0].MAXSpd); //取付が2リンク毎の質量 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列の場合は、チェーン質量は2倍 m_dChainW1m *= 2; m_dChainW1m_2link *= 2; } $( "#DbgPitch").html( arChain[0].DimP); $( "#DbgMC_PerMeter").html( m_dChainW1m); // 選択した形番と同シリーズの許容負荷を全て取得 var arLoad; $.ajax( { type: "GET", cache: false, url: "calc_csc_ff_getload.asp", data: "kata=" + sKataMatch , async: false, dataType: "text", success: function(dt){ arLoad = eval( dt); } } ); // 前回の仮選定分を消去 $( "#TblRollerAL tbody tr").remove(); // 許容負荷の確認欄を表示 var bRolAlCommentShow = false; var sCno = arLoad[0].ChainNo; var sCpt; var sHdr_1; var sHdr_2; var sloadpict; if( sCno.indexOf("VR", 0) >= 0 || sCno.indexOf("CR", 0) >= 0){ sCpt = "Roller allowable load kN/m
Allowable conveying load per two strands of chain
(Allowable load per one meter of pallet )" sHdr_1 = "Aluminum frame "; sHdr_2 = "Aluminum Frame
with Steel Rail "; sloadpict = " + "; }else{ if( sCno.indexOf("PC", 0) >= 0){ sCpt = "Roller allowable load kN/per Inner Link "; }else{ sCpt = "Roller allowable load kN/per Roller "; } sHdr_1 = "Base chain roller "; sHdr_2 = "Transfer Roller "; sloadpict = " + "; } $( "#AlwRolLoadCpt").html( sCpt); $( "#AlwRolLoadHdr_1").html( sHdr_1); $( "#AlwRolLoadHdr_2").html( sHdr_2); $( "#AlwRolLoadHdr_R0").html( sCpt); $( "#AlwRolLoadHdr_R1").html( sHdr_1); $( "#AlwRolLoadHdr_R2").html( sHdr_2); $( "#loadpict").html( sloadpict); for( var i=0; i < arLoad.length; i++) { var sRow = ""; sRow += "" + arLoad[i].ChainNo + ""; if( arLoad[i].AlwRolLoad_kN == null){ sRow += "-"; }else{ sRow += "" + arLoad[i].AlwRolLoad_kN + ""; } if( arLoad[i].f1_RolNoLub == null){ sRow += "-"; }else{ sRow += "" + arLoad[i].f1_RolNoLub + ""; } sRow += ""; $( "#TblRollerAL tbody").append( sRow); if(arLoad[i].ChainNo == $( "#ChainSize").val()){ // alert("1:" + arLoad[i].ChainNo); // alert("2:" + $( "#ChainSize").val()); m_dAlwBodyRolLod = arLoad[i].AlwRolLoad_kN; m_dAlwTranRolLod = arLoad[i].f1_RolNoLub; // alert("m_dAlwBodyRolLod:" + m_dAlwBodyRolLod); // alert("m_dAlwTranRolLod:" + m_dAlwTranRolLod); } } //ローラ許容負荷画面の表示制御 if($( "#Type").val() == "VR" || $( "#Type").val() == "CR"){ $( "#ChkRolLod").html("Load per 1 meter length of conveyed objects "); $( "#RolLod_hanso").hide(); $( "#ChkInterval").hide(); $( "#Interval_1").hide(); $( "#Interval_2").hide(); $( "#Interval_announce").hide(); // 単列時の注記表示 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列 $( "#RolLodNotis").hide(); }else{ // 単列 $( "#RolLodNotis").show(); } }else if($( "#Type").val() == "TR" ){ $( "#ChkRolLod").html("Main unit Load per 1 roller or 1 link "); $( "#ChkRolLod_hanso").html("Conveyor Load per 1 roller or 1 link "); $( "#RolLodNotis").hide(); $( "#RolLod_hanso").show(); if($( "#Plate").val()=="RS"){//RSの場合の選択表示 $( "#R_Interval_1").next("label").text("Every link "); $( "#R_Interval_2").next("label").text("Every two links "); $( "#ChkInterval").html("Roller spacing "); $( "#Interval_announce").html("If roller spacing exceeds the given selection, please contact us "); $( "#ChkInterval").show(); $( "#Interval_1").show(); $( "#Interval_2").show(); $( "#Interval_announce").show(); $( "#R_Interval_2").prop("disabled",false) }else{//RFの場合の選択表示(RF時は1リンク毎で固定) $( "#R_Interval_1").next("label").text("Every link "); $( "#R_Interval_2").next("label").text("Every two links "); $( "#ChkInterval").html("Roller spacing "); $( "#Interval_announce").html("If roller spacing exceeds the given selection, please contact us "); $( "#ChkInterval").show(); $( "#Interval_1").show(); $( "#Interval_2").show(); $( "#Interval_announce").show(); $( "#R_Interval_2").prop("disabled",true) } }else{ //SRの場合 $( "#ChkRolLod").html("Main unit :Load per 1 roller or 1 link "); $( "#ChkRolLod_hanso").html("Conveyor :Load per 1 roller or 1 link "); $( "#R_Interval_1").next("label").text("Every link・Staggered Pattern "); $( "#R_Interval_2").next("label").text("Every two links・Crosswise Pattern "); $( "#ChkInterval").html("Installation spacing/position of roller "); $( "#Interval_announce").html("If installation spacing/position is different from the given selection, please contact us "); $( "#RolLodNotis").hide(); $( "#RolLod_hanso").show(); $( "#ChkInterval").show(); $( "#Interval_1").show(); $( "#Interval_2").show(); $( "#Interval_announce").show(); $( "#R_Interval_2").prop("disabled",false) } // 許容負荷の確認の説明文を表示 $( "#ConfirmLoadDesc").hide(); var sFigure = $( "#Figure").val(); var sMaterial = $( "#Material").val(); $( "#ConfirmLoadDesc").show(); // ボタン表示 $( "#BtnExecArea").show(); $( "#BtnParamClearArea").show(); $( "#ResultProvisoryExistDataArea").show(); // 摩擦係数を再決定。RS25、RS35はブシュのみのため係数変更 // SetFrictionFactorByChainSize(); } // 選定結果表示 $( "#ResultProvisoryArea").show(); // 「Please wait」非表示 $( "#WaitForProvisoryArea").hide(); } // 仮選定のチェーンサイズ変更時に実行。最大許容張力ほかを取得 function GetMaxAlwTens() { // 形番の生成 var sKataban = $( "#ChainSize").val(); // 条件に合うチェーンの形番、最大許容張力、重量などを格納する配列 var arChain; // 生成した形番パターンをキーにtecs_csc_tens、tecs_csc_tensテーブル検索 // ①の最大許容張力、概略質量、ピッチを取得 - ② $.ajax( { type: "GET", cache: false, // キャッシュを読み込まない url: "calc_csc_getchain.asp" , data: "kata=" + sKataban // url先に渡すデータ + "&mode=ChangeChainSize" , async: false // 同期する(url処理が終わるまで待つ) , dataType: "text" // 結果を受け取る型 , success: function(dt){ // 処理成功時に行う処理 arChain = eval( dt); } } ); var sDebug = "http://temold/tecs/calc/csc/calc_csc_getchain.asp?" + "kata=" + sKataban + "&mode=ChangeChainSize"; DebugPrint( sDebug, "チェーンサイズ変更時SQL"); if( arChain == ""){ // 該当なし。通常通らないはず $( "#AllowableTension").html( ""); $( "#ChainWeight").html( ""); $( "#ChainPitch").html( ""); m_dChainW1m = 0; return; } // 最大許容張力を表示 $( "#AllowableTension").html( arChain[0].MaxAlwT_kN); // 概略質量 $( "#ChainWeight").html( arChain[0].Weight); m_dChainW1m = parseFloat( arChain[0].Weight); m_dChainW1m_2link = parseFloat( arChain[0].MAXSpd); // ピッチ $( "#ChainPitch").html( arChain[0].DimP); $( "#DbgPitch").html( arChain[0].DimP); } // 仮選定結果のチェーンサイズリスト項目を追加 function AddListChainSize( arKata, sType, sRoller) { $( "#ChainSize option").remove(); if( arKata == null){ return;} for( var i=0; i < arKata.length; i++) { var sKata = arKata[i].ChainNo; var sStyle = ""; if( i == 0){ sStyle = "background-color:#ffff00;"} $( "#ChainSize").append( ""); } } // 許容負荷の確認欄を表示する function ShowConfirmLoad() { $( "#ConfirmLoadArea").show(); HideArea( ST_PROV_RESULT); $( "#ConfirmLoadArea").show(); $( "#AttachmentLoadArea").show(); // 仮選定したチェーンサイズの行を目立たせる HighlightLoadRow(); } // ローラ負荷RolLodの計算 function CalcRolLod(){ if($( "#R_TL").val() != "" && $( "#R_TL").val() != 0 && $( "#R_TW").val() != "" && $( "#R_TW").val() != 0){ if($( "#Type").val() == "VR" || $( "#Type").val() == "CR"){//倍速・センタローラの計算 $( "#R_RolLod").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / $( "#R_TL").val() * 1000) / 1000); }else if($( "#Type").val() == "TR"){//トップローラの計算 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列 //$( "#R_RolLod").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / 2 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000)) * 2 * 0.5 ) * 9.8 )/ 1000 ) //$( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / 2 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000 * $(":radio[name=R_Interval]:checked").val() ) ) * 2 * 0.5 ) * 9.8 )/ 1000 ) }else{ // 単列 //$( "#R_RolLod").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000)) * 1 * 0.5 ) * 9.8 )/ 1000 ) //$( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000 * $(":radio[name=R_Interval]:checked").val() ) ) * 1 * 0.5 ) * 9.8 )/ 1000 ) } }else{//サイドローラの計算 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列 //$( "#R_RolLod").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / 2 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000)) * 2 * 0.5 ) * 9.8 )/ 1000 ) //$( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / 2 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000 * $(":radio[name=R_Interval]:checked").val() ) ) * 2 * $(":radio[name=R_Interval]:checked").val() * 0.5 ) * 9.8 )/ 1000 ) }else{ // 単列 //$( "#R_RolLod").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000)) * 1 * 0.5 ) * 9.8 )/ 1000 ) //$( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() * 9.8 / 1000 / ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000) ) * 1000) / 1000); $( "#R_RolLod_hanso").val(Math.round($( "#R_TW").val() / ( ($( "#R_TL").val() / ($( "#ChainPitch").html() / 1000 * $(":radio[name=R_Interval]:checked").val() ) ) * 1 * $(":radio[name=R_Interval]:checked").val() * 0.5 ) * 9.8 )/ 1000 ) } } if($( "#R_L2").val() != "" && ($( "#R_L2").val() != 0)){ $( "#R_W2").val(Math.round($( "#R_TW").val() * $( "#R_TNA").val() / $( "#R_L2").val() * 100) / 100); $( "#R_TNT").val(Math.round($( "#R_W1").val() * $( "#R_L1").val() / $( "#R_TW").val() * 100) / 100); $( "#R_WtCalc").val(Math.round($( "#R_TW").val() * (+$( "#R_TNA").val() + +$( "#R_TNT").val()) * 100) / 100); if($( "#R_WtCalc").val() != $( "#Wt").val()){ $( "#RolLodWarn").show(); }else{ $( "#RolLodWarn").hide(); } } if(($( "#R_L1").val() != "") && ($( "#R_L1").val() != 0)){ $( "#R_W1").val(Math.round($( "#R_TW").val() * $( "#R_TNT").val() / $( "#R_L1").val() * 100) / 100); $( "#R_TNT").val(Math.round($( "#R_W1").val() * $( "#R_L1").val() / $( "#R_TW").val() * 100) / 100); $( "#R_WtCalc").val(Math.round($( "#R_TW").val() * (+$( "#R_TNA").val() + +$( "#R_TNT").val()) * 100) / 100); if($( "#R_WtCalc").val() != $( "#Wt").val()){ $( "#RolLodWarn").show(); }else{ $( "#RolLodWarn").hide(); } } }else{ $( "#R_RolLod").val(0); ClearParamRealCalc(); } if($( "#R_L1").val() != "" || ($( "#R_L1").val() != 0)){ $( "#R_TNT").val(Math.round($( "#R_W1").val() * $( "#R_L1").val() / $( "#R_TW").val() * 100) / 100); }else{ $( "#R_W1").val(0); $( "#R_TNT").val(0); } if($( "#R_L2").val() != "" && ($( "#R_L2").val() != 0)){ $( "#R_TNA").val(Math.round($( "#R_L2").val() / $( "#R_TL").val() * 100) / 100); $( "#R_W2").val(Math.round($( "#R_TW").val() * $( "#R_TNA").val() / $( "#R_L2").val() * 100) / 100); }else{ $( "#R_W2").val(0); $( "#R_TNA").val(0); } $( "#R_WtCalc").val(Math.round($( "#R_TW").val() * (+$( "#R_TNA").val() + +$( "#R_TNT").val()) * 100) / 100); if($( "#R_WtCalc").val() != $( "#Wt").val()){ $( "#RolLodWarn").show(); }else{ $( "#RolLodWarn").hide(); } } // 許容負荷の確認で、表の該当する行を目立たせる function HighlightLoadRow() { var HighlightRow = function( sTblId){ var sSelKata = $( "#ChainSize").val(); sSelKata = sSelKata.substr( 0, sSelKata.length - 1); var oTr = $( "#" + sTblId + " tbody").children(); for( var i=0; i < oTr.length; i++) { var sRowKata = oTr.eq(i).children( ":first").html(); sRowKata = sRowKata.substr( 0, sSelKata.length); var oCols = oTr.eq(i).children(); oCols.removeClass( "SelRow") if( sSelKata == sRowKata){ oCols.addClass( "SelRow"); } } } // ローラ HighlightRow( "TblRollerAL"); } // 本選定欄を表示する function ShowRealCalc() { HideArea( ST_REAL_CALC); $( "#RealCalcArea").show(); var sBuf = ""; // タイプ switch( $( "#Type").val()){ case "VR": sBuf = "Double Plus Free Flow Chains "; break; case "CR": sBuf = "Center Roller Chain "; break; case "SR": sBuf = "Outboard Roller Chains "; break; case "TR": sBuf = "Top Roller Chains "; break; } $( "#R_Type").html( sBuf); // タイプ if( $( "#Plate").val() == "RF"){ sBuf = "RF Double Pitch "; }else{ sBuf = "RS "; } $( "#R_Plate").html( sBuf); // 材質・処理 switch( $( "#Material").val()){ case "STANDARD": sBuf = "Standard "; break; case "-SS": sBuf = "SS Series "; break; case "-HCP": sBuf = "HCP Series "; break; case "-LMC": sBuf = "Lambda Series "; break; } $( "#R_Material").html( sBuf); // 搬送速度 $( "#R_V").html( $( "#Vc").val() + " m/min"); // 搬送物総質量 $( "#R_Wt").html( $( "#Wt").val() + " kg"); // 本体ローラ switch( $( "#BodyRoller").val()){ case "PA": sBuf = "Plastic roller A "; break; case "PB": sBuf = "Plastic roller B "; break; case "PC": sBuf = "Plastic roller C "; break; case "PD": sBuf = "Plastic roller D "; break; case "PUA": sBuf = "Urethane roller UA "; break; case "PUB": sBuf = "Urethane roller UB "; break; case "STL": sBuf = "Steel roller "; break; case "STLS": sBuf = "Steel S-roller "; break; case "STLR": sBuf = "Steel R-roller "; break; case "SUS": sBuf = "Stainless steel roller "; break; case "SUSS": sBuf = "Stainless steel S-roller "; break; case "SUSR": sBuf = "Stainless steel R-roller "; break; case "RP": sBuf = "Plastic R-roller "; break; case "HLNK": sBuf = "(Plastic inner link )"; break; } $( "#R_BodyRoller").html( sBuf); // 搬送ローラ switch( $( "#TranRoller").val()){ case "-SRP": case "-SRPL": sBuf = "Plastic outboard roller "; break; case "-SRPB": case "-SRPBL": sBuf = "Plastic outboard rollers with brake "; break; case "STL-SR": case "STL-SRL": sBuf = "Steel outboard roller "; break; case "SUS-SR": case "SUS-SRL": sBuf = "Stainless steel outboard roller "; break; case "-TRP": sBuf = "Plastic top roller "; break; case "STL-TR": sBuf = "Steel top roller "; break; case "SUS-TR": sBuf = "Stainless steel top roller "; break; } $( "#R_TranRoller").html( sBuf); // 本体ローラ潤滑有無 switch( $( "#BodyLube").val()){ case "LUBE": sBuf = "With lube "; break; case "NOLUBE": sBuf = "No lube "; break; } $( "#R_BodyLube").html( sBuf); // 搬送ローラ潤滑有無 switch( $( "#TranLube").val()){ case "LUBE": sBuf = "With lube "; break; case "NOLUBE": sBuf = "No lube "; break; } $( "#R_TranLube").html( sBuf); // 速度係数 $( "#R_Kv").html( $( "#Kv").html()); // 摩擦係数 $( "#R_f1").html( m_df1); $( "#R_f2").html( m_df2); $( "#R_f3").html( m_df3); } // 仮選定条件と結果表示クリア function ClearParamProvisory() { $( "#V").val( ""); $( "#Vc").val( ""); $( "#Wt").val( ""); ClearParamRealCalc(); HideArea( ST_INIT); } // 本選定条件と結果表示クリア function ClearParamRealCalc() { $( "#R_L1").val( ""); $( "#R_L2").val( ""); $( "#R_W1").val( ""); $( "#R_W2").val( 0); $( "#R_W1").val( 0); $( "#R_TNT").val( 0); $( "#R_TNA").val( 0); $( "#R_WtCalc").val( 0); // 本選定結果を非表示にする HideArea( ST_REAL_CALC); } // 製品情報詳細ページへのURLを返す // sKata --> チェーン形番 function GetUrlProductInfo( sKata) { // 倍速チェーン if( sKata.match( /^RF2\d{3}VR.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSRFVR.asp?kata=" + sKata; // センターローラチェーン if( sKata.match( /^RF2\d{3}CR$/)) return "/tecs/pdct/csc/pdct_Dtl_CSRFCR.asp?kata=" + sKata; // サイドローラ付チェーンプラコンビ仕様 if( sKata.match( /^RS\d{2}-PC-SRP.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSPCSR.asp?kata=" + sKata; // サイドローラ付チェーンRS if( sKata.match( /^RS\d{2,3}.*-SR.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSRSSR.asp?kata=" + sKata; // サイドローラ付チェーンRF if( sKata.match( /^RF2\d{3}.*-SR.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSRFSR.asp?kata=" + sKata; // トップローラ付チェーンRS if( sKata.match( /^RS\d{2,3}.*-TR.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSRSTR.asp?kata=" + sKata; // トップローラ付チェーンRF if( sKata.match( /^RF2\d{3}.*-TR.*/)) return "/tecs/pdct/csc/pdct_Dtl_CSRFTR.asp?kata=" + sKata; } // 入力欄と選定結果エリアを非表示にする // sStatus --> 選定計算の段階を表す function HideArea( sStatus) { switch( sStatus) { case ST_INIT: // 初期状態。仮選定結果エリア以下を非表示 $( "#ResultProvisoryArea").hide(); $( "#ConfirmLoadArea").hide(); $( "#RealCalcArea").hide(); $( "#ResultArea").hide(); $( "#ResultProvisoryNoDataArea").hide(); $( "#ResultProvisoryExistDataArea").hide(); $( "#R_TL").val(""); $( "#R_TW").val(""); $( "#R_RolLod").val(""); $( "#R_RolLod_hanso").val(""); $('input:radio[name="R_Interval"]').val(["1"]); break; case ST_PROV_RESULT: // 仮選定結果表示。許容負荷の確認エリア以下を非表示 $( "#ConfirmLoadArea").hide(); $( "#RealCalcArea").hide(); $( "#ResultArea").hide(); break; case ST_CONFIRM_LOAD: // 許容負荷の一覧表表示。本選定エリア以下を非表示 $( "#RealCalcArea").hide(); $( "#ResultArea").hide(); $( "#ResultRealCalcExistDataArea").hide(); $( "#ResultRealCalcNoDataArea").hide(); break case ST_REAL_CALC: // 本選定欄表示。本選定結果を非表示 $( "#ResultArea").hide(); $( "#ResultRealCalcNoDataArea").hide(); $( "#ResultRealCalcExistDataArea").hide(); break; case ST_REAL_CALC_RESULT: // 本選定結果表示 break; } } // チェーン仕様リストボックス変更時処理 function onChangeChainSpec() { // 仮選定結果以下を非表示 HideArea( ST_INIT); // チェーン仕様のリストボックス選択項目を取得し、動的に生成する GetNextListValue( $( this)); // 選択肢が一つの場合はそれを選択して次のリストボックスを設定する switch( $(this).attr( "id")){ case "Type": if($( "#Material").children().length == 2){ // alert("case Type : " + $( "#Material option:eq(1)").val()); $( "#Material").val($( "#Material option:eq(1)").val()); GetNextListValue( $( "#Material")); } case "Material": if($( "#Plate").children().length == 2){ // alert("case Material : " + $( "#Plate option:eq(1)").val()); $( "#Plate").val($( "#Plate option:eq(1)").val()); GetNextListValue( $( "#Plate")); } case "Plate": if($( "#BodyRoller").children().length == 2){ // alert("case Material : " + $( "#BodyRoller option:eq(1)").val()); $( "#BodyRoller").val($( "#BodyRoller option:eq(1)").val()); GetNextListValue( $( "#BodyRoller")); } case "BodyRoller": if($( "#BodyLube").children().length == 2){ // alert("case BodyRoller : " + $( "#BodyLube option:eq(1)").val()); $( "#BodyLube").val($( "#BodyLube option:eq(1)").val()); GetNextListValue( $( "#BodyLube")); } case "BodyLube": if($( "#TranRoller").children().length == 2){ // alert("case BodyLube : " + $( "#TranRoller option:eq(1)").val()); $( "#TranRoller").val($( "#TranRoller option:eq(1)").val()); GetNextListValue( $( "#TranRoller")); } case "TranRoller": if($( "#TranLube").children().length == 2){ // alert("case TranRoller : " + $( "#TranLube option:eq(1)").val()); $( "#TranLube").val($( "#TranLube option:eq(1)").val()); GetNextListValue( $( "#TranLube")); } } //$( "#V").val(""); //$( "#Vc").val(""); //$( "#Wt").val(""); if($( "#Type").val() == "VR"){ $( "#Vc").val( $( "#V").val() / 2.5); }else{ $( "#Vc").val( $( "#V").val()); } DispKv() } // チェーン仕様のリストボックス選択項目を取得し、動的に生成する function GetNextListValue( $this) { var sData = "spec_kind=" + $this.attr( "id"); switch( $this.attr( "id")) { case "Type": sData += "&type=" + $( "#Type").val(); // 目的のリスト以下の全件削除 $( "#Material option" ).remove(); $( "#Plate option" ).remove(); $( "#BodyRoller option").remove(); $( "#BodyLube option" ).remove(); $( "#TranRoller option").remove(); $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "Material": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val(); // 目的のリスト以下の全件削除 $( "#Plate option" ).remove(); $( "#BodyRoller option").remove(); $( "#BodyLube option" ).remove(); $( "#TranRoller option").remove(); $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "Plate": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val() + "&plate=" + $( "#Plate").val(); // 目的のリスト以下の全件削除 $( "#BodyRoller option").remove(); $( "#BodyLube option" ).remove(); $( "#TranRoller option").remove(); $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "BodyRoller": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val() + "&plate=" + $( "#Plate").val() + "&bodyroller=" + $( "#BodyRoller").val(); // 目的のリスト以下の全件削除 $( "#BodyLube option" ).remove(); $( "#TranRoller option").remove(); $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "BodyLube": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val() + "&plate=" + $( "#Plate").val() + "&bodyroller=" + $( "#BodyRoller").val() + "&bodylube=" + $( "#BodyLube").val(); // 目的のリスト以下の全件削除 $( "#TranRoller option").remove(); $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "TranRoller": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val() + "&plate=" + $( "#Plate").val() + "&bodyroller=" + $( "#BodyRoller").val() + "&bodylube=" + $( "#BodyLube").val() + "&tranroller=" + $( "#TranRoller").val(); // 目的のリスト以下の全件削除 $( "#TranLube option" ).remove(); $( "#f1").html(""); $( "#f2").html(""); $( "#f3").html(""); break; case "TranLube": sData += "&type=" + $( "#Type").val() + "&material=" + $( "#Material").val() + "&plate=" + $( "#Plate").val() + "&bodyroller=" + $( "#BodyRoller").val() + "&bodylube=" + $( "#BodyLube").val() + "&tranroller=" + $( "#TranRoller").val() + "&tranlube=" + $( "#TranLube").val(); break; default: break; } if( $this.val() == ""){ return;} $.ajax( { type: "GET" , cache: false , url: "calc_csc_ff_get_next_list_val.asp" , data: sData , async: false , dataType: "text" , success: ControlChainSpecList }); var sUrl = "http://temold/tecs/calc/csc/calc_csc_ff_get_next_list_val.asp" + "?" + sData; DebugPrint( sUrl, "仕様リスト項目取得URL"); } // チェーン仕様のリストボックス変更で選択リスト項目を動的に生成 function ControlChainSpecList( dt) { var arList = eval( dt); if( arList == ""){ return;} for( var i=0; i < arList.length; i++) { for( var key in arList[i]) { // リストボックスの項目を動的に生成 if( i == 0){ // 空白行追加 $( "#" + key).append( $( "