Example #1
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            if (electricData != "" && measureVoltageData != "" && leakElectricData != "")//判断是不是第一次请求数据,即变量中有没有结果数据
            {
                if (resultData.outputVoltageData.Count != 0 && resultData.electricData.Count != 0 && resultData.leakElectricData.Count != 0)
                {
                    SaveDataToLocal.writeFile();//把电压电流和漏电流数据都存入到电脑中去
                }

                huatuFlag = true;


                ResultShow();//显示结果刷新
            }


            if (receiveStartFlag)//是正在进行测试,可以发送请求数据指令
            {
                //string[] SCPIsendGetDataPackOver = SendDataHandle.PackageDataOver(SCPIsendGetData);//给请求指令加上校验码和结束码

                SendDataHandle.sendGet(SCPIsendGetData);    //发送得到数据的请求
            }

            timer1.Enabled = true;//如果不先把enabled设置成false对话框会一直弹下去
        }
Example #2
0
        //把数据或者参数发送给下位机
        public static void sendToARM(string str)
        {
            if (port.IsOpen)
            {
                //port.Write(str);
                byte[] bTemp = new byte[str.Length + 3];
                int    i     = 0;
                foreach (char c in str)
                {
                    bTemp[i] = (byte)c;
                    i++;
                }
                bTemp[i]     = SendDataHandle.SCPIStrSumChkGet(str);
                bTemp[i + 1] = (byte)Form1.end1;
                bTemp[i + 2] = (byte)Form1.end2;

                port.Write(bTemp, 0, bTemp.Length);

                sendDataShow(str + SendDataHandle.SCPIStrSumChkGet(str) + Form1.end1 + Form1.end2); //调用方法把发送的SCPI指令显示到发送数据窗口
            }
            else
            {
                MessageBox.Show("设备未打开连接");
            }
        }
Example #3
0
        //从参数设置里读取内容,并判断设备连接状态和参数设置是否为空
        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("设备未连接!");//弹出提示对话框
            }
        }
Example #4
0
 //关闭连接按钮
 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("请先结束测试!"); //弹出提示对话框
         }
     }
 }
Example #5
0
 //打开连接按钮
 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; //控件背景颜色改变
         }
     }
 }
Example #6
0
 //结束测试按钮
 private void button4_Click(object sender, EventArgs e)
 {
     if (testStartFlag == true)
     {
         //closeTest();//调用测试关闭的函数
         //clearAllShowData();//调用清空整个上位机界面数据参数的函数
         SendDataHandle.SCPITestStop();                 //给下位机发送停止测试的指令
         Form1.testStartFlag        = false;            //开始测试标志置零
         UsbIO.form1.textBox14.Text = "测试未开始";          //显示测试状态
         textBox14.BackColor        = Color.WhiteSmoke; //控件背景颜色改变
     }
     else
     {
     }
 }
Example #7
0
 //开始测试按钮
 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("设备未连接,请先连接设备"); //弹出提示对话框
     }
 }