Hi JF659, trying to understand your problem a bit more here. If I understand correctly, you would like to stop the die cast machine if you E-STOP the robot. What type of controls are available on the Die-cast machine to stop it? Are there contactors on the die-cast machine that you are trying to open up to remove power (technically a category 0/1 stop), or is there a 24V signal input on the die-cast machine that can perform a hold function? Do you have any drawings/schematics of the control system for the die-cast machine that you could share?
Posts by bmello
-
-
Hi Janusz, do you want the FANUC robot to be a Device on your profinet network? You can integrate the FANUC robot controller into TIA portal and configure I/O in that manner as you're used to (including DCS safety signals as an F-device on the Profinet network). As far as I know, this is possible with the R30iB-Plus cabinets (A/B/Mate/Compact) - each has a different hardware approach. The cabinet can be configured as an I-device or I-controller depending on if you have a PLC that you want to act as the master or not.
I have a 100+ page powerpoint from FANUC on this topic and the contact info for the senior engineer at FANUC working on this product if you want to contact me in a PM.
-
Can you solve this problem experimentally by simply figuring out where the robot can physically get to with a teach pendant?
-
On R30iA Mate / R30iB Mate controller there is an HONDA CRMA58 and CRMA59. On these two combined you have 20 available inputs and 20 outputs.Do you know where we can find a drawing / images of this connector and its wiring?
-
I have not tried this yet, but a question arises.
When the program is aborted and it has not been completed, does it return through the same line it was before aborting it?Hi Jonatan, do you have experience with FANUC UOP signals? The "production start" UOP input should restart the program at the start of the program (as we intend to do), where as the "start" UOP would resume a program where the pointer left off.
-
Hey Droth, the program that I wrote above writes the current position to position register PR[1], and then aborts the program. It also sets register 1 R[1]=1 in order to handle the re-entry into the main program when it starts. The first line in the main program looks at R[1] and it can tell if the previous program finished properly or aborted. If it was aborted, then R[1]=1 and the program performs the retract as jonatan was looking for.
When it resumes the program, it doesn't look at the cursor as you mentioned, the move command L PR[1: PROC_START] 250mm/s FINE looks at PR[1] which was saved before it was aborted.
-
You can write a background logic program to capture the input, and then perform something.
BACKGROUND LOGIC PROGRAM DI_CAPTUREPOSITION_ABORT (scan rate at 8MS)
WHEN DI[1]=(1), UI[2: HOLD]=PULSE, 0.2SEC Hold program with UOP
PR[1]=LPOS Write current cartesian point to position register
R[1]=1 Set register to indicate program was paused (will be used in TP program)
UI[4: CSTOPI]=PULSE,0.2SEC Abort program UOP
UI[5: RESET]=PULSE,0.2SEC Fault reset UOP
WAIT 1.0 SEC
UI[18: PRODUCTION START]=PULSE,0.2SEC Production start UOPPROGRAM MAIN_MOTION
LBL[1: START]
IF R[1]=1 JMP LBL[2] If last program was aborted
IF R[1]=0 JMP LBL[3] If last program was not abortedLBL[2: RETRACT TO HOME AND WAIT]
L P[1: POUNCE] 250mm/s CNT50
SET R[1]=0
L P[2: HOME] 250mm/s FINE
WAIT DI[2]
JMP LBL[1]LBL[3: RUN PROCESS]
L P[1: POUNCE] 250mm/s CNT50
L PR[1: PROC_START] 250mm/s FINE Using the PR that was saved when the program paused
L P[2: PROC_END] 100mm/s FINE
L P[1: POUNCE] 250mm/s CNT50
L P[1: HOME] 250mm/s CNT50For this to work you need to configure abort and production start signals properly per HAWKMEs post:
Are you always starting the same program with the remote start? For remote start you have a method to select the program then start it. the selection methods are: PNS, RSR, Style, or Other. I always use other. Then I use UOP signals to start.With the Other method you define 1 program that will always be called by remote start. In this example the program is named "MAIN" and I use UI[18] - (production start) to start the robot, NOT UI[6] - (start). Using UI[18] with this method guarantees that your "MAIN" program will always start from line 1, whereas UI[6] will start the program from whatever line the cursor is currently on.
Program Select:
Program Select Mode: Other
>F3-Detail> $shell_wrk.$cust_name : MAIN
Production Start Method: UOPSystem>Config:
Enable UI Signals: True
Start for Continue only: True (UI[6] becomes a resume button not a start button, must now use UI[18] to start)
CSTOPI for Abort: True
Abort all programs by CSTOPI: True
PROD_START depend on PNSTROBE: False -
Maybe you could use a position register in the robot motion. When the digital signal is active, execute a HOLD command and write the current position of the robot to a position register (where it stopped). Then use a JUMP label to another part in the program that will do a retract motion to your security position and wait for the digital input to be low. Then when it is low, jump back to the motion program and the position register saved previously will still have the position information.
I'm not sure what types of motions we're talking about here, so be weary of crash conditions and program your retracts and approaches to and from the saved PR safely.