123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- #include "stdafx.h"
- #include <map>
- #include "All.h"
- #include "MACHINE_DPC.h"
- #include "MACHINE_Logical.h"
- #include "DIOSDICOMInfo.h"
- CMACHINE_Logical::CMACHINE_Logical(void)
- {
- }
- CMACHINE_Logical::~CMACHINE_Logical(void)
- {
- }
- bool CMACHINE_Logical::DPCPoint(CMACHINE_DPC* pMACHINE_DPC)
- {
- m_pMACHINE_DPC = pMACHINE_DPC;
- return true;
- }
- RET_STATUS OEM_IF CMACHINE_Logical::SelectExamMode(const char *pExamKey)
- {
- printf("\n !!!!!!!!!!!!!!!!!!!!!SelectExamMode :%s!!!!!!!!!!!!!!!!!!!!!!!!!\n", pExamKey);
- if ((string)pExamKey == "DX")
- {
- m_CurrentExam = ExamList["DX"].GetKey(0);
- printf("\n !!!!!!!!!!!!!!!!!!!!!CurrentExamMode :%s!!!!!!!!!!!!!!!!!!!!!!!!!\n", m_CurrentExam.c_str());
- if (m_CurrentExam == "TOMO")
- {
- //m_pMACHINE_DPC->SendTomoExam();
- }
- else
- {
- //m_pMACHINE_DPC->ClearMoveState();
- }
- }
- else if ((string)pExamKey == "RF")
- {
-
- m_CurrentExam = ExamList["RF"].GetKey(0);
- printf("\n !!!!!!!!!!!!!!!!!!!!!CurrentExamMode :%s!!!!!!!!!!!!!!!!!!!!!!!!!\n", m_CurrentExam.c_str());
- if (m_CurrentExam == "TOMO")
- {
- //m_pMACHINE_DPC->SendTomoExam();
- }
- else
- {
- //m_pMACHINE_DPC->ClearMoveState();
- }
- }
- return RET_SUCCEED;
- }
- RET_STATUS CMACHINE_Logical::SetExamInfo(ResDataObject& PARAM_IN pParam)
- {
- if (pParam.size() == 0)
- {
- return RET_FAILED;
- }
- printf("\n !!!!!!!!!!!!!!!!!!!!!SetExamInfo :%s!!!!!!!!!!!!!!!!!!!!!!!!!\n", pParam.encode());
- ExamList = pParam;
- return RET_SUCCEED;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_FrameAcq()
- {
- return true;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_FrameIn()
- {
- return false;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_FrameEnd()
- {
- return true;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_FramePost()
- {
- return true;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_FrameError()
- {
- return true;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_SeqError()
- {
- return true;
- }
- bool DEVICE_SUPPORT CMACHINE_Logical::Support_SeqEnd()
- {
- return true;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::FrameAcq()
- {
- //if (m_CurrentExam != "TOMO")
- //{
- // return RET_SUCCEED;
- //}
- //m_pMACHINE_DPC->StartMove(true);
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::FrameIn()
- {
- //if (m_CurrentExam != "TOMO")
- //{
- // return RET_SUCCEED;
- //}
- //m_pMACHINE_DPC->SendIXRAY();
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::FrameEnd()
- {
- if (m_CurrentExam != "TOMO")
- {
- return RET_SUCCEED;
- }
- m_pMACHINE_DPC->StartMove(false);
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::FrameError()
- {
- m_pMACHINE_DPC->StartMove(false);
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::SeqError()
- {
- m_pMACHINE_DPC->StartMove(false);
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::SeqEnd()
- {
- m_pMACHINE_DPC->StartMove(false);
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::FramePost()
- {
- m_pMACHINE_DPC->StartMove(false);
- return RET_SUCCEED;
- }
- RET_STATUS CMACHINE_Logical::SetTechParamsInfo(ResDataObject PARAM_IN& pParam)
- {
- TECHPARAM_INFO info;
- info.SetVal(pParam.encode());
- USHORT nbodypart;
- string strpositionnumber = info.m_PositionNumber;
- m_pMACHINE_DPC->ClearMoveState();
- //int ntemp = atoi(strpositionnumber.c_str());
- m_pMACHINE_DPC->SetPositionNum(strpositionnumber.c_str());
- if (m_CurrentExam == "TOMO")
- {
- m_pMACHINE_DPC->SendTomoExam();
- }
- return RET_SUCCEED;
- }
- bool CMACHINE_Logical:: GetMachineryReadyState()
- {
-
- return true;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::StartMove()
- {
- if (m_CurrentExam != "TOMO")
- {
- return RET_SUCCEED;
- }
- m_pMACHINE_DPC->StartMove(true);
- if (m_pMACHINE_DPC->MechMoveReady())
- {
- return RET_SUCCEED;
- }
- else
- {
- return RET_FAILED;
- }
- return RET_SUCCEED;
- }
- RET_STATUS DATA_ACTION CMACHINE_Logical::StopMove()
- {
- return RET_SUCCEED;
- }
- RET_STATUS CMACHINE_Logical::GetTomoResults(ResDataObject &resultHeightresultAngle, ResDataObject &resultHeight)
- {
- RET_STATUS ret = RET_SUCCEED;
-
- //if (WAIT_OBJECT_0 == WaitForSingleObject(m_pMACHINE_DPC->m_hGetPostionFinished, 500))
- //{
- // for (int i = 0; i < m_pMACHINE_DPC->m_resultAngle.size(); i++)
- // {
- // resultHeightresultAngle.update(m_pMACHINE_DPC->m_resultAngle.GetKey(i), (float)m_pMACHINE_DPC->m_resultAngle[i]);
- // resultHeight.update(m_pMACHINE_DPC->m_resultHeight.GetKey(i), (float)m_pMACHINE_DPC->m_resultHeight[i]);
- // }
- //}
- if (m_pMACHINE_DPC->MechGetPosReady())
- {
- ResDataObject res1, res2;
- m_pMACHINE_DPC->GetPosition(res1, res2);
- for (int i = 0; i < res1.size(); i++)
- {
- resultHeightresultAngle.update(res1.GetKey(i), (float)res1[i]);
- resultHeight.update(res2.GetKey(i), (float)res2[i]);
- }
- return RET_SUCCEED;
- }
- else
- {
- return RET_FAILED;
- }
- return ret;
- }
- RET_STATUS CMACHINE_Logical::SetXrayOnNum(int nNum)
- {
- if (m_CurrentExam != "TOMO")
- {
- return RET_SUCCEED;
- }
- m_pMACHINE_DPC->SendIXRAY();
- return RET_SUCCEED;
- }
|