示例#1
0
 private void btnFresh_Click(object sender, EventArgs e)
 {
     getSerialPort(comboPLC);
     SubFunction.updateMessage(lstCommandList, "机台调试:点击 <刷新> 按钮...");
     SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "机台调试:点击 <刷新> 按钮...\r\n");
 }
示例#2
0
 private void btnS1_Click(object sender, EventArgs e)
 {
     SubFunction.updateMessage(lstCommandList, "机台调试:点击 <A板关机> 按钮...");
     SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "机台调试:点击 <A板关机> 按钮...");
     sendPLC("S1");
 }
        private void CheckPort(ComboBox PortName, Message m)
        {
            if (m.Msg == WM_DEVICE_CHANGE)        // 捕获USB设备的拔出消息WM_DEVICECHANGE
            {
                string portName = Marshal.PtrToStringUni((IntPtr)(m.LParam.ToInt32() + Marshal.SizeOf(typeof(DEV_BROADCAST_PORT_Fixed))));
                switch (m.WParam.ToInt32())
                {
                case DBT_DEVICE_REMOVE_COMPLETE:        // USB拔出
                    DEV_BROADCAST_HDR dbhdr0 = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR));
                    if (dbhdr0.dbch_devicetype == DBT_DEVTYP_PORT)
                    {
                        try
                        {
                            // comboPortName.Items.Remove(portName);

                            if (Btn_Test.Enabled)
                            {
                                getSerialPort(PortName);
                            }
                            else
                            {
                                //sp = new System.Media.SoundPlayer(global::SpotTestTester.Properties.Resources.ng);
                                //sp.Play();
                                richTextBox_A.AppendText("串口调试: " + "串口编号" + portName + "已经离线" + "\n");
                                SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: " + "串口编号" + portName + "已经离线");
                                //SubFunction.updateMessage(lstStatusCommand, "偵测到串口丟失,請重新设置后點擊开始,若无法啟动,點擊Restart再點擊Start。");
                                //closePort(spPLC);
                                //closePort(spSN);
                                //pressStopButton();
                            }
                        }
                        catch (Exception ex)
                        {
                            //sp = new System.Media.SoundPlayer(global::SpotTestTester.Properties.Resources.ng);
                            //sp.Play();
                            richTextBox_A.AppendText("串口调试: " + "Error," + ex.Message + "\n");
                            SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: " + "Error," + ex.Message);
                        }
                        Console.WriteLine("Port '" + portName + "' leaved.");
                    }

                    break;

                case DBT_DEVICEARRIVAL:                 // USB插入获取对应串口名称
                    DEV_BROADCAST_HDR dbhdr = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR));
                    if (dbhdr.dbch_devicetype == DBT_DEVTYP_PORT)
                    {
                        getSerialPort(CB_SerialPort_A);
                        getSerialPort(CB_SerialPort_B);

                        //getSerialPort(CB_SerialPort_A);
                        //getSerialPort(CB_SerialPort_B);


                        //MessageBox.Show(CB_SerialPort_A.Text);
                        //getSerialPort(comboDUTPort_B);
                        //getSerialPort(comboFICTPort);
                        richTextBox_A.AppendText("串口调试: 串口已检测到《" + portName + "》..." + "\n");
                        SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: 串口已检测到《" + portName + "》...");
                        Console.WriteLine("Port '" + portName + "' arrived.");
                    }
                    break;
                }
            }
            base.WndProc(ref m);
        }