public static void TriggerScan(double m_start_scan_x,
                                       double m_end_scan_x,
                                       short m_scan_speed,
                                       double m_step_length,
                                       double m_scan_angle,
                                       string m_file_name
                                       )
        {
            resetScanParams();

            // update params
            start_scan_x = m_start_scan_x;
            end_scan_x   = m_end_scan_x;
            scan_speed   = m_scan_speed;
            step_length  = m_step_length;
            plane_angle  = m_scan_angle;
            file_name    = m_file_name;

            // set move plan
            MovementController.AddMove(start_scan_x);
            MovementController.AddMove(end_scan_x, scan_speed);

            // trigger scan
            is_scan_task_trigger = true;
            is_at_start_pos_flag = false;
        }
Esempio n. 2
0
        private void ok_btn_Click(object sender, RoutedEventArgs e)
        {
            if (tb_x_pos.Text == "" || tb_speed.Text == "")
            {
                MessageBox.Show("Please check the input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (!PlcManager.GetInstance.IsConnect)
            {
                MessageBox.Show("Please check the PLC connection", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            string[] destination_arr = tb_x_pos.Text.Trim().Split(',');
            string[] speed_arr       = tb_speed.Text.Trim().Split(',');

            if (destination_arr.Length != speed_arr.Length)
            {
                MessageBox.Show("Please check the input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            for (int i = 0; i < destination_arr.Length; i++)
            {
                if (double.Parse(destination_arr[i].Trim()) < ConfigParameters.MIN_X_RANGE || double.Parse(destination_arr[i].Trim()) > ConfigParameters.MAX_X_RANGE)
                {
                    MessageBox.Show("Destination is out of range", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                Logger.Log("Add to itinerary: Destination: " + destination_arr[i].Trim() + " Speed: " + speed_arr[i].Trim());

                MovementController.AddMove(double.Parse(destination_arr[i].Trim()), (short)double.Parse(speed_arr[i].Trim()));
            }

            this.Close();
        }