/* */ /* ' ########################################################### ' 小形コチ選定計算用JS ' Create 2013.08.30 J.Ito ' 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; // 摩擦係数 var m_dV = 0; // 入力値:搬送速度 var m_dKv = 0; // 速度係数 var m_dL = 0; // 入力値:水平方向距離 var m_dH = 0; // 入力値:垂直方向距離 var m_dC = 0; // 入力値:軸間距離 var m_dC2 = 0; // 入力値:軸間距離2 水平・傾斜搬送用 var m_dAttOtherW = 0; // 入力値:その他アタッチメント重量 var m_iAttSpanLink = 0; // 入力値:アタッチメント取付間隔 var m_dChainW1m = 0; // 入力値:チェーン1mあたりの重量 var m_dPitch = 0; // ピッチ var m_dMJ = 0; // 入力値:運行部治具の質量 var m_dM = 0; // 運行部質量(チェーン本体+治具質量) var m_dW = 0; // 入力値:搬送物質量 var m_dF = 0; // 作用張力 var m_dF_Para = 0; // 〃 並列 // 搬送形態の選択ボタンクリック時処理 function SelectConveyorType() { var $this = $( this); var sTbId = ""; var sImg = ""; var sImgSel = ""; var sL_Note = ""; var sH_Note = ""; var sC_Note = ""; var sC2_Note = ""; $( "#R_C").removeClass( "ReadOnly"); switch( $this.attr( "id")) { case "BtnHr": sTbId = "#ParamHr"; sImg = "cnvy_hr.jpg"; sImgSel = "cnvy_hr_sel.jpg"; sL_Note = "Center distance between sprockets  L"; ShowDbgFormula( "DbgTblHR"); break; case "BtnVt": sTbId = "#ParamVt"; sImg = "cnvy_vt.jpg"; sImgSel = "cnvy_vt_sel.jpg"; sH_Note = "Center distance between sprockets  H"; ShowDbgFormula( "DbgTblVT"); break; case "BtnSl": sTbId = "#ParamHr, #ParamVt, #ParamSl"; sImg = "cnvy_sl.jpg"; sImgSel = "cnvy_sl_sel.jpg"; sL_Note = "Base  L"; sH_Note = "Height  H"; sC_Note = "Center distance between sprockets  C"; $( "#R_C").prop( "readonly", true); // 傾斜搬送はC自動計算 $( "#R_C").addClass( "ReadOnly"); ShowDbgFormula( "DbgTblSL"); break; case "BtnHrsl": sTbId = "#ParamHr, #ParamVt, #ParamSl, #ParamHrsl"; sImg = "cnvy_hrsl.jpg"; sImgSel = "cnvy_hrsl_sel.jpg"; sL_Note = "Base  L1"; sH_Note = "Height  H"; sC_Note = "Center distance between sprockets (horizontal point)  C1"; sC2_Note = "Center distance between sprockets (inclined point)  C2"; $( "#R_C").prop( "readonly", false); ShowDbgFormula( "DbgTblHRSL"); break; } // 入力欄を非表示にし、ボタンを元に戻す $( "#ParamHr, #ParamVt, #ParamSl, #ParamHrsl").hide(); $( "p.Btn").removeClass( "BtnSel"); // 水平搬送 $( "#BtnHr").children( "img").attr( "src", "./img/cnvy_hr.jpg"); $( "#ParamHr p:first").html( sL_Note); // 垂直搬送 $( "#BtnVt").children( "img").attr( "src", "./img/cnvy_vt.jpg"); $( "#ParamVt p:first").html( sH_Note); // 傾斜搬送 $( "#BtnSl").children( "img").attr( "src", "./img/cnvy_sl.jpg"); $( "#ParamSl p:first").html( sC_Note); // 水平・傾斜搬送 $( "#BtnHrsl").children( "img").attr( "src", "./img/cnvy_hrsl.jpg"); $( "#ParamHrsl p:first").html( sC2_Note); var $p = $this.parent( "p"); // ラジオボタンクリック $p.prev().children( ":radio").prop( "checked", true); // スプロケット中心距離テキストボックス表示 $( sTbId).show(); // ボタンを凹ます $p.addClass( "BtnSel"); $this.children( "img").attr( "src", "./img/" + sImgSel); HideArea( ST_REAL_CALC); } // 傾斜搬送、水平傾斜搬送の斜辺を自動計算 function CalcHypotenuse() { // 水平搬送、垂直搬送はリターン var sConveyor = $( ":radio[name=ConveyorType]:checked").val(); if( sConveyor == "HR" || sConveyor == "VT"){ return;} if( sConveyor == "SL"){ $( "#R_C").val( ""); }else if( sConveyor = "HRSL"){ $( "#R_C2").val( ""); } var sBuf = trimzen( $( "#R_L").val()); if( sBuf == ""){ return;} if( !IsNumeric( sBuf)){ return;} var dL = parseFloat( sBuf); sBuf = trimzen( $( "#R_H").val()); if( sBuf == ""){ return;} if( !IsNumeric( sBuf)){ return;} var dH = parseFloat( sBuf); var dC = Math.sqrt( Math.pow( dL, 2) + Math.pow( dH, 2)); dC = RoundUpDecimal( dC, 2); if( sConveyor == "SL"){ $( "#R_C").val( dC); }else if( sConveyor = "HRSL"){ $( "#R_C2").val( dC); } } // 搬送速度ロストフォーカス時処理 // 速度係数の決定 function DispKv() { SetInputParam(); SetSpeedFactor(); $( "#Kv").html( m_dKv); } function DispFrictionFactor() { SetFrictionFactor(); $( "#f1").html( m_df1); // 仮選定結果以下を非表示 HideArea( ST_INIT); } // 摩擦係数のセット function SetFrictionFactor() { var sRoller = $( "#Roller").val(); var sLube = $( "#Lube").val(); var sFigure = $( "#Figure").val(); var bGuideRollerOn = $( "#Guide_RollerOn").prop( "checked"); var bLubeMeth = $( "#LubeMeth_Y").prop( "checked"); m_df1 = 0; if( bGuideRollerOn){ // ローラがレール上を転がる時 // 潤滑・ローラ仕様 switch( sLube) { case "STANDARD": // 標準 if( sRoller == "R" && bLubeMeth == false){ m_df1 = 0.12;} if( sRoller == "R" && bLubeMeth == true) { m_df1 = 0.08;} if( sRoller == "S" && bLubeMeth == false){ m_df1 = 0.21;} if( sRoller == "S" && bLubeMeth == true) { m_df1 = 0.14;} break; case "LMC": // ラムダ case "LMCX": // 長寿命ラムダ if( sRoller == "R"){ m_df1 = 0.08;} if( sRoller == "S"){ m_df1 = 0.14;} break; case "P": case "PKV": if( sRoller == "R" && bLubeMeth == false){ m_df1 = 0.08;} break; case "PSN": if( sRoller == "R" && bLubeMeth == false){ m_df1 = 0.1;} break; } // 形状・仕様 switch( sFigure) { case "NB": case "NBH": case "NC": m_df1 = 0.21; break; } }else{ // プレートがレール上を滑る時 switch( sLube) { case "PC": // プラコンビチェーン m_df1 = 0.25; break; default: if( bLubeMeth){ // 潤滑有り m_df1 = 0.3; }else{ // 潤滑無し m_df1 = 0.3; } break; } } } // 摩擦係数のセット。仮選定のチェーンサイズ変更した時に係数を決定 function SetFrictionFactorByChainSize() { // RS25、RS35はローラなしのブシュのみのため係数変更 var sChainSize = $( "#ChainSize").val(); if( sChainSize == "RS25" || sChainSize == "RS35"){ m_df1 = 0.3; }else{ m_df1 = parseFloat( $( "#f1").html()); } } // 潤滑・ローラ仕様「ラムダ」選択時に材質・処理「コーティングNP」→「コーティングNP(NEP)」に変更 function ChangeDispLamda( obj) { // 潤滑・ローラ仕様のみ if( $( obj).attr( "name") != "Lube"){ return;} $( "#MaterialCoatingNP_Area").hide(); $( "#MaterialCoatingNP_ForLamdaArea").hide(); if( $( "#Lube").val() == "LMC"){ $( "#MaterialCoatingNP_ForLamdaArea").show(); }else{ $( "#MaterialCoatingNP_Area").show(); } } // 仮選定入力値チェック function CheckInputProvisory() { // 必須入力チェック if( !CheckCompulsoryInput( "Type")){ return false;} if( !CheckCompulsoryInput( "Roller")){ return false;} if( !CheckCompulsoryInput( "Lube")){ return false;} if( !CheckCompulsoryInput( "Figure")){ return false;} if( !CheckCompulsoryInput( "Material")){ return false;} if( !CheckCompulsoryInput( "V")){ return false;} if( !CheckCompulsoryInput( "W")){ return false;} // 数値チェック if( !CheckNumeric( "V")){ return false;} if( !CheckNumeric( "W")){ 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_L")){ return false;} if( !CheckCompulsoryInput( "R_H")){ return false;} if( !CheckCompulsoryInput( "R_C")){ return false;} //if( !CheckCompulsoryInput( "R_C2")){ return false;} // その他選択時のみ if( !CheckCompulsoryInput( "R_AttachOtherW")){ return false;} if( !CheckCompulsoryInput( "R_AttachSpanLink")){ return false;} if( !CheckCompulsoryInput( "R_MJ")){ return false;} // 数値チェック if( !CheckNumeric( "R_L")){ return false;} if( !CheckNumeric( "R_H")){ return false;} if( !CheckNumeric( "R_C")){ return false;} //if( !CheckNumeric( "R_C2")){ return false;} if( !CheckNumeric( "R_AttachOtherW")){ return false;} if( !CheckNumeric( "R_AttachSpanLink")){ return false;} if( !CheckNumeric( "R_MJ")){ return false;} return true; } // 必須入力チェック function CheckCompulsoryInput( sId) { var sMsg = ""; switch( sId) { case "Type": sMsg = "Select a type. "; break; case "Roller": sMsg = "Select roller. "; break; case "Lube": sMsg = "Select lubrication & roller type. "; break; case "Figure": sMsg = "Select shape & series. "; break; case "Material": sMsg = "Select material & treatment. "; break; case "V": sMsg = "Input conveying speed. "; break; case "R_L": // 垂直搬送以外 if( $( ":radio[name=ConveyorType]:checked").val() != "VT") sMsg = "Input L. "; break; case "R_H": // 水平搬送以外 if( $( ":radio[name=ConveyorType]:checked").val() != "HR") sMsg = "Input H. "; break; case "R_C": // 水平・傾斜の時だけ if( $( ":radio[name=ConveyorType]:checked").val() == "HRSL") sMsg = "Input C1. "; break; case "R_C2": // 水平・傾斜のみ if( $( ":radio[name=ConveyorType]:checked").val() == "HRSL") sMsg = "Input C2. "; break; case "W": sMsg = "Input total mass of conveyed objects. "; break; case "R_AttachOtherW": if( $( ":radio[name=R_Attach]:checked").val() == "OTHER") sMsg = "Input mass when selecting 'Other' for attachment type. "; break; case "R_AttachSpanLink": sMsg = "Input attachment spacing. "; break; case "R_MJ": sMsg = "Input jig mass of moving areas. "; 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 for conveying speed. "; break; case "W": sMsg = "Input a value for total mass of conveyed objects. "; break; case "R_L": sMsg = "Input a value for L. "; break; case "R_H": sMsg = "Input a value for H. "; break; case "R_C": sMsg = "Input a value for C1. "; break; case "R_C2": sMsg = "Input a value for C2. "; break; case "R_AttachOtherW": if( $( ":radio[name=R_Attach]:checked").val() == "OTHER") sMsg = "Input a value for mass of attachment 'Other'. "; break; case "R_AttachSpanLink": sMsg = "Input a value for attachment spacing. "; break; case "R_MJ": sMsg = "Input a value for jig mass of moving areas. "; 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 onClickAttach() { // その他を選択した時、質量入力欄を表示する if( $( this).attr( "id") == "R_Attach_Other"){ $( "#AttachOtherArea").show(); $( "#R_AttachOtherW").focus(); }else{ $( "#AttachOtherArea").hide(); } // 「アタッチメント無し」を選択した時、アタッチメント取付間隔欄を非表示にする $( "#AttachSpanLinkArea").show(); if( $( this).val() == "NONE"){ // リンク数には1を入力。必須入力チェックを避けるため。 // アタッチメント無しはアタッチメント重量0kgになるのでリンク数は何個でもアタッチメント重量が0kgとなる。 $( "#R_AttachSpanLink").val( "1"); $( "#AttachSpanLinkArea").hide(); } HideArea( ST_REAL_CALC); } // 本選定を行う function CalcConveyorChain() { $( "#ResultRealCalcNoDataArea").hide(); $( "#ResultRealCalcExistDataArea").hide(); $( "#ResultArea").hide(); // 基本形番と仕様を取得 var arChain; $.ajax( { type: "GET" , cache: false , url: "calc_csc_getspec_listbox.asp" , data: "size=" + $( "#ChainSize").val() + "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val() + "&lube=" + $( "#Lube").val() + "&fig=" + $( "#Figure").val() + "&mate=" + $( "#Material").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_getspec_listbox.asp?" ///// + "size=" + $( "#ChainSize").val() ///// + "&type=" + $( "#Type").val() ///// + "&roller=" + $( "#Roller").val() ///// + "&lube=" + $( "#Lube").val() ///// + "&fig=" + $( "#Figure").val() ///// + "&mate=" + $( "#Material").val() ///// + "&tens=" + m_dF ///// + "&kv=" + m_dKv; var sDebugUrl = "http://tt-net/tecs/calc/csc/calc_csc_getspec_listbox.asp?" + "size=" + $( "#ChainSize").val() + "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val() + "&lube=" + $( "#Lube").val() + "&fig=" + $( "#Figure").val() + "&mate=" + $( "#Material").val() + "&tens=" + m_dF + "&kv=" + m_dKv; DebugPrint( m_dKv, "速度係数"); DebugPrint( sDebugUrl, "本選定形番取得URL(単列)"); if( arChain == ""){ // NoData表示 $( "#ResultRealCalcNoDataArea").show(); // 選定結果を非表示 $( "#S_Kata").html(""); $( "#S_AlwTens").html(""); $( "#S_TensRate").html(""); $( "#S_RolAlwLoad").html(""); $( "#ReqPowVal").html(""); $( "#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 sLoad = ""; if( arChain[0].AlwRolLoad_kN == null){ if( arChain[0].ChainNo == "RS25" || arChain[0].ChainNo == "RS35"){ sLoad = "※"; bRolAlCommentShow = true; $( "#ResultCautionRolAlwLoadArea").show(); }else{ sLoad = "-"; } $( "#S_RolAlwLoad").addClass( "AlignC"); }else{ sLoad = arChain[0].AlwRolLoad_kN; $( "#S_RolAlwLoad").addClass( "AlignR"); $( "#ResultCautionRolAlwLoadArea").hide(); } $( "#S_RolAlwLoad").html( sLoad); 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( $( "#V").val()); // 搬送速度 m_dW = parseFloat( $( "#W").val()); // 搬送物総質量 m_dL = parseFloat( $( "#R_L").val()); // スプロケット間距離(幅) m_dH = parseFloat( $( "#R_H").val()); // 〃(高さ) // 傾斜部の斜辺を自動計算 switch( $( ":radio[name=ConveyorType]:checked").val()) { case "SL": if( $( "#R_C").val() == "") $( "#R_H").blur(); break; case "HRSL": if( $( "#R_C2").val() == "") $( "#R_H").blur(); break; } m_dC = parseFloat( $( "#R_C").val()); // 〃(傾斜または水平傾斜の水平部分) m_dC2 = parseFloat( $( "#R_C2").val()); // 〃(水平傾斜の傾斜部分) m_iAttSpanLink = parseFloat( $( "#R_AttachSpanLink").val()); // アタッチメント取付間隔 ○リンクにつき△個の○の方 m_dMJ = parseFloat( $( "#R_MJ").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() { // 1メートル当たりのアタッチメント質量を返す var GetAttWt1m = function(){ $( "#DbgPitch").html( m_dPitch); // 1mあたり何リンクか(切り上げ) var iLink = Math.ceil( 1000 / m_dPitch); $( "#DbgAttW_PerKo").html( dAttW); $( "#DbgLink").html( iLink); // 1m当たりリンク数 / アタッチメント取付間隔 * 1個当たりのアタッチメント質量 var ret = iLink / m_iAttSpanLink * dAttW; if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列の場合は、チェーン質量とアタッチメント質量は2倍 ret *= 2; } $( "#DbgAttW").html( ret); return ret; } // 作用張力(単列時、並列時)を表示 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); } // 静的最大張力値を設定する var SetTension = function(){ // 並列時の作用張力は、単列時の0.6倍 if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ m_dF *= 0.6; } } // ボタンを非表示と「お待ちください」表示 $( "#R_BtnExecArea").hide(); $( "#R_BtnParamClearArea").hide(); $( "#R_WaitForCalcArea").show(); // アタッチメント質量取得 var dAttW = 0; if( $( "#R_Attach_Other").prop( "checked") == true){ // アタッチメント種類「その他」選択 dAttW = parseFloat( trimzen( $( "#R_AttachOtherW").val())); }else{ var sKey = "W_ATT_"; var sAttach = $( ":radio[name=R_Attach]:checked").val(); sKey += sAttach; if( sAttach == "ASA" || sAttach == "KKA"){ var sFig = $( "#Figure").val(); var sMate = $( "#Material").val(); if( sFig != "NB"){ // ステンレス仕様。NBはステンレス仕様のレコードを持っているため、ここでは除外 if( sMate == "SS" || sMate == "AS" || sMate == "NS") sKey += "_SS"; } } if( sAttach == "NONE"){ dAttW = 0; }else{ dAttW = m_arr[ sKey]; } } /* var m_df1 = 0; // 摩擦係数 var m_dV = 0; // 入力値:搬送速度 var m_dKv = 0; // 速度係数 var m_dL = 0; // 入力値:水平方向距離 var m_dH = 0; // 入力値:垂直方向距離 var m_dC = 0; // 入力値:軸間距離 var m_dC2 = 0; // 入力値:軸間距離2 水平・傾斜搬送用 ※var m_dM = 0; // 入力値:運行部分の質量 var dAttW = 0; // 選択値:アタッチメント重量/個 var m_iAttSpanLink = 0; // 入力値:アタッチメント取付間隔 var m_dMJ = 0; // 入力値:運行部治具の質量 var m_dPitch = 0; // ピッチ数 var m_dW = 0; // 入力値:搬送物質量 var m_dFHR = 0; // 作用張力 水平搬送 var m_dFHRpara = 0; //  〃   水平搬送並列 var m_dFVT = 0; //  〃   垂直搬送 var m_dFVTpara = 0; //  〃   垂直搬送並列 var m_dFSL = 0; //  〃   傾斜搬送 var m_dFSLpara = 0; //  〃   傾斜搬送並列 var m_dFHRSL = 0; //  〃   水平・傾斜搬送 var m_dFHRSLpara = 0; //  〃   水平・傾斜搬送並列 m_dM --> チェーン質量+治具質量(m_dMJ) 作用張力は静的最大張力×速度係数(カタログP123参照) */ // チェーン質量/m + アタッチメント質量/m + 治具質量/m m_dM = m_dChainW1m + GetAttWt1m() + m_dMJ; $( "#DbgM").html( m_dM - m_dMJ); $( "#DbgMC_PerMeter").html( m_dChainW1m); // デバッグ表示用に最大張力(F)、F×0.6、F×Kv、F×Kv×0.6の計算結果を表示 var CalcTensForDebug = function( sConveyorType) { var dF = m_dF; if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列の場合は、張力を0.6倍する前に戻す dF = dF / 0.6; } $( "#DbgMaxT_F_" + sConveyorType).html( dF); $( "#DbgMaxT_F06_" + sConveyorType).html( dF * 0.6); $( "#DbgMaxT_F_Kv_" + sConveyorType).html( dF * m_dKv); $( "#DbgMaxT_F06Kv_" + sConveyorType).html( dF * 0.6 * m_dKv); $( "#TR_DbgMaxT_F06_" + sConveyorType).hide(); $( "#TR_DbgMaxT_F_Kv_" + sConveyorType).hide(); $( "#TR_DbgMaxT_F06Kv_" + sConveyorType).hide(); if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列 $( "#TR_DbgMaxT_F06_" + sConveyorType).show(); $( "#TR_DbgMaxT_F06Kv_" + sConveyorType).show(); }else{ // 単列 $( "#TR_DbgMaxT_F_Kv_" + sConveyorType).show(); } }; switch( $( ":radio[name=ConveyorType]:checked").val()) { case "HR": m_dF = (m_dW + 2.1 * m_dM * m_dL) * m_df1 * m_dG / 1000; // 最大張力の計算結果をデバッグ用に表示 CalcTensForDebug( "HR"); // m_dF(静的最大張力値)を設定。作用張力計算の前に行う //SetTension(); $( "#DbgMaxT_W_HR").html( m_dW); $( "#DbgMaxT_M_HR").html( m_dM); $( "#DbgMaxT_L_HR").html( m_dL); $( "#DbgMaxT_f1_HR").html( m_df1); $( "#DbgMaxT_MC_HR").html( m_dM - m_dMJ); $( "#DbgMaxT_MJ_HR").html( m_dMJ); DispWorkTension(); break; case "VT": // 垂直搬送 m_dF = (m_dW + m_dM * m_dH) * m_dG / 1000; // 最大張力の計算結果をデバッグ用に表示 CalcTensForDebug( "VT"); //SetTension(); $( "#DbgMaxT_W_VT").html( m_dW); $( "#DbgMaxT_M_VT").html( m_dM); $( "#DbgMaxT_H_VT").html( m_dH); $( "#DbgMaxT_f1_VT").html( m_df1); $( "#DbgMaxT_MC_VT").html( m_dM - m_dMJ); $( "#DbgMaxT_MJ_VT").html( m_dMJ); DispWorkTension(); break; case "SL": if( (m_dL * m_df1 - m_dH) < 0){ m_dF = ((m_dW + m_dM * m_dC) * (m_dL * m_df1 + m_dH) / m_dC + 1.1 * m_dM * 0) * m_dG / 1000; }else{ m_dF = ((m_dW + m_dM * m_dC) * (m_dL * m_df1 + m_dH) / m_dC + 1.1 * m_dM * (m_dL * m_df1 - m_dH)) * m_dG / 1000; } // 最大張力の計算結果をデバッグ用に表示 CalcTensForDebug( "SL"); //SetTension(); $( "#DbgMaxT_W_SL").html( m_dW); $( "#DbgMaxT_M_SL").html( m_dM); $( "#DbgMaxT_H_SL").html( m_dH); $( "#DbgMaxT_C_SL").html( m_dC); $( "#DbgMaxT_L_SL").html( m_dL); $( "#DbgMaxT_f1_SL").html( m_df1); $( "#DbgMaxT_MC_SL").html( m_dM - m_dMJ); $( "#DbgMaxT_MJ_SL").html( m_dMJ); DispWorkTension(); break; case "HRSL": if( (m_dL * m_df1 - m_dH) < 0){ m_dF = (((m_dW / (m_dC + m_dC2)) + 2.1 * m_dM) * m_dC * m_df1 + ((m_dW / (m_dC + m_dC2)) + m_dM) * (m_dL * m_df1 + m_dH) + 1.1 * m_dM * 0) * m_dG / 1000; }else{ m_dF = (((m_dW / (m_dC + m_dC2)) + 2.1 * m_dM) * m_dC * m_df1 + ((m_dW / (m_dC + m_dC2)) + m_dM) * (m_dL * m_df1 + m_dH) + 1.1 * m_dM * (m_dL * m_df1 - m_dH)) * m_dG / 1000; } // 最大張力の計算結果をデバッグ用に表示 CalcTensForDebug( "HRSL"); //SetTension(); $( "#DbgMaxT_W_HRSL").html( m_dW); $( "#DbgMaxT_C1_HRSL").html( m_dC); $( "#DbgMaxT_C2_HRSL").html( m_dC2); $( "#DbgMaxT_M_HRSL").html( m_dM); $( "#DbgMaxT_H_HRSL").html( m_dH); $( "#DbgMaxT_L1_HRSL").html( m_dL); $( "#DbgMaxT_f1_HRSL").html( m_df1); $( "#DbgMaxT_MC_HRSL").html( m_dM - m_dMJ); $( "#DbgMaxT_MJ_HRSL").html( m_dMJ); DispWorkTension(); break; } } // 所要動力の計算 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_kW_HR").hide(); $( "#DbgTbl_kW_VT").hide(); $( "#DbgTbl_kW_SL").hide(); $( "#DbgTbl_kW_HRSL").hide(); switch( $( ":radio[name=ConveyorType]:checked").val()) { case "HR": // 水平搬送 dPower = m_dF * m_dV / 60 * 1 / iEta; sNum = String( RoundDecimal( dPower, 3)); sPower = "

" + AddDecimalKeta( sNum, 3) + "

"; sPower += sWarnPow; $( "#DbgTbl_kW_HR").show(); $( "#Dbg_kw_HR_F").html( m_dF); $( "#Dbg_kw_HR_V").html( m_dV); break; case "VT": // 垂直搬送 dPower = m_dW * m_dV / 60 * m_dG / 1000 * 1 / iEta; sNum = String( RoundDecimal( dPower, 3)); sPower = "

" + AddDecimalKeta( sNum, 3) + "

"; sPower += sWarnPow; $( "#DbgTbl_kW_VT").show(); $( "#Dbg_kw_VT_W").html( m_dW); $( "#Dbg_kw_VT_V").html( m_dV); break; case "SL": // 傾斜搬送 if( (m_dH - m_dL * m_df1) < 0){ dPower = m_dV / 60 * (m_dF - m_dM * 0 * m_dG / 1000) * 1 / iEta; }else{ dPower = m_dV / 60 * (m_dF - m_dM * (m_dH - m_dL * m_df1) * m_dG / 1000) * 1 / iEta; } sNum = String( RoundDecimal( dPower, 3)); sPower = "

" + AddDecimalKeta( sNum, 3) + "

"; sPower += sWarnPow; $( "#DbgTbl_kW_SL").show(); $( "#Dbg_kw_SL_V").html( m_dV); $( "#Dbg_kw_SL_F").html( m_dF); $( "#Dbg_kw_SL_M").html( m_dM); $( "#Dbg_kw_SL_H").html( m_dH); $( "#Dbg_kw_SL_L").html( m_dL); $( "#Dbg_kw_SL_f1").html( m_df1); break; case "HRSL": // 水平・垂直搬送 if( (m_dH - m_dL * m_df1) < 0){ dPower = m_dV / 60 * (m_dF - m_dM * 0 * m_dG / 1000) * 1 / iEta; }else{ dPower = m_dV / 60 * (m_dF - m_dM * (m_dH - m_dL * m_df1) * m_dG / 1000) * 1 / iEta; } sNum = String( RoundDecimal( dPower, 3)); sPower = "

" + AddDecimalKeta( sNum, 3) + "

"; sPower += sWarnPow; $( "#DbgTbl_kW_HRSL").show(); $( "#Dbg_kw_HRSL_V").html( m_dV); $( "#Dbg_kw_HRSL_F").html( m_dF); $( "#Dbg_kw_HRSL_M").html( m_dM); $( "#Dbg_kw_HRSL_H").html( m_dH); $( "#Dbg_kw_HRSL_L1").html( m_dL); $( "#Dbg_kw_HRSL_f1").html( m_df1); break; } $( "#ReqPow").html( sPower); } // ログの書き出し function PutLog(){ var sLogStr; sLogStr = $( "#R_ChainType").html() // タイプ + "__tab__" + $( "#R_Roller").html() // ローラ形式 + "__tab__" + $( "#R_Lube").html() // 仕様1 + "__tab__" + $( "#R_Figure").html() // 仕様2 + "__tab__" + $( "#R_Material").html(); // 仕様3 switch($( ":radio[name=RunType]:checked").val()){ // 並列・単列 case "Parallel": sLogStr = sLogStr + "__tab__" + "2本並列"; break; case "Single": sLogStr = sLogStr + "__tab__" + "単列"; break; } sLogStr = sLogStr + "__tab__" + $( "#R_V").html().replace( " m/min", "") // 搬送速度 V + "__tab__" + $( "#R_W").html().replace( " kg", "") // 搬送物総質量 W + "__tab__" + $( "#R_Guide").html() // ガイド方式 + "__tab__" + $( "#R_LubeMeth").html() // ローラ・ブシュ間の潤滑 + "__tab__" + $( "#R_Kv").html() // 速度係数 Kv + "__tab__" + $( "#R_f1").html() // 摩擦係数 f1 + "__tab__" + $( "#ChainSize").val(); // 仮選定したサイズ switch($( ":radio[name=ConveyorType]:checked").val()){ // コンベヤタイプ case "HRSL": sLogStr = sLogStr + "__tab__" + "水平・傾斜搬送"; break; case "SL": sLogStr = sLogStr + "__tab__" + "傾斜搬送"; break; case "VT": sLogStr = sLogStr + "__tab__" + "垂直搬送"; break; case "HR": sLogStr = sLogStr + "__tab__" + "水平搬送"; break; } sLogStr = sLogStr + "__tab__" + $( "#R_L").val() // 底辺 L1 + "__tab__" + $( "#R_H").val() // 高さ H + "__tab__" + $( "#R_C").val() // スプロケット中心距離(水平箇所) C1 + "__tab__" + $( "#R_C2").val(); // スプロケット中心距離(傾斜箇所) C2 switch($( ":radio[name=R_Attach]:checked").val()){ // アタッチメント種類 case "ASA": sLogStr = sLogStr + "__tab__" + "A・SA"; break; case "KKA": sLogStr = sLogStr + "__tab__" + "K・SK"; break; case "EP": sLogStr = sLogStr + "__tab__" + "EP"; break; case "AASAA": sLogStr = sLogStr + "__tab__" + "AA・SAA"; break; case "KKSKK": sLogStr = sLogStr + "__tab__" + "KK・SKK"; break; case "WAWSA": sLogStr = sLogStr + "__tab__" + "WA・WSA"; break; case "WKWSK": sLogStr = sLogStr + "__tab__" + "WK・WSK"; break; case "OTHER": sLogStr = sLogStr + "__tab__" + "その他"; break; case "NONE": sLogStr = sLogStr + "__tab__" + "無し"; break; } sLogStr = sLogStr + "__tab__" + $( "#R_AttachSpanLink").val() // アタッチメント取付間隔 + "__tab__" + $( "#R_MJ").val() // 1メートル当たりの治具質量 + "__tab__" + $( "#S_WorkTens").html(); // 作用張力 kN if($( "#S_KataStr")[0]){ sLogStr = sLogStr + "__tab__" + $( "#S_KataStr").html(); // 品名 }else{ sLogStr = sLogStr + "__tab__張力不足"; // 仮選定形番では張力不足の場合 } sLogStr = sLogStr + "__tab__" + $( "#S_AlwTens").html() // 許容張力 kN + "__tab__" + $( "#S_TensRate").html() // 張力余裕率 + "__tab__" + $( "#S_RolAlwLoad").html() // ローラ許容負荷 kN + "__tab__" + $( "#ReqPowVal").html(); // 所要動力 kW $.ajax( { type: "GET" , cache: false , url: "/tecs/calc/calc_putlog.asp" // , data: "mode=cc" , data: "logfp=d:\\wwwroot\\tecs\\calc\\csc\\log\\CSCAccessLog.txt" + "&val4log=" + sLogStr , async: false // , dataType: "text" // , success: function(dt){ // arChain = eval( dt); // } } ); } // 静的最大張力から該当するチェーンサイズを仮選定する function ProvisionalDecisionChainSize() { // 入力値チェック if( !CheckInputProvisory()){ return;} // 仮選定結果以下を非表示 HideArea( ST_INIT); $( "#WaitForProvisoryArea").show(); // 静的最大張力(F)を求める // F(kN)=W×f1×Kv×G/1000 var dW = parseFloat( $( "#W").val()); var dKv = parseFloat( $( "#Kv").html()); var df1 = parseFloat( $( "#f1").html()); var dG = parseFloat( $( "#G_Forces").html()); var dF = dW * df1 * dKv * dG / 1000; // 並列走行の張力は単列の0.6倍 if( $( ":radio[name=RunType]:checked").val() == "Parallel") dF *= 0.6; // Fを満たす最小の許容張力を持つチェーンサイズ決定 - ① // 形番パターンの生成 var sType = $( "#Type").val(); var sRoller = $( "#Roller").val(); var sKataMatch = GetMatchKata( sType + "___PERCENT___[0-9]" + sRoller); // 条件に合うチェーンの形番、最大許容張力、重量などを格納する配列 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; var sDebug = "http://tt-net/tecs/calc/csc/calc_csc_getchain.asp?" + "kata=" + sKataMatch + "&F=" + dF; DebugPrint( sDebug, "仮選定用SQL"); //DebugPrint( sKataMatch, "形番パターン"); if( arChain == "" || dF == 0){ // 該当なし $( "#ResultProvisoryNoDataArea").show(); // 静的最大張力 $( "#StaticTension").html( RoundDecimal( dF, 3)); // チェーンサイズ AddListChainSize( null, "", ""); // 最大許容張力 $( "#AllowableTension").html( "-"); // 概略質量 $( "#ChainWeight").html( "-"); // ピッチ $( "#ChainPitch").html( "-"); }else{ DebugPrint( dF, "静的最大張力"); // データあり // ②を結果に表示 $( "#StaticTension").html( RoundDecimal( dF, 3)); AddListChainSize( arChain, sType, sRoller); $( "#AllowableTension").html( arChain[0].MaxAlwT_kN); $( "#ChainWeight").html( arChain[0].Weight); $( "#ChainPitch").html( arChain[0].DimP); // ピッチ、チェーン質量/mを変数にセット m_dPitch = parseFloat( arChain[0].DimP); m_dChainW1m = parseFloat( arChain[0].Weight); if( $( ":radio[name=RunType]:checked").val() == "Parallel"){ // 並列の場合は、チェーン質量とアタッチメント質量は2倍 m_dChainW1m *= 2; } $( "#DbgPitch").html( m_dPitch); $( "#DbgMC_PerMeter").html( m_dChainW1m); // 選択した形番と同シリーズの許容負荷を全て取得 var arLoad; $.ajax( { type: "GET", cache: false, url: "calc_csc_getload.asp", data: "kata=" + sKataMatch , async: false, dataType: "text", success: function(dt){ arLoad = eval( dt); } } ); // 前回の仮選定分を消去 $( "#TblRollerAL tbody tr").remove(); // 許容負荷の確認欄を表示 var bRolAlCommentShow = false; for( var i=0; i < arLoad.length; i++) { var sRow = ""; sRow += "" + arLoad[i].ChainNo + ""; if( arLoad[i].AlwRolLoad_kN == null){ if( arLoad[i].ChainNo == "RS25" || arLoad[i].ChainNo == "RS35"){ sRow += "※"; bRolAlCommentShow = true; }else{ sRow += "-"; } }else{ sRow += "" + arLoad[i].AlwRolLoad_kN + ""; } sRow += ""; $( "#TblRollerAL tbody").append( sRow); } // ローラ許容負荷のコメント表示する if( bRolAlCommentShow){ $( "#RolAlLoadComment").width(180); $( "#RolAlLoadComment").show(); }else{ $( "#RolAlLoadComment").hide(); } // 許容負荷の確認の説明文を表示 $( "#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(); } // 静的最大張力を取得するための形番キーを返す // sKataEarlyPart --> キーとなる形番の前半部分。"RF2040R"のようにローラタイプまで function GetMatchKata( sKataEarlyPart) { var sRet = sKataEarlyPart; var sType = $( "#Type").val(); var sRoller = $( "#Roller").val(); var sLube = $( "#Lube").val(); var sFigure = $( "#Figure").val(); var sMaterial = $( "#Material").val(); // RSの場合は形番にローラつかない var sLastChr = sRet.substr( sRet.length - 1, 1); if( sType == "RS" && ( sLastChr == "S" || sLastChr == "R")) sRet = sRet.substr( 0, sRet.length - 1); if( sLube != "STANDARD"){ switch( sLube) { // プラローラはハイフン付けない case "P": case "PSN": case "PKV": sRet += sLube; break; default: sRet += "-" + sLube; break; } } if( sFigure != "STANDARD"){ sRet += "-" + sFigure;} if( sMaterial != "STANDARD"){ sRet += "-" + sMaterial;} return sRet; } // 仮選定のチェーンサイズ変更時に実行。最大許容張力ほかを取得 function GetMaxAlwTens() { // 形番の生成 var sRoller = $( "#Roller").val(); var sLube = $( "#Lube").val(); var sFigure = $( "#Figure").val(); var sMaterial = $( "#Material").val(); var sKataban = GetMatchKata( $( "#ChainSize").val()); // 潤滑・ローラ仕様がプラコンビの場合は形番にローラつかない //if( sLube != ""){ sKataban += "-" + sLube;} //if( sFigure != ""){ sKataban += "-" + sFigure;} //if( sMaterial != ""){ sKataban += "-" + sMaterial;} // 条件に合うチェーンの形番、最大許容張力、重量などを格納する配列 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"; var sDebug = "http://tt-net/tecs/calc/csc/calc_csc_getchain.asp?" + "kata=" + sKataban + "&mode=ChangeChainSize"; DebugPrint( sDebug, "チェーンサイズ変更時SQL"); if( arChain == ""){ // 該当なし。通常通らないはず $( "#AllowableTension").html( ""); $( "#ChainWeight").html( ""); $( "#ChainPitch").html( ""); m_dPitch = 0; m_dChainW1m = 0; return; } // 最大許容張力を表示 $( "#AllowableTension").html( arChain[0].MaxAlwT_kN); // 概略質量 $( "#ChainWeight").html( arChain[0].Weight); m_dChainW1m = parseFloat( arChain[0].Weight); // ピッチ $( "#ChainPitch").html( arChain[0].DimP); m_dPitch = parseFloat( 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 iIdx = sKata.indexOf( "-", 0); // 形番のハイフン以降を削除 if( iIdx >= 0) sKata = sKata.substr( 0, iIdx); // プラローラの場合、おしりに"P", "PKV", "PSN"が付くので削除 if( sKata.match( /^R[FS]\d+(RPSN|RPKV)$/)){ sKata = sKata.replace( "RPSN", "R"); sKata = sKata.replace( "RPKV", "R"); } if( sKata.substr( sKata.length - 1, 1) == "P") sKata = sKata.substr( 0, sKata.length - 1); var sStyle = ""; if( i == 0){ sStyle = "background-color:#ffff00;"} $( "#ChainSize").append( ""); } } // 許容負荷の確認欄を表示する function ShowConfirmLoad() { $( "#ConfirmLoadArea").show(); HideArea( ST_PROV_RESULT); $( "#ConfirmLoadArea").show(); $( "#AttachmentLoadArea").show(); // アタッチメント許容負荷の表示有無 // ホローピン、ステンレスNSはアタッチメント許容負荷を表示しない var sFigure = $( "#Figure").val(); switch( sFigure) { case "NB": // ニードルブシュ case "NBH": // ニードルブシュ高精度 case "NC": // ニードルケージ $( "#NeedleAttachmentLoadArea").show(); break; case "HP": // ホローピン // データなし $( "#AttachmentLoadArea").hide(); break; default: var sMaterial = $( "#Material").val(); if( sMaterial == "NS"){ // データなし $( "#AttachmentLoadArea").hide(); }else{ var sType = $( "#Type").val(); if( sType == "RF2"){ $( "#RfAttachmentLoadArea").show(); }else{ $( "#RsAttachmentLoadArea").show(); } } break; } // 仮選定したチェーンサイズの行を目立たせる HighlightLoadRow(); } // 許容負荷の確認で、表の該当する行を目立たせる 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"); // アタッチメント HighlightRow( "TblAttAL_RF"); // バイピッチ HighlightRow( "TblAttAL_RS"); // RS HighlightRow( "TblAttAL_NB"); // ニードルブシュ・ニードルケージ } // 本選定欄を表示する function ShowRealCalc() { HideArea( ST_REAL_CALC); $( "#RealCalcArea").show(); var sBuf = ""; // タイプ if( $( "#Type").val() == "RF2"){ sBuf = "RF Double Pitch "; }else{ sBuf = "RS "; } $( "#R_ChainType").html( sBuf); // ローラ if( $( "#Roller").val() == "S"){ sBuf = "S-roller "; }else{ sBuf = "R-roller "; } $( "#R_Roller").html( sBuf); // 潤滑・ローラ仕様 switch( $( "#Lube").val()) { case "STANDARD": sBuf = "Standard " break; case "LMC": sBuf = "Lambda " break; case "LMCX": sBuf = "X-Lambda " break; case "P": sBuf = "Plastic roller " break; case "PSN": sBuf = "Low Noise Plastic Roller " break; case "PKV": sBuf = "KV Series Plastic Roller " break; case "PC": sBuf = "Poly Steel Chain " break; } $( "#R_Lube").html( sBuf); // 形状・仕様 switch( $( "#Figure").val()) { case "STANDARD": sBuf = "Standard " break; case "CU": sBuf = "Curved " break; case "NB": sBuf = "Bearing Bush " break; case "NBH": sBuf = "High Precision Series Bearing Bush Chain " break; case "NC": sBuf = "Bearing Cage " break; } $( "#R_Figure").html( sBuf); // 材質・処理 switch( $( "#Material").val()) { case "STANDARD": sBuf = "Standard " break; case "SS": sBuf = "SS Series stainless steel " break; case "AS": sBuf = "AS Series stainless steel " break; case "NS": sBuf = "NS Series stainless steel " break; case "NP": sBuf = "NP Series surface treated " break; case "NEP": sBuf = "NEP Series surface treated " break; } $( "#R_Material").html( sBuf); // 搬送速度 $( "#R_V").html( $( "#V").val() + " m/min"); // 搬送物総質量 $( "#R_W").html( $( "#W").val() + " kg"); // ガイド方式 if( $( ":radio[name=Guide]:checked").val() == "RollerOn"){ sBuf = "Rollers rotate on rail "; }else{ sBuf = "Chain plates slide on rail "; } $( "#R_Guide").html( sBuf); // ローラ・ブシュ間の潤滑 if( $( ":radio[name=LubeMeth]:checked").val() == "Y"){ sBuf = "Yes "; }else{ sBuf = "NO "; } $( "#R_LubeMeth").html( sBuf); // 速度係数 $( "#R_Kv").html( $( "#Kv").html()); // 摩擦係数 $( "#R_f1").html( m_df1); var sType = $( "#Type").val(); // アタッチメント画像の設定 $( "#PhotoAttASA_F, #PhotoAttKSK_F, #PhotoAttEP_F").hide(); $( "#PhotoAttASA_S, #PhotoAttKSK_S, #PhotoAttEP_S").hide(); if( sType == "RF2"){ $( "#PhotoAttASA_F, #PhotoAttKSK_F, #PhotoAttEP_F").show(); }else{ $( "#PhotoAttASA_S, #PhotoAttKSK_S, #PhotoAttEP_S").show(); } // アタッチメント種類ラジオボタン選択可否を制御 SelectableAttachmentRadio(); } // 仮選定条件と結果表示クリア function ClearParamProvisory() { // チェーン仕様を初期化 $( "[name=Type]:first").prop( "checked", true); $( "[name=Roller]:first").prop( "checked", true); $( "[name=Lube]:first").prop( "checked", true); $( "[name=Figure]:first").prop( "checked", true); $( "[name=Material]:first").prop( "checked", true); $( "#ChainSpecArea :radio").prop( "disabled", false); $( "#V").val( ""); $( "#W").val( ""); $( "#Guide_RollerOn").prop( "checked", true); $( "#LubeMeth_Y").prop( "checked", true); $( "#ParamInputArea2 :radio").prop( "disabled", false); HideArea( ST_INIT); } // 本選定条件と結果表示クリア function ClearParamRealCalc() { $( "#ConveyorType_Hr").prop( "checked", true); $( "#R_L").val( ""); $( "#R_H").val( ""); $( "#R_C").val( ""); $( "#R_Attach_ASA").prop( "checked", true); $( "#R_AttachOtherW").val( ""); $( "#R_AttachSpanLink").val( ""); $( "#R_MJ").val( ""); // 本選定結果を非表示にする HideArea( ST_REAL_CALC); } // テスト用入力値を自動選択OR入力 function InputTestValue() { /* チェーン仕様 */ var sPrint = "------------ ↓チェーン仕様↓ ------------
"; var idx; // タイプ var sVal = $( "#Type").val(); if( sVal == "RF2"){ sPrint += "1
";} if( sVal == "RS"){ sPrint += "2
";} // ローラ sVal = $( "#Roller").val(); if( sVal == "S"){ sPrint += "1
";} if( sVal == "R"){ sPrint += "2
";} // 潤滑・ローラ仕様 sVal = $( "#Lube").val(); if( sVal == "") { sPrint += "1
";} if( sVal == "LMC") { sPrint += "2
";} if( sVal == "LMCX") { sPrint += "3
";} if( sVal == "P") { sPrint += "4
";} if( sVal == "PSN") { sPrint += "5
";} if( sVal == "PKV") { sPrint += "6
";} if( sVal == "PC") { sPrint += "7
";} // 形状・仕様 sVal = $( "#Figure").val(); if( sVal == "") { sPrint += "1
";} if( sVal == "HP") { sPrint += "2
";} if( sVal == "CU") { sPrint += "3
";} if( sVal == "NB") { sPrint += "4
";} if( sVal == "NBH") { sPrint += "5
";} if( sVal == "NC") { sPrint += "6
";} // 材質・処理 sVal = $( "#Material").val(); if( sVal == "") { sPrint += "1
";} if( sVal == "SS") { sPrint += "2
";} if( sVal == "AS") { sPrint += "3
";} if( sVal == "NS") { sPrint += "4
";} if( sVal == "NP") { sPrint += "5
";} if( sVal == "NEP") { sPrint += "6
";} sPrint += "------------ ↑チェーン仕様↑ ------------
"; DebugPrint( sPrint, ""); /* 使用条件 */ sPrint = "------------ ↓使用条件↓ ------------
"; // 搬送速度V 10~120 var iVal = Math.round( (Math.random () * 11 + 1) * 10); $( "#V").val( iVal); sPrint += iVal + "
"; switch( $( ":radio[name=ConveyorType]:checked").val()) { case "HR": // スプロ中心距離(水平)L 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#L").val( iVal); sPrint += "L" + iVal + "
"; break; case "VT": // スプロ中心距離(垂直)H 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#H").val( iVal); sPrint += "H" + iVal + "
"; break; case "SL": // スプロ中心距離(水平)L 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#L").val( iVal); sPrint += "L" + iVal + "
"; // スプロ中心距離(垂直)H 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#H").val( iVal); sPrint += "H" + iVal + "
"; // スプロ中心距離(傾斜)C 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#C").val( iVal); sPrint += "C" + iVal + "
"; break; case "HRSL": // スプロ中心距離(水平)L 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#L").val( iVal); sPrint += iVal + "
"; // スプロ中心距離(垂直)H 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#H").val( iVal); sPrint += iVal + "
"; // スプロ中心距離(傾斜)C 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#C").val( iVal); sPrint += iVal + "
"; // スプロ中心距離(水平・傾斜)C2 10~30 iVal = Math.round( ( Math.random () * 2 + 1) * 10); $( "#C2").val( iVal); sPrint += iVal + "
"; break; } // 運動部の質量M 20~50 iVal = Math.round( ( Math.random () * 3 + 2) * 10); $( "#M").val( iVal); sPrint += iVal + "
"; // 搬送物総質量W 20~50 iVal = Math.round( ( Math.random () * 3 + 2) * 10); $( "#W").val( iVal); sPrint += iVal + "
"; // ガイド方式 idx = Math.floor( Math.random () * 2); $( ":radio[name=Guide]").eq( idx).prop( "checked", true); sPrint += idx + 1 + "
"; // レールの潤滑方式 idx = Math.floor( Math.random () * 2); $( ":radio[name=LubeMeth]").eq( idx).prop( "checked", true); sPrint += idx + 1 + "
"; sPrint += "------------ ↑使用条件↑ ------------
"; DebugPrint( sPrint, ""); } // 各搬送形態の式を表示 function ShowDbgFormula( sTblId) { $( "#DbgTblHR").hide(); $( "#DbgTblVT").hide(); $( "#DbgTblSL").hide(); $( "#DbgTblHRSL").hide(); var sHtml = ""; switch( sTblId) { case "DbgTblHR": sHtml = "L×2"; break; case "DbgTblVT": sHtml = "H×2"; break; case "DbgTblSL": sHtml = "C×2"; break; case "DbgTblHRSL": sHtml = "(C1+C2)×2"; break; } $( "#FormulaChainLenL").html( sHtml); $( "#" + sTblId).show(); } // 製品情報詳細ページへのURLを返す // sKata --> チェーン形番 function GetUrlProductInfo( sKata) { // バイピッチ if( sKata.match( /^RF2\d{3}[RS](P|PSN|PKV)?(\-SS|\-AS|\-NS|\-NP|\-NEP|\-LSC|\-LSK)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2.asp?kata=" + sKata; // アタッチメント付RS if( sKata.match( /^RS\d{2,3}(\-SS|\-AS|\-NS|\-NP|\-NEP|\-LSC|\-LSK)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSARS.asp?kata=" + sKata; // その他アタッチメント付RSはアタッチメント付RSと同じとする // ホローピンバイピッチ if( sKata.match( /^RF2\d{3}[RS]\-HP(\-SS)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2H.asp?kata=" + sKata; // ホローピンRS if( sKata.match( /^RS\d{2,3}\-HP(\-SS)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSRSH.asp?kata=" + sKata; // カーブドバイピッチ if( sKata.match( /^RF2\d{3}[RS]\-CU$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2C.asp?kata=" + sKata; // カーブドアタッチメント付RS if( sKata.match( /^RS\d{2,3}\-CU$/)) return "/tecs/pdct/csc/pdct_Dtl_CSRSC.asp?kata=" + sKata; // ラムダバイピッチ if( sKata.match( /^RF2\d{3}[RS]\-LMC(\-NP|\-KF)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2LM.asp?kata=" + sKata; // 長寿命ラムダバイピッチ if( sKata.match( /^RF2\d{3}[RS]\-LMCX$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2LMX.asp?kata=" + sKata; // ラムダアタッチメント付RS if( sKata.match( /^RS\d{2,3}\-LMC(\-NP|\-KF)$/)) return "/tecs/pdct/csc/pdct_Dtl_CSARSLM.asp?kata=" + sKata; // 長寿命ラムダアタッチメント付RS if( sKata.match( /^RS\d{2,3}\-LMCX$/)) return "/tecs/pdct/csc/pdct_Dtl_CSARSLMX.asp?kata=" + sKata; // ラムダホローピンバイピッチ if( sKata.match( /^RF2\d{3}[RS]\-LMC\-HP$/)) return "/tecs/pdct/csc/pdct_Dtl_CSR2HLM.asp?kata=" + sKata; // ラムダホローピンRS if( sKata.match( /^RS\d{2,3}\-LMC\-HP$/)) return "/tecs/pdct/csc/pdct_Dtl_CSRSHLM.asp?kata=" + sKata; // ニードルブシュ・ニードルケージ if( sKata.match( /^RF2\d{3}[RS]\-N[BC]H?(\-SS)?$/)) return "/tecs/pdct/csc/pdct_Dtl_CSRFNB.asp?kata=" + sKata; } // 入力欄と選定結果エリアを非表示にする // sStatus --> 選定計算の段階を表す function HideArea( sStatus) { switch( sStatus) { case ST_INIT: // 初期状態。仮選定結果エリア以下を非表示 $( "#ResultProvisoryArea").hide(); $( "#ConfirmLoadArea").hide(); $( "#RfAttachmentLoadArea").hide(); $( "#RsAttachmentLoadArea").hide(); $( "#NeedleAttachmentLoadArea").hide(); $( "#RealCalcArea").hide(); $( "#ResultArea").hide(); $( "#ResultProvisoryNoDataArea").hide(); $( "#ResultProvisoryExistDataArea").hide(); break; case ST_PROV_RESULT: // 仮選定結果表示。許容負荷の確認エリア以下を非表示 $( "#ConfirmLoadArea").hide(); $( "#RfAttachmentLoadArea").hide(); $( "#RsAttachmentLoadArea").hide(); $( "#NeedleAttachmentLoadArea").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 SelectableAttachmentRadio() { ///// var buf = "http://temold/tecs/calc/csc/calc_csc_getattachment.asp?"; var buf = "http://tt-net/tecs/calc/csc/calc_csc_getattachment.asp?"; buf += "kata=" + $( "#ChainSize").val(); buf += "&lube=" + $( "#Lube").val(); buf += "&fig=" + $( "#Figure").val(); buf += "&mate=" + $( "#Material").val(); DebugPrint( buf, "アタッチメント質量取得SQL"); // アタッチメント質量を取得 $.ajax( { type: "GET" , cache: false , url: "calc_csc_getattachment.asp" , data: "kata=" + $( "#ChainSize").val() + "&lube=" + $( "#Lube").val() + "&fig=" + $( "#Figure").val() + "&mate=" + $( "#Material").val() , async: false , dataType: "text" , success: function(dt){ var arr = eval( dt); m_arr = new Array(); m_arr[ "W_ATT_ASA"] = arr[0][ "W_ASA"]; m_arr[ "W_ATT_ASA_SS"] = arr[0][ "W_ASA_SS"]; m_arr[ "W_ATT_KKA"] = arr[0][ "W_KKA"]; m_arr[ "W_ATT_KKA_SS"] = arr[0][ "W_KKA_SS"]; m_arr[ "W_ATT_EP"] = arr[0][ "W_EP"]; m_arr[ "W_ATT_AASAA"] = arr[0][ "W_AASAA"]; m_arr[ "W_ATT_KKSKK"] = arr[0][ "W_KKSKK"]; m_arr[ "W_ATT_WAWSA"] = arr[0][ "W_WAWSA"]; m_arr[ "W_ATT_WKWSK"] = arr[0][ "W_WKWSK"]; } } ); $( ":radio[name=R_Attach]").prop( "disabled", true); $( "#R_Attach_Other").prop( "disabled", false); $( "#R_Attach_Other").prop( "checked", true); $( "#R_Attach_None").prop( "disabled", false); $( "#R_Attach_None").prop( "checked", true); if( arr = ""){ // レコードなし。通常通らない? return; } //if( arr.length >= 2){ alert("アタッチメントレコードが2件以上ある");} if( m_arr[ "W_ATT_ASA"] != null){ $( "#R_Attach_ASA").prop( "disabled", false);} if( m_arr[ "W_ATT_ASA_SS"] != null){ $( "#R_Attach_ASA").prop( "disabled", false);} if( m_arr[ "W_ATT_KKA"] != null){ $( "#R_Attach_KKA").prop( "disabled", false);} if( m_arr[ "W_ATT_KKA_SS"] != null){ $( "#R_Attach_KKA").prop( "disabled", false);} if( m_arr[ "W_ATT_EP"] != null){ $( "#R_Attach_EP").prop( "disabled", false);} if( m_arr[ "W_ATT_AASAA"] != null){ $( "#R_Attach_AASAA").prop( "disabled", false);} if( m_arr[ "W_ATT_KKSKK"] != null){ $( "#R_Attach_KKSKK").prop( "disabled", false);} if( m_arr[ "W_ATT_WAWSA"] != null){ $( "#R_Attach_WAWSA").prop( "disabled", false);} if( m_arr[ "W_ATT_WKWSK"] != null){ $( "#R_Attach_WKWSK").prop( "disabled", false);} $( ":radio[name=R_Attach]:enabled:first").prop( "checked", true); } // アタッチメント取付間隔のリンク数チェック // Wアタッチメントは2リンク以上のみ入力認める function CheckAttSpanLink() { var oThis = $( this); var buf = trimzen( oThis.val()); if( buf == ""){ return;} if( !IsNumeric( buf)){ return;} var sAttKind = $( ":radio[name=R_Attach]:checked").val(); if( sAttKind != "WAWSA" && sAttKind != "WKWSK"){ return;} var iLink = parseInt( buf); if( iLink < 2){ oThis.select(); oThis.focus(); alert( "Input attachment spacing (2 links or more). "); } } // チェーン仕様リストボックス変更時処理 function onChangeChainSpec() { // 仮選定結果以下を非表示 HideArea( ST_INIT); // チェーン仕様のリストボックス選択項目を取得し、動的に生成する GetNextListValue( $( this)); // 選択肢が一つの場合はそれを選択して次のリストボックスを設定する switch( $(this).attr( "id")){ case "Type": if($( "#Roller").children().length == 2){ // alert("case Type : " + $( "#Roller option:eq(1)").val()); $( "#Roller").val($( "#Roller option:eq(1)").val()); GetNextListValue( $( "#Roller")); } case "Roller": if($( "#Lube").children().length == 2){ // alert("case Type : " + $( "#Lube option:eq(1)").val()); $( "#Lube").val($( "#Lube option:eq(1)").val()); GetNextListValue( $( "#Lube")); } case "Lube": if($( "#Figure").children().length == 2){ // alert("case Type : " + $( "#Figure option:eq(1)").val()); $( "#Figure").val($( "#Figure option:eq(1)").val()); GetNextListValue( $( "#Figure")); } case "Figure": if($( "#Material").children().length == 2){ // alert("case Type : " + $( "#Material option:eq(1)").val()); $( "#Material").val($( "#Material option:eq(1)").val()); GetNextListValue( $( "#Material")); } } // 摩擦係数を計算 DispFrictionFactor(); } // チェーン仕様のリストボックス選択項目を取得し、動的に生成する function GetNextListValue( $this) { var sData = "spec_kind=" + $this.attr( "id"); switch( $this.attr( "id")) { case "Type": sData += "&type=" + $( "#Type").val(); // 目的のリスト以下の全件削除 $( "#Roller option").remove(); $( "#Lube option").remove(); $( "#Figure option").remove(); $( "#Material option").remove(); break; case "Roller": sData += "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val(); // 目的のリスト以下の全件削除 $( "#Lube option").remove(); $( "#Figure option").remove(); $( "#Material option").remove(); break; case "Lube": sData += "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val() + "&lube=" + $( "#Lube").val(); // 目的のリスト以下の全件削除 $( "#Figure option").remove(); $( "#Material option").remove(); // RS+PCはガイド方式が「チェーンのプレートがレール上を滑る」のみ選択可 $( "#Guide_RollerOn").prop( "disabled", false); if( $( "#Type").val() == "RS" && $this.val() == "PC"){ $( "#Guide_RollerOn").prop( "disabled", true); $( "#Guide_PlateOn").prop( "checked", true); } break; case "Figure": sData += "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val() + "&lube=" + $( "#Lube").val() + "&figure=" + $( "#Figure").val(); // 目的のリスト以下の全件削除 $( "#Material option").remove(); break; case "Material": sData += "&type=" + $( "#Type").val() + "&roller=" + $( "#Roller").val() + "&lube=" + $( "#Lube").val() + "&figure=" + $( "#Figure").val() + "&material=" + $( "#Material").val(); default: break; } if( $this.val() == ""){ return;} $.ajax( { type: "GET" , cache: false , url: "calc_csc_get_next_list_val.asp" , data: sData , async: false , dataType: "text" , success: ControlChainSpecList }); ///// var sUrl = "http://temold/tecs/calc/csc/calc_csc_get_next_list_val.asp" ///// + "?" + sData; var sUrl = "http://tt-net/tecs/calc/csc/calc_csc_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( key == "RollerBushLube"){ // ローラ・ブシュ間の潤滑の選択可否を決定 $( ":radio[name=LubeMeth]").prop( "disabled", false); DebugPrint( arList[i][key], "ローラ・ブシュ間の潤滑"); switch( arList[i][key]) { case "Y": $( "#LubeMeth_Y").prop( "checked", true); $( "#LubeMeth_N").prop( "disabled", true); break; case "N": $( "#LubeMeth_N").prop( "checked", true); $( "#LubeMeth_Y").prop( "disabled", true); break; case "BOTH": break; } return; } // リストボックスの項目を動的に生成 if( i == 0){ // 空白行追加 $( "#" + key).append( $( "