Add Tcpip Server

This commit is contained in:
TAO Cheng
2014-11-11 16:40:22 +08:00
parent 0e4bb3e352
commit 70f6305ec7
11 changed files with 1076 additions and 24 deletions
@@ -396,35 +396,37 @@ BEGIN
EDITTEXT IDC_EDIT_ZOOM_TIME,14,159,112,112,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
END
IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 290, 185
IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 290, 214
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Utility for SO7"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,24,32,69,10
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,24,48,69,10
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,24,64,68,10
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,24,80,69,10
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,24,115,62,10
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,21,130,62,10
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,100,32,76,10
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,100,48,76,10
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,24,31,69,10
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,24,47,69,10
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,24,63,68,10
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,24,79,69,10
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,24,111,62,10
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,24,127,62,10
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,100,31,76,10
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,100,47,76,10
CONTROL "LK_H激光(ETHERNET)",IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET,
"Button",BS_AUTORADIOBUTTON,100,64,85,10
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,100,80,76,10
CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,100,96,76,10
CONTROL "STIL CCS-PRIMA",IDC_RADIO_ERT_CCS_PRIMA,"Button",BS_AUTORADIOBUTTON,100,112,76,10
"Button",BS_AUTORADIOBUTTON,100,63,85,10
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,100,79,76,10
CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,100,95,76,10
CONTROL "STIL CCS-PRIMA",IDC_RADIO_ERT_CCS_PRIMA,"Button",BS_AUTORADIOBUTTON,100,111,76,10
CONTROL "控制器(USB",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,195,31,69,10
CONTROL "控制器(USB R",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,195,47,75,10
CONTROL "控制器(RS232",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,195,63,77,10
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,168,81,10
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,195,80,45,10
DEFPUSHBUTTON "OK",IDOK,145,164,50,14
PUSHBUTTON "Cancel",IDCANCEL,225,164,50,14
GROUPBOX "测试选项",IDC_STATIC,10,8,265,153
CONTROL "MV900视频卡",IDC_RADIO_VIDEOCARD_MV900,"Button",BS_AUTORADIOBUTTON,24,96,69,10
CONTROL "CJ2M PLC",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,101,129,62,10
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,197,81,10
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,195,79,45,10
DEFPUSHBUTTON "OK",IDOK,145,193,50,14
PUSHBUTTON "Cancel",IDCANCEL,225,193,50,14
GROUPBOX "测试选项",IDC_STATIC,10,8,265,179
CONTROL "MV900视频卡",IDC_RADIO_VIDEOCARD_MV900,"Button",BS_AUTORADIOBUTTON,24,95,69,10
CONTROL "TCPIP Client(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,100,127,106,10
CONTROL "TCPIP Server(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC_SERVER,
"Button",BS_AUTORADIOBUTTON,100,143,91,10
END
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
@@ -1059,6 +1061,34 @@ BEGIN
LTEXT "Size",IDC_STATIC,120,53,14,8
END
IDD_SO7_UTIL_PLC_TCPIP_SERVER DIALOGEX 0, 0, 558, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "PLC TCP/IP SERVER"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "Exit",IDCANCEL,512,305,39,14
GROUPBOX "TCP/IP Server Control",IDC_STATIC,17,12,87,81
PUSHBUTTON "Start",IDC_BUTTON_PLC_TCPIP_SERVER_START,28,32,63,18
PUSHBUTTON "Stop",IDC_BUTTON_PLC_TCPIP_SERVER_STOP,28,65,63,18
EDITTEXT IDC_EDIT_MSG,342,14,201,273,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE,277,70,40,14
GROUPBOX "DM DATA",IDC_STATIC,110,12,214,81
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE,230,39,40,14,ES_AUTOHSCROLL
LTEXT "PLC STATE",IDC_STATIC,231,26,36,8
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2,174,71,40,14,ES_AUTOHSCROLL
LTEXT "LASER1 STATE",IDC_STATIC,168,26,48,8
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1,118,38,40,14,ES_AUTOHSCROLL
LTEXT "CCD1 STATE",IDC_STATIC,118,26,42,8
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1,174,39,40,14,ES_AUTOHSCROLL
LTEXT "LASER2 STATE",IDC_STATIC,168,59,48,8
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2,118,71,40,14,ES_AUTOHSCROLL
LTEXT "CCD2 STATE",IDC_STATIC,118,59,42,8
PUSHBUTTON "Clear",IDC_BUTTON_CLEAR_MSG,453,305,39,14
CONTROL "",IDC_LIST_PLC_TCPIP_SERVER_CCDDATA,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,24,110,294,166
GROUPBOX "Static",IDC_STATIC,17,97,307,214
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA,277,291,40,14
END
/////////////////////////////////////////////////////////////////////////////
//
@@ -1096,7 +1126,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 275
TOPMARGIN, 6
BOTTOMMARGIN, 178
BOTTOMMARGIN, 207
END
IDD_SO7_VIDEOCARD_SDK3000, DIALOG
@@ -1247,6 +1277,14 @@ BEGIN
TOPMARGIN, 7
BOTTOMMARGIN, 244
END
IDD_SO7_UTIL_PLC_TCPIP_SERVER, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 551
TOPMARGIN, 7
BOTTOMMARGIN, 319
END
END
#endif // APSTUDIO_INVOKED
@@ -10,6 +10,7 @@
#include "..\..\..\SevenOcean\SO7_Proto.h"
#include "..\..\..\SevenOcean\SO7_Proto_Aux.h"
#include "ProcessButton.h"
#include "EditableListCtrl.h"
#ifdef _RELEASE_FULL_VERSION
#include "VideoCardDefine.h"
@@ -56,7 +57,9 @@
#include "So7_XBoxController.h"
#include "..\..\..\SevenOcean\So7_TCPIP.h"
#include "..\..\..\SevenOcean\So7_TCPIP_Server.h"
#include "So7_Util_PLC_TCPIP.h"
#include "So7_Util_PLC_TCPIP_SERVER.h"
#include "So7_Option.h"
#include "afxdialogex.h"
@@ -79,6 +82,8 @@ CART_PCI8622* m_pART_PCI8622=NULL;
CSTIL_CCS_PRIMA_Laser* g_pSTIL_CCS_PRIMA=NULL;
CSo7_TCPIP* g_pSo7_TCPIP=NULL;
CSo7_TCPIP_Server* g_pSo7_TCPIP_Server=NULL;
// CSo7_Option dialog
IMPLEMENT_DYNAMIC(CSo7_Option, CDialog)
@@ -146,7 +151,8 @@ BOOL CSo7_Option::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_TEST_IMAGE_DLL))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC))->SetCheck(TRUE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC_SERVER))->SetCheck(TRUE);
#ifdef _RELEASE_SO7_CONTROLER_ONLY
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->EnableWindow(FALSE);
@@ -449,6 +455,21 @@ void CSo7_Option::OnBnClickedOk()
g_pSo7_TCPIP=NULL;
}
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC_SERVER))->GetCheck())
{
if (!g_pSo7_TCPIP_Server)
{
g_pSo7_TCPIP_Server=new CSo7_TCPIP_Server();
}
CSo7_Util_PLC_TCPIP_SERVER* pSo7_Util_PLC_TCPIP_SERVER=new CSo7_Util_PLC_TCPIP_SERVER();
pSo7_Util_PLC_TCPIP_SERVER->DoModal();
delete pSo7_Util_PLC_TCPIP_SERVER;
if (g_pSo7_TCPIP_Server)
{
delete g_pSo7_TCPIP_Server;
g_pSo7_TCPIP=NULL;
}
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->GetCheck())
{
CSO7_Verfication_Algorithm* pSO7_Verfication_Algorithm=new CSO7_Verfication_Algorithm();
@@ -0,0 +1,271 @@
// So7_Util_PLC_TCPIP_SERVER.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "EditableListCtrl.h"
#include "..\..\..\SevenOcean\So7_TCPIP_Server.h"
#include "So7_Util_PLC_TCPIP_SERVER.h"
#include "afxdialogex.h"
enum E_UPDATE_LIST_CONTROL_TYPE
{
E_LISTCTRL_TITLE,
E_LISTCTRL_CONTENT,
E_LISTCTRL_TOTAL
};
extern CSo7_TCPIP_Server* g_pSo7_TCPIP_Server;
// CSo7_Util_PLC_TCPIP_SERVER dialog
IMPLEMENT_DYNAMIC(CSo7_Util_PLC_TCPIP_SERVER, CDialog)
CSo7_Util_PLC_TCPIP_SERVER::CSo7_Util_PLC_TCPIP_SERVER(CWnd* pParent /*=NULL*/)
: CDialog(CSo7_Util_PLC_TCPIP_SERVER::IDD, pParent)
{
}
CSo7_Util_PLC_TCPIP_SERVER::~CSo7_Util_PLC_TCPIP_SERVER()
{
}
void CSo7_Util_PLC_TCPIP_SERVER::DoDataExchange(CDataExchange* pDX)
{
DDX_Control(pDX, IDC_LIST_PLC_TCPIP_SERVER_CCDDATA, m_DataList);
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CSo7_Util_PLC_TCPIP_SERVER, CDialog)
ON_BN_CLICKED(IDC_BUTTON_PLC_TCPIP_SERVER_START, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStart)
ON_BN_CLICKED(IDC_BUTTON_PLC_TCPIP_SERVER_STOP, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStop)
ON_BN_CLICKED(IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerUpdatestate)
ON_BN_CLICKED(IDC_BUTTON_CLEAR_MSG, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonClearMsg)
ON_BN_CLICKED(IDCANCEL, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedCancel)
ON_MESSAGE(WM_SOCKET,&CSo7_Util_PLC_TCPIP_SERVER::OnSocket)
ON_MESSAGE(WM_TCPIP_MSG,&CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg)
ON_BN_CLICKED(IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA, &CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerUpdatedata)
END_MESSAGE_MAP()
// CSo7_Util_PLC_TCPIP_SERVER message handlers
BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
CString str;
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);
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA2]);
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2)->SetWindowTextW(str);
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1]);
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1)->SetWindowTextW(str);
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA1]);
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2)->SetWindowTextW(str);
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState);
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE)->SetWindowTextW(str);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStart()
{
;// TODO: Add your control notification handler code here
}
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStop()
{
;// TODO: Add your control notification handler code here
}
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerUpdatestate()
{
CString str;
UpdateData(TRUE);
USES_CONVERSION;
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1)->GetWindowText(str);
const char* cTempValue=T2A(str);
g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA1]=static_cast<BYTE>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2)->GetWindowText(str);
cTempValue=T2A(str);
g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA2]=static_cast<BYTE>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1)->GetWindowText(str);
cTempValue=T2A(str);
g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_LASER1_HEADA]=static_cast<BYTE>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2)->GetWindowText(str);
cTempValue=T2A(str);
g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_LASER2_HEADA]=static_cast<BYTE>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE)->GetWindowText(str);
cTempValue=T2A(str);
g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState=static_cast<BYTE>(atoi(cTempValue));
}
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerUpdatedata()
{
m_UpdateListControl(E_LISTCTRL_CONTENT);
}
//=====================================================================
void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
{
switch(_type)
{
case E_LISTCTRL_TITLE:
{
RECT m_rect;
m_DataList.GetClientRect(&m_rect); //获取list的客户区
m_DataList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); //设置list风格
m_DataList.InsertColumn(0,_T("CCD地址"),LVCFMT_LEFT, m_rect.right*1/2);
m_DataList.InsertColumn(1,_T("数据值"),LVCFMT_LEFT, m_rect.right*1/2);
int iStartRow(0),iEndRow(0);
CString str;
iStartRow=0;
iEndRow=MAX_CCD_ADDR;
for (int i=iStartRow; i<iEndRow; i++)
{
str.Format(_T("%d"),120+i*4);
m_DataList.InsertItem(i,str);
m_DataList.SetItemText(i,0,str);
m_DataList.SetItemText(i,1,_T("0"));
}
m_DataList.SetEditableItemRange(0,MAX_CCD_ADDR-1,1,1);
m_DataList.SetColorStyleItemRange(0,MAX_CCD_ADDR-1,0,2);
break;
}
case E_LISTCTRL_CONTENT:
{
USES_CONVERSION;
CString csTmp;
const char* cTmp;
int iCol=1;
for (int iRow=0;iRow<MAX_CCD_ADDR;iRow++)
{
csTmp=m_DataList.GetItemText(iRow,iCol);
cTmp=T2A(csTmp);
if (g_pSo7_TCPIP_Server)
{
g_pSo7_TCPIP_Server->m_CCDData[iRow]=atoi(cTmp);
}
}
break;
}
default:break;
}
}
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonClearMsg()
{
((CEdit *)GetDlgItem(IDC_EDIT_MSG))->SetWindowTextW(_T(""));
}
//=====================================================================================
void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedCancel()
{
// TODO: Add your control notification handler code here
CDialog::OnCancel();
}
//=====================================================================================
//Print message on edit control
void CSo7_Util_PLC_TCPIP_SERVER::OutputWithScroll(const CString &strNewText,CEdit &edtOutput)
{
CString strOutput;
edtOutput.GetWindowText(strOutput);
strOutput += strNewText;
if ("\r\n" != strOutput.Right(2))
{
strOutput += "\r\n";
}
int iCount = strOutput.GetLength();
edtOutput.SetRedraw(FALSE);
edtOutput.SetWindowText(strOutput);
int iLine = edtOutput.GetLineCount();
edtOutput.LineScroll(iLine, 0);
edtOutput.SetSel(iCount, iCount);
edtOutput.SetRedraw(TRUE);
}
//=====================================================================================
LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnSocket(WPARAM w, LPARAM p)
{
LRESULT lResult=0;
if( g_pSo7_TCPIP_Server )
lResult = g_pSo7_TCPIP_Server->OnSocket(w,p);
return( lResult );
}
//=====================================================================================
LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p)
{
UNREFERENCED_PARAMETER(p);
LRESULT lResult=0;
switch(w)
{
case FD_ACCEPT:
{
m_csMSG=_T("FD_ACCEPT");
break;
}
case FD_READ:
{
m_csMSG=_T("FD_READ");
break;
}
case FD_WRITE:
{
m_csMSG=_T("FD_WRITE");
break;
}
case FD_CLOSE:
{
m_csMSG=_T("FD_CLOSE");
break;
}
default:
{
m_csMSG=_T("[Unknown]");
break;
}
}
m_csMSG+=_T(".");
OutputWithScroll(m_csMSG,m_edMSG);
return( lResult );
}
@@ -0,0 +1,40 @@
#pragma once
// CSo7_Util_PLC_TCPIP_SERVER dialog
class CSo7_Util_PLC_TCPIP_SERVER : public CDialog
{
DECLARE_DYNAMIC(CSo7_Util_PLC_TCPIP_SERVER)
public:
CSo7_Util_PLC_TCPIP_SERVER(CWnd* pParent = NULL); // standard constructor
virtual ~CSo7_Util_PLC_TCPIP_SERVER();
// Dialog Data
enum { IDD = IDD_SO7_UTIL_PLC_TCPIP_SERVER };
protected:
CString m_csMSG;
CEdit m_edMSG;
CEditableListCtrl m_DataList;
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedButtonPlcTcpipServerStart();
afx_msg void OnBnClickedButtonPlcTcpipServerStop();
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatestate();
afx_msg void OnBnClickedButtonClearMsg();
afx_msg void OnBnClickedCancel();
LRESULT OnSocket(WPARAM w, LPARAM p);
LRESULT OnTCPIPMsg(WPARAM w, LPARAM p);
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatedata();
void m_UpdateListControl(int _type);
};
@@ -218,7 +218,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;_RELEASE_SO7_CONTROLER_ONLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;_RELEASE_SO7_CONTROLER_ONLY;_REMOVE_DLLCHR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -324,6 +324,7 @@
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp" />
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto_Aux.cpp" />
<ClCompile Include="..\..\..\SevenOcean\So7_TCPIP.cpp" />
<ClCompile Include="..\..\..\SevenOcean\So7_TCPIP_Server.cpp" />
<ClCompile Include="..\..\..\STIL\Common\src\cAcqEasy.cpp" />
<ClCompile Include="..\..\..\STIL\STIL_CCS_PRIMA_Laser.cpp" />
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp" />
@@ -368,6 +369,7 @@
<ClCompile Include="So7_Util_External_Trig.cpp" />
<ClCompile Include="So7_Util_ImageDll.cpp" />
<ClCompile Include="So7_Util_PLC_TCPIP.cpp" />
<ClCompile Include="So7_Util_PLC_TCPIP_SERVER.cpp" />
<ClCompile Include="So7_Util_Program.cpp" />
<ClCompile Include="SO7_Verfication_Algorithm.cpp" />
<ClCompile Include="SO7_VolComp.cpp" />
@@ -417,6 +419,7 @@
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h" />
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto_Aux.h" />
<ClInclude Include="..\..\..\SevenOcean\So7_TCPIP.h" />
<ClInclude Include="..\..\..\SevenOcean\So7_TCPIP_Server.h" />
<ClInclude Include="..\..\..\STIL\STIL_CCS_PRIMA_Laser.h" />
<ClInclude Include="..\..\..\Tesa\TesaStarE.h" />
<ClInclude Include="..\..\..\Videocard\SDK3000\sdk3000_7130.h" />
@@ -461,6 +464,7 @@
<ClInclude Include="So7_Util_External_Trig.h" />
<ClInclude Include="So7_Util_ImageDll.h" />
<ClInclude Include="So7_Util_PLC_TCPIP.h" />
<ClInclude Include="So7_Util_PLC_TCPIP_SERVER.h" />
<ClInclude Include="So7_Util_Program.h" />
<ClInclude Include="SO7_Verfication_Algorithm.h" />
<ClInclude Include="SO7_VolComp.h" />
@@ -229,6 +229,12 @@
<ClCompile Include="..\..\..\SevenOcean\So7_TCPIP.cpp">
<Filter>Sources Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\SevenOcean\So7_TCPIP_Server.cpp">
<Filter>Sources Files</Filter>
</ClCompile>
<ClCompile Include="So7_Util_PLC_TCPIP_SERVER.cpp">
<Filter>Sources Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="CaptureDataDlg.h">
@@ -492,6 +498,12 @@
<ClInclude Include="So7_Util_PLC_TCPIP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\SevenOcean\So7_TCPIP_Server.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="So7_Util_PLC_TCPIP_SERVER.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
@@ -756,6 +756,8 @@
#define IDC_RADIO_TC4000_CHANNEL2 1605
#define IDC_RADIO_SO7_OMRON_PLC 1605
#define IDC_RADIO_TC4000_CHANNEL3 1606
#define IDC_RADIO_SO7_OMRON_PLC2 1606
#define IDC_RADIO_SO7_OMRON_PLC_SERVER 1606
#define IDC_RADIO_TC4000_CHANNEL4 1607
#define IDC_RADIO_SV2000E_CHANNEL1 1608
#define IDC_RADIO_SV2000E_CHANNEL2 1609
@@ -876,6 +878,7 @@
#define IDD_DIALOG_STIL_CCS_PRIMA 1722
#define IDD_SO7_VIDEOCARD_MV900 1723
#define IDD_SO7_UTIL_PLC_TCPIP 1724
#define IDD_SO7_UTIL_PLC_TCPIP_SERVER 1725
#define IDC_RADIO_SPEED_SLOW 1770
#define IDC_RADIO_SCALE 1772
#define IDC_EDIT_SPEED_X 1773
@@ -1055,8 +1058,20 @@
#define IDC_EDIT_MSG 1888
#define IDC_EDIT_PLC_TCPIP_Data 1889
#define IDC_BUTTON_PLC_TCPIP_HANDSHAKING 1890
#define IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1 1890
#define IDC_EDIT_PLC_TCPIP_ADDR2 1891
#define IDC_EDIT_PLC_TCPIP_DATA_SIZE 1891
#define IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1 1892
#define IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2 1893
#define IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2 1894
#define IDC_BUTTON_PLC_TCPIP_SERVER_START 1895
#define IDC_BUTTON_PLC_TCPIP_SERVER_STOP 1896
#define IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE 1897
#define IDC_BUTTON_CLEAR_MSG 1898
#define IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE 1899
#define IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE2 1900
#define IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA 1900
#define IDC_LIST_PLC_TCPIP_SERVER_CCDDATA 1902
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
#define ID_EDIT_SO7_CONFIG_MOTION 32741
@@ -1066,7 +1081,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 193
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1889
#define _APS_NEXT_CONTROL_VALUE 1903
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif