Not sure if this would work but what if you create event routines with start and reset option to check the mode then the signal then do request immediate action?
Posts by JMF
-
-
Has anyone ever tried to replace the FPC Connector and Network interface on the IRC5 Teach Pendant Unit Cable by themselves and not replace the whole cable to save some costs?
Can it be done? What is the negatives on replacing the connections yourself?
-
Smartac Application Manual
-
Yes, you can run multiple tools in the bullseye. Each will be required to be set up at start. When running, you will have to manually change the tool in the quickset menu. After selection you can create a procedure that will check the current data of the current tool, evaluate then run the correct bullseye routine.
Something like this sample.
Code
Display MoreLOCAL PERS tooldata tdDummy:=[TRUE,[[-12.9941,0.00665184,365.226],[0.92388,-8.76E-6,0.382683,4.8729E-5]],[1,[-102.363,0.098,220.88],[1,0,0,0],0,0,0]]; PROC BE_Main() CONST listitem BullsEye_list{5}:=[["","1 - "+"SHORT SWANNECK"],["","2 - "+"LONG SWANNECK"],["","3 - "+"STRAIGHT SWANNECK"],["","4 - "+"LONG SWANNECK (BENT)"], ["",sReturn]]; VAR num nDummy:=10; TPErase; nBullsEye:=UIListView(\Result:=button_answer,\Header:="BULLSEYE",BullsEye_list\Icon:=iconInfo\MaxTime:=nMaxtime\BreakFlag:=Err_Var); TPErase; tdDummy:=CTool(); IF tdDummy=tWG_Long THEN sDummy:="tWG_Long"; ELSEIF tdDummy=tWG_Short THEN sDummy:="tWG_Short"; ELSEIF tdDummy=tWG_Straight THEN sDummy:="tWG_Straight"; ELSEIF tdDummy=tWG_Long_Bent THEN sDummy:="tWG_Long_Bent"; ELSE TPWrite "CURRENT TOOL IS: tWG"; TPWrite "THIS IS A 'DUMMY' TOOL"; WHILE nDummy<>0 DO TPWrite "RETURNING IN: "\Num:=nDummy; Decr nDummy; ENDWHILE RETURN ; ENDIF TEST nBullsEye CASE 1: IF sDummy="tWG_Short" %"BullsEyeProc_"+sDummy%; CASE 2: IF sDummy="tWG_Long" %"BullsEyeProc_"+sDummy%; CASE 3: IF sDummy="tWG_Straight" %"BullsEyeProc_"+sDummy%; CASE 4: IF sDummy="tWG_Long_Bent" %"BullsEyeProc_"+sDummy%; CASE 5: Service_Routine; ENDTEST TPErase; RETURN ; ENDPROC
-
True. The While loop can also be removed and only the if statement can be used.
-
Add your commands for when the sensor is 1, between the IF DInput(sensor1) and the ELSE instructions and the commands for when the sensor is 0, between ELSE and the ENDIF instructions.
-
Try to add "CornerPathWarning FALSE;" before line 499 and "CornerPathWarning TRUE;" after line 503. This suppress the corner path warning and error.
-
-
Have you tried to add the GripperRelease Procedure to your RS Sim station under Home Tab - Path Programming - Edit Instruction Templates?
-
Can you share your rapid code maybe? Is the gripper open/close a locally defined sub routine or universal sub routine?
-
-
Yes your idea is correct. See example below
P1 - 12 o clock
P2 - 3 o clock
P3 - 6 o clock
P4 - 9 o clock
-
Remove the "\Single" from your ISignalDI instruction.
-
I have never tried this way before but it seems to be something that I can use.
It just shows that the overall usages of Rapid capabilities is almost never ending.
-
-
I have tried to argument but mine still shows it is available.
How did you get it to be hidden with your coding?
-
Lemster68 - He specifically wants to remove the routines from the available list when PPtoRoutine but when I try to add a parameter to the Routines, the Routines is still available in PPtoRoutine list but they will not do anything cause the parameter have not been set yet. This is why I have suggested the Load/Unload function because it removes the Routines completely and they are not available at all unless his rTeach Procedure has been executed.
Have I missed something that the Routines is still showing in my testing procedures?
-
You would not be able to hide the routines separately but you will be able to late bind them and load/unload when required.
Have a look at the following code.
When procedure rTeach is executed, it will request input of which routine to execute next. In basic only rTeach will be shown and rRoutine will only be active if it have been loaded already and not unloaded.
Code
Display MoreMODULE NewTesting() PROC rTeach() VAR num selectedProc; CONST string ModDir:="HOME:/"; TPErase; TPReadFK selectedProc,"SELECT PROCEDURE","ROUTINE 1","ROUTINE 2","","",""; IF selectedProc=1 THEN Load ModDir\File:="rRoutine"+".mod"; %"Routine1_Main"%; UnLoad ModDir\File:="rRoutine"+".mod"; ExitCycle; ELSEIF selectedProc=2 THEN Load ModDir\File:="rRoutine"+".mod"; %"Routine2_Main"%; UnLoad ModDir\File:="rRoutine"+".mod"; ExitCycle; ENDIF ENDPROC ENDMODULE
-
-