1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Fanuc encoder and collaborative robot

  • manthan
  • November 2, 2024 at 4:59 PM
  • Thread is Unresolved
  • manthan
    Trophies
    1
    Posts
    16
    • November 2, 2024 at 4:59 PM
    • #1

    Hi,

    I am currently working on a project where I need to integrate Fanuc encoder “a860-0301-t001” with a collaborative robot.

    Idea is to load parts on conveyor. Loading two parts at a time and all parts will be at an angle of 30 degrees. Total six parts I will be loading. So, three positions with certain offset.

    Encoder would be used for “clear to place signal” I am thinking to receive data from Encoder to Robot and Map it to PLC side. And PLC will decide wether it is ok to place or not.

    Now, I am unsure how to receive the encoder data back to PLC. Does anyone know or have previously worked on project like this? Or if anyone has different approach, new ideas are welcome.:thinking_face:

  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,086
    • November 3, 2024 at 6:25 PM
    • #2

    All important info is missing including type of robot, type of plc, type of connection between them...

    Also don't see why plc needs to know the conveyor position. Based on your description, robot just needs a digital signal from plc that it is ok to load parts on conveyor.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • manthan
    Trophies
    1
    Posts
    16
    • November 3, 2024 at 10:26 PM
    • #3

    Robot: CR-35iA

    Encoder: a860-0301-t001

    PLC: Omron (NX1P2)

    Robot controller and PLC are communicating via EIP. Encoder connected to Robot Controller.

    I have attached a picture for your reference to understand the process. Robot will be picking up parts from Infeed Conv, two at a time. Whenever, robot goes to place, it needs to make sure if conv has moved forward by certain distance.

    So, three fix drop positions will be created to drop at an angle. And whenever robot goes to drop, PLC will check if it is ok to drop or not on one of those three positions.


    Yes, robot will need only DI to ok to drop or not. But for that signal I need to compare encoder data on PLC side for that signal. So I am trying to figure out, how do I get data of encoder which is connected on robot controller on my PLC.

    If you have any other idea to tackle this problem, let me know.

    Images

    • IMG_2555.jpg
      • 584.24 kB
      • 1,200 × 1,600
      • 6
  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,086
    • November 3, 2024 at 10:51 PM
    • #4

    if you have a working EIP connection, mapping signals back and forth should be no problem and if you need help, members in Fanuc forum section should be able to provide guidance. so i am moving this topic to Fanuc forum.

    as far as process goes, i find that setup odd...

    1. PLC controls conveyor

    2. Robot monitors conveyor position via encoder.

    3. conveyor position is sent from robot to PLC

    4. PLC makes decision and sends to Robot signal "load conveyor enable"

    first of all there need to be a sensor to ensure that placement location is not already populated. for example placed by operator, or even one placed by robot if robot loses track of it (perhaps after restart etc.)

    also if the signal from PLC is supposed to function as registration sensor, the problem is latency or data update speed.... above approach can work for conveyor that moves a bit then stops and waits for robot to place parts. but if conveyor is running continuously, this kind of handshaking is going to be slow and as a result placement is going to be inconsistent (6 parts will not be in nice straight line of 6 but three jagged lines of 2). reason is latencies in EIP data exchange, PLC scan time etc.

    in my experience registration input is a high speed input on same device that tracks conveyor position. in this case that would be robot controller because that is where encoder is wired.

    not familiar enough with your process or Fanuc setup or capabilities so i would leave that to others. for me, this could work slightly differently:

    1. robot signal that enables placing is not treated as registration signal, it is only permission to place parts on conveyor (for example to allow dry cycle operation, etc.). so this signal does not change very frequently (for every part) - it can stay on for hours/days/weeks...

    2. robot reads conveyor signal, robot decides where to place parts (if permitted by PLC and conveyor moved enough to place the part). then robot triggers registration or resetting of conveyor position in a convenient manner... this also enables continuous operation without conveyor position rollower.

    3. PLC monitors conveyor position (refresh and latencies not critical any more). and if value exceeds some present limit (according to robot reach and conveyor speed), it pauses conveyor or optionally disables placing of parts on conveyor. this way robot can catch up if needed...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • panic mode November 3, 2024 at 10:51 PM

    Moved the thread from forum General Discussion of Industrial Robots Only to forum Fanuc Robot Forum.
  • manthan
    Trophies
    1
    Posts
    16
    • November 3, 2024 at 11:45 PM
    • #5

    Conveyor is way too slow. Sorry I forgot to mention that. Slow in the sense, it would be running maximum at the speed of 190mm/minute

    So, I think data transfer will not be a major issue. Also, not much traffic on the network. If I find a way to map data from Encoder to PLC, it seems doable. Let’s see what others have to say. I hope someone can save some time of mine, otherwise I will have to go through lots of documentation to map data.:fearful_face:

  • Nation
    Typical Robot Error
    Reactions Received
    542
    Trophies
    9
    Posts
    1,924
    • November 6, 2024 at 4:58 PM
    • #6

    Do you only need to map the encoder counts over? The encoder is hooked up to the robot right?

    Can the omron do explict messaging? If so, you could read the counts out of a register. Otherwise, you will have to setup some group outputs.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • manthan
    Trophies
    1
    Posts
    16
    • November 10, 2024 at 9:40 PM
    • #7

    Yes, Omron is capable of doing explicit messaging. I can do that. Would you have manual which describes from where to pull encoder data from Fanuc? Such as Class, Attribute and Instances?

  • Nation
    Typical Robot Error
    Reactions Received
    542
    Trophies
    9
    Posts
    1,924
    • November 11, 2024 at 1:22 AM
    • #8

    The Ethernet/IP manual goes over it. There is a whole section that covers all the explicit messages. If you have Rockwell software, I created an example program for all cases in the manual here.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • manthan
    Trophies
    1
    Posts
    16
    • November 11, 2024 at 2:47 PM
    • #9

    Also, if you could help. We have iRPick tool as well. But, without sensor or vision. Is it possible to use just encoder to place parts? what would the basic idea would be? I am reading manuals but they all includes sensor and vision to work with.

  • sborchshev
    Reactions Received
    4
    Trophies
    2
    Posts
    39
    • November 11, 2024 at 9:22 PM
    • #10

    Why to bother with encoder at all? How much precision on the conveyor you are looking for? (gap between rows of parts) What kind of drive you have on the conveyor? I would drive the belt ether off PLC or robot DO with a timer. And set a sensor parallel to the row trailing edge to be sure it is clear to place the part after belt was indexed.

  • sborchshev
    Reactions Received
    4
    Trophies
    2
    Posts
    39
    • November 11, 2024 at 9:28 PM
    • #11

    Also from your picture there should be one placement location and then you offset it five times to create your row. Or the conveyor never stops? Than I would placed the sensor on the leading edge of the row, sensor not blocked - ready to start new row, finished the row, reset offsets, sensor is off - start new one...

  • manthan
    Trophies
    1
    Posts
    16
    • November 11, 2024 at 10:05 PM
    • #12

    That is what customers were doing before. Based on two sensors they were defining which row to go to. In terms of clearance, trays need to be very close, trays need to be almost touching each other. Only that way we can meet the CT and get the most out of it. It has to fit 6 trays in a row. Sensor idea was used to place parts on high speed conv and that conv was used to push parts off it to low speed conv. But, that wasn't as precise as they needed to be.


    Encoder gives precision. This low speed conv is made up of metal and goes into a very high temp furnace. So belt expands, retracts, bents, slips, anything you can think off. Sometimes, gets a bumps on it. And that's why encoder will be mounted on the belt instead of motor. that way we can know, how much belt has moved.

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,612
    • November 12, 2024 at 8:53 AM
    • #13
    Quote from manthan

    . So belt expands, retracts, bents, slips, anything you can think off. Sometimes, gets a bumps on it.

    Your encoder won't detect that mechanical inadequates, it is mounted at the motor, so bending, extracting, slipping will not be detected.:thinking_face:

    If you really want to catch all those things I think you need a camera.

  • sborchshev
    Reactions Received
    4
    Trophies
    2
    Posts
    39
    • November 12, 2024 at 12:16 PM
    • #14
    Quote from hermann

    Your encoder won't detect that mechanical inadequates, it is mounted at the motor, so bending, extracting, slipping will not be detected.:thinking_face:

    If you really want to catch all those things I think you need a camera.

    I guess he meant encoder with the roller that we roll on the conveyor surface... Any way seems over kill. I have a cell that places parts on the slow moving belt, two parts per normal cycle, and in the break mode, when operator is not present it stagger them on the belt to fill entire surface. Pretty tight too. Coolant reserve tank, sitting on the belt upside down...on the neck... Runs on timers and constant belt speed. Unless you are talking one millimeter tolerance, but in this case squeezing parts on the belt, what are you gaining? One extra row of six parts over an hour? Need more parts on the belt, get a bigger belt...

  • manthan
    Trophies
    1
    Posts
    16
    • November 12, 2024 at 2:18 PM
    • #15

    Yes, we have done same kind of project with camera and it has been in production since a year. no issue with that. But, in this one, customer doesn't want to spend on camera. If they do, it would be a piece of cake. Getting a bigger belt would cost way more than project price to them.


    Encoder is not mounted on motor. It is on the belt surface with roller to know exact travel distance.

  • sborchshev
    Reactions Received
    4
    Trophies
    2
    Posts
    39
    • November 12, 2024 at 4:03 PM
    • #16

    Still, what if something stuck under encoder, you will get false reading and potentially either crush of never load or bigger gaps...

  • Nation
    Typical Robot Error
    Reactions Received
    542
    Trophies
    9
    Posts
    1,924
    • November 12, 2024 at 5:51 PM
    • #17
    Quote from sborchshev

    Still, what if something stuck under encoder, you will get false reading and potentially either crush of never load or bigger gaps...

    Put a broom in front of the encoder. Did this exact thing on several ford lines with the encoder wheel on the conveyor surface.

    Quote from manthan

    Also, if you could help. We have iRPick tool as well. But, without sensor or vision. Is it possible to use just encoder to place parts? what would the basic idea would be? I am reading manuals but they all includes sensor and vision to work with.

    I'm not familar with iRPick tool, but I think you could use the line tracking commands to do this. Take a look at the line tracking option manual.

    The basic setup would be: Trigger via an IO to reset the tracking, then go place via a tracking program.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • manthan
    Trophies
    1
    Posts
    16
    • November 12, 2024 at 7:34 PM
    • #18

    yes, looking into that. trigger mode via "distance" and "put part in a queue". Visualizing a tray with three cells (2 parts in each cell)

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download