Position register and offset

  • Hello,


    I am new to robotics. I am working with an R-30iA controller and an AB controller.


    I am looking for a way to write offset and position values from a PLC.


    Should I write to the robot position registers from the GI/GO? Or do you have another solution?


    Thanks


    Have a nice day :smiling_face:

  • Yes, I have the Ethernet IP adapter on the robot.


    What do you mean by using an explicit message?


    Because when I go to the Ethernet Ip option I don't have the following information that I could find on the forum about the explicit message


    Input mode :

    IP addr :

    Class:

    Instance:

    Attribute:

    Service:

    Value size:

    value:


    Maybe it's because the controller is too old (2010)

  • An Explicit message is just the MSG instruction on the AB PLC. The parameters needed (class, instance, attribute, etc) are all documented in the EthernetIP Setup and Operations manual from Fanuc. If you have trouble let us know.

  • Hello,


    first of all, thank you for your answers, I am doing some research on the explicit message

    Can you send me the fanuc documentation because when I search on the internet it is impossible to download it. I am looking for this reference on the internet: MAROC77EN01101E



    And concerning the ADS file I can't open it. I tried with STUDIO 5000 and RS5000 and I always get this error: Error: Line 1: Import Export version mismatch. Expected version is 0.3. Check Import Export version syntax.

  • With AB you have to have the version that the program was created under on your computer to open that program up. In other words it appears the program was created in version 0.3, the computer you are attempting to open it with must have version 0.3 RSLogix 5000 on it.

  • Here is an example of sending a real number from a PLC Tag to Robot Register R[3].


    Set single Attribute = Service code 10

    Class = 6c = real number

    Instance = 1

    Attribute = 3 = hex value of Register number

    PLC_Tag is the data you want to send

    Bytes = 4, for a 32 bit real number



    (in the communication tab select the Path to the robot)



    There is an option to message directly to a Position Register but it is quite a bit more complicated. You have to set the UF, UT, X,Y,Z,W,P,R and config string.


    If you just need to send a simple offset along one axis I would just message to a single Register and then set the value of the PR from that.


    For example, set the x value of PR[5] .


    Message from PLC to R[3] using the example above.

    Then in the robot: PR[5,1] = R[3];

  • Merci beaucoup pour votre exemple,

    J'aimerais envoyer des offsets sur X,Y,Z,W,P,R mais je garderai votre exemple pour une autre utilisation.

    Fabien m'a envoyé un programme où il doit avoir l'échange avec les différents offsets.



    Code
    Thank you very much for your example,
    I would like to send offsets on X, Y, Z, W, P, R but I will save your example for another use.
    Fabien sent me a program where he must have the exchange with the different offsets.
  • Et je viens de vérifier sur mon robot je n'ai pas accès au message explicite. Soit le contrôleur est trop vieux, soit je n'ai pas le choix.

    J'ai regardé sur un robot plus récent pour essayer

    Code
    And I just checked on my robot I do not have access to the explicit message. Either the controller is too old or I have no choice.
    
    I looked on a newer robot to try
  • Hello,


    On the method with registers, I can't send him decimal and negative numbers

    What solution do you have?

    Knowing that I use a move block to send the GI


    Thanks

  • Yes you can send decimals and negative numbers.


    Make sure class is set to 6c and that you have the source tag as a real and size as 4 bytes.


    Try triggering it twice in a row.


    If that doesn't work send a screenshot of your setup.

  • There is some confusion here


    You do not need an option to read the Fanuc controller memory.. The PLC just reads it

    The picture HawkME posted is the PLC side of the setup and that is the only thing you have to do

    You do not do anything on the robot side. Just look at the register value changing when the PLC sends the command

    Retired but still helping

  • I'm sorry but I'm a beginner in this business so I don't know the software. Where are the parameters to be set in RS5000 to send positive and negative numbers to the robot?

  • Once you have the EthernetIP connection setup in the Robot, there is nothing you do in the robot program. It is all on the PLC side. In the PLC (RSLogix5000) you setup your message block as I have shown.

Advertising from our partners