00001 // ===================================================================== 00002 // $Id: TRs232cKeithley2400Module.cc,v 1.5 2004/03/07 10:30:31 goiwai Exp $ 00003 // $Name: CLDAQ-1-14-03 $ 00004 // $Log: TRs232cKeithley2400Module.cc,v $ 00005 // Revision 1.5 2004/03/07 10:30:31 goiwai 00006 // ROOTに組みこむためのおまじないマクロを埋めこみました。 00007 // 全てにおいて完全に動作するわけではありません。 00008 // 00009 // Revision 1.4 2003/10/06 17:02:40 goiwai 00010 // *** empty log message *** 00011 // 00012 // Revision 1.3 2003/07/30 16:19:10 goiwai 00013 // ファイルにコミットログをつけることにしました. 00014 // 00015 // ===================================================================== 00016 #include "TRs232cKeithley2400Module.hh" 00017 00018 TRs232cKeithley2400Module::TRs232cKeithley2400Module( const Tstring devfile, Tint nchannel ) 00019 : TRs232cModule( devfile, nchannel ) 00020 {;} 00021 00022 TRs232cKeithley2400Module::TRs232cKeithley2400Module( Tint nchannel, Tstring devfile ) 00023 : TRs232cModule( nchannel, devfile ) 00024 {;} 00025 00026 TRs232cKeithley2400Module::TRs232cKeithley2400Module( const TRs232cKeithley2400Module& right ) 00027 : TRs232cModule( right ) 00028 {;} 00029 00030 TRs232cKeithley2400Module::~TRs232cKeithley2400Module() 00031 {;} 00032 00033 Tvoid TRs232cKeithley2400Module::defineClearMethod( Tint channel ) 00034 { 00035 //エラーキューをクリアする 00036 Write( "*CLS" ); 00037 return; 00038 } 00039 00040 Tvoid TRs232cKeithley2400Module::defineUpdateMethod( Tint channel ) 00041 { 00042 Clear(); 00043 return; 00044 } 00045 00046 Tvoid TRs232cKeithley2400Module::defineInitializeMethod( Tint channel ) 00047 { 00048 //デフォルト設定に戻す 00049 Write( "*RST" ); 00050 00051 //BEEP OFF 00052 //Write( ":SYST:BEEP OFF" ); 00053 00054 00055 00056 //MANUAL抵抗測定モード 00057 Write( ":SENS:RES:RANG:AUTO OFF" ); 00058 00059 //MANUAL抵抗測定モード 00060 Write( ":SENS:RES:MODE MAN" ); 00061 00062 // SOURCE 00063 Write( ":SOUR:FUNC CURR" ); 00064 00065 Write( ":SOUR:CURR:MODE FIX" ); 00066 00067 // Isrcを100μAに 00068 Write( ":SOUR:CURR:LEV 100e-6" ); 00069 00070 // 電圧コンプライアンスを2V 00071 Write( ":SENS:VOLT:PROT 2" ); 00072 00073 //センサの種類を定義シングルクオートでかこまねばならない 00074 Write( ":SENS:FUNC 'RES'" ); 00075 00076 //2000Ωレンジ 00077 Write( ":SENS:RES:RANG 2000" ); 00078 00079 // 2線測定 00080 Write( ":SYST:RSEN OFF" ); 00081 00082 //出力をON (前面のボタン) 00083 Write( ":OUTP ON" ); 00084 00085 //積分速度をPLC単位で設定 00086 //Write( ":SENS:RES:NPLC 1" ); 00087 00088 //積分速度を秒単位で設定 00089 //Write( ":SENS:RES:APER 1" ); 00090 00091 //レンジ切替え 00092 //Write( "SENS:RES:RANG 120e6" ); 00093 00094 //精度選択 00095 //Write( "SENS:RES:DIG 5" ); 00096 00097 //AUTOレンジON 00098 //Write( "SENS:RES:RANG:AUTO ON" ); 00099 00100 //データ要素指定 00101 Write( ":FORM:ELEM RES" ); 00102 00103 return; 00104 } 00105 00106 Tvoid TRs232cKeithley2400Module::defineReadMethod( Tint channel ) 00107 { 00108 Write( ":READ?" ); 00109 return; 00110 } 00111 00112 Tbool TRs232cKeithley2400Module::modifyData( const Tstring& accept, Tdouble& databuf ) const 00113 { 00114 databuf = strtod( accept.c_str(), 0 ); 00115 return Ttrue; 00116 } 00117 00118 #ifdef __CLDAQ_ROOT_DLL 00119 ClassImp(TRs232cKeithley2400Module) 00120 #endif