Posts by mR.PCX

    don't use PNS in a BG-logic.

    You use the BG Logic as Auxilary Task. You will have inside all you need check always or copy/transfer I/O with PLC.

    The PNS is Launched by PLC sequencielly as MAIN program but you can loop inside with LBL (as explained before) or not.

    Hello All,

    I'am new in the blog and on robot.

    It's possibile to change the robot payload from the PLC?

    hi,


    Yes you need to declare in Comm Network PLC/ROBOT a Go/Gi and link in your program the value.

    In the last exemple you need to link your Gi (Group Input robot, OutPut PLC a Word or a Byte as you wish) with the AR[1] = Weight of payload (kg)

    Hi


    Fews paths :


    1/Are you sure with your calib reference (setting 0 with your calib grid) ?


    2/Are you sure the mechanical frame is ok ?


    3/Do you have any change conf NUT/FUT xxx in your trajectories ?


    4/Maybe you should limite the value of the W P R or/and transform them to keep in same turn (W -89.999, P +89.999 R -179.9999, in the setting of Vision Fanuc ?


    good luck

    You need to create a specific "AutoHome" program before get back to your Main program.


    For exemple, you have an E-stop, you need to known first where your robot is (tracker ID, register, bit of work area...). In this case you abort the current program, go to the Autohome (the robot go back to home ont a safety path) and you can go back to your Main program after.


    You need to separate the programmation of the normal cycle and the fault cases.


    It could be long to write this program (welcome in robotic world) but if you need to manage this fault case in automatic mode you don't have choice.

    Oh sorry i did'nt read carefully your first message. With a .Cm i think it will be complicated because you have to be in controlled start to do it (version 9.4, for older version it's different). You can test with system variables concerned. I hope i helped you a bit. good luck :smiling_face:

    An other exemple of .cm syntax

    PRINT "azertyuiop"

    DELAY 1000

    DEFPROG *SYSTEM*


    SETVAR $FNO "E-101165"

    SETVAR $HOSTENT[17].$H_ADDR "10.143.69.30"

    SETVAR $TMI_SNMASK[1] "255.255.255.0"

    SETVAR $HOSTENT[20].$H_ADDR "10.143.69.254"

    SETVAR $HTTP_AUTH[1].$TYPE 4

    SETVAR $HTTP_AUTH[2].$TYPE 4

    SETVAR $HTTP_AUTH[3].$TYPE 4

    SETVAR $HTTP_AUTH[4].$TYPE 4

    SETVAR $HTTP_AUTH[5].$TYPE 4

    SETVAR $HTTP_AUTH[6].$TYPE 4

    SETVAR $HTTP_AUTH[7].$TYPE 4

    SETVAR $HTTP_AUTH[8].$TYPE 4

    SETVAR $HSCDMNGRP[1].$MACRO_REG 100

    SETVAR $SI_UNIT_ENB 1

    SETVAR $PLST_GRP1[1].$COMMENT "QSDFG"

    SETVAR $PLST_GRP1[1].$PAYLOAD 52

    SETVAR $PLST_GRP1[1].$PAYLOAD_X -33.07235

    SETVAR $PLST_GRP1[1].$PAYLOAD_Y 0.179398

    SETVAR $PLST_GRP1[1].$PAYLOAD_Z 22.64599

    SETVAR $PLST_GRP1[1].$PAYLOAD_IX 54528.49

    SETVAR $PLST_GRP1[1].$PAYLOAD_IY 64557.29

    SETVAR $PLST_GRP1[1].$PAYLOAD_IZ 37259.31

    SETVAR $PLST_GRP1[2].$COMMENT "CHARGE 22kg"

    SETVAR $PLST_GRP1[2].$PAYLOAD 74.5

    SETVAR $PLST_GRP1[2].$PAYLOAD_X -3

    SETVAR $PLST_GRP1[2].$PAYLOAD_Y -2

    SETVAR $PLST_GRP1[2].$PAYLOAD_Z 29

    SETVAR $PLST_GRP1[2].$PAYLOAD_IX 106100

    SETVAR $PLST_GRP1[2].$PAYLOAD_IY 147300

    SETVAR $PLST_GRP1[2].$PAYLOAD_IZ 58200

    SETVAR $PLST_GRP1[3].$COMMENT "CHARGE 15kg"

    SETVAR $PLST_GRP1[3].$PAYLOAD 67.5

    SETVAR $PLST_GRP1[3].$PAYLOAD_X -6

    SETVAR $PLST_GRP1[3].$PAYLOAD_Y -1

    SETVAR $PLST_GRP1[3].$PAYLOAD_Z 28

    SETVAR $PLST_GRP1[3].$PAYLOAD_IX 90200

    SETVAR $PLST_GRP1[3].$PAYLOAD_IY 127700

    SETVAR $PLST_GRP1[3].$PAYLOAD_IZ 53100

    SETVAR $PLST_GRP1[4].$COMMENT "INTERCALAIRE"

    SETVAR $PLST_GRP1[4].$PAYLOAD 52

    SETVAR $PLST_GRP1[4].$PAYLOAD_X -8

    SETVAR $PLST_GRP1[4].$PAYLOAD_Y 0

    SETVAR $PLST_GRP1[4].$PAYLOAD_Z 27

    SETVAR $PLST_GRP1[4].$PAYLOAD_IX 75000

    SETVAR $PLST_GRP1[4].$PAYLOAD_IY 104300

    SETVAR $PLST_GRP1[4].$PAYLOAD_IZ 41700

    SETVAR $PARAM_GROUP[1].$ARMLOAD[2] 3.00E+00

    SETVAR $PARAM_GROUP[1].$ARMLOAD[1] 4.00E+00

    SETVAR $OPWORK.$UOP_DISABLE 0

    SETVAR $SHELL_CFG.$CONT_ONLY 0

    SETVAR $SHELL_CFG.$USE_ABORT 1

    SETVAR $SHELL_CFG.$CSTOPI_ALL 1

    SETVAR $CR_AUTO_DO 37

    SETVAR $CR_T1_DO 38

    SETVAR $REMOTE_CFG.$REMOTE_TYPE 1

    SETVAR $IO_AUTO_UOP 1

    SETVAR $JINC.$JINC_ENB 1

    SETVAR $SCR_GRP[1].$HBK_ENBL 0

    SETVAR $IO_AUTO_CFG 0

    SETVAR $IO_AUTO_UOP 0

    SETVAR $SHELL_CFG.$PNS_ENABLE 0

    SETVAR $SHELL_CFG.$SEL_TYPE 9

    SETVAR $SHELL_WRK.$CUST_NAME "CELL"

    SETVAR $SHELL_CFG.$PROD_MODE 1

    SETVAR $SHELL_CHK[3].$ENABLE 1

    SETVAR $SHELL_CHK[3].$RESUME 1

    SETVAR $SHELL_CHK[3].$PROMPT 0

    SETVAR $SHELL_CHK[3].$WARN 0

    SETVAR $SHELL_CHK[3].$FORCE 1

    SETVAR $SHELL_CHK[7].$ENABLE 1

    SETVAR $SHELL_CHK[7].$RESUME 1

    SETVAR $SHELL_CHK[7].$PROMPT 0

    SETVAR $SHELL_CHK[7].$WARN 0

    SETVAR $SHELL_CHK[7].$FORCE 1

    SETVAR $REFPOS1[1].$COMMENT "home"

    SETVAR $REFPOS1[1].$ENABLED 1

    SETVAR $REFPOS1[1].$HOMEPOS 0

    SETVAR $REFPOS1[1].$DOUT_INDX 3

    SETVAR $REFPOS1[1].$PERCHPOS[1] -1.570796E+00

    SETVAR $REFPOS1[1].$PERCHTOL[1] 1.745329E-03

    SETVAR $REFPOS1[1].$PERCHPOS[2] 4.363323E-01

    SETVAR $REFPOS1[1].$PERCHTOL[2] 1.745329E-03

    SETVAR $REFPOS1[1].$PERCHPOS[3] 0.000000E+00

    SETVAR $REFPOS1[1].$PERCHTOL[3] 1.745329E-03

    SETVAR $REFPOS1[1].$PERCHPOS[4] 0.000000E+00

    SETVAR $REFPOS1[1].$PERCHTOL[4] 1.745329E-03

    SETVAR $REFPOS1[1].$PERCHPOS[5] -1.570796E+00

    SETVAR $REFPOS1[1].$PERCHTOL[5] 1.745329E-03

    SETVAR $REFPOS1[1].$PERCHPOS[6] 3.141593E+00

    SETVAR $REFPOS1[1].$PERCHTOL[6] 1.745329E-03

    SETVAR $REFPOS1[2].$COMMENT "home"

    SETVAR $REFPOS1[2].$ENABLED 1

    SETVAR $REFPOS1[2].$HOMEPOS 0

    SETVAR $REFPOS1[2].$DOUT_INDX 35

    SETVAR $REFPOS1[2].$PERCHPOS[1] -1.570796E+00

    SETVAR $REFPOS1[2].$PERCHTOL[1] 1.745329E-03

    SETVAR $REFPOS1[2].$PERCHPOS[2] 7.452556E-03

    SETVAR $REFPOS1[2].$PERCHTOL[2] 1.745329E-03

    SETVAR $REFPOS1[2].$PERCHPOS[3] 3.457497E-02

    SETVAR $REFPOS1[2].$PERCHTOL[3] 1.745329E-03

    SETVAR $REFPOS1[2].$PERCHPOS[4] 0.000000E+00

    SETVAR $REFPOS1[2].$PERCHTOL[4] 1.745329E-03

    SETVAR $REFPOS1[2].$PERCHPOS[5] -1.605371E+00

    SETVAR $REFPOS1[2].$PERCHTOL[5] 1.745329E-03

    SETVAR $REFPOS1[2].$PERCHPOS[6] 3.141593E+00

    SETVAR $REFPOS1[2].$PERCHTOL[6] 1.745329E-03

    SETVAR $REFPOS1[3].$COMMENT "bloblo"

    SETVAR $REFPOS1[3].$ENABLED 1

    SETVAR $REFPOS1[3].$HOMEPOS 0

    SETVAR $REFPOS1[3].$DOUT_INDX 4

    SETVAR $REFPOS1[3].$PERCHPOS[1] 1.454924E+00

    SETVAR $REFPOS1[3].$PERCHTOL[1] 1.745329E-03

    SETVAR $REFPOS1[3].$PERCHPOS[2] 3.458544E-01

    SETVAR $REFPOS1[3].$PERCHTOL[2] 1.745329E-03

    SETVAR $REFPOS1[3].$PERCHPOS[3] -6.232571E-02

    SETVAR $REFPOS1[3].$PERCHTOL[3] 1.745329E-03

    SETVAR $REFPOS1[3].$PERCHPOS[4] -3.438299E-03

    SETVAR $REFPOS1[3].$PERCHTOL[4] 1.745329E-03

    SETVAR $REFPOS1[3].$PERCHPOS[5] -1.506708E+00

    SETVAR $REFPOS1[3].$PERCHTOL[5] 1.745329E-03

    SETVAR $REFPOS1[3].$PERCHPOS[6] 1.167974E-01

    SETVAR $REFPOS1[3].$PERCHTOL[6] 1.745329E-03

    SETVAR $REFPOS1[4].$COMMENT "blabla"

    SETVAR $REFPOS1[4].$ENABLED 1

    SETVAR $REFPOS1[4].$HOMEPOS 0

    SETVAR $REFPOS1[4].$DOUT_INDX 36

    SETVAR $REFPOS1[4].$PERCHPOS[1] -1.570796E+00

    SETVAR $REFPOS1[4].$PERCHTOL[1] 1.745329E-02

    SETVAR $REFPOS1[4].$PERCHPOS[2] 1.144587E+00

    SETVAR $REFPOS1[4].$PERCHTOL[2] 1.745329E-02

    SETVAR $REFPOS1[4].$PERCHPOS[3] -5.919982E-01

    SETVAR $REFPOS1[4].$PERCHTOL[3] 1.745329E-02

    SETVAR $REFPOS1[4].$PERCHPOS[4] 0.000000E+00

    SETVAR $REFPOS1[4].$PERCHTOL[4] 1.745329E-02

    SETVAR $REFPOS1[4].$PERCHPOS[5] -9.787981E-01

    SETVAR $REFPOS1[4].$PERCHTOL[5] 1.745329E-02

    SETVAR $REFPOS1[4].$PERCHPOS[6] 3.141593E+00

    SETVAR $REFPOS1[4].$PERCHTOL[6] 1.745329E-02

    SETVAR $RSPACE1[1].$COMMENT "PALETTE"

    SETVAR $RSPACE1[1].$IN_EXTERIOR 1

    SETVAR $RSPACE1[1].$PRIORITY 1

    SETVAR $RSPACE1[1].$DOUT_INDX 2

    SETVAR $RSPACE1[1].$DIN_INDX 2

    SETVAR $RSPACE1[1].$LENGTH_VTEX 1

    SETVAR $RSPACE1[1].$FIRST_VTEX[1] 260.000

    SETVAR $RSPACE1[1].$FIRST_VTEX[2] -2600.000

    SETVAR $RSPACE1[1].$FIRST_VTEX[3] -2000.000

    SETVAR $RSPACE1[1].$SECND_VTEX[1] 2460.000

    SETVAR $RSPACE1[1].$SECND_VTEX[2] 3000.000

    SETVAR $RSPACE1[1].$SECND_VTEX[3] 2000.000

    SETVAR $RSPACE1[1].$CUR_TCP[1] 0

    SETVAR $RSPACE1[1].$CUR_TCP[2] -1253.099

    SETVAR $RSPACE1[1].$CUR_TCP[3] 349.928

    SETVAR $RSPACE1[1].$PRE_TCP[1] 0

    SETVAR $RSPACE1[1].$PRE_TCP[2] -1253.099

    SETVAR $RSPACE1[1].$PRE_TCP[3] 349.928

    SETVAR $RSPACE1[1].$ENABLED 1

    SETVAR $THRRDITABLE[1].$DO_NO 56

    SETVAR $THRRDITABLE[1].$THR_ENB 1

    SETVAR $THRRDITABLE[2].$DO_NO 53

    SETVAR $THRRDITABLE[2].$THR_ENB 1

    SETVAR $THRSDITABLE[1].$DI_NO 289

    SETVAR $THRSDITABLE[1].$DO_NO 83

    SETVAR $THRSDITABLE[1].$THR_ENB 1

    SETVAR $THRSDITABLE[2].$DI_NO 290

    SETVAR $THRSDITABLE[2].$DO_NO 84

    SETVAR $THRSDITABLE[2].$THR_ENB 1

    SETVAR $RSCH_LOG.$EXP_ENB 1

    SETVAR $RSCH_LOG.$DEFAULT_DEV 1

    SETVAR $SCR_GRP[1].$M_POS_ENB 1

    SETVAR $SCR.$MAXNUMTASK 10

    SETVAR $EXTLOG_SIZ 1000

    SETVAR $EXTLOG_REQ 1000

    Hi,


    I would try this (I'm not sure) :

    1-Set a Uframe on your P0

    2-Teach your first and last points oriented (ex: the z tool face the center of the uf (eq P0) )

    3-You can find the second point to by trigo (a paper and a pen can be usefull :winking_face: ) or you can teach it

    4-Set the angles (W, P, R) of your 3 points (Details point) after teaching & be care with the Config (can change)

    Hi,


    I use SRS 2022 and I think it's better than it used to be :winking_face: It can be improved (still some little bugs yet) but I think in few years it will be like RobotStudio ABB or equivalent software.


    Buy it if you have to work now on staubli robots because you can prepare offLine very easily. If not wait the future version :winking_face:

    I hope I helped you camarade

Advertising from our partners