Posts by saberlars

    I dunno what kinds of cutting unit for fabric.


    2 years ago, we test simple system.


    1. robot start from custom "Home Position".

    2. PLC send each step's X, Y, Z value

    3. one step moving and Stop. record current position. (ie - pos2)

    4. PLC given X,Y,Z value to Robot

    5. Robot "pos2" cartesian mix with PLC data.

    6. repeat 3, 4, 5 ~



    so.. we are consider where can apply this system.

    less comfortable but, Laser cutting? or Air_Blowing? possible. maybe.


    anyway, Need more robot's moving similar NC unit (continues move) ...
    I think this AS Language possible assign each Location data.



    Good comments. But fanuc has a feature called soft float. However, this is an optional addition.

    that's different.

    Soft_Float function, standby release cartesian coordinate from other one's force.
    Stop and Release Moving.


    but, this post target for while place moving decrease collision detect.
    see that replies.


    I'm never seen customize collision detection variable by Parameter instruction.
    very interesting.

    3. Setup EtherNet/IP Type, Enable, Status

    (below explain only for Slot 1)

    - Slot number is as same "I/O" config Slot

    - Description : You can remark favorite name.

    - TYP : Adapter

    - Enable : False (after all setup done, must be change to TRUE)

    - Status and Slot : Do not modify

    - and, move cursor Slot 1 line and Press F2 [CONFIG]




    4. Setup EtherNet/IP Data size

    (when, adapter config("Read-Only") showing, you have to ENABLE's parameter set "FALSE" value. Read_Only unable to modify below In/Out words size.

    - Description : as same before EtherNet/IP List

    - Input size (words) : 8 words = 128bits (Di 001 ~ Di 128)

    - Output size (words) : 8 words = 128bits (Do 001 ~ Do 128)

    - Alarm Sevarity : Do not modify

    - Scanner IP : after "ENABLE" parameter turn to "TRUE", that from will be showing Scanner (PLC) IP address.

    API O =>T : Automatically showing value.

    API T=>O : Automatically showing value.


    5. Rs_Logix Assembly Instance

    Input Assembly Instance : 101

    output Assembly Instance : 151


    This value needs for PLC parameter.


    6. Robot Cold Start


    7. EtherNet/IP Connection set "TRUE"

    - Reference Chapter 3 "ENABLE"

    I can Describe only "Adapter" Type.

    Robot Controller : Adapter
    Master PLC : Scanner




    1. Setup I/O Range.

    - Press I/O Button and Assign I/O Range.
    - Out / In both need setup.

    - RACK 89 is "EtherNet/IP" device meaning.

    - SLOT 1 is Main_Board's RJ45 Port.

    (Almost contain 2 ports. EtherNet/IP communication recommend Upper Port.)

    - Include UOP Area, DO Range "START" from value 21.

    - Include UOP Area, DI Range "START" from value 19.

    - Without UOP Control by Master PLC, "START"from value 1. (when other field-bus control UOP Signal)




    2. Setup Controller IP Address

    - "IP Address" must given from Scanner (Ask PLC engineer)

    - "Subnet Mask" is 255.255.255.0 default. do not modify.

    - "Board Address" is showing MAC addres. do not modify.

    We bought a used robot and are trying to see everythin is righ...im used to kawasaki and is new to fanuc......when i start the robot and try to jog, it saays : 'bad io assgn ; rack 89 slot2;....." and doesnt move at all,.....can you help me figure this out please....

    1. Press I/O

    2. F1 [TYPE], 7 UOP

    3. F2 [CONFIG]

    4. Remove Rack, Slot, Start, Point value

    5. F1 [TYPE], 3 DIGITAL

    6. as same Step 4

    5. Controller Warm or Cold Start

    1. ASCII Upload

    ASCII upload should be free. This used to be a free option in the RJ3iB days, but now Fanuc charges for it. Same with Karel.

    hmm... if possible, I'd like program syntax check when upload.
    like a .... Kawasaki Terminal.

    or *.TP conversion *.PE or *.LS without fanuc TP environment.

    need 3rd certified application or fanuc official program for upload ability.

    R507! R507! R507!




    2. Client Program

    why FANUC didn't support like a "ROBOT_STUDIO(ABB)" application?
    Roboguide has a power full function and good ability. but... not a free software.

    they are looks like a Scrooge :face_with_tongue:

    I'm often make "Education manual" document for End_User.

    create screen_shot with robotstudio Program

    this app support virtual Teaching Pendant. and almost function support.

    you hadn't roboGUIDE license? Insert USB and Select PRINT omg...




    3. Union Ui, Uo signal length.

    Ui 1~ 18, Uo 1~20 .. stop. stop.

    just fix total 20bits each Ui , Uo please.

    it is very uncomfortable arrange Ui, Uo, Di, Do with PLC Addres.

    4. SHIFT makes increase fatigue.

    J591! J591! J591!

    Look out other maker robots.

    they are needs when jogging only deadman switch.

    why we have to mix SHIFT + JOG or SHIFT+FWD & BWD ??

    too hurt wrist and finger.




    5. RS232 communicate.

    Why fanuc didn't open this serial port?

    and, Basic instruction NOT SUPPORT control for RS_232C communicate.

    .... they are try to sell iRVision System?

    defense 3rd part vision company?


    more important is, FANUC iRVision too expensive and not comfortable.

    Maintenance team said too hard modify or setup.

    yeah yeah, I know. me too.


    with register value, we can control 3rd_part Vision Program.

    Trigger, Receive Result, XYZWPR Value, etc...

    Cannot receive X,Y,R value?
    You have to purchase ethernet communicate option... :angry_face:




    FANUC still occur wrist & finger fatigue.


    I'd like a more open basic component similar ABB

    my case, Cross connection mix with "Zone" signal output.


    Co111 : CCLink Output (DSQC_337)

    Do01 : Actual Sol_Valve Control for Clamp (DSQC_652)

    Do02 : Actual Sol_Valve Control for Unclamp (DSQC_652)

    Vo01 : User Customized Virtual Board

    Vo02 : User Customized Virtual Board

    Hello

    we are installed R_2000iC 165F with External Axis on drive carriage.
    and, controller type is R_30iB.


    process is... Parts from Diecasting Machine.


    Diecasting machine's cooling material is water.

    they are installed control system at upper deck. (Main PLC Cabinet, Hydro Pump, Inlet pipe, etc...)


    and, client needs robot controller place on the deck. (protect from heat, moisture, metal slug...?)

    so, we just place controller on deck. side by PLC cabinet.


    but... it is too hard switch "AUTO & T1 & T2" mode.


    up stair -> Keybox turn -> down stair ... infinity loop :loudly_crying_face::loudly_crying_face:


    so my question.


    1. FANUC selling controller's keybox extension kit?

    2. R_J3iB controller (Old version) support when "TP ON" can jogging without controller change to Manual mode.

    R_30iB controller possible?



    have a nice day :grinning_squinting_face:

    PROC aTEST()


    VAR num nRow_X;
    VAR num nColumn_Y;
    VAR num nLayer_Z;
    VAR num nOffs_X;
    VAR num nOffs_Y;
    VAR num nOffs_Z;
    PERS num nCount;


    VAR num nResult_X;
    VAR num nResult_Y;
    VAR num nResult_Z;



    VAR robtarget pMove;
    PERS robtarget pOrigin := Create robtarget and record reference position please.
    PERS robtarget pReady := Create robtarget and record for approach position.


    nRox_X := ((nCount -1) MOD 5) +1);
    nColumn_Y := ((nCount -1) DIV 3);
    nLayer_Z := nCount DIV 15;


    nOffs_X := 50;
    nOffs_Y := 130;
    nOffs_Z := 200;


    pMove := Offs(pOrigin, nResult_X, nResult_Y, nResult_Z);



    WaitUntil Di01_Stack_Grant = 1;
    Reset Do01_Stacker_Interference;


    MoveJ pReady, v2000, z50, tool0;


    MoveL Offs(pMove, 0, 0, 300), v1000, z50, tool0;
    MoveL Offs(pMove, 0, 0, 50), v500, z10, tool0;
    MoveL pMove, v100, fine, tool0;
    rGrip_Open;
    MoveL Offs(pMove, 0, 0, 50), v100, z10, tool0;
    MoveL Offs(pMove, 0, 0, 300), v1000, z50, tool0;


    MoveJ pReady, v2000, z50, tool0;
    nCount := nCount + 1;


    IF nCount > 45 THEN
    TPErase;
    TPWrite " Stacker has Full-Stacked !";
    TPWrite " Please Replace Bin !";
    nCount := 0;
    Stop;
    EndIF


    EndPROC



    ... R-Y-O feel like this?

    PROC rGrip_Clamp()
    VAR bool bTimeover;


    ! Gripper Clamp Operation
    Begin:
    WaitTime 0.5;
    Set Do01_Grip_Clamp;
    Reset Do02_Grip_Unclamp;
    WaitUntil Di01_Grip_Clamp = 1 AND Di02_Grip_Open = 0\MaxTime:=5\TimeFlag:=bTimeover;


    IF bTimeover = TRUE THEN
    TPErase;
    ErrWrite " PROC rGrip_Clamp ","Clamp Operation has Failed !"\RL2:=" Check Di01 and Di02 Sensor";
    SetGo Go01_Error_Code, 1;
    PulseDO\PLenght 2.0, Co44_Rob_Error;
    Stop;
    GOTO Begin;
    Else
    Gripload ldWork;
    WaitTime 1.0;
    Return;
    EndIF


    Return;
    EndPROC



    This sub-routine for Gripper Clamp operation.


    Do signal assign DSQC652 I/O Card (Sol-valve and PX Sensor)
    Co Signal assign DSQC378 CC-Link Card


    that group output signal mix 1,2,4,8,18 bit.


    ie... 1 is clamp error, 2 is unclamp error..


    Co44 signal and bit(group) status mix and PLC programmer will be display error on GOT window. for each error kinds of number.

    VAR intnum iRob_Trap;




    PROC rWatch_Dog()
    IDelete iRob_Trap;
    CONNECT iRob_Trap WITH trGrip_Error;
    ISignalDI Di01_Grip_Clamp, 0, iRob_Trap;
    ISleep iRob_Trap;
    RETURN;
    EndPROC




    TRAP trGrip_Error
    PulseDO\PLength := 2.0, Do20_Grip_Clamp_Fault;
    STOP;
    ISleep iRob_Trap;


    ENDTRAP




    PROC rST10_Pickup()
    rWatch_Dog;
    WaitUntil Di30_ST10_Grant = 1;
    Reset Do30_ST10_Interference;


    MoveJ pST10_Ready, v1000, z50, tool0;
    MoveL Offs(pST10_Part, 0, 0, 300), v500, z30, tool0;
    MoveL Offs(pST10_Part, 0, 0, 50), v300, z10, tool0;
    MoveL pST10_Part, v50, fine, tool0;


    rGrip_Clamp;
    IWatch iRob_Trap;


    MoveL Offs(pST10_Part, 0, 0, 50), v300, z10, tool0;
    MoveL Offs(pST10_Part, 0, 0, 300), v500, z30, tool0;
    MoveJ pST10_Ready, v1000, z50, tool0;


    Set Do30_ST10_Interference;
    PulseDO\PLength :=2.0, Do31_ST10_Pickup_End;
    RETURN;
    EndPROC




    PROC rST20_Unload()


    WaitUntil Di40_ST20_Grant = 1;
    Reset Do40_ST20_Interference;


    MoveJ pST20_Ready, v1000, z50, tool0;
    MoveL Offs(pST20_Part, 0, 0, 300), v500, z30, tool0;
    MoveL Offs(pST20_Part, 0, 0, 50), v300, z10, tool0;
    MoveL pST20_Part, v50, fine, tool0;


    ISleep iRob_Trap;
    IDelete iRob_Trap;
    WaitTime 0.5;


    rGrip_Open;


    MoveL Offs(pST20_Part, 0, 0, 50), v300, z10, tool0;
    MoveL Offs(pST20_Part, 0, 0, 300), v500, z30, tool0;
    MoveJ pST20_Ready, v1000, z50, tool0;


    Set Do30_ST20_Interference;
    PulseDO\PLength :=2.0, Do31_ST20_Pickup_End;
    RETURN;
    EndPROC





    PROC rGrip_Clamp()
    ! Gripper Clamp Operation


    Check:
    WaitTIme 0.2;
    Set Do51_Grip_Clamp;
    Reset Do52_Grip_Open;
    WaitUntil Di51_Grip_Clamp = 1 AND Di52_Grip_Open = 0\MaxTime:=5\TimeFlag:=bTimeover;


    IF bTimeOver = FALSE THEN
    WaitTIme 1.0;
    GripLoad ldPart;
    RETURN;
    ElseIF bTimeOver = TRUE THEN
    TPErase;
    Reset Do51_Grip_Clamp;
    Reset Do52_Grip_Open;
    ErrWrite " PROC rGrip_Clamp", " Gripper Clamp Operation has Failed!"\RL2:=" 1. Check Di51 or Di52 Input Signal"\RL3:=" 2. Check Air Pressure";
    Stop;
    GOTO Check;
    EndIF


    EndPROC

    var num nTimer;


    WaitUntil Gi01_PLC_Numeric <> 0;
    nTimer := GInput(Gi01_PLC_Numeric);


    TPWrite " Current Timer is "\num:=nTimer;
    WaitTime nTimer;




    You have to set "Group Input" for 1,2,4,8... Binary Mix.

    Use RS-232C Communication.


    pCurrent_pos := CRobT(\Tool:=tool0\Wobj:=wobj0);


    nPos_X := pCurrent_Pos.trans.X;
    nPos_Y := pCurrent_Pos.trans.Y;
    nPos_Z := pCurrent_Pos.trans.Z;


    sPos_X := ValToStr(nPos_X);
    sPos_Y := ValToStr(nPos_Y);
    sPos_Z := ValToStr(nPos_Z);


    Open "COM1:", iodev1;
    ClearIOBuff iodev1;
    Wait 0.5;


    WriteStrBin iodev1, "sPos_X;"
    Set Do01_Trans_X;
    WaitUntil Di01_Confirm_X = 1\MaxTime:=5\TimeFlage:=nTimeOver_X;
    Reset Do01_Trans_X;
    Wait 0.5;


    WriteStrBin iodev1, "sPos_Y;"
    Set Do02_Trans_Y;
    WaitUntil Di02_Confirm_Y = 1\MaxTime:=5\TimeFlage:=nTimeOver_Y;
    Reset Do02_Trans_Y;
    Wait 0.5;


    WriteStrBin iodev1, "sPos_Z;"
    Set Do03_Trans_Z;
    WaitUntil Di03_Confirm_Z = 1\MaxTime:=5\TimeFlage:=nTimeOver_Z;
    Reset Do03_Trans_Z;
    Wait 0.5;


    ClearIOBuff iodev1;
    Close iodev1;

    I'm still programming in T/P.


    so, when over line 2K, Finger and palm feel so sick.


    It is very very stress for me.


    so question.


    How can I convert file format(Editor similar "Notepad". Text format, UTF-8 or ANSI type) to TP binary type?

Advertising from our partners