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); }
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]; }
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()); }
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); }
public void GetActPos(IServoMotors InAxis) { duRetCode = CAXM.AxmStatusGetActPos(InAxis.AXIS_CONF_NO, ref this.m_CurrntLocation); }