system version
Posts by ikalus1988
-
-
Aro & fanuc
-
Pressure meter
-
pics uploaded
-
Hi, everyone
I work for an automotive company which recently purchased fanuc robots with Aro welding guns. Meanwhile, we bought gun motors also from Aro which lead to unsolved situation nowdays.
robot-forum.com/attachment/37555/
I found that welding gun takes less than 0.1s get 85% preset pressure and then take around 1.5s reached accurate value when we doing welding gun pressure test.
robot-forum.com/attachment/37556/
robot-forum.com/attachment/37557/
This situation is unacceptable for welding process which requires gun behave quick and accurate.
Then we tested all aro guns in factory and found all X guns and part of C guns got this problem. We tried many ways like check zero pos, test in T2, change gun max velocity & acceleration, robot initialization, re-Autotune, re-calibration of pressure. All with nothing changed.
robot-forum.com/attachment/37554/
Then I both reached Fanuc and Aro france for help. And they replied like these:
Aro:
robot-forum.com/attachment/37558/
Fanuc:
robot-forum.com/attachment/37560/
Anyone who could help me give a clue, whose fault, actuator or controller ?
Thanks for everything.
-
Hi, everyone
I wonder if there are any introductions of fanuc cm file grammar. I tried to find them in E-doc unfortunately with nothing.
Is there anyone who ever knew or studied how to creat and edit CM file ?? Mercy !!
-
I wonder if run command and Timer function will do this job.
-
menu->next->status->Version ID, press F5 next, then "Order FI" , you'll get list of options.
-
Maybe u need to delete UOP logic in Level 1 or 2 by FANUC ladder Ⅲ, and save, compile, export the memory file and upload to you robot in control start mode.
-
I can't tell you a whole lot about it except to confirm that they have Fanucs out there. I was there 4-5 years ago on some new lines and they were Fanuc. I have only one document I will send to you.
Morning, Lemster68 !!
Frankly speaking, I'm studying Tesla(US) FANUC programming standard recently. They use R822 Ethernet/IP EDA to communicate datas with PLC instead of bus IOs only. But I only have backup of them, could u send document to me pls , thanks a lot.
@tiomasclet I could share backup with u and exchange ideas of Tesla standard of course.
Email me: [email protected]
-
-
Hi, Janusz
First, Open your backup file and find orderfil.dat, then u can see a bunch of (1A05B-2600-Rxxx....), google the Rxxx or search it in Summary.DG one by one then u know all your options.
Second, u could search this forum about socket message examples, like:Code
Display MorePROGRAM test_server %STACKSIZE = 4000 %NOLOCKGROUP %NOPAUSE=ERROR+COMMAND+TPENABLE %ENVIRONMENT uif %ENVIRONMENT sysdef %ENVIRONMENT memo %ENVIRONMENT kclop %ENVIRONMENT bynam %ENVIRONMENT fdev %ENVIRONMENT flbt %INCLUDE klevccdf %INCLUDE klevkeys %INCLUDE klevkmsk ------------------------------------------------------------------------------- VAR file_var : FILE tmp_int : INTEGER tmp_int1 : INTEGER tmp_str : STRING[128] tmp_str1 : STRING[128] STATUS : INTEGER entry : INTEGER ------------------------------------------------------------------------------- BEGIN SET_FILE_ATR(file_var, ATR_IA) -- set the server port before doing a connect SET_VAR(entry, '*SYSTEM*','$HOSTS_CFG[3].$SERVER_PORT',59002,STATUS) WRITE('Connecting..',CR) MSG_CONNECT('S3:',STATUS) WRITE(' CONNECT STATUS = ',STATUS,CR) IF STATUS = 0 THEN -- Open S3: WRITE ('Opening',CR) -- FOR tmp_int1 = 1 TO 20 DO OPEN FILE file_var ('rw','S3:') STATUS = IO_STATUS(file_var) WRITE (STATUS,CR) IF STATUS = 0 THEN -- write an integer WRITE('Reading',CR) -- Read 10 bytes BYTES_AHEAD(file_var, entry, STATUS) READ file_var (tmp_str::10) WRITE('receive:',tmp_str,CR ) WRITE('send:') WRITE file_var ('hello world') CLOSE FILE file_var ENDIF --ENDFOR WRITE('Disconnecting..',CR) MSG_DISCO('S3:',STATUS) WRITE('Done.',CR) ENDIF END test_server
Code
Display MorePROGRAM test_client %STACKSIZE = 4000 %NOLOCKGROUP %NOPAUSE=ERROR+COMMAND+TPENABLE %ENVIRONMENT uif %ENVIRONMENT sysdef %ENVIRONMENT memo %ENVIRONMENT kclop %ENVIRONMENT bynam %ENVIRONMENT fdev %ENVIRONMENT flbt %INCLUDE klevccdf %INCLUDE klevkeys %INCLUDE klevkmsk ------------------------------------------------------------------------------- VAR file_var : FILE tmp_int : INTEGER tmp_str : STRING[128] STATUS : INTEGER entry : INTEGER loop1 : BOOLEAN -------------------------------------------------------- BEGIN SET_FILE_ATR(file_var, ATR_IA) SET_VAR(entry, '*SYSTEM*','$HOSTC_CFG[1].$SERVER_PORT',59002,STATUS) -- Connect the tag WRITE('Connecting..',CR) MSG_CONNECT('C1:',STATUS) WRITE(' CONNECT STATUS = ',STATUS,CR) loop1 = TRUE IF STATUS = 0 THEN WHILE loop1 = TRUE DO WRITE('Opening FILE..',CR) OPEN FILE file_var('rw','C1:') STATUS = IO_STATUS(file_var) IF STATUS = 0 THEN tmp_str = 'hello world' WRITE file_var(tmp_str::10) WRITE('send:',CR) READ file_var(tmp_str::12) WRITE('receive:',tmp_str,CR) WRITE('Closed FILE',CR) CLOSE FILE file_var ELSE WRITE('ERROR Opening FILE',CR) loop1 = FALSE ENDIF ENDWHILE WRITE('Disconnecting..',CR) MSG_DISCO('C1:',STATUS) WRITE('Done.',CR) ENDIF END test_client
-
Hi, bmello
I like your code, but when I tried to program on Roboguide I found I couldn't add UI signal statement. Like the pic shows.
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:
-
Hi, everyone
I'm a integrator working in Jaguar welding plant. Our project have a bunch of fanuc R-2000ic/165F & 210F robots, now I just met Quick connect & reconnect problem in Ethernet IP configuration for AB1732 module(used on grippers).
The problem is fanuc doesn't report any alarms when Ethernet is crashed suddenly(or cable is unplugged manually) with Quick connect or reconnect function activated. This situation is not safe at all but I got no clue about this. So anyone couldPLZ
-
Maybe Lazarus ?
-
Try Windows 8,8.1 or 10 instead of windows 7.
-
Awesome ~
-
Bravo, it settled my problem perfectly.
By the way, I found that Karel is very similar to Delphi language , and I'm wondering if there is any better way to programming Karel except in Roboguide file editor which has poor & terrible programming environment. Maybe Lazarus, Anyone know about it ? -
source offset TP program
-
Hi, everyone
I'm new to FANUC karel programming and it attract my interest last week. I tried to transform a roller hemming offset TP program to karel form last Friday. I used GET_TPE_PRM to read AR value(real number type), however, when I input integer it can't recognize and output to zero. How could I read AR in both REAL and integer type ?
Any reply will be appreciated.Code
Display MorePROGRAM offset %COMMENT = 'Version 1.0' %NOBUSYLAMP %NOLOCKGROUP %NOABORT = ERROR + TPENABLE + COMMAND %NOPAUSE = ERROR + TPENABLE + COMMAND %INCLUDE kliotyps VAR STATUS:INTEGER XYZ:XYZWPR intParam:INTEGER realParam,offset_x,offset_z,offset_p,offset_r,offset_zdry:REAL strParamy:STRING[12] BEGIN XYZ = GET_POS_REG(221,STATUS,1) GET_TPE_PRM(1,2,intParam,offset_x,strParamy,STATUS) GET_TPE_PRM(2,2,intParam,offset_z,strParamy,STATUS) GET_TPE_PRM(3,2,intParam,offset_p,strParamy,STATUS) GET_TPE_PRM(4,2,intParam,offset_r,strParamy,STATUS) GET_TPE_PRM(5,2,intParam,offset_zdry,strParamy,STATUS) XYZ.x = offset_x XYZ.z = offset_z XYZ.p = offset_p XYZ.r = offset_r IF DIN[12] = ON THEN XYZ.z = offset_zdry ENDIF SET_POS_REG(221,XYZ,STATUS,1) END offset