Add RW data.

This commit is contained in:
TAO Cheng
2014-10-30 15:40:07 +08:00
parent 211ca66956
commit 0e4bb3e352
6 changed files with 198 additions and 48 deletions
@@ -1050,11 +1050,13 @@ BEGIN
PUSHBUTTON "Read Data",IDC_BUTTON_PLC_TCPIP_READ,203,30,63,18
PUSHBUTTON "Write Data",IDC_BUTTON_PLC_TCPIP_WRITE,203,62,63,18
GROUPBOX "TCP/IP Control",IDC_STATIC,110,12,174,81
EDITTEXT IDC_EDIT_PLC_TCPIP_ADDR,141,32,40,14,ES_AUTOHSCROLL
LTEXT "Addr",IDC_STATIC,116,35,16,8
EDITTEXT IDC_EDIT_PLC_TCPIP_Data,141,61,40,14,ES_AUTOHSCROLL
LTEXT "Data",IDC_STATIC,116,64,16,8
EDITTEXT IDC_EDIT_PLC_TCPIP_ADDR,144,28,40,14,ES_AUTOHSCROLL
LTEXT "Addr",IDC_STATIC,120,30,16,8
EDITTEXT IDC_EDIT_PLC_TCPIP_Data,144,74,40,14,ES_AUTOHSCROLL
LTEXT "Data",IDC_STATIC,120,76,16,8
PUSHBUTTON "Handshaking",IDC_BUTTON_PLC_TCPIP_HANDSHAKING,28,49,63,18
EDITTEXT IDC_EDIT_PLC_TCPIP_DATA_SIZE,144,51,40,14,ES_AUTOHSCROLL
LTEXT "Size",IDC_STATIC,120,53,14,8
END
@@ -73,20 +73,54 @@ void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipDisconnect()
void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipRead()
{
;
CString str;
UpdateData(TRUE);
USES_CONVERSION;
GetDlgItem(IDC_EDIT_PLC_TCPIP_ADDR)->GetWindowText(str);
const char* cTempValue=T2A(str);
short sAddr=static_cast<short>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_DATA_SIZE)->GetWindowText(str);
cTempValue=T2A(str);
short sSize=static_cast<short>(atoi(cTempValue));
TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->_Send_Cmd_Read_D_Data(sAddr,sSize);
m_csMSG.Format(_T(">> Read ReturnCode:%d."),rCode);
OutputWithScroll(m_csMSG,m_edMSG);
}
void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipHandshaking()
{
TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->Handshaking();
m_csMSG.Format(_T("[Handshaking] Send ReturnCode:%d."),rCode);
m_csMSG.Format(_T(">> Handshaking ReturnCode:%d."),rCode);
OutputWithScroll(m_csMSG,m_edMSG);
}
void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipWrite()
{
TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->Send(1001,0);
m_csMSG.Format(_T("Write ReturnCode:%d."),rCode);
CString str;
UpdateData(TRUE);
USES_CONVERSION;
GetDlgItem(IDC_EDIT_PLC_TCPIP_ADDR)->GetWindowText(str);
const char* cTempValue=T2A(str);
short sAddr=static_cast<short>(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_Data)->GetWindowText(str);
cTempValue=T2A(str);
int sData=(atoi(cTempValue));
GetDlgItem(IDC_EDIT_PLC_TCPIP_DATA_SIZE)->GetWindowText(str);
cTempValue=T2A(str);
int sSize=(atoi(cTempValue));
short* _Data=new short[sSize];
for(int i=0;i<sSize;i++)
{
_Data[i]=static_cast<short>(sData);
}
TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->_Send_Cmd_Write_D_Data(sAddr,_Data,(int)sSize);
delete []_Data;
m_csMSG.Format(_T(">> Write ReturnCode:%d."),rCode);
OutputWithScroll(m_csMSG,m_edMSG);
}
@@ -141,12 +175,39 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
{
if (g_pSo7_TCPIP)
{
m_csMSG.Format(_T(">> Handshaking status:%d."),g_pSo7_TCPIP->m_TCPIPData.s_status._handshaking);
m_csMSG.Format(_T("<< Handshaking status:%d."),g_pSo7_TCPIP->m_TCPIPData.s_status._HandshakingSucceed);
OutputWithScroll(m_csMSG,m_edMSG);
}
m_csMSG=_T("[Handshaking]");
break;
}
case TCPIP_CMD_READ_D_DATA:
{
if (g_pSo7_TCPIP)
{
CString csTmp;
m_csMSG=_T("");
m_csMSG.Format(_T("<< Read status:%d;Data:"),g_pSo7_TCPIP->m_TCPIPData.s_status._ReadDataCompleted);
for (int i=0;i<g_pSo7_TCPIP->m_TCPIPData.s_recv_data._DataSize;i++)
{
csTmp.Format(_T("%0X,"),g_pSo7_TCPIP->m_TCPIPData.s_recv_data._iData[i]);
m_csMSG+=csTmp;
}
OutputWithScroll(m_csMSG,m_edMSG);
m_csMSG=_T("[Read]");
}
break;
}
case TCPIP_CMD_WRITE_D_DATA:
{
if (g_pSo7_TCPIP)
{
m_csMSG.Format(_T("<< Write status:%d."),g_pSo7_TCPIP->m_TCPIPData.s_status._WriteDataCompleted);
OutputWithScroll(m_csMSG,m_edMSG);
}
m_csMSG=_T("[Write]");
break;
}
default:
{
m_csMSG=_T("[Unknown]");
@@ -163,7 +224,7 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
m_csMSG+=_T("RecvData:");
for (int i=0;i<g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._size;i++)
{
csTmp.Format(_T("0x%X "),g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._buffer[i]);
csTmp.Format(_T("0x%02X "),static_cast<BYTE>(g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._buffer[i]));
m_csMSG+=csTmp;
}
}
@@ -1054,8 +1054,9 @@
#define IDC_EDIT_PLC_TCPIP_ADDR 1887
#define IDC_EDIT_MSG 1888
#define IDC_EDIT_PLC_TCPIP_Data 1889
#define IDC_BUTTON_PLC_TCPIP_CONNECT2 1890
#define IDC_BUTTON_PLC_TCPIP_HANDSHAKING 1890
#define IDC_EDIT_PLC_TCPIP_ADDR2 1891
#define IDC_EDIT_PLC_TCPIP_DATA_SIZE 1891
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
#define ID_EDIT_SO7_CONFIG_MOTION 32741