+

来自「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 + -
显示快捷键?