+
来自「Visual C++串口通信开发入门与编程实践」· 代码 · 共 46 行
TXT
46 行
LRESULT CMainFrame::OnSerialMsg(WPARAM wParam, LPARAM lParam)
{
.......................................
//portnum为机床的串口号
int portnum = LOWORD(lParam);
//openType表示系统类型,0是FANUC或则HAAS系统,1是SIEMENS系统,-1是其他系统
int openType = HIWORD(lParam);
.................................
//接收的是其他系统的数控程序
if ((openType == - 1) && (eEvent &CSerial::EEventRecv))
{
....................................... //对数控程序处理
}
//接收的是来自SIEMENS系统的数据
else if ((openType == 1) && (eEvent &CSerial::EEventRecv))
{
//接收数据,保存到数组szData中
m_machine[portnum].m_serialPort.Read(szData, nBuflen, &dwRead);
if (szData.Find("R[2") != - 1)
{
............................
//是SIEMENS的状态采集数据,对采集数据的处理
}
else
{
.......................... //是SIEMENS的NC程序,对NC程序处理
}
}
//接收的是来自FANUC或HAAS系统的数据
else if ((!openType) && (eEvent &CSerial::EEventRecv))
{
......................................
m_machine[portnum].m_serialPort.Read(szData, nBuflen, &dwRead);
if (szData.Find("O") != - 1)
{
............................
//是FANUC系统的NC程序,对NC程序处理
}
else
{
. //接收的是FANUC或HAAS系统的状态采集数据,对采集数据的处理
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?