None during install, just when I'm editing the moc.cfg file.. if I remove that line everything's fine.
I also removed the axc_filter block, but no change. I'll keep playing with it in the meantime.
S4C+ 2400L installing a 7th axis. Did I hook it up right?
-
kbekkala -
May 9, 2018 at 9:55 PM -
Thread is marked as Resolved.
-
-
No luck today. I tried restarting with the bare bones MOC file, but as soon as I add "Mechanical Unit" I get the servots.c and IPOL type errors.
Maybe this means I can't use the 7th node on the SMB in the robot base?
I have another SMB, a dsqc 313, but I don't know how exactly to connect it to SMB1. Should I just splice into the cables in the robot base, flipping SDI and SDO around?
Appreciate the help
-
I looked through the file and I couldn't see anything obvious except for the Node 7 issue on the SMB which I'm not sure works on S4C+
I do have a vague recollection that it was an issue at some point (could easily have been M94's) with naming everything the same (again, not using these hands on on a daily basis so we're going by old memory from an old guy )
In other words, your single is named TurnTable, so is your joint, your drive, your.... everything... The attached MOC should give you an idea on how it was set up back then...If you add a second SMB, then I'd run it from the controller rather than linking the boards (in case there's a compatibility issue there as well.
Code
Display MoreMOC:CFG_1.0:4:0:: # MOTION_SYSTEM: -name "system_1" -std_servo_queue_time 0.193536\ -min_temp_ambient_cabinet 5 -max_temp_ambient_cabinet 45\ -min_temp_ambient_robot 5 -max_temp_ambient_robot 45\ -perpendicular_acc_ratio 1 -micro_ipol_type 0\ -dyn_ipol_decbuf_type "OPTIMAL_PATH" -cpu_load_equalization 3 # MECHANICAL_UNIT: -name "STN1" -use_run_enable "" -use_activation_relay "STN1"\ -use_brake_relay "BRAKE_RELAY" -use_single_0 "STN1"\ -user_frame_moved_by "STN1" -stand_by_state # RELAY: -name "irb_brake" -out_signal "BRAKE" -in_signal "" -name "irb_run" -out_signal "CHAIN1" -in_signal "K1" -name "irb_run2" -out_signal "CHAIN2" -in_signal "K2" -name "BRAKE_RELAY" -out_signal "doREL_BRK" -in_signal "" -name "STN1" -out_signal "doACT_MU1" -in_signal "diMU1_ACT" # ROBOT: -name "master" -use_robot_type "2400_1.8_5" -use_joint_0 "irb_1"\ -use_joint_1 "irb_2" -use_joint_2 "irb_3" -use_joint_3 "irb_4"\ -use_joint_4 "irb_5" -use_joint_5 "irb_6" # TOOL_INTERFACE: -name "tool" # MOTION_SUP: -name "irb" -path_col_detect_on -jog_col_detect_on \ -path_col_detect_level 200 -jog_col_detect_level 200\ -inertia_tolerance 0.3 -gravity_tolerance 0.2 -friction_tolerance 1\ -disturbance_tolerance 0.2 # SINGLE: -name "STN1" -use_single_type "STN1" -use_joint "STN1+ROT"\ -base_frame_pos_x 1.40854 -base_frame_pos_y -0.871515\ -base_frame_pos_z 0.661921 -base_frame_orient_u0 0.483931\ -base_frame_orient_u1 -0.482222 -base_frame_orient_u2 -0.517107\ -base_frame_orient_u3 -0.515629 -use_single_jog "STN1" # SINGLE_JOG: -name "STN1" # ARM: -name "irb_1" -use_arm_type "IRB2400_1" -use_acc_data "irb_1"\ -use_arm_calib "irb_1" -upper_joint_bound 3.14159\ -lower_joint_bound -3.14159 -upper_joint_bound_max 3.14159\ -lower_joint_bound_min -3.14159 -name "irb_2" -use_arm_type "IRB2400_2" -use_acc_data "irb_2"\ -use_arm_calib "irb_2" -upper_joint_bound 1.91986\ -lower_joint_bound -1.74533 -upper_joint_bound_max 1.91986\ -lower_joint_bound_min -1.74533 -name "irb_3" -use_arm_type "IRB2400_3" -use_acc_data "irb_3"\ -use_check_point "irb_3" -use_customer_arm_load "A3_4_2400L"\ -use_arm_calib "irb_3" -upper_joint_bound 3.05433\ -lower_joint_bound -2.61799 -upper_joint_bound_max 3.05433\ -lower_joint_bound_min -2.61799 -upper_joint_coupl_bound 1.0472\ -lower_joint_coupl_bound -1.13446 -name "irb_4" -use_arm_type "IRB2400_4" -use_acc_data "irb_4"\ -use_arm_calib "irb_4" -upper_joint_bound 3.22886\ -lower_joint_bound -3.22886 -upper_joint_bound_max 3.22886\ -lower_joint_bound_min -3.22886 -name "irb_5" -use_arm_type "IRB2400_5" -use_acc_data "irb_5"\ -use_arm_calib "irb_5" -upper_joint_bound 2.00713\ -lower_joint_bound -2.00713 -upper_joint_bound_max 2.00713\ -lower_joint_bound_min -2.00713 -name "irb_6" -use_arm_type "IRB2400_6" -use_acc_data "irb_6"\ -use_arm_calib "irb_6" -upper_joint_bound 6.98132\ -lower_joint_bound -6.98132 -upper_joint_bound_max 1885\ -lower_joint_bound_min -1885 -name "MTC2000_1" -use_arm_type "MTC2000_1" -use_acc_data "MTC2000"\ -independent_joint_on -upper_joint_bound 100000\ -lower_joint_bound -100000 -upper_joint_bound_max 1.25664E+06\ -lower_joint_bound_min -1.25664E+06 # PARALLEL_ARM_CALIB: -name "irb_2" -name "irb_3" # ARM_CHECK_POINT: -name "irb_3" -checktype "POS" -position_x -0.3 -position_y -0.2\ -position_z 0.25 # ARM_LOAD: -name "load_1" -name "load_2" -name "load_3" -name "load_4" -name "A3_4_140" -mass 2 -mass_centre_x -0.16 -mass_centre_y 0.19\ -mass_centre_z 0.26 -name "A3_4_1400" -mass 11.5 -mass_centre_x -0.23 -mass_centre_z 0.3 -name "A3_4_2400" -mass 11.5 -mass_centre_x -0.1 -mass_centre_z 0.32 -name "A3_4_2400L" -mass 11.5 -mass_centre_x -0.088 -mass_centre_z 0.355 # ARM_CALIB: -name "irb_1" -name "irb_2" -name "irb_3" -name "irb_4" -name "irb_5" -name "irb_6" # JOINT_CALIB: -name "irb_1" -name "irb_2" -name "irb_3" -name "irb_4" -name "irb_5" -name "irb_6" # MAINS: -name "mains" -u_tolerance_min -0.15 -u_tolerance_max 0.1 # DRIVE_UNIT: -name "M7C1B2" -use_drive_unit_type "DSQC_358G"\ -use_current_controller "c_c_fast_1" -use_drive_unit_supervision "d_u_sup"\ -drive_system 2 -unit_position 0 -node 2 -i_max 55 -i_thermal 24\ -temp_ambient_rise_transistor 2 # CURRENT_CONTROLLER: -name "c_c_slow_1" -Kp_d_factor 0.2 -current_forced_factor 0.5\ -delay_filter_time 0.000252 # DRIVE_UNIT_SUPERVISION: -name "ext_d_u_sup" -err0mask_motors_off 0 -err0mask_motors_on 440\ -err1mask_motors_off 31 -err1mask_motors_on 31 # CABLE: -name "cable_4.5_30" -use_cable_type "cable_4.5" -length 30 -name "cable_3.0_30" -use_cable_type "cable_3.0" -length 30 -name "cable_1.5_30" -use_cable_type "cable_1.5" -length 30 -name "cable_1.0_30" -use_cable_type "cable_1.0" -length 30 -name "cable_3.0_50" -use_cable_type "cable_3.0" -length 50 -name "cable_2.0_50" -use_cable_type "cable_2.0" -length 50 -name "cable_0.75_50" -use_cable_type "cable_0.75" -length 50 # MOTOR_TYPE: -name "IC_motor_1" -pole_pairs 3 -torque_0 1 -ke 0.5\ -ke_stability_increase -ke_stability_coef_20 0.01 -ke_tolerance_min -0.03\ -ke_tolerance_max 0.03 -ke_red_2i0 0.06 -i_max 3 -r_stator_20 5\ -r_stator_temp_coef_20 0.0039 -l_stator 0.02 -name "IC_motor_2" -pole_pairs 3 -torque_0 1 -ke 0.5\ -ke_stability_increase -ke_stability_coef_20 0.01 -ke_tolerance_min -0.03\ -ke_tolerance_max 0.03 -ke_red_2i0 0.06 -i_max 3 -r_stator_20 5\ -r_stator_temp_coef_20 0.0039 -l_stator 0.02 # MOTOR_CALIB: -name "irb_1" -valid_com_offset -cal_offset 3.43113 -valid_cal_offset -name "irb_2" -valid_com_offset -cal_offset 1.22201 -valid_cal_offset -name "irb_3" -valid_com_offset -cal_offset 2.97602 -valid_cal_offset -name "irb_4" -valid_com_offset -cal_offset 0.233069 -valid_cal_offset -name "irb_5" -valid_com_offset -cal_offset 6.0715 -valid_cal_offset -name "irb_6" -valid_com_offset -cal_offset 3.84339 -valid_cal_offset -name "ROT8" -valid_com_offset -cal_offset 0.067591 -valid_cal_offset # CONTROL_PARAMETERS: -name "irb_1" -friction_ffw_level 0.11 -name "irb_2" -friction_ffw_level 0.16 -name "irb_3" -friction_ffw_level 0.12 -name "irb_4" -friction_ffw_level 0.04 -name "irb_5" -friction_ffw_level 0.06 -name "irb_6" -friction_ffw_level 0.09
-
That makes sense, I'll try changing the names.
So to connect another SMB, I do essentially what I said before, flip the SDI/Os's, but do it in the controller? I guess I could break it at the connector board easier than splice in halfway.
Really wish the external axis manual had circuit diagrams in it, there's nothing laid out very clearly for this!
-
Whoa, do I just plug the smb2 into x5? Measurement system 2?
-
Attached is a circuit diagram of the positioner interface for a 500C positioner (single axis), it shows you how the SMB is hooked up on the last slide/page.
EDIT - yes, X5
-
That's what I needed, thank you! I'm plugged into X5 now (board pos 2, node 2 in MOC) but both that and changing names give me the same servo.c / rlsset.c / hijts.c errors.
I'm currently going into R2.SMB 1-2, I'll make a plug to go into R2.SMB 3-6 and copy Motor Axis 11, I guess.
-
Been a long time since I used RobInstall, but in my virtual robot browser none of the 2400's have two listed like the one pic you posted. Also, my memory is a bit fuzzy on this one, but the type B might be from when they switched away from the Perkin/Elmo motors.
-
none of the 2400's have two
Thanks for the reply.
They don't have two SMB's? Not sure what picture you're referring to.EDIT: The motors ARE Elmo's, on this arm. I'm not sure what level of Frankenstein I'm at though, what with the 7 axis SMB in the base and the 6400 rectifier it came with
-
Attached is a circuit diagram of the positioner interface for a 500C positioner (single axis), it shows you how the SMB is hooked up on the last slide/page.EDIT - yes, X5
This is using A83, the expansion board. I was using only A82 (connector board 1)! I'll put the expansion board back in and see what happens.
-
Okay, so I added back in the expansion board, axis board, and ran the SMB2 to port X5 on the expansion board. I have the ethernet cable originally plugged into connector board 1 X20 (Drive system 2), plugged into X20 on the expansion board.
At first I booted and only had a few errors, now when I reboot it's back to the same handful.
I'm super lost now! I'm going to try switching SMB ports now, using SMB 3-6 instead, copying motor axis 11 from Saaboholic's diagram. Would this be node 2?
Code
Display MoreCommon log messages 1. 10045 Status: System restarted 0210 17:03.10 An already installed system was restarted. 2. 10045 Status: System restarted 0210 17:03.29 An already installed system was restarted. 3. 10211 Warning: Execution cancelled 0210 17:03.45 The restart will clear the execution in task MAIN of a STOP system event routine 4. 10008 Status: Program restarted 0210 17:03.45 The task MAIN has restarted to execute. The originator is unknown. 5. 40223 Error: Execution error 0210 17:03.55 Task MAIN: Fatal runtime error 6. 10005 Status: Program stopped 0210 17:03.56 The task MAIN has stopped. The reason is that an error has occurred. 7. 20187 Status: System dump file created 0210 17:04.3 A file was created with internal debug info about the system. File path: /hd0a/Outshaped Machining 7Axis/SYSTEM/INFO/dump53_info.log Operational log messages 1. 10045 Status: System restarted 0210 17:03.10 An already installed system was restarted. 2. 10045 Status: System restarted 0210 17:03.29 An already installed system was restarted. 3. 10211 Warning: Execution cancelled 0210 17:03.45 The restart will clear the execution in task MAIN of a STOP system event routine 4. 10008 Status: Program restarted 0210 17:03.45 The task MAIN has restarted to execute. The originator is unknown. 5. 10005 Status: Program stopped 0210 17:03.56 The task MAIN has stopped. The reason is that an error has occurred. System log messages 1. 20187 Status: System dump file created 0210 17:04.3 A file was created with internal debug info about the system. File path: /hd0a/7Axis/SYSTEM/INFO/dump53_info.log Hardware log messages No message to show! Motion log messages No message to show! Program log messages 1. 40223 Error: Execution error 0210 17:03.55 Task MAIN: Fatal runtime error Operator log messages No message to show! IO & Communication log messages No message to show! User log messages No message to show! Internal log messages 1. Error: rhaltts.c 314 os_sem_wait/safevt_rhalt failed 0210 17:03.44 rhaltts.c 314 os_sem_wait/safevt_rhalt failed 2. Error: puscfg.c 1323 Can't connect to the servo 0210 17:03.44 puscfg.c 1323 Can't connect to the servo 3. Error: puscfg.c 1344 Can't connect to the ipol 0210 17:03.44 puscfg.c 1344 Can't connect to the ipol 4. Error: puscfg.c 1323 Can't connect to the servo 0210 17:03.44 puscfg.c 1323 Can't connect to the servo 5. Error: puscfg.c 1344 Can't connect to the ipol 0210 17:03.44 puscfg.c 1344 Can't connect to the ipol 6. Error: mecsta.c 360 couldn't find 'any ipol instance' error -1 0210 17:03.44 mecsta.c 360 couldn't find 'any ipol instance' error -1 7. Error: mecsta.c 382 couldn't find 'any servo instance' error -1 0210 17:03.44 mecsta.c 382 couldn't find 'any servo instance' error -1 8. Error: mecsta.c 429 couldn't find 'man instance' error -2 0210 17:03.44 mecsta.c 429 couldn't find 'man instance' error -2 9. Error: mecsynpr.c 331 couldn't find 'any ipol instance' error -1 0210 17:03.44 mecsynpr.c 331 couldn't find 'any ipol instance' error -1 10. Error: cabsta.c 403 couldn't perform 'sys_get_stored_object' error -1 0210 17:03.44 cabsta.c 403 couldn't perform 'sys_get_stored_object' error -1 11. Error: cabts.c 2515 Cabsta init failed 0210 17:03.44 cabts.c 2515 Cabsta init failed 12. Error: ipol.c 9771 os_sem_wait failed 0210 17:03.45 ipol.c 9771 os_sem_wait failed 13. Error: tsksup.c 262 Assert: sem_wait_status == OK, file ipol.c, line 97 0210 17:03.45 tsksup.c 262 Assert: sem_wait_status == OK, file ipol.c, line 9771 14. Error: servots.c 1213 Not allowed if servo task not initialized OK 0210 17:03.45 servots.c 1213 Not allowed if servo task not initialized OK 15. Error: hpjts.c 917 sys_get_stored_object status:-1 0210 17:03.55 hpjts.c 917 sys_get_stored_object status:-1 16. Error: rlsset.c 4352 Not possible to get any stored object for IPOL 0210 17:03.55 rlsset.c 4352 Not possible to get any stored object for IPOL 17. Error: servo.c 432 servo: IPC send error -6, cmd = 19 0210 17:03.55 servo.c 432 servo: IPC send error -6, cmd = 19 18. Error: servots.c 1213 Not allowed if servo task not initialized OK 0210 17:03.56 servots.c 1213 Not allowed if servo task not initialized OK 19. Error: servots.c 1213 Not allowed if servo task not initialized OK 0210 17:03.56 servots.c 1213 Not allowed if servo task not initialized OK 20. Error: hijts.c 8886 sys_get_stored_object status:-1 0210 17:03.56 hijts.c 8886 sys_get_stored_object status:-1
-
Now it won't even restore.. I select the backup, hit OK, and it beeps but nothing happens. Stays on the same screen.
EDIT: I took a break, I can fix this by reinstalling the system with its standard MOC. Maybe I should try a DC2 + GT setup again, as an m2000 type B. Kind of shooting in the dark at this point!
Does anybody have a overview drawing (not a block diagram) of how everything hooks together? Something like what I drew in the first post here would be awesome. Preferably with a DC2T rectifier. That would make me a happy man!
-
OK, so, if anything was wrong on the outgoing side, i.e. resolver connection, and or motor connection (from SMB / drive to motor) you'd be getting completely different errors.
These errors are most likely configuration related. Did you change the measurement system and board position in your CFG ?Did you look at the dump file ? Unless you have done so already, I would hook up a PC with a serial cable to the console port so you get more information than just the error log.
Since all you're doing is messing with the moc I wouldn't bother using the backup/restore, you can just load the moc directly.
-
you can just load the moc directly.To be honest I don't know another way to load the MOC...
EDIT: Just found the utility/extaxis cfg files. I never installed the M7C1B1 file, which I'll do now. I have an SMB connected to X5 on connector board 1, and my ext axis is on Node 1 (X1 Y1 etc) in plug R2.SMB 1-2. Sound correct?
-
Okay that was it!
It booted up and the errors were only with joint cfg. I even got the axis to rotate!
NOW I'll get back to the MOC. If anyone can give me a quicker way to update it without restoring, that would be awesome!
-
I'm close! Heading home for the day.
No errors on startup. Axis 7 will jog, but I think something's wrong with the feedback circuit. It jumps if I try to jog too fast, or if I rotate too far it stops, shakes a bit, then errors.
Maybe something else in the MOC file, I'll get back at it in the morning!
-
Nice !
What kind of errors do you get ?
To load just the MOC, go to system parameters, file >> load parameters (and replace all), select the moc file and load it.... restart and you're good to go.
Feedback is most likely NOT the problem, at least if you're talking resolver / SMB - It's either correct or it's not - there's no "almost correct" here
If it's wrong you'll get resolver errors, no contact with SMB, etc. or if X/Y is swapped the axis will jump and you get joint collision, or joint speed errors.Your motor type was a 3HAC motor, was that the part number off of the motor itself, or how did you choose that motor type ?
If you can move it slowly without errors then it's more of a tuning issue and you need to look at your current (drive side) and KP/KV values. (gain for Position and Velocity)
-
Your motor type was a 3HAC motor, was that the part number off of the motor itself, or how did you choose that motor type ?If you can move it slowly without errors then it's more of a tuning issue and you need to look at your current (drive side) and KP/KV values. (gain for Position and Velocity)
Since I'm using an axis 5 motor from the same arm, I just copied the motor type from IRB5.. it seemed smart at the time! I should try the actual part number on the motor, maybe. Kp/kv should match irb5, was my train of thought.
Maybe my x/y is swapped then, but I'm able to jog slowly, for a time...
Lucky for me this motor has no tag showing any of these values, haha
Thanks for the guide on loading the MOC, that's going to save me a lot of time!!
-
Kp/kv should match irb5, was my train of thought.I don't remember, but does S4C+ allow you to view these values in the pendant for the robot axis ?
They shouldn't show up in the MOC file (for robot axis') since it's an internal / encrypted parameter, but I don't remember if they are view-able.... if they are and these values matches that of R.Ax5 then I guess that's fine as a start... just keep in mind that you're not using the same gearbbox so it'll probably require some tuning either way.#
UCCM0:-name "M7" -Kp 12 -Kv 2.57 -Ti 0.15 -Kp_stability 30 -speed_max_n 40\
-acc_max_n 80 -dec_max_n 80
#
LCM0:-name "M7" -Kp 12 -Kv 2.57 -Ti 0.15 -ffw_mode 1
-
I was just proven wrong again this morning, my axis 5 motors are Yaskawa, not Elmo. I imagine the motor data is slightly different then..!
I emailed ABB support and ELMO tech support asking for the kp,kv, kt data. Hopefully something will happen there.
Does anybody have access to a S4C robot with the Elmo 3HAB3125-1 motors, maybe you could check for those values?
Thanks! -