//Show Device configuration dialog void OpenDevCfgDlg() { if (null == dlgDevCfg) { dlgDevCfg = new DevCfgDlg(this); } if (dlgDevCfg.IsDisposed) { dlgDevCfg = new DevCfgDlg(this); } dlgDevCfg.Show(); openDevCfgDlgTimeOut = 0; }
COMM_FRAME_T frameRX = new COMM_FRAME_T(); //保存串口收到的数据 private void timer1_Tick(object sender, EventArgs e) { long ms = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000; //时间戳; if (openDevCfgDlgTimeOut > 0) // is waiting device response { if (ms > openDevCfgDlgTimeOut) //timeout { openDevCfgDlgTimeOut = 0; MessageBox.Show("等待设备响应超时"); OpenDevCfgDlg(); } } while (devProtocol.GetRxFrame(ref frameRX)) { ushort type = frameRX.type; type -= 0x2020; //两个字符转为大写 switch (type) { case FRAME_TYPE_RP: ShowRec(devRec.RecFrameDeal(frameRX)); break; case FRAME_TYPE_NK: MessageBox.Show("设备忙"); break; case FRAME_TYPE_GC: if (null == dlgDevCfg) { dlgDevCfg = new DevCfgDlg(this); } if (dlgDevCfg.IsDisposed) { dlgDevCfg = new DevCfgDlg(this); } dlgDevCfg.CfgFreameDeal(frameRX); dlgDevCfg.UpdateShow(devCfg); if (openDevCfgDlgTimeOut > 0) { dlgDevCfg.Show(); openDevCfgDlgTimeOut = 0; } break; case FRAME_TYPE_SC: MessageBox.Show("更新设备信息成功!"); break; //case FRAME_TYPE_LI: COMM_cmdLI(port); break; //case FRAME_TYPE_LO: COMM_cmdLO(port); break; //case FRAME_TYPE_SM: COMM_cmdSM(port, p); break; //case FRAME_TYPE_GR: COMM_cmdGR(port); break; //case FRAME_TYPE_CR: COMM_cmdCR(port); break; //case FRAME_TYPE_GS: COMM_cmdGS(); break; //case FRAME_TYPE_RA: COMM_cmdRA(port, p); break; //case FRAME_TYPE_RC: COMM_cmdRC(port); break; //20180902 清除计数器 //case FRAME_TYPE_ST: COMM_cmdST(port, p); break; //20180902 同步系统时间 //case FRAME_TYPE_MS: COMM_cmdMS(port, p); break; //20190618 选择基准波形 //case FRAME_TYPE_FS: COMM_cmdFS(port, p); break; //20190722 厂家设置 //case FRAME_TYPE_DT: COMM_cmdDT(); break; //20190722 厂家设置 default: break; } //if (isNewImg) //{ // //DrawImg(imgCnt); // isNewImg = false; //} } }