//关闭连接按钮 private void button2_Click(object sender, EventArgs e) { if (UsbIO.is_Open())//确保是设备处于连接状态才进行关闭连接的操作 { if (!testStartFlag) { closeTest(); //关闭接收数据 SendDataHandle.SCPICDisconnect(); //先向下位机发送退出远控状态的指令 UsbIO.DataRecieveStop(); //结束串口接收数据的线程 UsbIO.Close_Port(); //关闭串口连接 if (!UsbIO.is_Open()) { MessageBox.Show("设备已断开连接"); //弹出提示对话框 textBox11.Text = "设备未连接"; //显示设备连接状态 textBox11.BackColor = Color.WhiteSmoke; //控件背景颜色改变 } else { MessageBox.Show("设备连接断开失败"); //弹出提示对话框 } } else { MessageBox.Show("请先结束测试!"); //弹出提示对话框 } } }
//从参数设置里读取内容,并判断设备连接状态和参数设置是否为空 private void ReadSet() { setData.testVoltage = textBox10.Text; //得到设置的测试电压值 setData.electricUpLimit = textBox9.Text; //得到设置的充电电流上限值 setData.powerUpLimit = textBox8.Text; //得到充电功率上限值 setData.outputRes = comboBox1.Text; //得到输出电阻值 setData.dischargeElectric = textBox7.Text; //得到放电电流值 setData.dischargePower = textBox1.Text; //得到放电功率值 setData.measurePattern = comboBox3.Text; //得到测量模式 setData.voltageRiseSlope = textBox3.Text; //(高压源的最大输出电压)电压上升斜率 setData.voltageDropSlope = textBox4.Text; //(高压源的最大输出电压)电压下降斜率 setData.chargePattern = comboBox2.Text; //得到充电模式 //判断设置参数是否填写完整 if (UsbIO.is_Open()) { if (setData.testVoltage == "" || setData.electricUpLimit == "" || setData.powerUpLimit == "" || setData.outputRes == "" || setData.dischargeElectric == "" || setData.dischargePower == "" || setData.measurePattern == "" || setData.voltageRiseSlope == "" || setData.voltageDropSlope == "" || setData.chargePattern == "" ) { MessageBox.Show("设置参数不能为空,请填写完整!"); //弹出提示对话框 } else { SendDataHandle.SendToCMDMachine(setData);//用于发送设置参数到下位机 } } else { MessageBox.Show("设备未连接!");//弹出提示对话框 } }
//打开连接按钮 private void button1_Click(object sender, EventArgs e) { if (!UsbIO.is_Open())//确保设备处于未连接状态再进行连接操作,否则不操作 { portNum = PortNums.Text; UsbIO.Open_Port(); // 打开串口 UsbIO.DataRecieveStart(); //开始串口接收数据的线程 if (UsbIO.is_Open()) { bool successFlag = SendDataHandle.SCPIConnect();//发送SCPI联机指令给下位机 if (successFlag) { MessageBox.Show("设备连接成功"); //弹出提示对话框 textBox11.Text = "设备已连接"; //显示设备连接状态 textBox11.BackColor = Color.Red; //控件背景颜色改变 } else { MessageBox.Show("设备连接失败"); //弹出提示对话框 textBox11.Text = "设备未连接"; //显示设备连接状态 textBox11.BackColor = Color.WhiteSmoke; //控件背景颜色改变 } } else { MessageBox.Show("串口未打开"); //弹出提示对话框 textBox11.Text = "设备未连接"; //显示设备连接状态 textBox11.BackColor = Color.WhiteSmoke; //控件背景颜色改变 } } }
//停止接受数据按钮 private void button8_Click(object sender, EventArgs e) { if (UsbIO.is_Open()) { closeTest(); } else { MessageBox.Show("设备未连接,请先连接设备"); //弹出提示对话框 } }
//开始接受数据按钮(向下位机请求结果数据) private void button6_Click(object sender, EventArgs e) { if (UsbIO.is_Open()) { TaskGatherRealTime = new Thread(GatherRealTime); //开启(创建)一个绘图线程 startTest(); receiveButtonClickFlag = true; //开始接收数据的按钮是否点击过 } else { MessageBox.Show("设备未连接,请先连接设备"); //弹出提示对话框 } }
//开始测试按钮 private void button3_Click(object sender, EventArgs e) { if (UsbIO.is_Open()) { //TaskGatherRealTime = new Thread(GatherRealTime);//开启(创建)一个绘图线程 //startTest();//调用测试开始的函数 testStartFlag = true; //开始测试标志置一 SendDataHandle.SCPITestStart(); //给下位机发送开始测试的指令 UsbIO.form1.textBox14.Text = "正在测试"; //显示测试状态 textBox14.BackColor = Color.Red; //控件背景颜色改变 } else { MessageBox.Show("设备未连接,请先连接设备"); //弹出提示对话框 } }
//参数下载按钮 private void button5_Click(object sender, EventArgs e) { if (UsbIO.is_Open()) { ReadSet();//读取设置的参数,并在ReadSet函数里调用sendToCMDMachine函数把设置的参数发送给下位机 if (setDataDownloadSuccessFlag) { textBox13.Text = "参数下载成功"; textBox13.BackColor = Color.Red;//控件背景颜色改变 setDataDownloadSuccessFlag = false; } else { textBox13.Text = "参数下载失败"; textBox13.BackColor = Color.Red;//控件背景颜色改变 } } else { MessageBox.Show("设备未连接,请先连接设备"); //弹出提示对话框 } }