in the robot terminal type list /r rxi and list /r ryi, it will display the value of the variable. If the variable is not defined, it will display that the variable is not defined. Try it
You can find some information about some Z-Switch settings from the AS software history changelog.
2) JT6 rotates in reverse during linear interpolation, and (E1128)JT6 axis
mismatch error occurs.
[Maintenance Switch] ZCHKROT6_REVERSAL
Switch to display the processing time of singularity
It is not saved and turned off when the control power supply
is turned off and on.
ON : Modify Enable
OFF: Modify Disable
default : OFF (shipment setting : ON)
Personally, i did not change any Z-switch.
If you are doing the palletizing, i would advice using the CASE function to calculate all the placing points. Looping is not indicated, somebody may stop the robot and start the program from the beginning.
You can find some information about those switches in the Operational manual chapter 8 Auxiliary Functions/ aux 0502. Are you looking for something specific?
Default value is false, if you deselect it will not call the program according to the signals, do you have pg programs? I am not using this function, dont think that i have ever used it.
Enables or disables the function to allow selection of programs via external signals.
Like i said i did not connect the safety part with the Cubic-S and maybe the procedures might be different. I can not guide you how to connect because i dont have any experience with the Cubic-S.
What i can tell you, is the procedure that i am using...
For the robot i am using 2 safety circuits with each F-DQ address. I am using safety relays from SICK (RLY3-OSSD400) for each safety circuit.
From the robot part there is only one F-DI connected to the robot, but if you have other emergency stop
it will have a different F-DI address.
For the door circuit i collect all the information from the devices that are connected in the area (doors, safety light curtains) and all devices have different F-DI adresses.
In one case i used SENDDP and RCVDP blocks in order to receive safety information from other machines.
You can find some instructions in the as programming manual.
Which robot are you using and what kind of controller do you have?
If you need some help how to Connect to the robot, please ask.
I have connected the safety part from the robot with a F-CPU but the robot was not using Cubic-S. Could you please tell what external inputs do you have from Cubic-S? For E-Stop circuit i was using the connection from X7 and for the door circuit the connection from X8.
you need to have the online terminal KRTerm for example and type save backup, it will save the backup file from the robot.
Which terminal are you using to connect to the robot?
Those instructions are from BLOCK programming. You can find every explanation in the 5.3 section from Operation manual.
You are in the wrong section, you should create a new topic.
The robot was working fine before you changed the battery? Do you have a backup before you changed the battery?
Go to Aux Function --> Advanced Setting --> Zeroing --> Zeroing Data Set/Display and check the numbers,
all numbers should start with 2684 .... if the number is different you have to do the zeroing again.
This picture is from Arm signals, usually i put the inputs starting from 1033 and outputs from 33. Also, there is no input or output allocated. You can use 12 inputs and 8 outputs in the Arm.
Have you checked if the axes and encoder values are zeroed? Maybe the JT6 wasnt zeroed and thats why it could not reach 90 degrees.
What kind of information are you looking for?
Have you contacted your local Kawasaki distributor?
You can use TWAIT function for some delays...
Your code might look Something like:
SWAIT 1015 waiting for input signal 1015 to be on
TWAIT 0.5 wait 0.5 seconds
GOTO 100 jump to 100 label
Ok, now i have seen, but now you have 8 grippers, so you need to add 2 signals more
IF SIG(1015,1016,1017,1018,1019,1020,1021,1022) THEN
n_pick_failed = 0
n_pick_failed = 1
The numbers are already set in the init_vars, but i usually work with array indexes, for example
di_bat_pres = 1015
di_bat_pres = 1016
di_bat_pres = 1022
and you can check in the load_cells or pick_cells programs like this:
For .i = 1 TO 8
IF SIG(di_bat_pres[.i]) == TRUE) THEN
n_pick_failed = 0
n_pick_failed = 1
Thank you for the feedback. It is good that you managed to change the programs.
Also in the program plc_load_cells or plc_pick_cells you dont check if the robot picked properly all bateries. The code exists, but it is commented, for example this:
;IF (SIG(di_bat_1_pres)==TRUE) OR (SIG(di_bat_2_pres)==TRUE) OR (SIG(di_bat_3_pres)==TRUE) OR (SIG(di_bat_4_pres)==TRUE) OR (SIG(di_bat_5_pres)==TRUE) OR (SIG(di_bat_6_pres)==TRUE) THEN ;OR (SIG(di_bat_7_pres)==TRUE) OR (SIG(di_bat_8_pres)==TRUE) THEN ;Check to make sure there are no batteries present
; n_pick_failed = 1
; GOTO exit_routine
; n_pick_failed = 0
; in front of the line means that the code is commented. What kind of batteries does the robot handles?
You want that the PLC checks the actual location against the last known location and either faults, prompts if the robot can move to home position or execute the last assigned recovery routine ??