ABB RAPID Veteran, a few question about FANUC KAREL

  • So I'm an experienced RAPID programmed and I'm about to start my first FANUC robot project.


    I've found out that most (if not all) FANUC robot are programmed in TP and I was wondering why so little love for KAREL.


    A few quick question and I want to sort out :


    - Can we program 100% of a FANUC program in KAREL? Is there some function in TP not avalaible in KAREL?
    - I've heard that you can't move the robot in KAREL, is that true?
    - Also, how debugging work? Since KAREL it look 1-way compiled (as opposed to RAPID which is Interpreted), I wonder how it works.


    Feel free to add you personal opinion on the matter too.<
    Elok

  • Elok


    Welcome to the robot-forum


    I have 10 years experience with about 100 Fanuc robots (many applications) and I never used Karel. The reason: Customer didn't buy the option.


    I wouldn't have a problem programming Karel because I know programming on similar languages, but I never had the necessity to use Karel when doing Fanuc programming.


    I can't answer you other questions for obvious reasons

    Retired but still helping

    Edited once, last by Fabian Munoz ().

  • Thanks Fabian,


    I'm wondering since I'm got a lot of experience in High-Level Programming Langage but I'm not at ease with Low-Level Programming Langage like TP. Remind me of my old Assembly Langage class I took a long time ago.


  • - Can we program 100% of a FANUC program in KAREL? Is there some function in TP not avalaible in KAREL?


    As far as I am aware, anything you can do logically in TP you can do in Karel.



    - I've heard that you can't move the robot in KAREL, is that true?


    While I haven't personally done movement from karel, this is what I've heard: This is true if you want to move multiple groups (arms, arm and a positioner, etc). While you can still move the 1st group with Karel, Fanuc has been de-emphasizing movement from Karel for the last couple of controller generations. They want all arm movement to happen from TP programs.



    - Also, how debugging work? Since KAREL it look 1-way compiled (as opposed to RAPID which is Interpreted), I wonder how it works.


    Horribly. Lots of print statements or writing vars to temp files. You can step through a karel program on the pendant, but you can't actually see what it is doing. It does report out what line number it is on though.



    Feel free to add you personal opinion on the matter too.


    Unless there is some advanced reason you need Karel, I would recommend that you avoid Karel if you can.

    Check out the Fanuc position converter I wrote here!


  • So I'm an experienced RAPID programmed and I'm about to start my first FANUC robot project.


    I've found out that most (if not all) FANUC robot are programmed in TP and I was wondering why so little love for KAREL.


    Personally I've always believed it's partly because most robot integrators are not programmers. Karel is quite an archaic language (reminiscent of 70s-80s style Pascal) and has quite some restrictions that may require some persistence to work through. TP is much simpler in that regard and also 'easier to learn' (simpler constructions, simpler syntax, etc).


    And besides that it's probably true that for a lot of applications, TP is enough.



    A few quick question and I want to sort out :


    - Can we program 100% of a FANUC program in KAREL? Is there some function in TP not avalaible in KAREL?


    No, for one thing: you're not supposed to initiate any motion from a Karel program any more. Some more recent software options also only come with TP 'entrypoints', which makes accessing / starting them from Karel impossible or difficult.


    But there are also things that TP doesn't support: linear algebra, socket and serial comms, trigonometry (could be different now, it's been a while), file io, displaying complex UIs and some other things.



    - I've heard that you can't move the robot in KAREL, is that true?


    Depending on the controller series, you can, but you shouldn't (according to Fanuc).


    There is a marked performance difference between motions initiated from a Karel program and those in a TP program. You'd have to ask Fanuc for the details, but apparently the Karel motion interface hasn't been kept up to date for the past 10 years or so.



    - Also, how debugging work? Since KAREL it look 1-way compiled (as opposed to RAPID which is Interpreted), I wonder how it works.


    There are some software options that can make this easier (they let you trace execution of programs or visualize certain aspects of your control flow) but in general: debugging is just running the program. Preferably in Roboguide first. As you're not supposed to be doing any motion in a Karel program anyway that is less dangerous than it sounds.


    I'm not sure whether you can step through a Karel program. It would probably not do you much good as, as you notice, Karel programs are compiled, so the TP cannot show you a source listing like it can with TP.


    ABB RobotStudio with the profiler, stepping and debug views is miles ahead of Fanuc in this regard.



    Feel free to add you personal opinion on the matter too


    Personally I am quite ok with Karel, but as Fabian notes, the customer does need to have the option installed and authorized. Unfortunately Fanuc has decided that on the most recent controllers they want to make even more money on something like Karel, so it's something you really need to order.


    It would be nice though if Fanuc could spend some time on the system and invest in some decent debugging, profiling and upgrading of the syntax, flexibility and overall workflow of Karel.


    Be prepared to spend some time asking yourself why-in-**&*&^& something in Karel works the way it does, especially when coming from ABB rapid.

  • Elok,


    If You work for big dogs that like their FANUCs with some kind of custom functions (like automakers), You will stumble on some Karel code here and there.


    But, just complementing what our forum colleagues already said, develop in Karel could be expensive for small integrators/shopfloors.


    You will need the option installed in controller. You will need RoboGuide or OLPCPro to compile the Karel code, You will need a skilled programmer and normally this skilled programmer will need time, since Karel isn't straghtforward as other industrial languages and every time the programmer finds an error, he needs to debug the source, compile it and uplpad it again...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now