Тема: Kuka и ewm
Показать сообщение отдельно
Старый 17.02.2020, 20:35   #21
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 712
Сказал Спасибо: 19
Сказали Спасибо 145 раз(а) в 138 сообщении
По умолчанию

Это вопрос хороший, но ответ я тебе на никогда не дам. Ниже я тебе прислал почти весь список переменных, который задекларировал программист. Соответсвенно, чтобы хоть как-то помочь тебе ответить на этот вопрос, я должен понимать для чего какая переменная. Сам понимаешь - это не реально. К тому же многие переменные без комментариев, поэтому остается только догадываться что имел ввиду программист. Но сразу в глаза бросились четыре переменные: O_BLOCK_ZONE1, O_BLOCK_ZONE2, I_BLOCK_ZONE1, I_BLOCK_ZONE2. К тому же именно они в самом начале обрабатываются в файле sps.sub. Я бы начал смотреть именно с них, как они отрабатывают при аварии. И еще прошу учесть, что помимо программной обработки защиты, может быть выполнена физическая остановка через разъем безопасности x11.


DECL INT STEPCOUNT=28
DECL INT CONDCOUNT=10
DECL CONDTYPE STEPS[28,10]
DECL COMMONTYPE COMMONS[28]
DECL INT CURRENTSTEP
DECL REAL PULSE_TIME=0.5

SIGNAL EW_MODE $OUT[201] TO $OUT[202] ;0-2takta 1-non 2-non 3-2takta_ext
SIGNAL EW_MODE_WELD $OUT[203] ;0-simple 1-impuls
SIGNAL EW_WELD_CONTROL $OUT[204] ;0-disable 1-enable
SIGNAL EW_START $OUT[205] ;0-stop 1-start
SIGNAL EW_ENABLE $OUT[206] ;0-weld disable 1-weld enable
SIGNAL EW_TECH_GAS $OUT[207] ;0-technological gas off 1-gas on
SIGNAL EW_ADD_GAS $OUT[208] ;0-additional gas off 1-gas on
SIGNAL EW_SETUP_WELD_WIRE $OUT[209] ;0-off 1-start setup weld wire
SIGNAL EW_FIND_POS $OUT[210] ;0-find position off 1-find position on
SIGNAL EW_DEL_WELD_WIRE $OUT[211] ;0-off 1-start delete weld wire
SIGNAL EW_ENABLE_DV2 $OUT[212] ;0-enable DV1 1-enable DV2
SIGNAL EW_RESET_ERRORS $OUT[213] ;RESET ERRORS
SIGNAL EW_USER_OUT $OUT[214] ;0-off relay 1-on relay
SIGNAL EW_TASK_MODE $OUT[215] ;0-task mode off 1-task- mode on
SIGNAL EW_SIMUL_WELD $OUT[216] ;0-simulation weld off 1-on
SIGNAL EW_NUM_PROG $OUT[217] TO $OUT[224] ;number current program 0-15
SIGNAL EW_NUM_TASK $OUT[225] TO $OUT[232] ;number task 1-255
SIGNAL EW_SPEED_WELD_WIRE $OUT[233] TO $OUT[248] ;DV speed 0-0x7FFF 0x7FFF=25.0m/min
SIGNAL EW_CORRECT_VOLTAGE $OUT[249] TO $OUT[264] ;correct voltage 0-0x7FFF 0=-10V 0x4000=0V 0x7FFF=10V
SIGNAL EW_DINAMIC $OUT[265] TO $OUT[280] ;dinamic 0-0x7FFF 0=-40 0x4000=0 0x7FFF=40


SIGNAL EW_AS_CURRENT $IN[201] ;0-CURRENT OFF 1-CURRENT ON
SIGNAL EW_AS_ENABLE_WELD $IN[202] ;0-DISNABLE WELD 1-ENABLE WELD
SIGNAL EW_AS_PRILIP_WIRE $IN[203] ;0-All normal 1-weld wire prilipla
SIGNAL EW_AS_ERROR_PROC $IN[204] ;0-All normal 1-error process
SIGNAL EW_COLLISION $IN[205] ;0-All normal 1-collision (stolknovenie)
SIGNAL EW_STAT_PROC $IN[206] ;0-proc no phase main current 1-in main program
SIGNAL EW_AS_END_PROC $IN[207] ;0-end process weld 1-process run
SIGNAL EW_ERROR $IN[209] TO $IN[216] ;number error
SIGNAL EW_ERR_VOLTAGE $IN[217] ;0-all normal 1-error voltage
SIGNAL EW_ERR_CURRENT $IN[218] ;0-all normal 1-error current
SIGNAL EW_ERR_SPEED_WIRE $IN[219] ;0-all normal 1-error speed weld wire
SIGNAL EW_ERR_CUR_DV $IN[220] ;0-all normal 1-error current DV
SIGNAL EW_USER_IN1 $IN[225] ;USER_IN1
SIGNAL EW_USER_IN2 $IN[226] ;USER_IN2
SIGNAL EW_USER_IN3 $IN[227] ;USER_IN3
SIGNAL EW_FACT_VOLTAGE $IN[233] TO $IN[248] ;facticheskoe voltage 0-0x7FFF 0-100V
SIGNAL EW_FACT_CURRENT $IN[249] TO $IN[264] ;facticheskoe current 0-0x7FFF 0-1000A
SIGNAL EW_FACT_SPEED_WIRE $IN[265] TO $IN[280] ;facticheskoe speed wire 0-0x7FFF 0-40m/min
SIGNAL EW_FACT_CURRENT_DV $IN[281] TO $IN[296] ;facticheskoe current DV 0-0x7FFF 0-25.5A
;==================================
; Userdefined Variables
;==================================
;SIGNAL OSYN $OUT[21]
;SIGNAL ISYN $IN[19]
;SIGNAL GO1 $IN[32]
;SIGNAL GO2 $IN[29]


SIGNAL O_EWM_PRG $OUT[217] TO $OUT[224]
SIGNAL O_EWM_JOB $OUT[225] TO $OUT[232]


SIGNAL I_EWM_ERR_CODE $IN[209] TO $IN[216]

;FOLD Outputs
SIGNAL L_MODE_AUT $OUT[1]
SIGNAL L_MODE_T1 $OUT[2]
SIGNAL O_COUNTER $OUT[3]
SIGNAL L_R3_READY $OUT[4]
SIGNAL L_WELD_ERR_R3 $OUT[5]
SIGNAL L_CLEAN_R3 $OUT[6]
SIGNAL L_R4_READY $OUT[7]
SIGNAL L_WELD_ERR_R4 $OUT[8]
SIGNAL L_TABLE_WELD_POS $OUT[9]
SIGNAL L_OSN1_WORK_1 $OUT[10]
SIGNAL L_OSN1_WORK_2 $OUT[11]
SIGNAL L_OSN2_WORK_1 $OUT[12]
SIGNAL L_OSN2_WORK_2 $OUT[13]
SIGNAL L_TABLE_FIX_OUT $OUT[14]
SIGNAL L_OSN1_FIX_OUT $OUT[15]
SIGNAL L_OSN2_FIX_OUT $OUT[16]
SIGNAL L_TABLE_LOAD_POS $OUT[17]
SIGNAL L_OSN1_HOME $OUT[18]
SIGNAL L_OSN1_PART $OUT[19]
SIGNAL L_OSN2_HOME $OUT[20]
SIGNAL L_OSN2_PART $OUT[21]
SIGNAL L_TABLE_FIX_IN $OUT[22]
SIGNAL L_OSN1_FIX_IN $OUT[23]
SIGNAL L_OSN2_FIX_IN $OUT[24]
SIGNAL L_CLEAN_R4 $OUT[25]
SIGNAL L_ERROR $OUT[26]
SIGNAL L_ALARM $OUT[27]
SIGNAL O_RESERVE_1 $OUT[28]
SIGNAL O_RESERVE_2 $OUT[29]
SIGNAL O_RESERVE_3 $OUT[30]
SIGNAL O_RESERVE_4 $OUT[31]
SIGNAL O_RESERVE_5 $OUT[32]
SIGNAL L_LOAD_ENABLE $OUT[33]
SIGNAL L_LOAD_DISABLE $OUT[34]
SIGNAL L_PART_LOADED $OUT[35]
SIGNAL O_SIREN $OUT[36]
SIGNAL L_CYC_END $OUT[37]
SIGNAL L_POD_READY $OUT[38]
SIGNAL L_POD_ALARM $OUT[39]
SIGNAL O_RESERVE_6 $OUT[40]
SIGNAL L_GATE_ALARM $OUT[41]
SIGNAL L_ACCESS_OK $OUT[42]
SIGNAL O_RESERVE_43 $OUT[43]
SIGNAL O_RESERVE_44 $OUT[44]
SIGNAL O_RESERVE_9 $OUT[45]
SIGNAL O_RESERVE_10 $OUT[46]
SIGNAL O_PHOTO_CHAN_1 $OUT[47]
SIGNAL O_PHOTO_CHAN_2 $OUT[48]
SIGNAL O_R4_TABLE_ENABLE $OUT[81]
SIGNAL O_R4_HOME $OUT[82]
SIGNAL O_R4_RESET $OUT[83]
SIGNAL O_R4_WELD_ENABLE $OUT[84]
SIGNAL O_R4_WELD_SIM $OUT[85]
SIGNAL O_R4_WELD_ERR_RESET $OUT[86]
SIGNAL O_R4_INTERRUPT $OUT[87]
SIGNAL O_R4_DRY_RUN $OUT[88]

SIGNAL O_Start_R4_Weld1 $OUT[89]
SIGNAL O_Start_R4_Weld2 $OUT[90]
SIGNAL O_Start_R4_Clean $OUT[91]

SIGNAL O_R4_OSN2_W_POS $OUT[92]
SIGNAL O_R3_CLEAN_REQ $OUT[93]

SIGNAL O_BLOCK_ZONE1 $OUT[94]
SIGNAL O_BLOCK_ZONE2 $OUT[95]

SIGNAL O_POD_PRESS $OUT[96]
SIGNAL O_OSN1_FIX_IN $OUT[97]
SIGNAL O_OSN1_FIX_OUT $OUT[98]
SIGNAL O_OSN2_FIX_IN $OUT[99]
SIGNAL O_OSN2_FIX_OUT $OUT[100]
SIGNAL O_RESERVE_11 $OUT[101]
SIGNAL O_RESERVE_12 $OUT[102]
SIGNAL O_RESERVE_13 $OUT[103]
SIGNAL O_RESERVE_14 $OUT[104]
SIGNAL O_CLEANER_MOTOR $OUT[105]
SIGNAL O_CLEANER_CUT $OUT[106]
SIGNAL O_CLEANER_MOVE $OUT[107]
SIGNAL O_CLEANER_SPRAY $OUT[108]
SIGNAL O_RESERVE_15 $OUT[109]
SIGNAL O_RESERVE_16 $OUT[110]
SIGNAL O_RESERVE_17 $OUT[111]
SIGNAL O_RESERVE_18 $OUT[112]
SIGNAL O_EWM_LATCHED_1 $OUT[201]
SIGNAL O_EWM_LATCHED_2 $OUT[202]
SIGNAL O_EWM_WELD_MODE $OUT[203]
SIGNAL O_EWM_MONITORING_ON $OUT[204]
SIGNAL O_EWM_WELD_START $OUT[205]
SIGNAL O_EWM_ROBOT_READY $OUT[206]
SIGNAL O_EWM_GAS_TEST_1 $OUT[207]
SIGNAL O_EWM_GAS_TEST_2 $OUT[208]
SIGNAL O_EWM_WIRE_FORW $OUT[209]
SIGNAL O_EWM_SEARCH_ON $OUT[210]
SIGNAL O_EWM_WIRE_BACK $OUT[211]
SIGNAL O_EWM_WF_SWITCH $OUT[212]
SIGNAL O_EWM_ERR_RESET $OUT[213]
SIGNAL O_EWM_USER_OUT $OUT[214]
SIGNAL O_EWM_JOB_MODE $OUT[215]
SIGNAL O_EWM_SIM_ON $OUT[216]
;ENDFOLD
;FOLD Inputs and variables
SIGNAL I_WELD_ON $IN[1]
SIGNAL I_WELD_OFF $IN[2]
SIGNAL I_WELD_ERR_RESET_R3 $IN[3]
SIGNAL I_CLEAN_R3 $IN[4]
SIGNAL I_WELD_ERR_RESET_R4 $IN[5]
SIGNAL I_CLEAN_R4 $IN[6]
SIGNAL I_SIREN $IN[7]
SIGNAL I_LAMPS_CONTROL $IN[8]
SIGNAL I_POD_PUSK_1 $IN[9]
SIGNAL I_POD_END_CYCL $IN[10]
SIGNAL I_POD_NOTAUS $IN[11]
SIGNAL I_POD_PUSK_2 $IN[12]
SIGNAL I_GATE_NOTAUS $IN[13]
SIGNAL I_GATE_OPEN $IN[14]
SIGNAL I_PRESSURE_OK $IN[15]
SIGNAL I_NOTAUS $IN[16]
SIGNAL I_PART_OSN_1_S501 $IN[17]
SIGNAL I_PART_OSN_1_S502 $IN[18]
SIGNAL I_PART_OSN_1_S503 $IN[19]
SIGNAL I_PART_OSN_1_S504 $IN[20]
SIGNAL I_PART_OSN_1_S505 $IN[21]
SIGNAL I_PART_OSN_1_S506 $IN[22]
SIGNAL I_PART_OSN_1_S507 $IN[23]
SIGNAL I_PART_OSN_1_S508 $IN[24]
SIGNAL I_PART_OSN_1_S509 $IN[25]
SIGNAL I_PART_OSN_1_S510 $IN[26]
SIGNAL I_RESERVE_1 $IN[27]
SIGNAL I_RESERVE_2 $IN[28]
SIGNAL I_RESERVE_3 $IN[29]
SIGNAL I_RESERVE_4 $IN[30]
SIGNAL I_RESERVE_5 $IN[31]
SIGNAL I_RESERVE_6 $IN[32]
SIGNAL I_PART_OSN_2_S511 $IN[33]
SIGNAL I_PART_OSN_2_S512 $IN[34]
SIGNAL I_PART_OSN_2_S513 $IN[35]
SIGNAL I_PART_OSN_2_S514 $IN[36]
SIGNAL I_PART_OSN_2_S515 $IN[37]
SIGNAL I_PART_OSN_2_S516 $IN[38]
SIGNAL I_PART_OSN_2_S517 $IN[39]
SIGNAL I_PART_OSN_2_S518 $IN[40]
SIGNAL I_PART_OSN_2_S519 $IN[41]
SIGNAL I_PART_OSN_2_S520 $IN[42]
SIGNAL I_RESERVE_7 $IN[43]
SIGNAL I_RESERVE_8 $IN[44]
SIGNAL I_RESERVE_9 $IN[45]
SIGNAL I_RESERVE_10 $IN[46]
SIGNAL I_RESERVE_11 $IN[47]
SIGNAL I_RESERVE_12 $IN[48]
SIGNAL I_PART_OFF $IN[49]
SIGNAL I_PART_ON $IN[50]
SIGNAL I_R3_ROBOT_READY $IN[81]
SIGNAL I_R3_TABLE_FIX_IN $IN[82]
SIGNAL I_R3_TABLE_FIX_OUT $IN[83]
SIGNAL I_BLOCK_ZONE1 $IN[84]
SIGNAL I_BLOCK_ZONE2 $IN[85]
SIGNAL I_R3_TABLE_LOAD_POS $IN[86]
SIGNAL I_R3_TABLE_WELD_POS $IN[87]
SIGNAL I_R3_T1T2_MODE $IN[88]
SIGNAL I_R3_INTERRUPT $IN[89]
SIGNAL I_R3_RESET $IN[90]
SIGNAL I_R3_AUT_MODE $IN[91]
SIGNAL I_R3_HOME $IN[92]
SIGNAL I_R3_WELD_COMPLETE $IN[93]
SIGNAL I_R3_WELD_ERR $IN[94]
SIGNAL I_R3_CLEAN_END $IN[95]
SIGNAL I_R3_STOPMESS $IN[96]
SIGNAL I_OSN1_FIX_OUT $IN[97] ;-------------------
SIGNAL I_OSN1_FIX_IN $IN[98] ;-------fix osn1-----

SIGNAL I_OSN2_FIX_OUT $IN[99]
SIGNAL I_OSN2_FIX_IN $IN[100]
SIGNAL I_CLEANER_DOWN $IN[101]
SIGNAL I_RESERVE $IN[102]
SIGNAL I_WIRE_OK $IN[103]
SIGNAL I_CO2_OK $IN[104]
SIGNAL I_EWM_ARC_STABLE $IN[201]
SIGNAL I_EWM_READY $IN[202]
SIGNAL I_EWM_WIRE_FUSE $IN[203]
SIGNAL I_EWM_ERROR $IN[204]
SIGNAL I_EWM_COLLISION $IN[205]
SIGNAL I_EWM_MAIN_CURRENT $IN[206]
SIGNAL I_EWM_PROC_ACTIVE $IN[207]
SIGNAL I_EWM_RESERVE $IN[208]
DECL BOOL OSN1_WELD1_POS
DECL BOOL OSN1_WELD2_POS
DECL BOOL OSN1_LOAD_POS
DECL BOOL OSN2_WELD1_POS
DECL BOOL OSN2_WELD2_POS
DECL BOOL OSN2_LOAD_POS
DECL BOOL TABLE_FIX1_IN
DECL BOOL TABLE_FIX1_OUT
DECL BOOL TABLE_FIX2_IN
DECL BOOL TABLE_FIX2_OUT
DECL BOOL CLEAN_REQ_R4
DECL BOOL CLEAN_REQ_R3
DECL BOOL R4_READY
DECL BOOL BLINK
DECL BOOL POD_PRESS_REQ
DECL BOOL DRY_RUN
DECL BOOL WELD_ON
DECL BOOL T1T2_WELD
;ENDFOLD
DECL BOOL TEMP_VAR=FALSE
DECL BOOL T_BLINK=FALSE
DECL BOOL GO_LOAD_POS=TRUE
DECL BOOL GO_WELD_POS=FALSE
DECL BOOL PART_OSN1_OK
DECL BOOL PART_OSN2_OK
DECL INT CNT_CYC=17624
DECL BOOL OSN1_HOME_POS
DECL BOOL OSN1_W1_POS
DECL BOOL OSN2_HOME_POS
DECL BOOL OSN2_W1_POS
DECL BOOL MODE_FREE=FALSE
DECL BOOL R_ALARM=FALSE
DECL BOOL MEM_CLEAN_R3=TRUE
DECL BOOL CLEAN_ON_R3=TRUE
DECL BOOL MEM_CLEAN_R4=FALSE
DECL BOOL CLEAN_ON_R4=FALSE
;ENDFOLD (USER GLOBALS)
DECL BOOL qqqq=TRUE
Роботёр вне форума   Ответить с цитированием
cказали "Спасибо" Роботёр за это сообщение:
Lukas901 (17.02.2020)