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 variable access from another program

  • gwallee
  • February 25, 2015 at 4:21 PM
  • Thread is Resolved
  • gwallee
    Trophies
    3
    Posts
    41
    • February 25, 2015 at 4:21 PM
    • #1

    Hello, how can I access a variable that is in another program. Imagine that I'm picking from a magazine with 10 spots to pick from. I get the next available spot, pick from the spot, then I want to mark that spot as empty.

    CALL NEXT_AVAIL
    CALL PICK
    CALL INCREMENT

    The variable storing the status of each pick spot is stored in the NEXT_AVAIL program. I don't want to mark the spot as empty until the part is actually empty, so I do that in the last program, INCREMENT.

    So, I'm looking for the syntax to increment a variable in the NEXT_AVAIL program.

  • Ubadoob
    Trophies
    4
    Posts
    11
    • February 25, 2015 at 11:18 PM
    • #2

    Could you store the variable in a register? R[150] for example? This would be accessible in all programs.

    Edited once, last by Ubadoob (February 25, 2015 at 11:20 PM).

  • gwallee
    Trophies
    3
    Posts
    41
    • February 26, 2015 at 2:27 AM
    • #3

    There's 18 or more magazines, so I wanted a cleaner way to store the data.

    It looks like the FROM command us what I need. I just need to test it now.

  • gwallee
    Trophies
    3
    Posts
    41
    • February 27, 2015 at 4:21 PM
    • #4

    For anyone interested, the FROM clause is what I needed. This allows me to access the variable from another program.

    PROGRAM array_get
    VAR
    arraySlot: ARRAY[50] OF INTEGER
    BEGIN
    --Get Array Slot
    GET_REG(58,FALSE,slot,temp,STATUS)

    coll = arraySlot[slot] MOD 24
    row = arraySlot[slot] - coll
    row = row DIV 10
    SET_INT_REG(60,coll,STATUS)
    SET_INT_REG(59,row,STATUS)

    END array_get

    PROGRAM array_incr
    VAR
    arraySlot FROM array_get: ARRAY[50] OF INTEGER
    slot FROM array_get: INTEGER
    BEGIN
    --Increment
    arraySlot[slot] = arraySlot[slot] + 1
    END array_incr

  • rf103
    Reactions Received
    18
    Trophies
    4
    Posts
    264
    • March 2, 2015 at 12:40 PM
    • #5

    You may want to look into some sort of mutual exclusion system if you start sharing variables between programs.

    Karel has support for semaphores (CLEAR_SEMA, POST_SEMA and friends).

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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • 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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • 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