Пример #1
0
        public void Axis_Configration_Set(IServoMotors Axis_On, int nAxis)
        {
            //RM 에서 설정된 부분을 사용한다.
            this.Axis_Status_Signal_Set(Axis_On);

            //설정 단위가 1mm가 되도록 Unit을 설정한다.(10:10000 = 1pulse에 1mm)
            duRetCode = CAXM.AxmMotSetMoveUnitPerPulse(Axis_On.AXIS_CONF_NO, 10, 10000);
        }
Пример #2
0
                 X040, X041, X042, X043, X044, X045, X046, X047, X048, X049, X04A, X04B, X04C;   //, X04D, X04E, X04F;

        private void RearNamingCrrierFeeding()
        {
            this.rCarrierFeedingServoMotors = rearCarrierFeeding.ServoMoters;
            this.rCarrierFeedingSensors     = rearCarrierFeeding.Sensors;
            this.rCarrierFeedingCylinders   = rearCarrierFeeding.Cylinders;

            //Carrier_X_Axis
            this.Axis0 = rCarrierFeedingServoMotors[0];
            //Buffer_Z_Axis
            this.Axis3 = rCarrierFeedingServoMotors[1];

            //Carrier Stopper Cylinder
            Y010 = rCarrierFeedingCylinders[0];
            //Carrier UpDown Cylinder
            Y011 = rCarrierFeedingCylinders[1];

            //Carrier 자재 유무 감지
            X010 = rCarrierFeedingSensors[0];
            //Carrier_Stopper_Cylinder Up
            X011 = rCarrierFeedingSensors[1];
            //Carrier_Stopper_Cylinder Down
            X012 = rCarrierFeedingSensors[2];
            //Carrier Arriver 감지
            X013 = rCarrierFeedingSensors[3];
            //Carrier 대기 자재 공급 감지
            X014 = rCarrierFeedingSensors[4];
            //Miss Orientation Sensor 1
            X015 = rCarrierFeedingSensors[5];
            //Miss Orientation Sensor 2
            X016 = rCarrierFeedingSensors[6];
            //Miss Orientation Sensor 3
            X017 = rCarrierFeedingSensors[7];
            //Miss Orientation Sensor 4
            X018 = rCarrierFeedingSensors[8];
            //Miss Orientation Sensor 5
            X019 = rCarrierFeedingSensors[9];
            //Miss Orientation Sensor 6
            X01A = rCarrierFeedingSensors[10];
            //Miss Orientation Sensor 7
            X01B = rCarrierFeedingSensors[11];
            //Miss Orientation Sensor 8
            X01C = rCarrierFeedingSensors[12];
            //Output Insert 작동 감지
            X01D = rCarrierFeedingSensors[13];
            //Output Pusher 작동 감지
            X01E = rCarrierFeedingSensors[14];
            //매거진 유무 감지
            X01F = rCarrierFeedingSensors[15];
            //Carrier UpDown Cylinder Up Sensor
            X020 = rCarrierFeedingSensors[16];
            //Carrier UpDown Cylinder Down Sensor
            X021 = rCarrierFeedingSensors[17];
        }
Пример #3
0
        public void Axis_Parameter_Set(IServoMotors Axis_On, int nAxis)
        {
            nAxis = nAxis + 1;
            string nodePath = "Software\\Nexstar Technology\\NIAMMan\\NIAM_CONFIG_AXIS\\AXIS" + nAxis.ToString("00");

            Axis_On.AXIS_MEAS_MOVE_VELOCITY = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[0]));
            Axis_On.AXIS_MEAS_MOVE_ACCEL    = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[1]));
            Axis_On.AXIS_MEAS_JOG_VELOCITY  = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[2]));
            Axis_On.AXIS_MEAS_JOG_ACCEL     = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[3]));
            Axis_On.AXIS_MEAS_HOME_VELOCITY = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[4]));
            Axis_On.AXIS_MEAS_HOME_ACCEL    = double.Parse(Regstry_Read_Config_Axis(nodePath, m_Registry_Initialize_Name[5]));

            Axis_On.AXIS_CONF_NO = int.Parse(this.uDSConfigMotion.Rows[0].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_PULSE_OUT_METHOD     = uint.Parse(this.uDSConfigMotion.Rows[1].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ENC_INPUT_METHOD     = uint.Parse(this.uDSConfigMotion.Rows[2].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INPOSITION           = uint.Parse(this.uDSConfigMotion.Rows[3].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ALARM                = uint.Parse(this.uDSConfigMotion.Rows[4].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_NEG_END_LIMIT        = uint.Parse(this.uDSConfigMotion.Rows[5].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_POS_END_LIMIT        = uint.Parse(this.uDSConfigMotion.Rows[6].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_MIN_VELOCITY         = double.Parse(this.uDSConfigMotion.Rows[7].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_MAX_VELOCITY         = double.Parse(this.uDSConfigMotion.Rows[8].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_SIGNAL          = uint.Parse(this.uDSConfigMotion.Rows[9].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_LEVEL           = uint.Parse(this.uDSConfigMotion.Rows[10].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_DIR             = int.Parse(this.uDSConfigMotion.Rows[11].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ZPHASE_LEVEL         = uint.Parse(this.uDSConfigMotion.Rows[12].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ZPHASE_USE           = uint.Parse(this.uDSConfigMotion.Rows[13].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_STOP_SIGNAL_MODE     = uint.Parse(this.uDSConfigMotion.Rows[14].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_STOP_SIGNAL_LEVEL    = uint.Parse(this.uDSConfigMotion.Rows[15].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_FIRST_VELOCITY  = double.Parse(this.uDSConfigMotion.Rows[16].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_SECOND_VELOCITY = double.Parse(this.uDSConfigMotion.Rows[17].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_THIRD_VELOCITY  = double.Parse(this.uDSConfigMotion.Rows[18].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_LAST_VELOCITY   = double.Parse(this.uDSConfigMotion.Rows[19].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_FIRST_ACCEL     = double.Parse(this.uDSConfigMotion.Rows[20].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_SECOND_ACCEL    = double.Parse(this.uDSConfigMotion.Rows[21].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_END_CLEAR_TIME  = double.Parse(this.uDSConfigMotion.Rows[22].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_HOME_END_OFFSET      = double.Parse(this.uDSConfigMotion.Rows[23].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_NEG_SOFT_LIMIT       = double.Parse(this.uDSConfigMotion.Rows[24].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_POS_SOFT_LIMIT       = double.Parse(this.uDSConfigMotion.Rows[25].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_MOVE_PULSE           = double.Parse(this.uDSConfigMotion.Rows[26].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_MOVE_UNIT            = double.Parse(this.uDSConfigMotion.Rows[27].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_POSITION        = double.Parse(this.uDSConfigMotion.Rows[28].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_VELOCITY        = double.Parse(this.uDSConfigMotion.Rows[29].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_ACCEL           = double.Parse(this.uDSConfigMotion.Rows[30].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_DECEL           = double.Parse(this.uDSConfigMotion.Rows[31].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_ABSRELMODE      = uint.Parse(this.uDSConfigMotion.Rows[32].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_INIT_PROFILEMODE     = uint.Parse(this.uDSConfigMotion.Rows[33].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_SVON_LEVEL           = uint.Parse(this.uDSConfigMotion.Rows[34].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ALARM_RESET_LEVEL    = uint.Parse(this.uDSConfigMotion.Rows[35].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_ENCODER_TYPE         = uint.Parse(this.uDSConfigMotion.Rows[36].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_SOFT_LIMIT_SEL       = uint.Parse(this.uDSConfigMotion.Rows[37].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_SOFT_LIMIT_STOP_MODE = uint.Parse(this.uDSConfigMotion.Rows[38].GetCellValue(nAxis).ToString());
            Axis_On.AXIS_CONF_SOFT_LIMIT_ENABLE    = uint.Parse(this.uDSConfigMotion.Rows[39].GetCellValue(nAxis).ToString());
        }
Пример #4
0
 private void Axis_Status_Signal_Set(IServoMotors Axis_On)
 {
     //상대, 절재 위치 설정
     duRetCode = CAXM.AxmMotSetAbsRelMode(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_INIT_ABSRELMODE);
     //리미트 시그널 설정
     duRetCode = CAXM.AxmSignalSetLimit(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_STOP_SIGNAL_MODE, Axis_On.AXIS_CONF_POS_END_LIMIT, Axis_On.AXIS_CONF_NEG_END_LIMIT);
     //InPosition 사용 설정
     duRetCode = CAXM.AxmSignalSetInpos(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_INPOSITION);
     //서보 알람 시그널 설정
     duRetCode = CAXM.AxmSignalSetServoAlarm(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_ALARM);
     //서보 감속 정지 사용 설정
     duRetCode = CAXM.AxmSignalSetStop(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_STOP_SIGNAL_MODE, Axis_On.AXIS_CONF_STOP_SIGNAL_LEVEL);
     //서보의 최소속도 설정
     duRetCode = CAXM.AxmMotSetMinVel(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_MIN_VELOCITY);
     //서보의 펄스 메소드 설정
     duRetCode = CAXM.AxmMotSetPulseOutMethod(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_PULSE_OUT_METHOD);
     //서보의 입력 메소드 설정
     duRetCode = CAXM.AxmMotSetEncInputMethod(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_ENC_INPUT_METHOD);
     //서보 온 설정
     duRetCode = CAXM.AxmSignalServoOn(Axis_On.AXIS_CONF_NO, Axis_On.AXIS_CONF_SVON_LEVEL);
 }
Пример #5
0
 public void GetActPos(IServoMotors InAxis)
 {
     duRetCode = CAXM.AxmStatusGetActPos(InAxis.AXIS_CONF_NO, ref this.m_CurrntLocation);
 }