模拟PLC操作。
This commit is contained in:
@@ -12,7 +12,8 @@ const BYTE CommHeader[]={0x46,0x49,0x4E,0x53};
|
|||||||
const BYTE HandShaking[]={0X46,0X49,0X4E,0X53,0X00,0X00,0X00,0X10,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X00,0X00,0X00,0X05};
|
const BYTE HandShaking[]={0X46,0X49,0X4E,0X53,0X00,0X00,0X00,0X10,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X00,0X00,0X00,0X05};
|
||||||
const BYTE DRW_SData[]={0X46,0X49,0X4E,0X53,0X00,0X00,0X00,0X16,0X00,0X00,0X00,0X02,0X00,0X00,0X00,0X00,0XC0,0X00,0X02,0X00,0X03,0X00,0X00,0X05,0X00,0XFF,0X01,0X01,0X00,0X00};
|
const BYTE DRW_SData[]={0X46,0X49,0X4E,0X53,0X00,0X00,0X00,0X16,0X00,0X00,0X00,0X02,0X00,0X00,0X00,0X00,0XC0,0X00,0X02,0X00,0X03,0X00,0X00,0X05,0X00,0XFF,0X01,0X01,0X00,0X00};
|
||||||
|
|
||||||
const int DRW_SDataIndexDataSize=7;
|
const int DRW_SDataIndexDataSize1=6;
|
||||||
|
const int DRW_SDataIndexDataSize2=7;
|
||||||
const int DRW_SDataHeadDataSize=8;
|
const int DRW_SDataHeadDataSize=8;
|
||||||
const int DRW_SDataIndexData=30;
|
const int DRW_SDataIndexData=30;
|
||||||
|
|
||||||
@@ -58,16 +59,17 @@ CSo7_TCPIP_Server::CSo7_TCPIP_Server()
|
|||||||
m_TCPIPBuf[i]._size = 0;
|
m_TCPIPBuf[i]._size = 0;
|
||||||
m_TCPIPBuf[i]._CompletedSize = 0;
|
m_TCPIPBuf[i]._CompletedSize = 0;
|
||||||
m_TCPIPBuf[i]._save_send_cmd = 99;
|
m_TCPIPBuf[i]._save_send_cmd = 99;
|
||||||
m_TCPIPBuf[i]._buffer = (char *)malloc(TCPIP_MAX_BUFF_SIZE);
|
m_TCPIPBuf[i]._buffer = (char *)malloc(sizeof(char)*TCPIP_MAX_BUFF_SIZE);
|
||||||
m_TCPIPBuf[i]._hProtoPending = false;
|
m_TCPIPBuf[i]._hProtoPending = false;
|
||||||
m_TCPIPBuf[i]._event = NULL;
|
m_TCPIPBuf[i]._event = NULL;
|
||||||
};
|
};
|
||||||
DM5000= (short *)malloc(MAX_DM_PAGE_NUMBER);
|
DM5000= (short *)malloc(sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
DM8000= (short *)malloc(MAX_DM_PAGE_NUMBER);
|
DM8000= (short *)malloc(sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
DM10000= (short *)malloc(MAX_DM_PAGE_NUMBER);
|
DM10000= (short *)malloc(sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
memset(DM5000,0,MAX_DM_PAGE_NUMBER);
|
memset(DM5000,0,sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
memset(DM8000,0,MAX_DM_PAGE_NUMBER);
|
memset(DM8000,0,sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
memset(DM10000,0,MAX_DM_PAGE_NUMBER);
|
memset(DM10000,0,sizeof(short)*MAX_DM_PAGE_NUMBER);
|
||||||
|
m_TCPIPMsg.Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -326,7 +328,10 @@ BOOL CSo7_TCPIP_Server::Response_PLC_DM5000_R(short _StartAddr,short _DataSize)
|
|||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i]=(sData>>8) & 0x0ff;
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i]=(sData>>8) & 0x0ff;
|
||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i+1]=sData & 0x0ff;
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i+1]=sData & 0x0ff;
|
||||||
}
|
}
|
||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
short sDataSize(0);
|
||||||
|
sDataSize=(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
||||||
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize1]=static_cast<char>((sDataSize>>8) & 0x0ff);
|
||||||
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize2]=static_cast<char>(sDataSize & 0x0ff);
|
||||||
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
||||||
|
|
||||||
SendBuffer();
|
SendBuffer();
|
||||||
@@ -355,7 +360,10 @@ BOOL CSo7_TCPIP_Server::Response_PLC_DM10000_R(short _StartAddr,short _DataSize)
|
|||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i]=(sData>>8) & 0x0ff;
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i]=(sData>>8) & 0x0ff;
|
||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i+1]=sData & 0x0ff;
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i+1]=sData & 0x0ff;
|
||||||
}
|
}
|
||||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
short sDataSize(0);
|
||||||
|
sDataSize=(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
||||||
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize1]=static_cast<char>((sDataSize>>8) & 0x0ff);
|
||||||
|
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize2]=static_cast<char>(sDataSize & 0x0ff);
|
||||||
|
|
||||||
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
||||||
|
|
||||||
@@ -539,14 +547,13 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s)
|
|||||||
}
|
}
|
||||||
m_TCPIPBuf[CH_RECV]._CompletedSize += bytesReceived;
|
m_TCPIPBuf[CH_RECV]._CompletedSize += bytesReceived;
|
||||||
m_TCPIPBuf[CH_RECV]._size = m_TCPIPBuf[CH_RECV]._CompletedSize;
|
m_TCPIPBuf[CH_RECV]._size = m_TCPIPBuf[CH_RECV]._CompletedSize;
|
||||||
int iPara(0);
|
m_TCPIPMsg.Init();
|
||||||
|
|
||||||
if (strstr(m_TCPIPBuf[CH_RECV]._buffer, "FINS"))
|
if (strstr(m_TCPIPBuf[CH_RECV]._buffer, "FINS"))
|
||||||
{
|
{
|
||||||
if (m_TCPIPBuf[CH_RECV]._buffer[7]==0x0C)//handshake
|
if (m_TCPIPBuf[CH_RECV]._buffer[7]==0x0C)//handshake
|
||||||
{
|
{
|
||||||
Response_Handshake();
|
Response_Handshake();
|
||||||
iPara=RESPONSE_HANDSHAKE;
|
m_TCPIPMsg._MsgType=RESPONSE_HANDSHAKE;
|
||||||
}
|
}
|
||||||
else if (m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD1]==0x01
|
else if (m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD1]==0x01
|
||||||
&&m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD2]==0x01)
|
&&m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD2]==0x01)
|
||||||
@@ -560,25 +567,32 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s)
|
|||||||
bData[0]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh1];
|
bData[0]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh1];
|
||||||
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh2];
|
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh2];
|
||||||
iDataSize=(bData[0]<<8)+bData[1];
|
iDataSize=(bData[0]<<8)+bData[1];
|
||||||
|
m_TCPIPMsg._CmdType=0;
|
||||||
|
m_TCPIPMsg._DataAddr=iAddr;
|
||||||
|
m_TCPIPMsg._DataSize=iDataSize;
|
||||||
if (iAddr>=20000)
|
if (iAddr>=20000)
|
||||||
{
|
{
|
||||||
iPara=RESPONSE_READ_ERRCODE;
|
m_TCPIPMsg._MsgType=RESPONSE_READ_ERRCODE;
|
||||||
}
|
}
|
||||||
else if (iAddr>=10000)
|
else if (iAddr>=10000)
|
||||||
{
|
{
|
||||||
Response_PLC_DM10000_R(iAddr,iDataSize);
|
Response_PLC_DM10000_R(iAddr,iDataSize);
|
||||||
iPara=RESPONSE_READ_CCD_DATA;
|
m_TCPIPMsg._MsgType=RESPONSE_READ_CCD_DATA;
|
||||||
|
}
|
||||||
|
else if (iAddr>=5100)
|
||||||
|
{
|
||||||
|
Response_PLC_DM5000_R(iAddr,iDataSize);
|
||||||
|
m_TCPIPMsg._MsgType=RESPONSE_READ_PLC_CALIB_POS;
|
||||||
}
|
}
|
||||||
else if (iAddr>=5000)
|
else if (iAddr>=5000)
|
||||||
{
|
{
|
||||||
Response_PLC_DM5000_R(iAddr,iDataSize);
|
Response_PLC_DM5000_R(iAddr,iDataSize);
|
||||||
iPara=RESPONSE_READ_PLC_STATE;
|
m_TCPIPMsg._MsgType=RESPONSE_READ_PLC_STATE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RESPONSE_PLC_DM_UNKNOWN();
|
RESPONSE_PLC_DM_UNKNOWN();
|
||||||
iPara=RESPONSE_UNKNOWN;
|
m_TCPIPMsg._MsgType=RESPONSE_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD1]==0x01
|
else if (m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD1]==0x01
|
||||||
@@ -593,6 +607,9 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s)
|
|||||||
bData[0]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh1];
|
bData[0]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh1];
|
||||||
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh2];
|
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh2];
|
||||||
iDataSize=(bData[0]<<8)+bData[1];
|
iDataSize=(bData[0]<<8)+bData[1];
|
||||||
|
m_TCPIPMsg._CmdType=1;
|
||||||
|
m_TCPIPMsg._DataAddr=iAddr;
|
||||||
|
m_TCPIPMsg._DataSize=iDataSize;
|
||||||
if (iAddr>=8000)
|
if (iAddr>=8000)
|
||||||
{
|
{
|
||||||
int iBuffsize(0);
|
int iBuffsize(0);
|
||||||
@@ -608,23 +625,27 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s)
|
|||||||
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+1];
|
bData[1]=m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+1];
|
||||||
DM8000[iStartAddr++]=(bData[0]<<8)+bData[1];
|
DM8000[iStartAddr++]=(bData[0]<<8)+bData[1];
|
||||||
}
|
}
|
||||||
|
m_TCPIPMsg._UpdateData=1;
|
||||||
|
if (DM8000[2]==1)
|
||||||
|
{
|
||||||
|
DM5000[0]=1;
|
||||||
|
m_TCPIPMsg._UpdateData=2;
|
||||||
|
}
|
||||||
RESPONSE_PLC_DM_UNKNOWN();
|
RESPONSE_PLC_DM_UNKNOWN();
|
||||||
iPara=RESPONSE_WRITE_PLC_STATE;
|
m_TCPIPMsg._MsgType=RESPONSE_WRITE_PLC_STATE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RESPONSE_PLC_DM_UNKNOWN();
|
RESPONSE_PLC_DM_UNKNOWN();
|
||||||
iPara=RESPONSE_UNKNOWN;
|
m_TCPIPMsg._MsgType=RESPONSE_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_TCPIPBuf[CH_RECV]._CompletedSize = 0;
|
m_TCPIPBuf[CH_RECV]._CompletedSize = 0;
|
||||||
m_TCPIPBuf[CH_RECV]._hProtoPending=FALSE;
|
m_TCPIPBuf[CH_RECV]._hProtoPending=FALSE;
|
||||||
|
|
||||||
if (iPara!=RESPONSE_READ_PLC_STATE)
|
if (m_TCPIPMsg._MsgType!=RESPONSE_READ_PLC_STATE)
|
||||||
{
|
{
|
||||||
::PostMessage(m_hMsgWnd,WM_TCPIP_MSG,FD_READ,iPara);
|
::PostMessage(m_hMsgWnd,WM_TCPIP_MSG,FD_READ,LPARAM(&m_TCPIPMsg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ enum TCPIP_RESPONSE_RESULT
|
|||||||
RESPONSE_UNKNOWN=0,
|
RESPONSE_UNKNOWN=0,
|
||||||
RESPONSE_HANDSHAKE,
|
RESPONSE_HANDSHAKE,
|
||||||
RESPONSE_READ_PLC_STATE,
|
RESPONSE_READ_PLC_STATE,
|
||||||
|
RESPONSE_READ_PLC_CALIB_POS,
|
||||||
RESPONSE_WRITE_PLC_STATE,
|
RESPONSE_WRITE_PLC_STATE,
|
||||||
RESPONSE_READ_SENSOR_STATE,
|
RESPONSE_READ_SENSOR_STATE,
|
||||||
RESPONSE_READ_CCD_DATA,
|
RESPONSE_READ_CCD_DATA,
|
||||||
@@ -86,6 +87,27 @@ struct s_tcpip_state
|
|||||||
_PCMeasureResult=0;
|
_PCMeasureResult=0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct s_tcpip_msg_data
|
||||||
|
{
|
||||||
|
int _MsgType;
|
||||||
|
int _CmdType;
|
||||||
|
int _DataAddr;
|
||||||
|
int _DataSize;
|
||||||
|
int _UpdateData;
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
_MsgType=0;
|
||||||
|
_CmdType=0;
|
||||||
|
_DataAddr=0;
|
||||||
|
_DataSize=0;
|
||||||
|
_UpdateData=0;
|
||||||
|
};
|
||||||
|
s_tcpip_msg_data()
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
};
|
||||||
|
};
|
||||||
//======================================================================================
|
//======================================================================================
|
||||||
class CSo7_TCPIP_Server
|
class CSo7_TCPIP_Server
|
||||||
{
|
{
|
||||||
@@ -95,7 +117,7 @@ public:
|
|||||||
|
|
||||||
static struct_so7_tcpip_buff m_TCPIPBuf[lChannelSize];
|
static struct_so7_tcpip_buff m_TCPIPBuf[lChannelSize];
|
||||||
static s_tcpip_state m_TCPIPServerState;
|
static s_tcpip_state m_TCPIPServerState;
|
||||||
|
s_tcpip_msg_data m_TCPIPMsg;
|
||||||
short *DM5000;
|
short *DM5000;
|
||||||
short *DM8000;
|
short *DM8000;
|
||||||
short *DM10000;
|
short *DM10000;
|
||||||
|
|||||||
@@ -1093,7 +1093,7 @@ BEGIN
|
|||||||
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA,277,294,40,14
|
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA,277,294,40,14
|
||||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER,51,30,40,14,ES_AUTOHSCROLL
|
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER,51,30,40,14,ES_AUTOHSCROLL
|
||||||
LTEXT "Port",IDC_STATIC,29,33,14,8
|
LTEXT "Port",IDC_STATIC,29,33,14,8
|
||||||
CONTROL "CCD DM",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM,"Button",BS_AUTORADIOBUTTON | WS_GROUP,32,110,42,10
|
CONTROL "CCD1 DM",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM,"Button",BS_AUTORADIOBUTTON | WS_GROUP,32,110,46,10
|
||||||
CONTROL "DM 5000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM5000,"Button",BS_AUTORADIOBUTTON,93,110,44,10
|
CONTROL "DM 5000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM5000,"Button",BS_AUTORADIOBUTTON,93,110,44,10
|
||||||
CONTROL "DM 8000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM8000,"Button",BS_AUTORADIOBUTTON,156,110,44,10
|
CONTROL "DM 8000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM8000,"Button",BS_AUTORADIOBUTTON,156,110,44,10
|
||||||
END
|
END
|
||||||
|
|||||||
+256
-117
@@ -23,8 +23,8 @@ extern CSo7_TCPIP_Server* g_pSo7_TCPIP_Server;
|
|||||||
|
|
||||||
IMPLEMENT_DYNAMIC(CSo7_Util_PLC_TCPIP_SERVER, CDialog)
|
IMPLEMENT_DYNAMIC(CSo7_Util_PLC_TCPIP_SERVER, CDialog)
|
||||||
|
|
||||||
CSo7_Util_PLC_TCPIP_SERVER::CSo7_Util_PLC_TCPIP_SERVER(CWnd* pParent /*=NULL*/)
|
CSo7_Util_PLC_TCPIP_SERVER::CSo7_Util_PLC_TCPIP_SERVER(CWnd* pParent /*=NULL*/)
|
||||||
: CDialog(CSo7_Util_PLC_TCPIP_SERVER::IDD, pParent)
|
: CDialog(CSo7_Util_PLC_TCPIP_SERVER::IDD, pParent)
|
||||||
{
|
{
|
||||||
for(int i=0;i<MAX_CCD_ADDR;i++)
|
for(int i=0;i<MAX_CCD_ADDR;i++)
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@ CSo7_Util_PLC_TCPIP_SERVER::~CSo7_Util_PLC_TCPIP_SERVER()
|
|||||||
|
|
||||||
void CSo7_Util_PLC_TCPIP_SERVER::DoDataExchange(CDataExchange* pDX)
|
void CSo7_Util_PLC_TCPIP_SERVER::DoDataExchange(CDataExchange* pDX)
|
||||||
{
|
{
|
||||||
CDialog::DoDataExchange(pDX);
|
CDialog::DoDataExchange(pDX);
|
||||||
DDX_Control(pDX, IDC_EDIT_MSG, m_edMSG);
|
DDX_Control(pDX, IDC_EDIT_MSG, m_edMSG);
|
||||||
DDX_Control(pDX, IDC_LIST_PLC_TCPIP_SERVER_CCDDATA, m_DataList);
|
DDX_Control(pDX, IDC_LIST_PLC_TCPIP_SERVER_CCDDATA, m_DataList);
|
||||||
|
|
||||||
@@ -85,104 +85,178 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog()
|
|||||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (g_pSo7_TCPIP_Server)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
|
||||||
CString str;
|
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER)->SetWindowTextW(_T("9600"));
|
||||||
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA1]);
|
int i(0);
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1)->SetWindowTextW(str);
|
m_CCDData_D10000[i++]=25000;
|
||||||
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA2]);
|
m_CCDData_D10000[i++]=1000;
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2)->SetWindowTextW(str);
|
m_CCDData_D10000[i++]=1000;
|
||||||
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1]);
|
m_CCDData_D10000[i++]=1000;
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1)->SetWindowTextW(str);
|
m_CCDData_D10000[i++]=10000;
|
||||||
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCSensorState[OMRON_PLC_CCD1_CAMERA1]);
|
m_CCDData_D10000[i++]=1000;
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2)->SetWindowTextW(str);
|
m_CCDData_D10000[i++]=20000;
|
||||||
str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState);
|
m_CCDData_D10000[i++]=102000;
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE)->SetWindowTextW(str);
|
m_CCDData_D10000[i++]=3000;
|
||||||
|
m_CCDData_D10000[i++]=4000;
|
||||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER)->SetWindowTextW(_T("9600"));
|
m_CCDData_D10000[i++]=204000;
|
||||||
int i(0);
|
m_CCDData_D10000[i++]=5000;
|
||||||
m_CCDData_D10000[i++]=25000;
|
m_CCDData_D10000[i++]=6000;
|
||||||
m_CCDData_D10000[i++]=1000;
|
m_CCDData_D10000[i++]=7000;
|
||||||
m_CCDData_D10000[i++]=1000;
|
m_CCDData_D10000[i++]=8000;
|
||||||
m_CCDData_D10000[i++]=1000;
|
m_CCDData_D10000[i++]=303000;
|
||||||
m_CCDData_D10000[i++]=10000;
|
m_CCDData_D10000[i++]=9000;
|
||||||
m_CCDData_D10000[i++]=1000;
|
m_CCDData_D10000[i++]=9000;
|
||||||
m_CCDData_D10000[i++]=20000;
|
m_CCDData_D10000[i++]=5000;
|
||||||
m_CCDData_D10000[i++]=102000;
|
m_CCDData_D10000[i++]=406000;
|
||||||
m_CCDData_D10000[i++]=3000;
|
m_CCDData_D10000[i++]=10000;
|
||||||
m_CCDData_D10000[i++]=4000;
|
m_CCDData_D10000[i++]=10000;
|
||||||
m_CCDData_D10000[i++]=204000;
|
m_CCDData_D10000[i++]=30000;
|
||||||
m_CCDData_D10000[i++]=5000;
|
m_CCDData_D10000[i++]=30000;
|
||||||
m_CCDData_D10000[i++]=6000;
|
m_CCDData_D10000[i++]=50000;
|
||||||
m_CCDData_D10000[i++]=7000;
|
m_CCDData_D10000[i++]=10000;
|
||||||
m_CCDData_D10000[i++]=8000;
|
if (g_pSo7_TCPIP_Server)
|
||||||
m_CCDData_D10000[i++]=303000;
|
|
||||||
m_CCDData_D10000[i++]=9000;
|
|
||||||
m_CCDData_D10000[i++]=9000;
|
|
||||||
m_CCDData_D10000[i++]=5000;
|
|
||||||
m_CCDData_D10000[i++]=406000;
|
|
||||||
m_CCDData_D10000[i++]=10000;
|
|
||||||
m_CCDData_D10000[i++]=10000;
|
|
||||||
m_CCDData_D10000[i++]=30000;
|
|
||||||
m_CCDData_D10000[i++]=30000;
|
|
||||||
m_CCDData_D10000[i++]=50000;
|
|
||||||
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<MAX_CCD_ADDR;i++)
|
|
||||||
{
|
{
|
||||||
iData=m_CCDData_D10000[i];
|
int iData(0);
|
||||||
DM_Data[0]=(iData>>24) & 0x0ff;
|
BYTE DM_Data[4]={0,0,0,0};
|
||||||
DM_Data[1]=(iData>>16) & 0x0ff;
|
int StartAddr(60);
|
||||||
DM_Data[2]=(iData>>8) & 0x0ff;
|
for (int i=0;i<MAX_CCD_ADDR;i++)
|
||||||
DM_Data[3]=iData & 0x0ff;
|
{
|
||||||
g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3];
|
iData=m_CCDData_D10000[i];
|
||||||
g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1];
|
DM_Data[0]=(iData>>24) & 0x0ff;
|
||||||
}
|
DM_Data[1]=(iData>>16) & 0x0ff;
|
||||||
}
|
DM_Data[2]=(iData>>8) & 0x0ff;
|
||||||
if (g_pSo7_TCPIP_Server)
|
DM_Data[3]=iData & 0x0ff;
|
||||||
{
|
g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3];
|
||||||
int iDM5000DWord[140]={0};
|
g_pSo7_TCPIP_Server->DM10000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1];
|
||||||
int index(0);
|
}
|
||||||
for (int i=0;i<140;i++)
|
|
||||||
{
|
|
||||||
iDM5000DWord[i]=0;
|
|
||||||
}
|
}
|
||||||
iDM5000DWord[index++]=1;
|
if (g_pSo7_TCPIP_Server)
|
||||||
iDM5000DWord[index++]=10000;
|
|
||||||
index=7;
|
|
||||||
iDM5000DWord[index++]=1;
|
|
||||||
iDM5000DWord[index++]=20000;
|
|
||||||
|
|
||||||
int iData(0);
|
|
||||||
BYTE DM_Data[4]={0,0,0,0};
|
|
||||||
index=9;
|
|
||||||
g_pSo7_TCPIP_Server->DM5000[index]=0;
|
|
||||||
int StartAddr(100);
|
|
||||||
|
|
||||||
for (int i=0;i<140;i++)
|
|
||||||
{
|
{
|
||||||
iData=iDM5000DWord[i];
|
int iData(0);
|
||||||
DM_Data[0]=(iData>>24) & 0x0ff;
|
BYTE DM_Data[4]={0,0,0,0};
|
||||||
DM_Data[1]=(iData>>16) & 0x0ff;
|
int StartAddr(0);
|
||||||
DM_Data[2]=(iData>>8) & 0x0ff;
|
int index(0);
|
||||||
DM_Data[3]=iData & 0x0ff;
|
int iDM5000DWord[150]={0};
|
||||||
g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3];
|
for (int i=0;i<150;i++)
|
||||||
g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1];
|
{
|
||||||
}
|
iDM5000DWord[i]=0;
|
||||||
}
|
}
|
||||||
|
StartAddr=100;
|
||||||
|
index=0;
|
||||||
|
for (int i=0;i<10;i++)
|
||||||
|
{
|
||||||
|
iDM5000DWord[index++]=1;
|
||||||
|
iDM5000DWord[index++]=(i+1)*10000;
|
||||||
|
index=7*(i+1);
|
||||||
|
}
|
||||||
|
for (int i=0;i<6;i++)
|
||||||
|
{
|
||||||
|
iDM5000DWord[index++]=1;
|
||||||
|
iDM5000DWord[index++]=(i+1)*10000;
|
||||||
|
index=7*(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;
|
||||||
|
|
||||||
m_DMAddrList=DM_ADDR_CCD;
|
g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i]=(DM_Data[2]<<8)+DM_Data[3];
|
||||||
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM))->SetCheck(TRUE);
|
g_pSo7_TCPIP_Server->DM5000[StartAddr+2*i+1]=(DM_Data[0]<<8)+DM_Data[1];
|
||||||
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM5000))->SetCheck(FALSE);
|
}
|
||||||
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM8000))->SetCheck(FALSE);
|
|
||||||
m_UpdateListControl(E_LISTCTRL_CREATE);
|
|
||||||
m_UpdateListControl(E_LISTCTRL_TITLE);
|
for (int i=0;i<150;i++)
|
||||||
m_UpdateListControl(E_LISTCTRL_DATA2CONTROL);
|
{
|
||||||
m_UpdateControls(FALSE);
|
iDM5000DWord[i]=0;
|
||||||
UpdateData(FALSE);
|
}
|
||||||
|
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];
|
||||||
|
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];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_DMAddrList=DM_ADDR_CCD;
|
||||||
|
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM))->SetCheck(TRUE);
|
||||||
|
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM5000))->SetCheck(FALSE);
|
||||||
|
((CButton *)GetDlgItem(IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM8000))->SetCheck(FALSE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_CREATE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_TITLE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_DATA2CONTROL);
|
||||||
|
m_UpdateControls(FALSE);
|
||||||
|
UpdateData(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE; // return TRUE unless you set the focus to a control
|
return TRUE; // return TRUE unless you set the focus to a control
|
||||||
}
|
}
|
||||||
@@ -352,7 +426,7 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
|
|||||||
|
|
||||||
m_DataList.InsertColumn(0,_T("CCD地址"),LVCFMT_LEFT, m_rect.right*1/4);
|
m_DataList.InsertColumn(0,_T("CCD地址"),LVCFMT_LEFT, m_rect.right*1/4);
|
||||||
m_DataList.InsertColumn(1,_T("数据值"),LVCFMT_LEFT, m_rect.right*1/4);
|
m_DataList.InsertColumn(1,_T("数据值"),LVCFMT_LEFT, m_rect.right*1/4);
|
||||||
m_DataList.InsertColumn(2,_T("备注"),LVCFMT_LEFT, m_rect.right*2/4);
|
m_DataList.InsertColumn(2,_T("备注"),LVCFMT_LEFT, m_rect.right*3/2);
|
||||||
int iStartRow(0),iEndRow(0);
|
int iStartRow(0),iEndRow(0);
|
||||||
CString str;
|
CString str;
|
||||||
|
|
||||||
@@ -417,7 +491,7 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
|
|||||||
m_DataList.SetItemText(i,2,_T(""));
|
m_DataList.SetItemText(i,2,_T(""));
|
||||||
}
|
}
|
||||||
int Addr(0);
|
int Addr(0);
|
||||||
m_DataList.SetItemText(Addr++,2,_T("PLC设备运行状态(0-空闲,1-后退,2-前进,3-故障,4-编辑)"));
|
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("CCD1数据刷新"));
|
||||||
m_DataList.SetItemText(Addr++,2,_T("CCD2数据刷新"));
|
m_DataList.SetItemText(Addr++,2,_T("CCD2数据刷新"));
|
||||||
m_DataList.SetItemText(Addr++,2,_T("CCD3数据刷新"));
|
m_DataList.SetItemText(Addr++,2,_T("CCD3数据刷新"));
|
||||||
@@ -445,7 +519,7 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
|
|||||||
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6低字"));
|
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6低字"));
|
||||||
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6高字"));
|
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6高字"));
|
||||||
}
|
}
|
||||||
for (int i=0;i<3;i++)
|
for (int i=0;i<6;i++)
|
||||||
{
|
{
|
||||||
str.Format(_T("LASER%d-%d"),1+(i/2),1+(i%2));
|
str.Format(_T("LASER%d-%d"),1+(i/2),1+(i%2));
|
||||||
m_DataList.SetItemText(Addr++,2,str+_T("中断数低字"));
|
m_DataList.SetItemText(Addr++,2,str+_T("中断数低字"));
|
||||||
@@ -463,8 +537,48 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
|
|||||||
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6低字"));
|
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6低字"));
|
||||||
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6高字"));
|
m_DataList.SetItemText(Addr++,2,str+_T("中断位置6高字"));
|
||||||
}
|
}
|
||||||
|
Addr=400;
|
||||||
|
for (int i=0;i<10;i++)
|
||||||
|
{
|
||||||
|
str.Format(_T("CCD%d-%d"),1+(i/2),1+(i%2));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标X低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标X高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Y低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Y高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Z低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Z高字"));
|
||||||
|
}
|
||||||
|
for (int i=0;i<6;i++)
|
||||||
|
{
|
||||||
|
str.Format(_T("LASER%d-%d"),1+(i/2),1+(i%2));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标X低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标X高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Y低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Y高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Z低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("设备坐标Z高字"));
|
||||||
|
}
|
||||||
|
Addr=500;
|
||||||
|
for (int i=0;i<10;i++)
|
||||||
|
{
|
||||||
|
str.Format(_T("CCD%d-%d"),1+(i/2),1+(i%2));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔX低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔX高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔY低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔY高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔZ低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔZ高字"));
|
||||||
|
}
|
||||||
|
for (int i=0;i<6;i++)
|
||||||
|
{
|
||||||
|
str.Format(_T("LASER%d-%d"),1+(i/2),1+(i%2));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔX低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔX高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔY低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔY高字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔZ低字"));
|
||||||
|
m_DataList.SetItemText(Addr++,2,str+_T("测量补偿ΔZ高字"));
|
||||||
|
}
|
||||||
m_DataList.SetEditableItemRange(0,MAX_DM_PAGE_NUMBER-1,1,1);
|
m_DataList.SetEditableItemRange(0,MAX_DM_PAGE_NUMBER-1,1,1);
|
||||||
m_DataList.SetColorStyleItemRange(0,MAX_DM_PAGE_NUMBER-1,0,2);
|
m_DataList.SetColorStyleItemRange(0,MAX_DM_PAGE_NUMBER-1,0,2);
|
||||||
}
|
}
|
||||||
@@ -676,7 +790,7 @@ LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnSocket(WPARAM w, LPARAM p)
|
|||||||
LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p)
|
LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p)
|
||||||
{
|
{
|
||||||
LRESULT lResult=0;
|
LRESULT lResult=0;
|
||||||
int lPara=static_cast<int>(p);
|
//int lPara=static_cast<int>(p);
|
||||||
switch(w)
|
switch(w)
|
||||||
{
|
{
|
||||||
case FD_ACCEPT:
|
case FD_ACCEPT:
|
||||||
@@ -686,7 +800,24 @@ LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p)
|
|||||||
}
|
}
|
||||||
case FD_READ:
|
case FD_READ:
|
||||||
{
|
{
|
||||||
m_csMSG=_T("<TCIPIP> FD_READ ")+TCPIPMsg(lPara);
|
s_tcpip_msg_data _TCPIPMsg;
|
||||||
|
memcpy(&_TCPIPMsg,(s_tcpip_msg_data*)p,sizeof(s_tcpip_msg_data));
|
||||||
|
if (_TCPIPMsg._UpdateData==1)
|
||||||
|
{
|
||||||
|
if (m_DMAddrList==DM_ADDR_DM8000)
|
||||||
|
{
|
||||||
|
m_UpdateListControl(E_LISTCTRL_TITLE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_DATA2CONTROL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (_TCPIPMsg._UpdateData==2)
|
||||||
|
{
|
||||||
|
m_UpdateControls(FALSE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_TITLE);
|
||||||
|
m_UpdateListControl(E_LISTCTRL_DATA2CONTROL);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_csMSG=_T("<TCIPIP> FD_READ ")+TCPIPMsg(_TCPIPMsg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case FD_WRITE:
|
case FD_WRITE:
|
||||||
@@ -709,49 +840,57 @@ LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p)
|
|||||||
return( lResult );
|
return( lResult );
|
||||||
}
|
}
|
||||||
//=====================================================================================
|
//=====================================================================================
|
||||||
CString CSo7_Util_PLC_TCPIP_SERVER::TCPIPMsg(int _Type)
|
CString CSo7_Util_PLC_TCPIP_SERVER::TCPIPMsg(s_tcpip_msg_data _MsgData)
|
||||||
{
|
{
|
||||||
CString cStr("");
|
CString cStr("");
|
||||||
switch(_Type)
|
if (_MsgData._CmdType==0)
|
||||||
|
{
|
||||||
|
cStr.Format(_T(" [R]Addr[%d]NumberOfWords[%d]."),_MsgData._DataAddr,_MsgData._DataSize);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cStr.Format(_T(" [W]Addr[%d]NumberOfWords[%d]."),_MsgData._DataAddr,_MsgData._DataSize);
|
||||||
|
}
|
||||||
|
switch(_MsgData._MsgType)
|
||||||
{
|
{
|
||||||
case RESPONSE_UNKNOWN:
|
case RESPONSE_UNKNOWN:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_UNKNOWN");
|
cStr=_T("RESPONSE_UNKNOWN")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RESPONSE_HANDSHAKE:
|
case RESPONSE_HANDSHAKE:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_HANDSHAKE");
|
cStr=_T("RESPONSE_HANDSHAKE")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case RESPONSE_READ_PLC_CALIB_POS:
|
||||||
|
{
|
||||||
|
cStr=_T("RESPONSE_READ_PLC_CALIB_POS")+cStr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case RESPONSE_READ_PLC_STATE:
|
case RESPONSE_READ_PLC_STATE:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_READ_PLC_STATE");
|
cStr=_T("RESPONSE_READ_PLC_STATE")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RESPONSE_WRITE_PLC_STATE:
|
case RESPONSE_WRITE_PLC_STATE:
|
||||||
{
|
{
|
||||||
if (m_DMAddrList==DM_ADDR_DM8000)
|
cStr=_T("RESPONSE_WRITE_PLC_STATE")+cStr;
|
||||||
{
|
|
||||||
m_UpdateListControl(E_LISTCTRL_TITLE);
|
|
||||||
m_UpdateListControl(E_LISTCTRL_DATA2CONTROL);
|
|
||||||
}
|
|
||||||
cStr=_T("RESPONSE_WRITE_PLC_STATE");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RESPONSE_READ_SENSOR_STATE:
|
case RESPONSE_READ_SENSOR_STATE:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_READ_SENSOR_STATE");
|
cStr=_T("RESPONSE_READ_SENSOR_STATE")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RESPONSE_READ_CCD_DATA:
|
case RESPONSE_READ_CCD_DATA:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_READ_CCD_DATA");
|
cStr=_T("RESPONSE_READ_CCD_DATA")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RESPONSE_READ_ERRCODE:
|
case RESPONSE_READ_ERRCODE:
|
||||||
{
|
{
|
||||||
cStr=_T("RESPONSE_READ_ERRCODE");
|
cStr=_T("RESPONSE_READ_ERRCODE")+cStr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public:
|
|||||||
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatedata();
|
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatedata();
|
||||||
void m_UpdateListControl(int _type);
|
void m_UpdateListControl(int _type);
|
||||||
void m_UpdateControls(int _type);
|
void m_UpdateControls(int _type);
|
||||||
CString TCPIPMsg(int _Type);
|
CString TCPIPMsg(s_tcpip_msg_data _Type);
|
||||||
|
|
||||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrCcdDm();
|
afx_msg void OnBnClickedRadioPlcTcpipServerAddrCcdDm();
|
||||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrDm5000();
|
afx_msg void OnBnClickedRadioPlcTcpipServerAddrDm5000();
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user