Example #1
0
        private void SyncSerialPort()
        {
            if (serialPort1.IsOpen)
            {
                testEnv.connected = false;
                serialPort1.Close();
            }

            Rs232Utils.SetPortDescString(serialPort1, testEnv.descPort);

            try
            {
                if (TesterEnviorment.DEBUG_MODE != 1)
                {
                    serialPort1.Open();
                }

                DisplayStatusbarMessage(testEnv.descPort);

                testEnv.connected = true;
                sendCnt           = 0;

                AdjustBtnText();
            }
            catch (Exception ex)
            {
                testEnv.connected = false;

                MessageBox.Show(ex.Message);
            }
        }
Example #2
0
        private void recvData(object sender, EventArgs e)
        {
            try
            {
                string str = "";
                str = Convert.ToString(serialPort1.ReadByte(), 16).ToUpper();
                if (str.Equals(Rs232Utils.ByteToHex(Rs232Utils.STX)))
                {
                    // Local ID MSB
                    str = Convert.ToString(serialPort1.ReadByte(), 16).ToUpper();
                    // Local ID LSB
                    str = Convert.ToString(serialPort1.ReadByte(), 16).ToUpper();
                    // Pay Load Length MSB + LSB
                    str  = Convert.ToString(serialPort1.ReadByte(), 16);
                    str += Convert.ToString(serialPort1.ReadByte(), 16);
                    str += Convert.ToString(serialPort1.ReadByte(), 16);
                    str  = Rs232Utils.ConvertHexToString(str);
                    int payloadLength = Int32.Parse(str);

                    for (int i = 0; i < payloadLength; i++)
                    {
                        str        = Convert.ToString(serialPort1.ReadByte(), 16).ToUpper();
                        recieveSB += Rs232Utils.ConvertHexToString(str);
                    }

                    str = Convert.ToString(serialPort1.ReadByte(), 16).ToUpper();
                    if (str.Equals(Rs232Utils.ByteToHex(Rs232Utils.ETX)))
                    {
                        this.Invoke(new EventHandler(HandleReadData));
                    }
                }
            }
            catch (Exception ex)
            {
                // 누적 데이터를 없애고
                recieveSB = "";
                sendCnt   = 0;
            }
        }
Example #3
0
        private void SendPacket()
        {
            sendCnt++;

            if (TesterEnviorment.DEBUG_MODE == 1)
            {
                //수조온도  pH농도    염도  용존산소량   음극전위    양극전류
                string[] row = { DateTime.Now.ToString(dateTimeEnd.CustomFormat), "-0023", " 0076"
                                 ,                                                "-2000", "-1234"," 0040", " 0201" };

                SetCurrentData(row);
                sendCnt--;

                if (dataGridView1.Rows.Count == 1)
                {
                    TesterEnviorment.ConvertDateTime(row, testEnv.startTime);

                    SetDataToUI(row);
                    SaveTofile(dataGridView1, testEnv.fileName, true);
                }
            }

            // 시리얼데이터 버퍼 STX 1 / LocalID 2 / ETX 1
            byte[] buffer = new byte[4];
            // Start Byte
            buffer[0] = Rs232Utils.STX;
            // Local ID
            buffer[1] = System.Text.Encoding.ASCII.GetBytes(testEnv.localId.ToCharArray())[0];
            buffer[2] = System.Text.Encoding.ASCII.GetBytes(testEnv.localValue.ToCharArray())[0];
            // End Byte
            buffer[3] = Rs232Utils.ETX;

            try
            {
                if (TesterEnviorment.DEBUG_MODE != 1)
                {
                    if (serialPort1.IsOpen)
                    {
                        serialPort1.Write(buffer, 0, buffer.Length);
                    }
                }
            }
            catch (Exception e)
            {
            }

            DisplayStatusbarMessage(string.Format("Serial Status: {0} Send Data: {1}", sendCnt, Rs232Utils.ByteArrayToHexString(buffer)));
        }
Example #4
0
        public Form1()
        {
            InitializeComponent();

            testEnv.descPort = Rs232Utils.PortDescString(serialPort1);
            testEnv.InitFromFile();

            if (Rs232Utils.IsValidPortDescString(testEnv.descPort))
            {
                SyncSerialPort();
            }

            DisplayStatusbarMessage(testEnv.descPort);

            dateTimeEnd.Format       = DateTimePickerFormat.Custom;
            dateTimeEnd.CustomFormat = TesterEnviorment.DATETIME_FORMAT;

            if (testEnv.EnableRunTest() == 0)
            {
                textBoxDelay.Text     = testEnv.delay.ToString();
                textBoxTarget.Text    = testEnv.target;
                dateTimeEnd.Value     = testEnv.endTime;
                textBoxStartTime.Text = testEnv.startTime.ToString(TesterEnviorment.DATETIME_FORMAT);
            }
            else
            {
                textBoxDelay.Text  = "1";
                textBoxTarget.Text = "";
            }

            this.Text = String.Format("{0} [Build : {1}]", testEnv.appname, getBuildDateTime2().ToString());

            AdjustBtnText();
            timerSendPacket.Interval = 1000;
            timerSendPacket.Tick    += new EventHandler(OnTimeSendPacket);
            timerSaveToFile.Tick    += new EventHandler(OnTimeSaveToFile);

            radioButtonTemperature.Checked = true;
            //serialPort1.ReceivedBytesThreshold = 1;

            object[] AllGraph = { chartTemperature, chartSalt, chartOxgen, chartAmp, chartVolt, chartPH };
            foreach (System.Windows.Forms.DataVisualization.Charting.Chart chart in AllGraph)
            {
                chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
                chart.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
                chart.ChartAreas[0].CursorY.IsUserEnabled          = true;
                chart.ChartAreas[0].CursorY.IsUserEnabled          = true;
                chart.ChartAreas[0].AxisX.ScaleView.Zoomable       = true;
                chart.ChartAreas[0].AxisY.ScaleView.Zoomable       = true;
                chart.ChartAreas[0].CursorX.AutoScroll             = true;
                chart.ChartAreas[0].CursorY.AutoScroll             = true;
                chart.Series[0].IsValueShownAsLabel = false;
                chart.Legends[0].Enabled            = true;
            }

            for (int i = 0; i < 7; i++)
            {
                dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
                dataGridView1.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            }
        }