diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index 7e56789..c3fb92f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -4782,3 +4782,5 @@ Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp index 5d599e1..1a34d76 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp @@ -30,6 +30,7 @@ IMPLEMENT_DYNAMIC(CSo7_Util_PLC_TCPIP_SERVER, CDialog) { m_CCDData_D10000[i]=0; } + m_iCCDDataIndex=0; } CSo7_Util_PLC_TCPIP_SERVER::~CSo7_Util_PLC_TCPIP_SERVER() @@ -100,83 +101,14 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog() GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE)->SetWindowTextW(str); GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER)->SetWindowTextW(_T("9600")); - int i(0); - m_CCDData_D10000[i++]=65000; - m_CCDData_D10000[i++]=1000; - m_CCDData_D10000[i++]=1000; - m_CCDData_D10000[i++]=2000; - m_CCDData_D10000[i++]=i*1000; - m_CCDData_D10000[i++]=i*1000; - m_CCDData_D10000[i++]=303000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=303000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=303000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=204000; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=0; - m_CCDData_D10000[i++]=10000; - m_CCDData_D10000[i++]=10000; - - if (g_pSo7_TCPIP_Server) - { - int iData(0); - BYTE DM_Data[4]={0,0,0,0}; - int StartAddr(60); - for (int i=0;i>24) & 0x0ff; - DM_Data[1]=(iData>>16) & 0x0ff; - DM_Data[2]=(iData>>8) & 0x0ff; - DM_Data[3]=iData & 0x0ff; - g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3]; - g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; - } - } - if (g_pSo7_TCPIP_Server) + UpdataCCDData(); + int index(0); + /* + index=100; + g_pSo7_TCPIP_Server->DM5000[index++]=1; + g_pSo7_TCPIP_Server->DM5000[index++]=0; + g_pSo7_TCPIP_Server->DM5000[index++]=10000; + g_pSo7_TCPIP_Server->DM5000[index++]=0;*/ { int iData(0); BYTE DM_Data[4]={0,0,0,0}; @@ -212,64 +144,10 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog() g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3]; g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; } - - + StartAddr=1100; for (int i=0;i<150;i++) { - iDM5000DWord[i]=0; - } - StartAddr=400; - index=0; - for (int i=0;i<10;i++) - { - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - index=3*(i+1); - } - for (int i=0;i<6;i++) - { - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - index=3*(i+11); - } - for (int i=0;i<150;i++) - { - iData=iDM5000DWord[i]; - DM_Data[0]=(iData>>24) & 0x0ff; - DM_Data[1]=(iData>>16) & 0x0ff; - DM_Data[2]=(iData>>8) & 0x0ff; - DM_Data[3]=iData & 0x0ff; - - g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3]; - g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; - } - - - for (int i=0;i<150;i++) - { - iDM5000DWord[i]=0; - } - StartAddr=500; - index=0; - for (int i=0;i<10;i++) - { - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - index=3*(i+1); - } - for (int i=0;i<6;i++) - { - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - iDM5000DWord[index++]=(i+1)*10000; - index=3*(i+11); - } - for (int i=0;i<150;i++) - { - iData=iDM5000DWord[i]; + iData=iDM5000DWord[i]+i*10; DM_Data[0]=(iData>>24) & 0x0ff; DM_Data[1]=(iData>>16) & 0x0ff; DM_Data[2]=(iData>>8) & 0x0ff; @@ -279,6 +157,27 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog() g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; } } + index=114; + g_pSo7_TCPIP_Server->DM5000[index++]=1; + g_pSo7_TCPIP_Server->DM5000[index++]=0; + g_pSo7_TCPIP_Server->DM5000[index++]=20000; + g_pSo7_TCPIP_Server->DM5000[index++]=0; + + index=400; + g_pSo7_TCPIP_Server->DM5000[index]=0; + index+=2; + g_pSo7_TCPIP_Server->DM5000[index]=0; + index+=2; + g_pSo7_TCPIP_Server->DM5000[index]=10000; + index+=2; + g_pSo7_TCPIP_Server->DM5000[index]=10000; + index+=2; + g_pSo7_TCPIP_Server->DM5000[index]=10000; + index+=2; + g_pSo7_TCPIP_Server->DM5000[index]=0; + index+=2; + + m_DMAddrList=DM_ADDR_CCD; ((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM))->SetCheck(TRUE); @@ -351,12 +250,11 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateControls(int _type) BYTE DM_Data[4]={0,0,0,0}; g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState=static_cast(g_pSo7_TCPIP_Server->DM5000[0]); - for (int i=1;i<=8;i++) + for (int i=1;i<=16;i++) { DM_Data[0]=(g_pSo7_TCPIP_Server->DM5000[i]>>8) & 0x0ff; DM_Data[1]=(g_pSo7_TCPIP_Server->DM5000[i]) & 0x0ff; - g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[(i-1)*2+1]=DM_Data[0]; - g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[(i-1)*2]=DM_Data[1]; + g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[i-1]=DM_Data[1];; } str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA1]); GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1)->SetWindowTextW(str); @@ -400,15 +298,86 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateControls(int _type) BYTE DM_Data[4]={0,0,0,0}; g_pSo7_TCPIP_Server->DM5000[0]=static_cast(g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState); - for (int i=1;i<=8;i++) + for (int i=1;i<=16;i++) { - DM_Data[1]=g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[(i-1)*2]; - DM_Data[0]=g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[(i-1)*2+1]; + DM_Data[1]=g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[i-1]; + DM_Data[0]=0; g_pSo7_TCPIP_Server->DM5000[i]=(DM_Data[0]<<8)+DM_Data[1]; } } } //===================================================================== +void CSo7_Util_PLC_TCPIP_SERVER::UpdataCCDData() +{ + int i(0); + if (m_iCCDDataIndex==0) + { + m_iCCDDataIndex=1; + + m_CCDData_D10000[i++]=12000; + m_CCDData_D10000[i++]=1000; + m_CCDData_D10000[i++]=1000; + m_CCDData_D10000[i++]=204000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=204000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=10000; + } + else + { + m_iCCDDataIndex=0; + + + m_CCDData_D10000[i++]=7000; + m_CCDData_D10000[i++]=1000; + m_CCDData_D10000[i++]=1000; + m_CCDData_D10000[i++]=204000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=204000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=-10000; + m_CCDData_D10000[i++]=10000; + m_CCDData_D10000[i++]=10000; + } + + if (g_pSo7_TCPIP_Server) + { + int iData(0); + BYTE DM_Data[4]={0,0,0,0}; + int StartAddr(60); + for (int i=0;i>24) & 0x0ff; + DM_Data[1]=(iData>>16) & 0x0ff; + DM_Data[2]=(iData>>8) & 0x0ff; + DM_Data[3]=iData & 0x0ff; + g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3]; + g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; + } + StartAddr=2060; + for (int i=0;i>24) & 0x0ff; + DM_Data[1]=(iData>>16) & 0x0ff; + DM_Data[2]=(iData>>8) & 0x0ff; + DM_Data[3]=iData & 0x0ff; + g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3]; + g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1]; + } + } + +} +//===================================================================== void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedRadioPlcTcpipServerAddrCcdDm() { m_UpdateListControl(E_LISTCTRL_CONTROL2DATA); @@ -416,6 +385,7 @@ void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedRadioPlcTcpipServerAddrCcdDm() { m_UpdateControls(FALSE); } + UpdataCCDData(); m_DMAddrList=DM_ADDR_CCD; m_UpdateListControl(E_LISTCTRL_TITLE); m_UpdateListControl(E_LISTCTRL_DATA2CONTROL); @@ -525,13 +495,20 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type) } int Addr(0); m_DataList.SetItemText(Addr++,2,_T("PLC设备运行状态(0-未知,1-空闲,2-后退(开始测量),3-前进(测量结束),4-故障,5-参数编辑)")); - m_DataList.SetItemText(Addr++,2,_T("CCD1数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("CCD2数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("CCD3数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("CCD4数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("CCD5数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("LS1数据刷新")); - m_DataList.SetItemText(Addr++,2,_T("LS2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD1-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD1-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD2-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD2-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD3-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD3-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD4-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD4-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD5-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("CCD5-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("LS1-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("LS1-2数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("LS2-1数据刷新")); + m_DataList.SetItemText(Addr++,2,_T("LS2-2数据刷新")); m_DataList.SetItemText(Addr++,2,_T("光栅尺数据刷新")); Addr=100; for (int i=0;i<10;i++) @@ -674,6 +651,15 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type) DM_Data[3]=(g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]) & 0x0ff; m_CCDData_D10000[i]=(DM_Data[0]<<24)+(DM_Data[1]<<16)+(DM_Data[2]<<8)+(DM_Data[3]); } + StartAddr=2060; + for (int i=0;iDM10000[StartAddr+2*i+1]>>8) & 0x0ff; + DM_Data[1]=(g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]) & 0x0ff; + DM_Data[2]=(g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]>>8) & 0x0ff; + DM_Data[3]=(g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]) & 0x0ff; + m_CCDData_D10000[i]=(DM_Data[0]<<24)+(DM_Data[1]<<16)+(DM_Data[2]<<8)+(DM_Data[3]); + } } for (int i=iStartRow; im_hDC,pBitBmp,0,m_DisplayHeight,pData,&bmpInfo,DIB_RGB_COLORS); + if (m_bSaveFile) { SaveBitmapToFile(pBitBmp,m_SaveFile); @@ -476,13 +477,34 @@ void CVideocard_MV900::OnPaint() } pOldBitmap = pMemDC->SelectObject(&pBitBmp); nMode = pMemDC->SetBkMode(TRANSPARENT); + + CPen m_Pen(PS_DASH,0,RGB(255,0,0)); + POINT m_point; + pMemDC->SelectObject(&m_Pen); + m_point.x=0; + m_point.y=static_cast(m_DisplayHeight*0.5); + pMemDC->MoveTo(m_point); + m_point.x=m_DisplayWidth; + m_point.y=static_cast(m_DisplayHeight*0.5); + pMemDC->LineTo(m_point); + m_point.x=static_cast(m_DisplayWidth*0.5); + m_point.y=0; + pMemDC->MoveTo(m_point); + m_point.x=static_cast(m_DisplayWidth*0.5); + m_point.y=m_DisplayHeight; + pMemDC->LineTo(m_point); + dc->BitBlt(0, 0, m_DisplayWidth, m_DisplayHeight, pMemDC,0,0, SRCCOPY); pMemDC->SetBkMode(nMode); pMemDC->SelectObject(pOldBitmap); ReleaseDC(pMemDC); + + m_Pen.DeleteObject(); + delete pMemDC; ReleaseDC(dc); + } //================================================================================================ void CVideocard_MV900::UpdateImage() @@ -512,19 +534,19 @@ void CVideocard_MV900::OnTimer(UINT_PTR nIDEvent) CDialog::OnTimer(nIDEvent); } -static int iStartX(0); -static int iStartY(0); +static int iStartX(64); +static int iStartY(48); //==================================SV4000E===================================== -VOID CALLBACK MV900_PrcVidCapCallBack( PUCHAR pData, ULONG Length,CVideocard_MV900* pIS) +VOID CALLBACK MV900_PrcVidCapCallBack(PUCHAR pData, ULONG Length,CVideocard_MV900* pIS) { UNREFERENCED_PARAMETER(Length); //memcpy(g_DataBuffer,(BYTE*)pData,Length);//640*480*m_VideoBitcount - for(int y=iStartY;yUpdateImage(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index 9f19966..16e77c3 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ