diff --git a/src/controllers/lss/d22/autoSampler/AutoSamplerController.cpp b/src/controllers/lss/d22/autoSampler/AutoSamplerController.cpp index 2e5fdcf21f291048e4363dbbd37dba2a439d0d98..0aaebf46c12a409a09d38bbaa29e0f2514f964cf 100644 --- a/src/controllers/lss/d22/autoSampler/AutoSamplerController.cpp +++ b/src/controllers/lss/d22/autoSampler/AutoSamplerController.cpp @@ -57,6 +57,7 @@ const int32 AutoSamplerController::MAX_Y = 8; const int32 AutoSamplerController::MAX_X = 12; const int32 AutoSamplerController::SLOW_RATE = 50; const int32 AutoSamplerController::FAST_RATE = 100; +const int32 AutoSamplerController::CLEANNING_TIME = 5; AutoSamplerController::AutoSamplerController(const std::string& controllerName) { @@ -573,6 +574,8 @@ void AutoSamplerController::start() { m_Valve->valveValue.setpoint=NUMBER_VALVE_POSITIONS; m_Valve->startCommand(); + if(m_isStopped==true) + break; } @@ -637,11 +640,15 @@ void AutoSamplerController::stop() { } void AutoSamplerController::clean() { - - //int32 cleaning_positions[9] = {1,2,3,2,4,2,1,5,1} ; - int32 cleaning_positions[3] = {1,2,3} ; - //cout << "clean m_AxisZ->position.setpoint=SAMPLE_OUT;" << endl; - + int32 nb_clean_pos=0; + int32 cleaning_positions[8] = {1,2,3,2,4,2,5,2} ; + if (cleaningCycle()==0){ + nb_clean_pos=4; + }else if (cleaningCycle()==1){ + nb_clean_pos=6; + }else if (cleaningCycle()==2){ + nb_clean_pos=8; + } m_AxisZ->position.setpoint=SAMPLE_OUT; m_AxisZ->startCommand(); @@ -661,7 +668,7 @@ void AutoSamplerController::clean() { m_AxisZ->position.setpoint=CLEAN_Z_POS; m_AxisZ->startCommand(); - for(int32 indx = 0; indx <3 ; ++indx) { + for(int32 indx = 0; indx <nb_clean_pos ; ++indx) { //cout << "clean m_Valve->valveValue.setpoint=cleaning_positions[indx]" << endl; m_Valve->valveValue.setpoint=cleaning_positions[indx]; m_Valve->startCommand(); @@ -670,13 +677,13 @@ void AutoSamplerController::clean() { m_Psd4->valve.setpoint= VALVE_CLEAN_POS; //cout << "clean m_Psd4->syringePos.setpoint=800 " << endl; - m_Psd4->syringePos.setpoint=800; + // m_Psd4->syringePos.setpoint=800; m_Psd4->startCommand(); //cout << "cleanning**********************************" << endl; - sleep(5); + sleep(CLEANNING_TIME); //cout << "clean m_Psd4->syringePos.setpoint=0;" << endl; - m_Psd4->syringePos.setpoint=0; - m_Psd4->startCommand(); + // m_Psd4->syringePos.setpoint=0; + // m_Psd4->startCommand(); //cout << "end cleanning**********************************" << endl; if(m_isStopped==true) break; @@ -704,22 +711,22 @@ void AutoSamplerController::read() { cout <<"raw data :====" <<m_UfrReader->userdata()<<endl; -// cout <<"iter id :====" <<(*iter)<<endl; + // cout <<"iter id :====" <<(*iter)<<endl; string s1=(*iter); boost::trim_left(s1); numberOfSamples=(stoi(s1)); -// cout <<"numberOfSamples :====" <<s1<<endl; + // cout <<"numberOfSamples :====" <<s1<<endl; iter++; -// cout <<"iter id :====" <<(*iter)<<endl; + // cout <<"iter id :====" <<(*iter)<<endl; s1=(*iter); boost::trim_left(s1); sampleRackName= s1; -// cout <<"sampleRackName :====" <<s1<<endl; + // cout <<"sampleRackName :====" <<s1<<endl; iter++; @@ -727,14 +734,14 @@ void AutoSamplerController::read() { while ((iter != tok1.end()) && (i<numberOfSamples())) { -//// cout <<"iter id :====" <<(*iter)<<endl; + //// cout <<"iter id :====" <<(*iter)<<endl; s1=(*iter); boost::trim_left(s1); -//// cout <<"sample id :====" <<s1<<endl; + //// cout <<"sample id :====" <<s1<<endl; string part = s1.substr( 0, 1); -//// cout <<"part ="<< part<<endl; + //// cout <<"part ="<< part<<endl; if (stoi(part)==0){ isUsed.set(i,false); @@ -746,7 +753,7 @@ void AutoSamplerController::read() { part = s1.substr( 1, 1); -//// cout <<"part ="<< part<<endl; + //// cout <<"part ="<< part<<endl; if (stoi(part)==0){ isViscous.set(i,false); @@ -755,16 +762,16 @@ void AutoSamplerController::read() { } part = s1.substr( 2, 2); -// cout <<"part ="<< part<<endl; + // cout <<"part ="<< part<<endl; posX.set(i,stoi(part)); part = s1.substr( 4, 2); -// cout <<"part ="<< part<<endl; + // cout <<"part ="<< part<<endl; posY.set(i,stoi(part)); part = s1.substr( 6, 3); -// cout <<"part ="<< part<<endl; + // cout <<"part ="<< part<<endl; sampleExposureTimes.set(i,stoi(part)); part = s1.substr( 9, s1.size()-1); -// cout <<"part ="<< part<<endl; + // cout <<"part ="<< part<<endl; sampleNames.set(i,part); ++iter; diff --git a/src/controllers/lss/d22/autoSampler/AutoSamplerController.h b/src/controllers/lss/d22/autoSampler/AutoSamplerController.h index c897afd1a126537da1ff81bfd454d78c943d2d5f..af9471e9e868a1caa33a33b210a9ad87abaaed95 100644 --- a/src/controllers/lss/d22/autoSampler/AutoSamplerController.h +++ b/src/controllers/lss/d22/autoSampler/AutoSamplerController.h @@ -130,6 +130,7 @@ private: static const int32 MAX_Y; static const int32 SLOW_RATE; static const int32 FAST_RATE; + static const int32 CLEANNING_TIME; bool m_isStopped; };