private void RearNamingReverse() { this.rReverseServoMoters = this.rearReverse.ServoMoters; this.rReverseSensors = this.rearReverse.Sensors; this.rReverseStepMotors = this.rearReverse.StepMoters; this.rReverseFlashLights = this.rearReverse.FlashLights; this.rReverseCylinders = this.rearReverse.Cylinders; //Reverse X-Axis HF-K23(+Limit, Home, -Limit) Axis6 = rReverseServoMoters[0]; //Reverse Y-Axis HF-K13(+Limit, Home, -Limit) Axis7 = rReverseServoMoters[1]; //Reverse Z-Axis HF-K23B(+Limit, Home, -Limit) Axis8 = rReverseServoMoters[2]; //얼라인 구동용 모터 : 페스트텍 제품 //Reverse R Axis CFK513AP2 rReverseStepMotor = rReverseStepMotors[0]; //Aline 작업용 카메라 반전검사 광학계 //STC-CLC500A, 4096/2048, 3.45um, 8bit bayer //SOLIOS 보드:0, 디지타이저:1 rReverseCamera = rReverseCameras[0]; //카메라 촬영시에 사용되는 플레쉬 조명 //JFLLS-100, 포트:2번 ReverseFlashLight = rReverseFlashLights[0]; //Pick Up : Left Sol Vacuum Y020 = rReverseCylinders[0]; //Pick Up : Left Sol Blower Y021 = rReverseCylinders[1]; //Pick Up : Right Sol Vacuum Y022 = rReverseCylinders[2]; //Pick Up : Right Sol Blower Y023 = rReverseCylinders[3]; //Cylinder : Left Z Axis Sol Y024 = rReverseCylinders[4]; //Cylinder : Right Z Axis Sol Y025 = rReverseCylinders[5]; //Sensor : 진공확인 : Pick Up : Left Sol //Vacuum을 활성화 시킨 후 이 센싱이 된후에 다음도작을 진행한다. X04B = rReverseSensors[0]; //Sensor : 진공확인 : Pick Up : Right Sol X04C = rReverseSensors[1]; //Sensor : Up Cylinder : Left Z Axis Sol X047 = rReverseSensors[2]; //Sensor : Down Cylinder : Left Z Axis Sol X048 = rReverseSensors[3]; //Sensor : Up Cylinder : Right Z Axis Sol X049 = rReverseSensors[4]; //Sensor : Down Cylinder : Right Z Axis Sol X04A = rReverseSensors[5]; //Sensor : Reverse R-Axis Home Sensor SensorReverseHome = rReverseSensors[6]; }
public void Step_Configration_Set(IStepMotors InStep, int nStep) { //RM 에서 설정된 부분을 사용한다. //this.Step_Status_Signal_Set(InStep); //설정 단위가 1mm가 되도록 Unit을 설정한다.(10:10000 = 1pulse에 1mm) //duRetCode = CAXM.AxmMotSetMoveUnitPerPulse(Axis_On.AXIS_CONF_NO, 10, 10000); bool ezRetCode = EziMotionPlusR.FAS_ServoEnable((byte)1, (byte)0, true); }
public void Step_Parameter_Set(IStepMotors InStep, int StepNo) { int nStep = 3; string nodePath = "Software\\Nexstar Technology\\NIAMMan\\NIAM_CONFIG_STEP\\STEP" + StepNo.ToString("00"); InStep.MOVE_VELOCITY = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[0])); InStep.MOVE_ACCEL = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[1])); InStep.JOG_VELOCITY = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[2])); InStep.JOG_ACCEL = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[3])); InStep.HOME_VELOCITY = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[4])); InStep.HOME_ACCEL = double.Parse(Regstry_Read_Config_Step(nodePath, m_Registry_Initialize_Name[5])); InStep.PULSE_PER_REVOLUTION[2] = uint.Parse(this.uDSConfigStepMotor.Rows[0].GetCellValue(nStep).ToString()); InStep.AXIS_MAX_SPEED[2] = double.Parse(this.uDSConfigStepMotor.Rows[1].GetCellValue(nStep).ToString()); InStep.AXIS_START_SPEED[2] = double.Parse(this.uDSConfigStepMotor.Rows[2].GetCellValue(nStep).ToString()); InStep.AXIS_ACC_TIME[2] = double.Parse(this.uDSConfigStepMotor.Rows[3].GetCellValue(nStep).ToString()); InStep.AXIS_DEC_TIME[2] = double.Parse(this.uDSConfigStepMotor.Rows[4].GetCellValue(nStep).ToString()); InStep.SPEED_OVERRIDE[2] = double.Parse(this.uDSConfigStepMotor.Rows[5].GetCellValue(nStep).ToString()); InStep.JOG_SPEED[2] = double.Parse(this.uDSConfigStepMotor.Rows[6].GetCellValue(nStep).ToString()); InStep.JOG_START_SPEED[2] = double.Parse(this.uDSConfigStepMotor.Rows[7].GetCellValue(nStep).ToString()); InStep.JOG_ACC_DEC_TIME[2] = double.Parse(this.uDSConfigStepMotor.Rows[8].GetCellValue(nStep).ToString()); InStep.ALARM_LOGIC[2] = uint.Parse(this.uDSConfigStepMotor.Rows[9].GetCellValue(nStep).ToString()); InStep.RUNSTOP_LOGIC[2] = uint.Parse(this.uDSConfigStepMotor.Rows[10].GetCellValue(nStep).ToString()); InStep.ALARM_RESET_LOGIC[2] = uint.Parse(this.uDSConfigStepMotor.Rows[11].GetCellValue(nStep).ToString()); InStep.SW_LIMIT_PLUS_VALUE[2] = double.Parse(this.uDSConfigStepMotor.Rows[12].GetCellValue(nStep).ToString()); InStep.SW_LIMIT_MINUS_VALUE[2] = double.Parse(this.uDSConfigStepMotor.Rows[13].GetCellValue(nStep).ToString()); InStep.SW_LIMIT_STOP_METHOD[2] = uint.Parse(this.uDSConfigStepMotor.Rows[14].GetCellValue(nStep).ToString()); InStep.HW_LIMIT_STOP_METHOD[2] = uint.Parse(this.uDSConfigStepMotor.Rows[15].GetCellValue(nStep).ToString()); InStep.LIMIT_SENSOR_LOGIC[2] = uint.Parse(this.uDSConfigStepMotor.Rows[16].GetCellValue(nStep).ToString()); InStep.ORIGIN_SPEED[2] = int.Parse(this.uDSConfigStepMotor.Rows[17].GetCellValue(nStep).ToString()); InStep.ORIGIN_SEARCH_SPEED[2] = int.Parse(this.uDSConfigStepMotor.Rows[18].GetCellValue(nStep).ToString()); InStep.ORIGIN_ACC_DEC_TIME[2] = double.Parse(this.uDSConfigStepMotor.Rows[19].GetCellValue(nStep).ToString()); InStep.ORIGIN_METHOD[2] = uint.Parse(this.uDSConfigStepMotor.Rows[20].GetCellValue(nStep).ToString()); InStep.ORIGIN_DIRECT[2] = uint.Parse(this.uDSConfigStepMotor.Rows[21].GetCellValue(nStep).ToString()); InStep.ORIGIN_OFFSET[2] = double.Parse(this.uDSConfigStepMotor.Rows[22].GetCellValue(nStep).ToString()); InStep.ORIGIN_POSITION_SET[2] = double.Parse(this.uDSConfigStepMotor.Rows[23].GetCellValue(nStep).ToString()); InStep.ORIGIN_SENSOR_LOGIC[2] = uint.Parse(this.uDSConfigStepMotor.Rows[24].GetCellValue(nStep).ToString()); InStep.STOP_CURRENT[2] = uint.Parse(this.uDSConfigStepMotor.Rows[25].GetCellValue(nStep).ToString()); InStep.MOTION_DIRECT[2] = uint.Parse(this.uDSConfigStepMotor.Rows[26].GetCellValue(nStep).ToString()); InStep.LIMIT_SENSOR_DIRECT[2] = uint.Parse(this.uDSConfigStepMotor.Rows[27].GetCellValue(nStep).ToString()); InStep.ENCODER_MULTIPLY_VALUE[2] = uint.Parse(this.uDSConfigStepMotor.Rows[28].GetCellValue(nStep).ToString()); InStep.ENCODER_DIRECT[2] = uint.Parse(this.uDSConfigStepMotor.Rows[29].GetCellValue(nStep).ToString()); }
private void Step_Status_Signal_Set(IStepMotors 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); }