From fdf784519d6c032aa05eab9b4a37d403239d9a59 Mon Sep 17 00:00:00 2001 From: Mirko Matosin Date: Tue, 4 Apr 2023 10:17:01 +0200 Subject: [PATCH 1/3] Created new RSI Ethernet Config depending on RSI 4.1.x and KSS 8.6 (windows 10 Mainboard d D3445-K (MCC-40S)) --- .../krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix | 2432 +++++++++++++++++ .../krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src | 52 + .../KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml | 35 + 3 files changed, 2519 insertions(+) create mode 100644 kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix create mode 100644 kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src create mode 100644 kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix new file mode 100644 index 000000000..25e33b954 --- /dev/null +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix @@ -0,0 +1,2432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tooltip_COMMENT + + + + + + Tooltip_FunctionBlockInput + + + + + + Tooltip_FunctionBlockInOrder + + + + + Tooltip_FunctionBlockOutput + + + + + + Tooltip_FunctionBlockOutOrder + + + + + + + Tooltip_ANIN + + + Tooltip_ANIN_Out1 + + + + + Tooltip_ANIN_Index + + + + + Tooltip_DIGIN + + + + + + + Remarks_DIGIN_Index + Tooltip_DIGIN_Index + + + + Tooltip_DIGIN_DataType + + Bit + Byte + UByte + Int16 + UInt16 + Int32 + UInt32 + Float + + + + + + Tooltip_ANOUT + + + Tooltip_ANOUT_Out1 + + + + + Tooltip_ANOUT_Index + + + + + Tooltip_DIGOUT + + + + + + + Remarks_DIGOUT_Index + Tooltip_DIGOUT_Index + + + + Tooltip_DIGOUT_DataType + + Bit + Byte + UByte + Int16 + UInt16 + Int32 + UInt32 + Float + + + + + + + Tooltip_ETHERNET + Summary_ETHERNET + + + + + + + + + + Tooltip_ETHERNET_ConfigFile + + + Tooltip_ETHERNET_Timeout + + + Tooltip_ETHERNET_Flag + + + + Remarks_ETHERNET_Precision + Tooltip_ETHERNET_Precision + + + + + + Tooltip_INPUT + + + Tooltip_INPUT_Port + + + + + Tooltip_INPUT_Index + + + Tooltip_INPUT_DataType + + Bit + Byte + UByte + Int16 + UInt16 + Int32 + UInt32 + Float + + + + + + Tooltip_MAP2ANOUT + + + Tooltip_MAP2ANOUT_In1 + + + + + Tooltip_MAP2ANOUT_Index + + + + + Tooltip_MAP2DIGOUT + + + + + + + Remarks_MAP2DIGOUT_Index + Tooltip_MAP2DIGOUT_Index + + + + Tooltip_MAP2DIGOUT_DataType + + Bit + Byte + Int16 + + + + + + Tooltip_MAP2SEN_PINT + + + Tooltip_MAP2SEN_PINT_In1 + + + + + + Remark_SenPint_SenPrea_Index + Tooltip_MAP2SEN_PINT_Index + + + + + + Tooltip_MAP2SEN_PREA + + + Tooltip_MAP2SEN_PREA_In1 + + + + + + Remark_SenPint_SenPrea_Index + Tooltip_MAP2SEN_PREA_Index + + + + + + Tooltip_MONITOR + + + + + + + Tooltip_MONITOR_Refresh + + + Tooltip_MONITOR_Timeout + + + Tooltip_MONITOR_ReqTimeZero + + + Tooltip_MONITOR_IP + + + + Remarks_MONITOR_Channel + Tooltip_MONITOR_Channel + + + + + + Tooltip_OUTPUT + + + Tooltip_OUTPUT_Port + + + + + Tooltip_OUTPUT_Index + + + Tooltip_OUTPUT_DataType + + Bit + Byte + UByte + Int16 + UInt16 + Int32 + UInt32 + Float + + + + + + Tooltip_RESETDIGOUT + + + + + + Tooltip_RESETDIGOUT_Index + + + + + Tooltip_SEN_PINT + + + Tooltip_SEN_PINT_Out1 + + + + + + Remark_SenPint_SenPrea_Index + Tooltip_SEN_PINT_Index + + + + + + Tooltip_SEN_PREA + + + Tooltip_SEN_PREA_Out1 + + + + + + Remark_SenPint_SenPrea_Index + Tooltip_SEN_PREA_Index + + + + + + Tooltip_SETDIGOUT + + + + + + Tooltip_SETDIGOUT_Index + + + + + + + + Tooltip_AND + Summary_AND + + + + + + + + + Tooltip_AND_Out1 + + + + + Tooltip_BAND + + + + + + + + + + Tooltip_BAND_DefVal + + + + + Tooltip_BCOMPL + + + + + + + + + Tooltip_BOR + + + + + + + + + + Tooltip_BOR_DefVal + + + + + Tooltip_NOT + + + + + + + + + Tooltip_OR + + + + + + + + + + + Tooltip_SIGNALSWITCH + + + Tooltip_SIGNALSWITCH_Ctrl + + + + + + + + + + + + Remarks_XOR + Tooltip_XOR + + + + + + + + + + + + + Remarks_RS + Tooltip_RS + + + + Tooltip_RS_Set + + + Tooltip_RS_Reset + + + + + + Remarks_RS_Out1 + Tooltip_RS_Out1 + rs_remarks.png + + + + + + + Remarks_SR + Tooltip_SR + + + + Tooltip_SR_Set + + + Tooltip_SR_Reset + + + + + + Remarks_SR_Out1 + Tooltip_SR_Out1 + sr_remarks.png + + + + + + + + Tooltip_ABS + + + Tooltip_ABS_In1 + + + + + Tooltip_ABS_Out1 + + + + + Tooltip_ACOS + + + Tooltip_ACOS_In1 + + + + + Tooltip_ACOS_Out1 + + + + + Tooltip_ASIN + + + Tooltip_ASIN_In1 + + + + + Tooltip_ASIN_Out1 + + + + + Tooltip_ATAN + + + + + + Tooltip_ATAN_Out1 + + + + + Tooltip_ATAN2 + + + + + + + Tooltip_ATAN2_Out1 + + + + + Tooltip_CEIL + + + + + + + + + Tooltip_COS + + + Tooltip_COS_In1 + + + + + Tooltip_COS_Out1 + + + + + Tooltip_EQUAL + + + + + + + + + + Tooltip_EQUAL_CompVal + + + Tooltip_EQUAL_Tolerance + + + + + Tooltip_EXP + + + Tooltip_EXP_In1 + + + + + Tooltip_EXP_Out1 + + + + + Tooltip_FLOOR + + + + + + + + + Tooltip_GREATER + + + + + + + Tooltip_GREATER_Out1 + + + + + Tooltip_GREATER_CompVal + + + + Remarks_GREATER_Hysteresis + Tooltip_GREATER_Hysteresis + + + + + + Tooltip_LESS + + + + + + + + + + Tooltip_LESS_CompVal + + + + Remarks_LESS_Hysteresis + Tooltip_LESS_Hysteresis + + + + + + Tooltip_LIMIT + + + + + + + + + Tooltip_LIMIT_LowerLimit + + + Tooltip_LIMIT_UpperLimit + + + + + Tooltip_LOG + + + + + + Tooltip_LOG_Out1 + + + + + Tooltip_MINMAX + + + + + + + + Tooltip_MINMAX_Min + + + Tooltip_MINMAX_Max + + + + + Tooltip_MULTI + + + + + + + Tooltip_MULTI_Out1 + + + + + Tooltip_NORM + + + + + + + + + Remarks_NORM_Out1 + Tooltip_NORM_Out1 + + + + + + Tooltip_POW + + + Tooltip_POW_In1 + + + + + Tooltip_POW_Out1 + + + + + Tooltip_POW_Exp + + + + + Tooltip_ROUND + + + + + + Tooltip_ROUND_Out1 + + + + + Tooltip_ROUND_nDig + + + + + Tooltip_SIN + + + Tooltip_SIN_In1 + + + + + Tooltip_SIN_Out1 + + + + + Tooltip_SUB + + + Tooltip_SUB_Minu + + + Tooltip_SUB_Sub1 + + + + + Tooltip_SUB_Diff + + + + + Tooltip_SUB_Value + + + + + Tooltip_SUM + + + + + + + Tooltip_SUM_Sum + + + + + Tooltip_SUM_Value + + + + + Tooltip_TAN + + + Tooltip_TAN_In1 + + + + + Tooltip_TAN_Out1 + + + + + + Remarks_TRAFO_ROBFRAME + Tooltip_TRAFO_ROBFRAME + + + + Tooltip_TRAFO_ROBFRAME_In1 + + + Tooltip_TRAFO_ROBFRAME_In2 + + + Tooltip_TRAFO_ROBFRAME_In3 + + + + + Tooltip_TRAFO_ROBFRAME_Out1 + + + Tooltip_TRAFO_ROBFRAME_Out2 + + + Tooltip_TRAFO_ROBFRAME_Out3 + + + + + Tooltip_TRAFO_ROBFRAME_Type + + RotTrans + OnlyRot + EulerAngles + + + + Tooltip_TRAFO_ROBFRAME_Source + + World + Base + RobRoot + Tool + TTS + + + + Tooltip_TRAFO_ROBFRAME_Target + + World + Base + RobRoot + Tool + TTS + + + + + + Tooltip_TRAFO_USERFRAME + + + + + + + + + + + + + Tooltip_TRAFO_USERFRAME_Type + + RotTrans + OnlyRot + EulerAngles + + + + Tooltip_TRAFO_USERFRAME_FraX + + + Tooltip_TRAFO_USERFRAME_FraY + + + Tooltip_TRAFO_USERFRAME_FraZ + + + Tooltip_TRAFO_USERFRAME_FraA + + + Tooltip_TRAFO_USERFRAME_FraB + + + Tooltip_TRAFO_USERFRAME_FraC + + + + + + + + Remarks_AXISCORR + Tooltip_AXISCORR + + + + Tooltip_AXISCORR_CorrA1 + + + Tooltip_AXISCORR_CorrA2 + + + Tooltip_AXISCORR_CorrA3 + + + Tooltip_AXISCORR_CorrA4 + + + Tooltip_AXISCORR_CorrA5 + + + Tooltip_AXISCORR_CorrA6 + + + + + + Remarks_AXISCORR_Stat + Tooltip_AXISCORR_Stat + + + + Tooltip_AXISCORR_A1 + + + Tooltip_AXISCORR_A2 + + + Tooltip_AXISCORR_A3 + + + Tooltip_AXISCORR_A4 + + + Tooltip_AXISCORR_A5 + + + Tooltip_AXISCORR_A6 + + + + + Tooltip_AXISCORR_LowerLimA1 + + + Tooltip_AXISCORR_LowerLimA2 + + + Tooltip_AXISCORR_LowerLimA3 + + + Tooltip_AXISCORR_LowerLimA4 + + + Tooltip_AXISCORR_LowerLimA5 + + + Tooltip_AXISCORR_LowerLimA6 + + + Tooltip_AXISCORR_UpperLimA1 + + + Tooltip_AXISCORR_UpperLimA2 + + + Tooltip_AXISCORR_UpperLimA3 + + + Tooltip_AXISCORR_UpperLimA4 + + + Tooltip_AXISCORR_UpperLimA5 + + + Tooltip_AXISCORR_UpperLimA6 + + + + + + Remarks_AXISCORREXT + Tooltip_AXISCORREXT + + + + Tooltip_AXISCORREXT_CorrE1 + + + Tooltip_AXISCORREXT_CorrE2 + + + Tooltip_AXISCORREXT_CorrE3 + + + Tooltip_AXISCORREXT_CorrE4 + + + Tooltip_AXISCORREXT_CorrE5 + + + Tooltip_AXISCORREXT_CorrE6 + + + + + + Remarks_AXISCORREXT_Stat + Tooltip_AXISCORREXT_Stat + + + + Tooltip_AXISCORREXT_E1 + + + Tooltip_AXISCORREXT_E2 + + + Tooltip_AXISCORREXT_E3 + + + Tooltip_AXISCORREXT_E4 + + + Tooltip_AXISCORREXT_E5 + + + Tooltip_AXISCORREXT_E6 + + + + + Tooltip_AXISCORREXT_LowerLimE1 + + + Tooltip_AXISCORREXT_LowerLimE2 + + + Tooltip_AXISCORREXT_LowerLimE3 + + + Tooltip_AXISCORREXT_LowerLimE4 + + + Tooltip_AXISCORREXT_LowerLimE5 + + + Tooltip_AXISCORREXT_LowerLimE6 + + + Tooltip_AXISCORREXT_UpperLimE1 + + + Tooltip_AXISCORREXT_UpperLimE2 + + + Tooltip_AXISCORREXT_UpperLimE3 + + + Tooltip_AXISCORREXT_UpperLimE4 + + + Tooltip_AXISCORREXT_UpperLimE5 + + + Tooltip_AXISCORREXT_UpperLimE6 + + + + + Tooltip_AXISCORRMON + + + Tooltip_AXISCORRMON_A1 + + + Tooltip_AXISCORRMON_A2 + + + Tooltip_AXISCORRMON_A3 + + + Tooltip_AXISCORRMON_A4 + + + Tooltip_AXISCORRMON_A5 + + + Tooltip_AXISCORRMON_A6 + + + Tooltip_AXISCORRMON_E1 + + + Tooltip_AXISCORRMON_E2 + + + Tooltip_AXISCORRMON_E3 + + + Tooltip_AXISCORRMON_E4 + + + Tooltip_AXISCORRMON_E5 + + + Tooltip_AXISCORRMON_E6 + + + + + Tooltip_AXISCORRMON_MaxA1 + + + Tooltip_AXISCORRMON_MaxA2 + + + Tooltip_AXISCORRMON_MaxA3 + + + Tooltip_AXISCORRMON_MaxA4 + + + Tooltip_AXISCORRMON_MaxA5 + + + Tooltip_AXISCORRMON_MaxA6 + + + Tooltip_AXISCORRMON_MaxE1 + + + Tooltip_AXISCORRMON_MaxE2 + + + Tooltip_AXISCORRMON_MaxE3 + + + Tooltip_AXISCORRMON_MaxE4 + + + Tooltip_AXISCORRMON_MaxE5 + + + Tooltip_AXISCORRMON_MaxE6 + + + + + Tooltip_MAP2OV_PRO + + + + Remarks_MAP2OV_PRO_In1 + Tooltip_MAP2OV_PRO_In1 + + + + + + + Remarks_POSCORR + Tooltip_POSCORR + + + + Tooltip_POSCORR_CorrX + + + Tooltip_POSCORR_CorrY + + + Tooltip_POSCORR_CorrZ + + + Tooltip_POSCORR_CorrA + + + Tooltip_POSCORR_CorrB + + + Tooltip_POSCORR_CorrC + + + + + + Remarks_POSCORR_Stat + Tooltip_POSCORR_Stat + + + + Tooltip_POSCORR_X + + + Tooltip_POSCORR_Y + + + Tooltip_POSCORR_Z + + + Tooltip_POSCORR_A + + + Tooltip_POSCORR_B + + + Tooltip_POSCORR_C + + + + + Tooltip_POSCORR_LowerLimX + + + Tooltip_POSCORR_LowerLimY + + + Tooltip_POSCORR_LowerLimZ + + + Tooltip_POSCORR_UpperLimX + + + Tooltip_POSCORR_UpperLimY + + + Tooltip_POSCORR_UpperLimZ + + + Tooltip_POSCORR_MaxRotAngle + + + Tooltip_POSCORR_LastCorrStat + + + Tooltip_POSCORR_LastCorrX + + + Tooltip_POSCORR_LastCorrY + + + Tooltip_POSCORR_LastCorrZ + + + Tooltip_POSCORR_LastCorrA + + + Tooltip_POSCORR_LastCorrB + + + Tooltip_POSCORR_LastCorrC + + + Tooltip_POSCORR_RefCorrSys + + World + Base + RobRoot + Tool + TTS + + + + + + Tooltip_POSCORRMON + + + Tooltip_POSCORRMON_X + + + Tooltip_POSCORRMON_Y + + + Tooltip_POSCORRMON_Z + + + Tooltip_POSCORRMON_A + + + Tooltip_POSCORRMON_B + + + Tooltip_POSCORRMON_C + + + + + + Remark_ParamNoChangeDuringRuntime + Tooltip_POSCORRMON_MaxTrans + + + + + Remark_ParamNoChangeDuringRuntime + Tooltip_POSCORRMON_MaxRotAngle + + + + + + + Remarks_STOP + Tooltip_STOP + + + + + + + Tooltip_STOP_Mode + + InfoMessage + PathNormal + Velocity + PathFast + ExitMoveCorr + + + + + Remarks_STOP_Channel + Tooltip_STOP_Channel + + + + + + + + Tooltip_AXISACT + + + Tooltip_AXISACT_A1 + + + Tooltip_AXISACT_A2 + + + Tooltip_AXISACT_A3 + + + Tooltip_AXISACT_A4 + + + Tooltip_AXISACT_A5 + + + Tooltip_AXISACT_A6 + + + + + + Remarks_AXISACT_Type + Tooltip_POSACT_AXISACT_Type + axisact_remarks.png + + + Measured + IPO + IPO_FLT + CF + + + + + + Tooltip_AXISACTEXT + + + Tooltip_AXISACTEXT_E1 + + + Tooltip_AXISACTEXT_E2 + + + Tooltip_AXISACTEXT_E3 + + + Tooltip_AXISACTEXT_E4 + + + Tooltip_AXISACTEXT_E5 + + + Tooltip_AXISACTEXT_E6 + + + + + + Remarks_AXISACT_Type + Tooltip_POSACT_AXISACT_Type + axisact_remarks.png + + + Measured + IPO + IPO_FLT + CF + + + + + + Tooltip_GEARTORQUE + + + Tooltip_GEARTORQUE_A1 + + + Tooltip_GEARTORQUE_A2 + + + Tooltip_GEARTORQUE_A3 + + + Tooltip_GEARTORQUE_A4 + + + Tooltip_GEARTORQUE_A5 + + + Tooltip_GEARTORQUE_A6 + + + + + Tooltip_GEARTORQUE_TorqueSource + + Measured + Setpoint + + + + Tooltip_GEARTORQUE_LocationOnJoint + + Gear + Drive + + + + + + Tooltip_GEARTORQUEEXT + + + Tooltip_GEARTORQUEEXT_E1 + + + Tooltip_GEARTORQUEEXT_E2 + + + Tooltip_GEARTORQUEEXT_E3 + + + Tooltip_GEARTORQUEEXT_E4 + + + Tooltip_GEARTORQUEEXT_E5 + + + Tooltip_GEARTORQUEEXT_E6 + + + + + Tooltip_GEARTORQUE_TorqueSource + + Measured + Setpoint + + + + Tooltip_GEARTORQUE_LocationOnJoint + + Gear + Drive + + + + + + Tooltip_MOTORCURRENT + + + Tooltip_MOTORCURRENT_A1 + + + Tooltip_MOTORCURRENT_A2 + + + Tooltip_MOTORCURRENT_A3 + + + Tooltip_MOTORCURRENT_A4 + + + Tooltip_MOTORCURRENT_A5 + + + Tooltip_MOTORCURRENT_A6 + + + + + Tooltip_MOTORCURRENTEXT + + + Tooltip_MOTORCURRENTEXT_E1 + + + Tooltip_MOTORCURRENTEXT_E2 + + + Tooltip_MOTORCURRENTEXT_E3 + + + Tooltip_MOTORCURRENTEXT_E4 + + + Tooltip_MOTORCURRENTEXT_E5 + + + Tooltip_MOTORCURRENTEXT_E6 + + + + + Tooltip_OV_PRO + + + Tooltip_OV_PRO_Out1 + + + + + Tooltip_POSACT + + + Tooltip_POSACT_X + + + Tooltip_POSACT_Y + + + Tooltip_POSACT_Z + + + Tooltip_POSACT_A + + + Tooltip_POSACT_B + + + Tooltip_POSACT_C + + + Tooltip_POSACT_S + + + Tooltip_POSACT_T + + + + + + Remarks_POSACT_Type + Tooltip_POSACT_AXISACT_Type + posact_remarks.png + + + Measured + IPO + IPO_FLT + CF + + + + + + Tooltip_STATUS + + + Tooltip_STATUS_Stat + + + + + + Remarks_STATUS_Type + Tooltip_STATUS_Type + + + IPO_State + ProState_S + ProState_R + Pro_Mode_S + Pro_Mode_R + Mode_Op + IPO_Mode + IPO_Mode_C + Sensor + + + + + + + + Tooltip_D + + + + + + + + + Tooltip_D_KD + + + + + Tooltip_DELAY + + + + + + Tooltip_DELAY_Out1 + + + + + Tooltip_DELAY_DelayTime + + + + + Tooltip_GENCTRL + + + + + + + + + Tooltip_GENCTRL_Reset + + + Tooltip_GENCTRL_B0 + + + Tooltip_GENCTRL_A1 + + + Tooltip_GENCTRL_B1 + + + Tooltip_GENCTRL_A2 + + + Tooltip_GENCTRL_B2 + + + Tooltip_GENCTRL_A3 + + + Tooltip_GENCTRL_B3 + + + Tooltip_GENCTRL_A4 + + + Tooltip_GENCTRL_B4 + + + Tooltip_GENCTRL_A5 + + + Tooltip_GENCTRL_B5 + + + Tooltip_GENCTRL_A6 + + + Tooltip_GENCTRL_B6 + + + Tooltip_GENCTRL_A7 + + + Tooltip_GENCTRL_B7 + + + Tooltip_GENCTRL_A8 + + + Tooltip_GENCTRL_B8 + + + + + Tooltip_I + + + Tooltip_I_In1 + + + + + Tooltip_I_Out1 + + + + + Tooltip_I_Reset + + + Tooltip_I_TI + + + Tooltip_I_Type + + Always + OnCorrActive + + + + Tooltip_I_LowerLimit + + + Tooltip_I_UpperLimit + + + + + Tooltip_IIRFILTER + + + Tooltip_IIRFILTER_In1 + + + + + Tooltip_IIRFILTER_Out1 + + + + + Tooltip_IIRFILTER_Reset + + + Tooltip_IIRFILTER_Type + + Lowpass + Highpass + + + + Tooltip_IIRFILTER_Name + + Bessel + Butterworth + Tschebyscheff_0_5db + Tschebyscheff_1db + Tschebyscheff_2db + Tschebyscheff_3db + + + + Tooltip_IIRFILTER_Order + + O2 + O4 + O6 + O8 + O10 + + + + Tooltip_IIRFILTER_Cuttoff + + + + + Tooltip_P + + + + + + + + + Tooltip_P_KR + + + + + Tooltip_PD + + + + + + + + + Tooltip_PD_KR + + + Tooltip_PD_TV + + + + + Tooltip_PID + + + + + + + + + Tooltip_PID_Reset + + + Tooltip_PID_KR + + + + Remarks_PID_TN + Tooltip_PID_TN + + + + Tooltip_PID_TV + + + + Remarks_PID_LimLow + Tooltip_PID_LimLow + + + + + Remarks_PID_LimUpp + Tooltip_PID_LimUpp + + + + + + Tooltip_PT1 + + + + + + + + + Tooltip_PT1_KR + + + Tooltip_PT1_T1 + + + + + Tooltip_PT2 + + + + + + + + + Tooltip_PT2_KR + + + Tooltip_PT2_T1 + + + Tooltip_PT2_T2 + + + + + + Remarks_SOURCE + Tooltip_SOURCE_2 + Tooltip_SOURCE + Source.png + + + + + + + + Remarks_SOURCE_Type + Tooltip_SOURCE_Type + + + Const + Sin + Cos + Square + Sawtooth + + + + Tooltip_SOURCE_Offset + + + + Remarks_SOURCE_Amplitude + Tooltip_SOURCE_Amplitude + + + + + Remarks_SOURCE_Period + Tooltip_SOURCE_Period + + + + + + Tooltip_TIMER + + + Tooltip_TIMER_Ctrl + + + Tooltip_TIMER_InReset + + + + + Tooltip_TIMER_Out1 + + + + + Tooltip_TIMER_Reset + + + Tooltip_TIMER_Time + + + + + Tooltip_Constant + + + + + + Tooltip_Constant_Value + + + + + + Remarks_SINE + Summary_SINE + Sine.png + + + + + Remarks_PeriodicSignalBase_Active + Summary_PeriodicSignalBase_Active + + + + + Remarks_PeriodicSignalBase_Reset + Summary_PeriodicSignalBase_Reset + + + + + Remarks_PeriodicSignalBase_InAmp + Summary_PeriodicSignalBase_Amp + + + + + Remarks_PeriodicSignalBase_InFreq + Summary_PeriodicSignalBase_Freq + + + + + + Summary_SINE_Signal + + + + + Summary_PeriodicSignalBase_Amp + + + + Remarks_PeriodicSignalBase_ParamFreq + Summary_PeriodicSignalBase_Freq + + + + + Remarks_PeriodicSignalBase_Phase + Summary_PeriodicSignalBase_Phase + + + + Summary_PeriodicSignalBase_Offset + + + + + + Remarks_COSINE + Summary_COSINE + Cosine.png + + + + + Remarks_PeriodicSignalBase_Active + Summary_PeriodicSignalBase_Active + + + + + Remarks_PeriodicSignalBase_Reset + Summary_PeriodicSignalBase_Reset + + + + + Remarks_PeriodicSignalBase_InAmp + Summary_PeriodicSignalBase_Amp + + + + + Remarks_PeriodicSignalBase_InFreq + Summary_PeriodicSignalBase_Freq + + + + + + Summary_COSINE_Signal + + + + + Summary_PeriodicSignalBase_Amp + + + + Remarks_PeriodicSignalBase_ParamFreq + Summary_PeriodicSignalBase_Freq + + + + + Remarks_PeriodicSignalBase_Phase + Summary_PeriodicSignalBase_Phase + + + + Summary_PeriodicSignalBase_Offset + + + + + + Remarks_SAWTOOTH + Summary_SAWTOOTH + Sawtooth.png + + + + + Remarks_PeriodicSignalBase_Active + Summary_PeriodicSignalBase_Active + + + + + Remarks_PeriodicSignalBase_Reset + Summary_PeriodicSignalBase_Reset + + + + + Remarks_PeriodicSignalBase_InAmp + Summary_PeriodicSignalBase_Amp + + + + + Remarks_PeriodicSignalBase_InFreq + Summary_PeriodicSignalBase_Freq + + + + + + Summary_SAWTOOTH_Signal + + + + + Summary_PeriodicSignalBase_Amp + + + + Remarks_PeriodicSignalBase_ParamFreq + Summary_PeriodicSignalBase_Freq + + + + + Remarks_PeriodicSignalBase_Phase + Summary_PeriodicSignalBase_Phase + + + + Summary_PeriodicSignalBase_Offset + + + + + + Remarks_TRIANGLE + Summary_TRIANGLE + Triangle.png + + + + + Remarks_PeriodicSignalBase_Active + Summary_PeriodicSignalBase_Active + + + + + Remarks_PeriodicSignalBase_Reset + Summary_PeriodicSignalBase_Reset + + + + + Remarks_PeriodicSignalBase_InAmp + Summary_PeriodicSignalBase_Amp + + + + + Remarks_PeriodicSignalBase_InFreq + Summary_PeriodicSignalBase_Freq + + + + + + Summary_TRIANGLE_Signal + + + + + Summary_PeriodicSignalBase_Amp + + + + Remarks_PeriodicSignalBase_ParamFreq + Summary_PeriodicSignalBase_Freq + + + + + Remarks_PeriodicSignalBase_Phase + Summary_PeriodicSignalBase_Phase + + + + Summary_PeriodicSignalBase_Offset + + + + + + Remarks_RECTANGLE + Summary_RECTANGLE + Rectangle.png + + + + + Remarks_PeriodicSignalBase_Active + Summary_PeriodicSignalBase_Active + + + + + Remarks_PeriodicSignalBase_Reset + Summary_PeriodicSignalBase_Reset + + + + + Remarks_PeriodicSignalBase_InAmp + Summary_PeriodicSignalBase_Amp + + + + + Remarks_PeriodicSignalBase_InFreq + Summary_PeriodicSignalBase_Freq + + + + + + Summary_RECTANGLE_Signal + + + + + Summary_PeriodicSignalBase_Amp + + + + Remarks_PeriodicSignalBase_ParamFreq + Summary_PeriodicSignalBase_Freq + + + + + Remarks_PeriodicSignalBase_Phase + Summary_PeriodicSignalBase_Phase + + + + Summary_PeriodicSignalBase_Offset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src new file mode 100644 index 000000000..97a21d342 --- /dev/null +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src @@ -0,0 +1,52 @@ +&ACCESS RVO +&REL 2 +&PARAM EDITMASK = * +&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe +DEF RSI_Ethernet( ) +; ============================================= +; +; RSI EXAMPLE: ETHERNET communication +; Realtime UDP data exchange with server application +; +; ============================================= + +; Declaration of KRL variables +DECL INT ret ; Return value for RSI commands +DECL INT CONTID ; ContainerID + +;FOLD INI + ;FOLD BASISTECH INI + BAS (#INITMOV,0 ) + ;ENDFOLD (BASISTECH INI) + ;FOLD USER INI + ;Make your modifications here + ;ENDFOLD (USER INI) +;ENDFOLD (INI) + +; Move to start position +PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} + +; Create RSI Context +ret = RSI_CREATE("RSIContext",CONTID,TRUE) +IF (ret <> RSIOK) THEN + HALT +ENDIF + +; Start RSI execution +ret = RSI_ON(#ABSOLUTE) +IF (ret <> RSIOK) THEN + HALT +ENDIF + +; Sensor guided movement +RSI_MOVECORR() + +; Turn off RSI +ret = RSI_OFF() +IF (ret <> RSIOK) THEN + HALT +ENDIF + +PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} + +END diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml new file mode 100644 index 000000000..88ade1acd --- /dev/null +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml @@ -0,0 +1,35 @@ + + + 172.30.1.101 + 49152 + ImFree + FALSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c3419a2e50c6ec57a9292492e189dbeda30810c1 Mon Sep 17 00:00:00 2001 From: Mirko Matosin Date: Tue, 4 Apr 2023 10:55:34 +0200 Subject: [PATCH 2/3] Readme updated for kss8.6 --- kuka_rsi_hw_interface/krl/KR_C4/README.md | 46 +++++++++++++++++++---- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/kuka_rsi_hw_interface/krl/KR_C4/README.md b/kuka_rsi_hw_interface/krl/KR_C4/README.md index 0aba235f8..84734e430 100644 --- a/kuka_rsi_hw_interface/krl/KR_C4/README.md +++ b/kuka_rsi_hw_interface/krl/KR_C4/README.md @@ -6,26 +6,58 @@ This guide highlights the steps needed in order to successfully configure the ** Windows runs behind the SmartHMI on the teach pad. Make sure that the **Windows interface** of the controller and the **PC with ROS** is connected to the same subnet. + 1. Log in as **Expert** or **Administrator** on the teach pad and navigate to **Network configuration** (**Start-up > Network configuration > Activate advanced configuration**). 2. There should already be an interface checked out as the **Windows interface**. For example: * **IP**: 192.168.250.20 * **Subnet mask**: 255.255.255.0 * **Default gateway**: 192.168.250.20 * **Windows interface checkbox** should be checked. -3. Minimize the SmartHMI (**Start-up > Service > Minimize HMI**). -4. Run **RSI-Network** from the Windows Start menu (**All Programs > RSI-Network**). -5. Check that the **Network - Kuka User Interface** show the Windows interface with the specified IP address. -6. Add a new IP address on another subnet (e.g. 192.168.1.20) for the **RSI interface**. +> As of 8.6 the network configuration changed: see +> [Chapter 1.2](#netzwerk-866) +1. Minimize the SmartHMI (**Start-up > Service > Minimize HMI**). +2. Run **RSI-Network** from the Windows Start menu (**All Programs > RSI-Network**). +3. Check that the **Network - Kuka User Interface** show the Windows interface with the specified IP address. +4. Add a new IP address on another subnet (e.g. 192.168.1.20) for the **RSI interface**. * Select the entry **New** under **RSI Ethernet** in the tree structure and press **Edit**. * Enter the IP address and confirm with **OK**. * Close **RSI-Network** and maximize the SmartHMI. -7. Reboot the controller with a cold restart (**Shutdown > Check *Force cold start* and *Reload files* > Reboot control PC**). -8. After reboot, minimize the SmartHMI (**Start-up > Service > Minimize HMI**). -9. Run **cmd.exe** and ping the PC you want to communicate with on the same subnet (e.g. 192.168.250.xx). +5. Reboot the controller with a cold restart (**Shutdown > Check *Force cold start* and *Reload files* > Reboot control PC**). +6. After reboot, minimize the SmartHMI (**Start-up > Service > Minimize HMI**). +7. Run **cmd.exe** and ping the PC you want to communicate with on the same subnet (e.g. 192.168.250.xx). If your **PC** has an IP address on the same subnet as the **Windows interface** on the controller, the controller should receive answers from the PC: * If this is the case, add another IP address to the current PC connection (e.g. 192.168.1.xx) on the same subnet as the **RSI** interface. +----- +## 1.2 Network Configurationfor KSS >= 8.6 {#netzwerk-866} + +1. In the main menu, select Startup > Network Configuration. The Network configuration window opens. +2. Press Advanced.... The window for the extended network configuration opens. +3. Press Add interface. A new entry is automatically created in the Configured Interfaces area. +4. Highlight the newly created entry and enter the network name in the Interface name field, e.g. "Ethernet sensor network" +5. In the field *Address type*: select the type Mixed IP address. +By selecting the Mixed IP address type, the necessary receive tasks are automatically created. necessary receive tasks are created automatically: + - Receive Task: + - Receive Filter: Destination Subnet + - Real time Receive task: + - Receive filter: UDP + +1. In the fields below enter the IP address of the robot controller and the subnet mask. + +> This method is creating a virtually assigned interface on the very same ethernet port as for KLI. It's like adding second ip address in another subnet. MAC address stays same. + +### 1.3 Server/ROS +Your ros2 server can be connected to a good network switch via two ethernet cables connected to different network interface cards (NIC) on server. One NIC has to stay in the same subnet as the newly assigned virtual interface +E.g. + +| Device | Interface # | IP | Subnet (cidr) | DNS | comment | +|:--------|:-----------:|:---: |--------------|:--------------|:------ +| krc4 | virtual 6 | 172.30.1.148 | /24 | same as first virtual IF| rsi connection (client) +| server | NIC1: | 172.30.1.101 | /24 | |rsi connection (server) +| server | NIC2: | **!(172.30.1.0)** | /24 | | for KLI (debugging and syncronizing) + +------- ## 2. KRL Files The files included in this folder specifies the data transferred via RSI. Some of the files needs to be modified to work for your specific configuration. From 5aa57a08ef79c1aa52fdf66537877641070466b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20=C5=A0togl?= Date: Thu, 4 May 2023 21:50:25 +0200 Subject: [PATCH 3/3] Add files setup files and documenation for RSI communication KSS > 8.6 --- .../krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src | 52 ----------- .../{RSIContext.rsix => ros_rsi_XXX.rsix} | 6 +- .../krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.src | 90 +++++++++++++++++++ ...RSI_EthernetConfig.xml => ros_rsi_XXX.xml} | 9 +- kuka_rsi_hw_interface/krl/KR_C4/README.md | 51 +++++------ kuka_rsi_hw_interface/krl/KR_C4/ros_rsi.src | 2 +- 6 files changed, 121 insertions(+), 89 deletions(-) delete mode 100644 kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src rename kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/{RSIContext.rsix => ros_rsi_XXX.rsix} (97%) create mode 100644 kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.src rename kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/{RSI_EthernetConfig.xml => ros_rsi_XXX.xml} (86%) diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src deleted file mode 100644 index 97a21d342..000000000 --- a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_Ethernet.src +++ /dev/null @@ -1,52 +0,0 @@ -&ACCESS RVO -&REL 2 -&PARAM EDITMASK = * -&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe -DEF RSI_Ethernet( ) -; ============================================= -; -; RSI EXAMPLE: ETHERNET communication -; Realtime UDP data exchange with server application -; -; ============================================= - -; Declaration of KRL variables -DECL INT ret ; Return value for RSI commands -DECL INT CONTID ; ContainerID - -;FOLD INI - ;FOLD BASISTECH INI - BAS (#INITMOV,0 ) - ;ENDFOLD (BASISTECH INI) - ;FOLD USER INI - ;Make your modifications here - ;ENDFOLD (USER INI) -;ENDFOLD (INI) - -; Move to start position -PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} - -; Create RSI Context -ret = RSI_CREATE("RSIContext",CONTID,TRUE) -IF (ret <> RSIOK) THEN - HALT -ENDIF - -; Start RSI execution -ret = RSI_ON(#ABSOLUTE) -IF (ret <> RSIOK) THEN - HALT -ENDIF - -; Sensor guided movement -RSI_MOVECORR() - -; Turn off RSI -ret = RSI_OFF() -IF (ret <> RSIOK) THEN - HALT -ENDIF - -PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} - -END diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.rsix similarity index 97% rename from kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix rename to kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.rsix index 25e33b954..25ea5126b 100644 --- a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSIContext.rsix +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.rsix @@ -14,7 +14,7 @@ - + @@ -2387,7 +2387,7 @@ - + @@ -2429,4 +2429,4 @@ - \ No newline at end of file + diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.src b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.src new file mode 100644 index 000000000..447abfcf6 --- /dev/null +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.src @@ -0,0 +1,90 @@ +&ACCESS RVO +&REL 2 +&PARAM EDITMASK = * +&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe +DEF RSI_Ethernet( ) +; ============================================= +; +; Software License Agreement (BSD License) +; +; Copyright (c) 2014 Norwegian University of Science and Technology +; All rights reserved. +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; * Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; * Redistributions in binary form must reproduce the above +; copyright notice, this list of conditions and the following +; disclaimer in the documentation and/or other materials provided +; with the distribution. +; * Neither the name of the Norwegian University of Science and +; Technology, nor the names of its contributors may be used to +; endorse or promote products derived from this software without +; specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +; FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +; COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +; ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +; POSSIBILITY OF SUCH DAMAGE. +; +; ============================================= + +; ============================================= +; +; ROS INDUSTRIAL: KUKA RSI HW INTERFACE +; Realtime UDP data exchange with +; kuka_rsi_hw_interface +; +; ============================================= + +; Declaration of KRL variables +DECL INT ret ; Return value for RSI commands +DECL INT CONTID ; ContainerID + +;FOLD INI + ;FOLD BASISTECH INI + BAS (#INITMOV,0 ) + ;ENDFOLD (BASISTECH INI) + ;FOLD USER INI + ;Make your modifications here + ;ENDFOLD (USER INI) +;ENDFOLD (INI) + +; Move to start position +PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} + +; Create RSI Context +ret = RSI_CREATE("ros_rsi_XXX",CONTID,TRUE) +IF (ret <> RSIOK) THEN + HALT +ENDIF + +; Start RSI execution +ret = RSI_ON(#ABSOLUTE) +IF (ret <> RSIOK) THEN + HALT +ENDIF + +; Sensor guided movement +RSI_MOVECORR() + +; Turn off RSI +ret = RSI_OFF() +IF (ret <> RSIOK) THEN + HALT +ENDIF + +PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0} + +END diff --git a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.xml similarity index 86% rename from kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml rename to kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.xml index 88ade1acd..072c5e698 100644 --- a/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/RSI_EthernetConfig.xml +++ b/kuka_rsi_hw_interface/krl/KR_C4/KR_C4_8.6.x/ros_rsi_XXX.xml @@ -1,8 +1,8 @@ - 172.30.1.101 - 49152 - ImFree + 172.30.1.XXX + 49152 + ImFree FALSE @@ -11,8 +11,7 @@ - - + diff --git a/kuka_rsi_hw_interface/krl/KR_C4/README.md b/kuka_rsi_hw_interface/krl/KR_C4/README.md index 84734e430..39c1ccbad 100644 --- a/kuka_rsi_hw_interface/krl/KR_C4/README.md +++ b/kuka_rsi_hw_interface/krl/KR_C4/README.md @@ -6,19 +6,17 @@ This guide highlights the steps needed in order to successfully configure the ** Windows runs behind the SmartHMI on the teach pad. Make sure that the **Windows interface** of the controller and the **PC with ROS** is connected to the same subnet. - 1. Log in as **Expert** or **Administrator** on the teach pad and navigate to **Network configuration** (**Start-up > Network configuration > Activate advanced configuration**). 2. There should already be an interface checked out as the **Windows interface**. For example: * **IP**: 192.168.250.20 * **Subnet mask**: 255.255.255.0 * **Default gateway**: 192.168.250.20 * **Windows interface checkbox** should be checked. -> As of 8.6 the network configuration changed: see -> [Chapter 1.2](#netzwerk-866) +> As of 8.6 the next steps have changed: see [Chapter 1.2](#12-network-configurationfor-kss--86) 1. Minimize the SmartHMI (**Start-up > Service > Minimize HMI**). 2. Run **RSI-Network** from the Windows Start menu (**All Programs > RSI-Network**). 3. Check that the **Network - Kuka User Interface** show the Windows interface with the specified IP address. -4. Add a new IP address on another subnet (e.g. 192.168.1.20) for the **RSI interface**. +4. Add a new IP address on another subnet (e.g. 172.30.1.1) for the **RSI interface**. * Select the entry **New** under **RSI Ethernet** in the tree structure and press **Edit**. * Enter the IP address and confirm with **OK**. * Close **RSI-Network** and maximize the SmartHMI. @@ -29,46 +27,37 @@ Windows runs behind the SmartHMI on the teach pad. Make sure that the **Windows If your **PC** has an IP address on the same subnet as the **Windows interface** on the controller, the controller should receive answers from the PC: * If this is the case, add another IP address to the current PC connection (e.g. 192.168.1.xx) on the same subnet as the **RSI** interface. ------ -## 1.2 Network Configurationfor KSS >= 8.6 {#netzwerk-866} -1. In the main menu, select Startup > Network Configuration. The Network configuration window opens. -2. Press Advanced.... The window for the extended network configuration opens. -3. Press Add interface. A new entry is automatically created in the Configured Interfaces area. -4. Highlight the newly created entry and enter the network name in the Interface name field, e.g. "Ethernet sensor network" -5. In the field *Address type*: select the type Mixed IP address. +### 1.2 Network Configurationfor KSS >= 8.6 + +1. Press **Add interface**. A new entry is automatically created in the **Configured Interfaces** area. +2. Highlight the newly created entry and enter the network name in the **Interface name** field, e.g.*Ethernet sensor network* +3. In the field **Address type**: select the type Mixed IP address. By selecting the Mixed IP address type, the necessary receive tasks are automatically created. necessary receive tasks are created automatically: - Receive Task: - - Receive Filter: Destination Subnet + - Receive Filter: Target Subnet - Real time Receive task: - Receive filter: UDP -1. In the fields below enter the IP address of the robot controller and the subnet mask. - -> This method is creating a virtually assigned interface on the very same ethernet port as for KLI. It's like adding second ip address in another subnet. MAC address stays same. +4. In the fields below enter the IP address of the robot controller and the subnet mask, e.g., IP 172.30.1.1, Mask 255.255.255.0. + > This method is creating a virtually assigned interface on the very same ethernet port as for KLI. It's like adding second ip address in another subnet. MAC address stays same. -### 1.3 Server/ROS -Your ros2 server can be connected to a good network switch via two ethernet cables connected to different network interface cards (NIC) on server. One NIC has to stay in the same subnet as the newly assigned virtual interface -E.g. -| Device | Interface # | IP | Subnet (cidr) | DNS | comment | -|:--------|:-----------:|:---: |--------------|:--------------|:------ -| krc4 | virtual 6 | 172.30.1.148 | /24 | same as first virtual IF| rsi connection (client) -| server | NIC1: | 172.30.1.101 | /24 | |rsi connection (server) -| server | NIC2: | **!(172.30.1.0)** | /24 | | for KLI (debugging and syncronizing) - -------- ## 2. KRL Files The files included in this folder specifies the data transferred via RSI. Some of the files needs to be modified to work for your specific configuration. ##### ros_rsi_ethernet.xml -1. Edit the `IP_NUMBER` tag so that it corresponds to the IP address (192.168.1.xx) previously added for your PC. +1. Edit the `IP_NUMBER` tag so that it corresponds to the IP address (e.g., 172.30.1.101) previously added for your PC. 2. Keep the `PORT` tag as it is (49152) or change it if you want to use another port. -Note that the `rsi/listen_address` and `rsi/listen_port` parameters of the `kuka_rsi_hw_interface` must correspond to the `IP_NUMBER`and `PORT` set in these KRL files. +**KSS >= 8.6** use file `ros_rsi_XXX.xml` from `KR_C4_8.6.x` folder. + +> It is recommended to rename this file to end up with the IP of the ROS 2 machine because if you can control robot with multiple computers over RSI, you will need multiple files, e.g., `ros_rsi_101.xml`. -##### ros_rsi.rsi.xml +Note that the launch file arguments `rsi_listen_ip` and `rsi_listen_port` must correspond to the `IP_NUMBER`and `PORT` set in these KRL files. + +##### ros_rsi.rsi.xml (KSS < 8.6) and ros_rsi_XXX.rsix (KSS > 8.6) This file may be edited with application specific joint limits in degrees. * Edit the parameters within the RSIObject `AXISCORR` to specify joint limits such as **LowerLimA1**, **UpperLimA1** etc. Note that these limits are in reference to the start position of the robot. * Edit the parameters within `AXISCORRMON` to specify the overall correction limitation. If this limit is exceeded in either of the joint directions, RSI is stopped. The values of **MaxA1**, **MaxA2** etc. may be large to allow free movement within the specified joint limits in `AXISCORR`. @@ -79,9 +68,14 @@ If you have problems with the connection to RSI shutting down now and then while * Compile and install a [RT-Preempt](https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO) kernel for your PC. * Give **kuka_rsi_hardware_interface** on your PC real-time priority when the RSI connection is established. + +> It is recommended to rename this file to end up with the IP of the ROS 2 machine, e.g., `ros_rsi_101.rsix`. + ##### ros_rsi.src This should only be edited if the start position specified within the file is not desirable for your application. +> It is recommended to rename this file to end up with the IP of the ROS 2 machine, e.g., `ros_rsi_101.src`. + ##### Copy files to controller The files **ros_rsi.rsi** and **ros_rsi.rsi.diagram** should not be edited. All files are now ready to be copied to the Kuka controller: @@ -91,6 +85,7 @@ The files **ros_rsi.rsi** and **ros_rsi.rsi.diagram** should not be edited. All 4. Copy the `ros_rsi.src` file to `KRC:\R1\Program`. 5. Copy the rest of the files to `C:\KRC\ROBOTER\Config\User\Common\SensorInterface`. + ## 3. Configure the kuka_rsi_hw_interface The **kuka_rsi_hardware_interface** needs to be configured in order to successfully communicate with RSI. Inside `/kuka_rsi_hw_interface/test` and `/kuka_rsi_hw_interface/config` in this repository is a set of `*.yaml` files. These configuration files may be loaded into a launch-file used to start the **kuka_rsi_hardware_interface** with correct parameters, such as: diff --git a/kuka_rsi_hw_interface/krl/KR_C4/ros_rsi.src b/kuka_rsi_hw_interface/krl/KR_C4/ros_rsi.src index 9df9f6d6e..5dee43891 100644 --- a/kuka_rsi_hw_interface/krl/KR_C4/ros_rsi.src +++ b/kuka_rsi_hw_interface/krl/KR_C4/ros_rsi.src @@ -83,7 +83,7 @@ ENDIF ; Sensor guided movement RSI_MOVECORR() -; Turn off RSI +; Turn off RSI ret = RSI_OFF() IF (ret <> RSIOK) THEN HALT