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

Main difference kuka/fanuc, "Tribal knowledge" and generic good to know fanuc stuff

  • Hes
  • November 3, 2023 at 6:56 PM
  • Thread is Unresolved
  • Hes
    Reactions Received
    39
    Trophies
    2
    Posts
    235
    • November 3, 2023 at 6:56 PM
    • #1

    Hi,

    I'm coming from an almost pure Kuka background but will have to do some work with Fanuc in the future. What would be the main diffrences? Stuff thats good to know? Where do you find relevant programming manuals? Are Fanucs as open as Kuka to modification? Options, what are the most common? How do they compare to kuka? What hardware is used for i/o? Have anyone else gone the same way, and what is your experience? IDE for programming, what is commonly used? Are fanucs big or little endian? Datatypes any special quirks? General program structure for fanucs?

    I will take a programming course within some weeks. But still would like if anyone has gone the same route or has any opinions. I'm guessing I would very much like someone to explain the details and diffrences between fanuc and kuka from a kuka programmers point of view.

  • Online
    SkyeFire
    Reactions Received
    1,039
    Trophies
    12
    Posts
    9,375
    • November 3, 2023 at 9:57 PM
    • #2

    Well... TP language is far more primitive than KRL. You cannot create variables, only use the global Registers.

    You cannot write programs offline and import them into the robot unless the robot has the ASCII Upload Option, or you have RoboGuide to do the compilation offline.

    Backups only output the compiled binary version of programs -- if you want human-readable source code, you have to also do the ASCII Backup step, or do an MD backup, which is not under the normal Backup menu.

    Fanuc has two completely different programming languages, TP and KAREL. KAREL requires the robot to have the KAREL option installed, and KAREL programs must be compiled offline using RoboGuide before they can be loaded into the robot. And there is no ASCII backup for KAREL programs. TP generally lacks many functions, like Bitwise math, or Trig functions, that you're accustomed to having in KRL (unless you buy certain options). There are some things, like TCP/IP socket comms, that can only be done using KAREL, but you can't program KAREL without RoboGuide, which is the only "IDE" for Fanucs, and very $$$$$.

    Background Logic (BGL) uses basic TP language, though with some extra restrictions, and loop inherently. They also need to have some small WAIT commands to prevent them from running wild and consuming too much system resources. Aside from that, they're much like KUKA SPSs.

    I/O isn't conceptually different from KUKA, but the setup is much different. Fanuc uses a Rack/Slot concept, where each Rack is a different I/O "bus" type (ProfiNet, Ethernet/IP, etc), and each Slot is a different device.

    Fanuc has different categories of I/O, where KUKAs just make everything $IN and $OUT. DI/DO are similar to $IN/$OUT, and GI/GO are the equivalent of multi-bit SIGNAL declarations in KRL (and can overlap with DI/DO). However, there's also UI/UO, which take the place of KUKA signals like $MOVE_ENABLE and $PRO_ACT, and RI/RO, which are wired directly to I/O on the robot arm (usually at the elbow), though not all Fanuc robots have those physical hardware anymore.

    I/O hardware varies -- Fanuc has their own I/O modules, but these days, you'll most often just run Ethernet to Ethernet/IP or ProfiNet, OPC/UA or ModBus-TCP devices (like KUKA, each of these requires the correct Fanuc software option).

    Fanuc have nicer remote-access tools built into the robot then KUKA -- just plug in an ethernet cable, and point a web browser at the robot's IP address. Makes adding comments to Registers and Signals much easier, as well as irVision and other Fanuc options.

    Fanuc DCS is somewhat better than KUKA SafeOperation, overall, although that depends on which DCS option you buy.

    Fanucs are less 'hackable' than KUKAs, overall, and Fanuc charges for every tiny option that most other brands give you for free. They also treat even their basic manuals like state secrets. You'll want to sign up for a user account on Fanuc's website, which will allow you to download manuals (with your name watermarked on every page, to prevent you from sharing the files).

    Pendant programming is much more menu-driven. TP syntax is quite different from KRL, but not hard to figure out. Motion commands are still Joint or Linear, with a Point, Speed, Fine/Continuous, and some extra options like UTool/UFrame offsets, Vision offsets, setting outputs or calling Macros on the fly, etc. Points are firmly linked to specific UTool/UFrame, and will throw a fault if you try to TouchUp on them with a different UT/UF active. Fanucs use WPR (X rotation, Y rotation, Z rotation) where KUKAs use ABC (Z, Y', X"), and a set of CONF variables where KUKAs use S&T.

    Datatypes are limited. Registers contain any numeric value, and Position Registers contain either Cartesian or Joint (think E6POS and E6AXIS) values. PRs can be switched between these types by changing their Representation setting. There's also some String Registers, and Vision Registers (if a irVision option is installed).

  • HawkME
    Reactions Received
    568
    Trophies
    10
    Posts
    3,268
    • November 3, 2023 at 11:37 PM
    • #3

    Excellent summary Skyfire.

    I'd like to add one correction. BGLogic doesn't need wait statements and in fact doesn't allow them. It will manage just fine and won't hog resources. It is non-blocking, just like a PLC program.

    I think you may be thinking of autoexecute programs?

  • Online
    SkyeFire
    Reactions Received
    1,039
    Trophies
    12
    Posts
    9,375
    • November 6, 2023 at 5:29 PM
    • #4
    Quote from HawkME

    I'd like to add one correction. BGLogic doesn't need wait statements and in fact doesn't allow them. It will manage just fine and won't hog resources. It is non-blocking, just like a PLC program.


    I think you may be thinking of autoexecute programs?

    That... is absolutely correct. I was conflating non-BGL "background" programs with "real" BGL.

  • Nation
    Typical Robot Error
    Reactions Received
    523
    Trophies
    9
    Posts
    1,901
    • November 6, 2023 at 8:20 PM
    • #5

    Skyfire pretty much hits all the points.

    I'll add in terms of joint configuration representation. In Kukas, the J6 representation is whether or not to solve the point with J6 above zero degrees (+), or below zero degrees (-), where as Fanuc represents it with how many "Turns". A turn of 0 means J6 should fall between -180 and +180, a turn of 1 should fall between +180 and +540.

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

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

  • Hes
    Reactions Received
    39
    Trophies
    2
    Posts
    235
    • November 6, 2023 at 9:15 PM
    • #6

    First of all thanks for the response. Alot of stuff seems daunting like the limited "hackability" and the 2 diffrent programming languages (can these be mixed or is it either or?) Like i guessed this is a can of worms that creates more and more questions. But the summary provided gives the main pointers i was looking for. I've signed up for a fanuc account, any good pointers what a good place to start digging would be? Like kuka i would get to start with: kss syntax 8.x, system integrators manual, system variables 8.x as a bare minimum and go cover to cover. What is the equivalent with Fanuc?

  • Online
    DS186
    Reactions Received
    198
    Trophies
    6
    Posts
    1,049
    • November 6, 2023 at 10:08 PM
    • #7
    Quote from Hes

    Alot of stuff seems daunting like the limited "hackability" and the 2 diffrent programming languages (can these be mixed or is it either or?)

    TP and KAREL can be combined but as already mentioned above, KAREL is a paid option and it has to be ordered if needed.

    Quote from Hes

    I've signed up for a fanuc account, any good pointers what a good place to start digging would be? Like kuka i would get to start with: kss syntax 8.x, system integrators manual, system variables 8.x as a bare minimum and go cover to cover. What is the equivalent with Fanuc?

    I would say the basic operation manual (e.g. B-83284EN/10) is a good start and covers a lot of the basic stuff.

  • Online
    SkyeFire
    Reactions Received
    1,039
    Trophies
    12
    Posts
    9,375
    • November 6, 2023 at 10:37 PM
    • #8
    Quote from DS186

    TP and KAREL can be combined but as already mentioned above, KAREL is a paid option and it has to be ordered if needed.

    Well, they can coexist, but "combine" is a bit strong, I think? TP programs can call KAREL programs (often used by, for example, GM to keep their standardized logic hidden in unreadable, uneditable KAREL programs, while still leaving room for people to write and edit TP programs.

    Also, control of robot motion from inside KAREL is pretty heavily deprecated these days, so KAREL appears to be being relegated to use for tasks that TP can't support, but TP gets primary "custody" of motion programming.

    Quote from DS186

    I would say the basic operation manual (e.g. B-83284EN/10) is a good start and covers a lot of the basic stuff.

    The HandlingTool manual is another good one to start with. Past that, things get very option-specific.

  • Online
    DS186
    Reactions Received
    198
    Trophies
    6
    Posts
    1,049
    • November 6, 2023 at 10:43 PM
    • #9
    Quote from SkyeFire

    Well, they can coexist, but "combine" is a bit strong, I think?

    That's what I actually meant. But you are right, coexist is probably the better word in this context.

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