模拟PLC进行TCPIP通信。
This commit is contained in:
@@ -326,7 +326,7 @@ 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+1]=sData & 0x0ff;
|
||||
}
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize);
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
||||
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
||||
|
||||
SendBuffer();
|
||||
@@ -355,7 +355,7 @@ 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+1]=sData & 0x0ff;
|
||||
}
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize);
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
||||
|
||||
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
||||
|
||||
@@ -384,7 +384,7 @@ BOOL CSo7_TCPIP_Server::Response_PLC_DM8000_W(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+1]=sData & 0x0ff;
|
||||
}
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize);
|
||||
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast<char>(DRW_SDataIndexData-DRW_SDataHeadDataSize+_DataSize*2);
|
||||
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+_DataSize*2;
|
||||
|
||||
SendBuffer();
|
||||
|
||||
@@ -468,7 +468,7 @@ void CSo7_Option::OnBnClickedOk()
|
||||
if (g_pSo7_TCPIP_Server)
|
||||
{
|
||||
delete g_pSo7_TCPIP_Server;
|
||||
g_pSo7_TCPIP=NULL;
|
||||
g_pSo7_TCPIP_Server=NULL;
|
||||
}
|
||||
}
|
||||
else if(((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->GetCheck())
|
||||
|
||||
+32
-2
@@ -96,6 +96,7 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog()
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER)->SetWindowTextW(_T("9600"));
|
||||
|
||||
m_UpdateListControl(E_LISTCTRL_TITLE);
|
||||
m_UpdateListControl(E_LISTCTRL_CONTENT);
|
||||
|
||||
UpdateData(FALSE);
|
||||
|
||||
@@ -160,8 +161,8 @@ void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerUpdatestate()
|
||||
g_pSo7_TCPIP_Server->DM5000[0]=static_cast<short>(g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState);
|
||||
for (int i=1;i<=8;i++)
|
||||
{
|
||||
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)*2+1];
|
||||
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];
|
||||
g_pSo7_TCPIP_Server->DM5000[i]=(DM_Data[0]<<8)+DM_Data[1];
|
||||
}
|
||||
}
|
||||
@@ -198,6 +199,35 @@ void CSo7_Util_PLC_TCPIP_SERVER::m_UpdateListControl(int _type)
|
||||
m_DataList.SetItemText(i,0,str);
|
||||
m_DataList.SetItemText(i,1,_T("0"));
|
||||
}
|
||||
int iRow(0);
|
||||
int iCol(1);
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("25000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("1000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("1000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("1000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("10000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("1000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("20000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("102000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("30000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("40000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("204000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("50000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("60000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("700000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("800000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("303000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("900000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("900000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("500000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("406000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("100000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("100000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("150000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("150000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("200000"));
|
||||
m_DataList.SetItemText(iRow++,iCol,_T("100000"));
|
||||
|
||||
m_DataList.SetEditableItemRange(0,MAX_CCD_ADDR-1,1,1);
|
||||
m_DataList.SetColorStyleItemRange(0,MAX_CCD_ADDR-1,0,2);
|
||||
break;
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user