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

Karel Instruction Help

  • rich43
  • September 15, 2016 at 9:41 PM
  • Thread is Resolved
  • rich43
    Trophies
    3
    Posts
    16
    • September 15, 2016 at 9:41 PM
    • #1

    Have a Fanuc LR mate 200id with a 30i B Controller and want to modify a Karel program statement to add several OR statements with integer values after the <4 value. Can I just insert <4 OR 3 OR 5 OR 8 OR etc....Logic is as follows:
    • Line 67: IF (RI[2:HxBlnkGrip_CLSD]=ON AND R[1:Part Number]<4 Then;
    • Line 68: CALL M_LOAD_CYCLE ;
    • Line 69: JMP LBL[4] ;

  • rf103
    Reactions Received
    18
    Trophies
    4
    Posts
    264
    • September 16, 2016 at 8:12 AM
    • #2
    Quote from rich43


    Have a Fanuc LR mate 200id with a 30i B Controller and want to modify a Karel program statement

    That seems more like TP, not Karel ..

    Quote from rich43


    to add several OR statements with integer values after the <4 value. Can I just insert <4 OR 3 OR 5 OR 8 OR etc....Logic is as follows:
    • Line 67: IF (RI[2:HxBlnkGrip_CLSD]=ON AND R[1:Part Number]<4 Then;
    • Line 68: CALL M_LOAD_CYCLE ;
    • Line 69: JMP LBL[4] ;

    No, that won't work. You'll have to compare each option with R[1:Part Number], or come up with a single statement that lets you do what you want.

    Looks like you basically need to check whether R[1:Part Number] < 8, correct? You don't have 6 or 7 in there, but since you include 8, all the others will be smaller than that anyway.

  • rich43
    Trophies
    3
    Posts
    16
    • September 19, 2016 at 11:05 PM
    • #3

    rf103,

    Thanks for your response and my mistake, you are correct TP and not Karel.

    Also, your suggestion to compare each option with R[1:Part Number] =? may be my best option.

    Could I do this. IF (RI [HxBlnkGrip_CLSD] AND R[1:Part Number]<4 OR R[1:Part Number] =7 Then;

    Call_M_Load_Cycle

    Thanks again

  • Nation
    Typical Robot Error
    Reactions Received
    552
    Trophies
    9
    Posts
    1,934
    • September 20, 2016 at 2:29 PM
    • #4

    Yep, you could do that. The code would look like this:

    Code
    : IF (RI[1:HxBlnkGrip_CLSD] AND R[1:Part Number]<4 OR R[1:Part Number]=7), CALL M_LOAD_CYCLE  ;

    Be aware of order of operations though. Numerical comparisons have a higher precedence than logical comparators, and the 'AND' comparator has a higher order than the 'OR' comparator.

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

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

  • rich43
    Trophies
    3
    Posts
    16
    • September 20, 2016 at 7:59 PM
    • #5

    Thank you,

    Now if I had to add several OR statements, identical to the one just added but with different integer values, is there a better way of writing the line of code?

  • Nation
    Typical Robot Error
    Reactions Received
    552
    Trophies
    9
    Posts
    1,934
    • September 20, 2016 at 8:48 PM
    • #6

    You could expand the IF statement to encompess the conditions you want. A mixed logic IF statement can support up to 20 items in it.

    Otherwise you could break up the IF statement into multiple if statements.

    For example:

    Code
    : IF (RI[1:HxBlnkGrip_CLSD] AND R[1:Part Number]<4), JMP LBL[5] ;
        : IF (R[1:Part Number]=7), JMP LBL[5] ;
        : IF (R[1:Part Number]=11), JMP LBL[5] ;
        : IF (R[1:Part Number]=7=25), JMP LBL[5] ;
        : !None of the above are true... ;
        : JMP LBL[10] ;
        :  ;
        : LBL[5:True] ;
        : CALL M_LOAD_CYCLE  ;
        : LBL[10:End] ;

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

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

  • rich43
    Trophies
    3
    Posts
    16
    • September 20, 2016 at 10:30 PM
    • #7

    Thank you. Good Option.

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