Beispiel #1
0
        //---------------------------------------------------------------------------
        private void DataGrid_MotorStatus_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!m_bConnect || m_nAxis < 0)
            {
                return;
            }

            m_nAxis = DataGrid_MotorStatus.SelectedIndex;

            //
            if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)m_nAxis))
            {
                return;
            }

            m_dCmd  = Math.Round(mc_Acs.fn_GetTargetPosition(m_nAxis), 3);
            m_dEnc  = Math.Round(mc_Acs.fn_GetEncoderPosition(m_nAxis), 3);
            m_dJerk = Math.Round(mc_Acs.fn_GetParameterJerk(m_nAxis), 3);
            m_dVel  = Math.Round(mc_Acs.fn_GetParameterVelocity(m_nAxis), 3);
            m_dAcc  = Math.Round(mc_Acs.fn_GetParameterAcceleration(m_nAxis), 3);
            m_dDec  = Math.Round(mc_Acs.fn_GetParameterAcceleration(m_nAxis), 3);

            TextBox_Cmd.Text  = Convert.ToString(m_dCmd);
            TextBox_Enc.Text  = Convert.ToString(m_dEnc);
            TextBox_Jerk.Text = Convert.ToString(m_dJerk);
            TextBox_Vel.Text  = Convert.ToString(m_dVel);
            TextBox_Acc.Text  = Convert.ToString(m_dAcc);
            TextBox_Dec.Text  = Convert.ToString(m_dDec);
        }
Beispiel #2
0
        //---------------------------------------------------------------------------
        private void btMoveN01_Click(object sender, RoutedEventArgs e)
        {
            //
            if (m_nSelMotr < 0)
            {
                return;
            }
            if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)m_nSelMotr))
            {
                return;                                              //JUNG/200608
            }
            Button selbtn = sender as Button;

            switch (selbtn.Name)
            {
            default:
                break;

            case "btMoveN01": IO.fn_MovePTP_R(m_nSelMotr, -0.1); break;

            case "btMoveN10": IO.fn_MovePTP_R(m_nSelMotr, -1.0); break;

            case "btMoveP01": IO.fn_MovePTP_R(m_nSelMotr, +0.1); break;

            case "btMoveP10": IO.fn_MovePTP_R(m_nSelMotr, +1.0); break;
            }
        }
Beispiel #3
0
        //---------------------------------------------------------------------------
        private void UserButton_Click_1(object sender, RoutedEventArgs e)
        {
            if (!m_bConnect || m_nAxis < 0)
            {
                return;
            }

            if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)m_nAxis))
            {
                MOTR.SetServo((EN_MOTR_ID)m_nAxis, false);
            }
            else
            {
                mc_Acs.fn_SetDisabled(m_nAxis);
            }
        }
Beispiel #4
0
        private void UserButton_Click_4(object sender, RoutedEventArgs e)
        {
            if (!m_bConnect || m_nAxis < 0)
            {
                return;
            }

            for (int i = 0; i < motStatusdataTable.Rows.Count; i++)
            {
                if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)m_nAxis))
                {
                    continue;
                }

                mc_Acs.fn_SetEnabled(i);
            }

            MOTR.fn_SetEnableSMC();
        }
Beispiel #5
0
        //-------------------------------------------------------------------------------------------------
        private void fn_UpdateMotorParameter()
        {
            for (int i = 0; i < motParameterdataTable.Rows.Count; i++)
            {
                //
                if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)i))
                {
                    continue;
                }

                motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.VEL]  = Math.Round(mc_Acs.fn_GetParameterVelocity(i), 3);
                motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.JERK] = Math.Round(mc_Acs.fn_GetParameterJerk(i), 3);
                motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.ACC]  = Math.Round(mc_Acs.fn_GetParameterAcceleration(i), 3);
                motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.DEC]  = Math.Round(mc_Acs.fn_GetParameterDeceleration(i), 3);
                motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.KDEC] = Math.Round(mc_Acs.fn_GetParameterKillDeceleration(i), 3);

                if (mc_Acs.fn_GetStateSoftwareRightLimit(i))
                {
                    motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.SWPOT] = "ON";
                    motParameterdataTable.Rows[i]["POTBACK"] = "Red";
                }
                else
                {
                    motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.SWPOT] = "OFF";
                    motParameterdataTable.Rows[i]["POTBACK"] = "LightGray";
                }

                if (mc_Acs.fn_GetStateSoftwareLeftLimit(i))
                {
                    motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.SWNOT] = "ON";
                    motParameterdataTable.Rows[i]["NOTBACK"] = "Red";
                }
                else
                {
                    motParameterdataTable.Rows[i][(int)EN_MOTOR_PARAMETER.SWNOT] = "OFF";
                    motParameterdataTable.Rows[i]["NOTBACK"] = "LightGray";
                }
            }
        }
Beispiel #6
0
        //---------------------------------------------------------------------------
        private void fn_tmUpdate(object sender, EventArgs e)
        {
            //
            m_UpdateTimer.Stop();

            if (m_bDrngDown)
            {
                DownBtn.PerformClick();
            }

            m_nSelMotr = cbMotr.SelectedIndex;
            if (m_nSelMotr >= 0)
            {
                lbCmdPos.Content = MOTR.GetCmdPos((EN_MOTR_ID)m_nSelMotr);
                lbEncPos.Content = MOTR.GetEncPos((EN_MOTR_ID)m_nSelMotr);
            }

            if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)m_nSelMotr)) //JUNG/200608
            {
                btMoveN01.IsEnabled = false;
                btMoveN10.IsEnabled = false;
                btMoveP01.IsEnabled = false;
                btMoveP10.IsEnabled = false;
            }
            else
            {
                btMoveN01.IsEnabled = true;
                btMoveN10.IsEnabled = true;
                btMoveP01.IsEnabled = true;
                btMoveP10.IsEnabled = true;
            }



            m_UpdateTimer.Start();
        }
Beispiel #7
0
        //-------------------------------------------------------------------------------------------------
        private void fn_UpdateMotorStatus()
        {
            for (int j = 0; j < motStatusdataTable.Rows.Count; j++)
            {
                //
                if (MOTR.fn_IsSMCMotor((EN_MOTR_ID)j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ENABLED] = MOTR[j].GetServo() ? "ON" : "OFF";
                    motStatusdataTable.Rows[j]["SBACK"] = MOTR[j].GetServo() ? "Green" : "LightGray";

                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.HOME] = MOTR[j].GetHomeEnd() ? "ON" : "OFF";
                    motStatusdataTable.Rows[j]["HBACK"] = MOTR[j].GetHomeEnd() ? "Green" : "LightGray";

                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ALARM] = MOTR[j].GetAlarm() ? "ON" : "OFF";
                    motStatusdataTable.Rows[j]["ABACK"] = MOTR[j].GetAlarm() ? "Red" : "LightGray";

                    continue;
                }

                if (mc_Acs.fn_GetStateEnabled(j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ENABLED] = "ON";
                    motStatusdataTable.Rows[j]["SBACK"] = "Green";
                }
                else
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ENABLED] = "OFF";
                    motStatusdataTable.Rows[j]["SBACK"] = "LightGray";
                }

                if (mc_Acs.fn_GetStateAlarmAll(j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ALARM] = "ON";
                    motStatusdataTable.Rows[j]["ABACK"] = "Red";
                }
                else
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ALARM] = "OFF";
                    motStatusdataTable.Rows[j]["ABACK"] = "LightGray";
                }

                if (mc_Acs.fn_GetStateMove(j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.MOVING] = "ON";
                    motStatusdataTable.Rows[j]["MBACK"] = "Green";
                }
                else
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.MOVING] = "OFF";
                    motStatusdataTable.Rows[j]["MBACK"] = "LightGray";
                }

                //
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.HOME] = MOTR[j].GetHomeEnd() ? "ON" : "OFF";
                motStatusdataTable.Rows[j]["HBACK"] = MOTR[j].GetHomeEnd()? "Green" : "LightGray";

                if (mc_Acs.fn_GetStateHardwareLeftLimit(j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.LIMIT_LEFT] = "ON";
                    motStatusdataTable.Rows[j]["PBACK"] = "Red";
                }
                else
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.LIMIT_LEFT] = "OFF";
                    motStatusdataTable.Rows[j]["PBACK"] = "LightGray";
                }

                if (mc_Acs.fn_GetStateHardwareRightLimit(j))
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.LIMIT_RIGHT] = "ON";
                    motStatusdataTable.Rows[j]["NBACK"] = "Red";
                }
                else
                {
                    motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.LIMIT_RIGHT] = "OFF";
                    motStatusdataTable.Rows[j]["NBACK"] = "LightGray";
                }

                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.POSITION_R] = Math.Round(mc_Acs.fn_GetTargetPosition(j), 3);
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.POSITION_F] = Math.Round(mc_Acs.fn_GetEncoderPosition(j), 3);
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.JERK]       = Math.Round(mc_Acs.fn_GetParameterJerk(j), 3);
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.VELOCITY_F] = Math.Round(mc_Acs.fn_GetParameterVelocity(j), 3);
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.ACC]        = Math.Round(mc_Acs.fn_GetParameterAcceleration(j), 3);
                motStatusdataTable.Rows[j][(int)EN_MOTOR_STATUS.DEC]        = Math.Round(mc_Acs.fn_GetParameterAcceleration(j), 3);
            }
        }