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. KUKA 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

KRL Variable Assigned to an attribute in a STRUC

  • jonathan.davis
  • July 30, 2021 at 5:41 PM
  • Thread is Unresolved
  • jonathan.davis
    Trophies
    2
    Posts
    5
    • July 30, 2021 at 5:41 PM
    • #1

    I'm having an issue creating an array of STRUC's I'd like to loop through and perform the same operation on.

    Right now, I have a STRUC and a value using that type.

    Code
    GLOBAL STRUC PARAM_TYP REAL current, past, CHAR name[25]
    DECL GLOBAL PARAM_TYP _paramArray[100]
    _paramArray[1] = {current 2.0, past 2.0, name[] "_offsetE1"}
    _paramArray[2] = {current _offsetE1, past 2.0, name[] "_offsetE1"}

    Param 1 works but param 2 shows the error "INTEGER, REAL or CHARACTER constant expected"

    Am I to understand that you cannot assign values in STRUC's by reference to another variable?

    Edited once, last by jonathan.davis (July 30, 2021 at 5:48 PM).

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,373
    • July 30, 2021 at 7:56 PM
    • Best Answer
    • #2

    Correct. You can't have more than one layer of abstraction, so to speak. No "indirect addressing," to put it another way. Each member of a STRUC must be set to a literal value, not "pointed" to another variable.

    So, in your .DAT file array, you would need to assign some literal initial value. Then, in your executable code, assign by:

    _ParamArray[2].current = _offsetE1

  • jonathan.davis
    Trophies
    2
    Posts
    5
    • July 30, 2021 at 8:40 PM
    • #3

    But there'd be no way to keep it up to date with whatever value that _offsetE1 gets adjusted to would there be without explicitly running that code every time?

    Thanks for your help

    Edited once, last by jonathan.davis (July 30, 2021 at 8:57 PM).

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • August 1, 2021 at 9:44 AM
    • #4

    If you need two variables that always have the same value, why using two variables instead of one?

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,373
    • August 1, 2021 at 10:42 PM
    • #5
    Quote from jonathan.davis

    But there'd be no way to keep it up to date with whatever value that _offsetE1 gets adjusted to would there be without explicitly running that code every time?

    Correct. You would need to run the executable "update code" periodically, or as an event-driven action. Depending on your specific needs. There's no way to "link" the two variables together dynamically, aside from adding the update code to an SPS background task.

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

Tags

  • KUKA
  • KRC 4. KSS 8.3.7. KR 6-2. DNet
  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