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

How to control a KRC2 sequence through an HMI?

  • Temp22
  • February 13, 2025 at 7:24 PM
  • Thread is Unresolved
  • Temp22
    Posts
    19
    • February 13, 2025 at 7:24 PM
    • #1

    Hi everyone,

    After programing the robot, we must deliver it to the company so that it can be operated by a worker. This worker does not know how to program the robot, so we need to provide them with an understandable interface to make it easier to use the robot.

    My question is: if possible, what would be the best way to integrate an HMI where they can select the sequence they need? Could it be in the pendant itself? or an touchscreen HMI?:help::ola:

    For communication with the robot, we have DeviceNet master and Ethernet/IP available.

    I have to say, im new in industrial robots :hi-bye:

  • Online
    panic mode
    Reactions Received
    1,279
    Trophies
    11
    Posts
    13,079
    • February 13, 2025 at 7:57 PM
    • #2

    pretty much anything is possible when programmer is capable. selecting sequence to run is easy. you can even use value in variable overview, or a rotary selector switch with sufficient number of positions. the problem is when something unexpected happens and you need to recover. the less sophisticated means (like selector switch) may not be suitable for feedback and interactions. one could also provide choice using dialog or HMI etc.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Temp22
    Posts
    19
    • February 13, 2025 at 8:24 PM
    • #3

    Hello panic :hi-bye:,

    Quote from panic mode

    the less sophisticated means (like selector switch) may not be suitable for feedback and interactions. one could also provide choice using dialog or HMI etc.

    I thought it was a good idea to use an HMI, but can buttons or, as you said, a rotary switch be added to them? Or do I have to add buttons in the coupler?

    And for HMIs via Ethernet/IP, can they change variables in the KRC2? I saw in another post that variables could only be viewed with kukavarproxy, or is there another way?:hmmm:

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • February 14, 2025 at 5:34 PM
    • #4

    What do you actually need to accomplish? How sophisticated does this "HMI" need to be?

    Most industrial HMIs require a PLC to operate them -- the HMI is often just a screen for a PLC.

    If you only need a selector knob and some buttons, you could wire them directly to the KRC via a DeviceNet module. But this will require programming on the robot to allow those signals to control what the robot does. For example, all KRCs come with the CELL.SRC module and support modules. Standard practice is to modify CELL.SRC as needed to allow remote selection of which programs are run.

    However, there is no simple way for a KRC (You have not mentioned the KRC model, or KSS version it runs) to control a screen. You could easily set up lights to be controlled from the KRC program, but an actual screen HMI would probably require adding a PLC.

  • Temp22
    Posts
    19
    • February 17, 2025 at 2:06 PM
    • #5

    Hi SkyeFire,

    Quote from SkyeFire

    What do you actually need to accomplish? How sophisticated does this "HMI" need to be?

    I need it to allow me to select and change the robot program for different products to be palletized, display the selected program, and have a button to reject defective products.

    Quote from SkyeFire

    Most industrial HMIs require a PLC to operate them -- the HMI is often just a screen for a PLC.

    Based on what was recommended in the other post, I’d rather avoid using a PLC and find a way to do it with the resources I have.

    Quote from SkyeFire

    You could easily set up lights to be controlled from the KRC program, but an actual screen HMI would probably require adding a PLC.

    Well, I guess I’ll have to research both cases now:gaah:

    Quote from SkyeFire

    You have not mentioned the KRC model, or KSS version it runs

    It’s a KRC2 ed2005, and we don’t know the KSS version yet.

    Edited 2 times, last by Temp22 (February 17, 2025 at 2:24 PM).

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • February 17, 2025 at 3:10 PM
    • #6

    Well, a minimum-cost "HMI" could just be a selector switch and some lights, with each switch position and light labelled with a specific product name. The switch would tell the robot what to run, the light would show what's being run. It could all be controlled from the robot program.

    Ditto for the reset button.

  • Online
    panic mode
    Reactions Received
    1,279
    Trophies
    11
    Posts
    13,079
    • February 17, 2025 at 3:26 PM
    • #7

    Simplest HMI is just a KRL dialog message with buttons PREV, NEXT, SELECT.

    every time PREV or NEXT is pressed, display another message...

    how hard is that?

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Temp22
    Posts
    19
    • February 18, 2025 at 7:56 PM
    • #8
    Quote from SkyeFire

    Well, a minimum-cost "HMI" could just be a selector switch and some lights, with each switch position and light labelled with a specific product name.

    The problem with that is that there are too many products to select them one by one with a selector, and besides, the batch progress percentage needs to be displayed.

  • Temp22
    Posts
    19
    • February 18, 2025 at 7:58 PM
    • #9

    We finally decided on the following: We will use the Zelio Logic I mentioned in another thread for the HMI, connecting a screen via Modbus TCP. Communication with the robot will be point-to-point through KRC2 I/O modules and the smart relay’s I/Os.

    At least, that’s what I have in mind unless you have any suggestions.

    I planned it this way because the KRC2 doesn’t support Modbus TCP (as far as I know), and the only way to use that smart relay with the KRC2 is point-to-point. I feel like it’s a waste of resources to set up communication like this, but it’s the only solution I’ve found.

    The good thing is that by using Modbus TCP for the screen, it opens up the possibility of extracting some production data… or at least I think so.

  • Online
    panic mode
    Reactions Received
    1,279
    Trophies
    11
    Posts
    13,079
    • February 18, 2025 at 8:20 PM
    • #10

    if you need help, try stating things in a formal way (specification)..

    what exactly is "too many"? without stating something about the magic number, nobody can guess what you have in mind. and there is a big difference between 50 and 5000000.


    as i recall, KUKA HMI option for KRC2 was Iconics product called Genesys. Kuka does not offer it any more but you could try contacting Iconics.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • February 18, 2025 at 9:19 PM
    • #11
    Quote from Temp22

    I planned it this way because the KRC2 doesn’t support Modbus TCP (as far as I know), and the only way to use that smart relay with the KRC2 is point-to-point. I feel like it’s a waste of resources to set up communication like this, but it’s the only solution I’ve found.

    KRC2 does not support ModBus AFAIK. Bridge devices do exist: https://www.hms-networks.com/p/ab7635-f-any…dbus-tcp-server

    You will probably have to devote a cluster of $INs to represent the product ID to the KRC as an x-bit number, and the same for some $OUTs for the robot to send status values to the Zelio. Which is entirely workable, as long as the Zelio can support it.

    You could explore OpenShowVar, which is discussed many times in the forum archives. It's an unofficial, unsupported add-on that allows a remote computer to get access to variables in the robot via TCP/IP. I've never used it myself, but some people seem to like it quite a bit. This could bypass the entire "PLC" question, but would require trusting a piece of non-KUKA software, not to mention writing a client on whatever computer you use for your HMI.

  • hermann
    Reactions Received
    406
    Trophies
    9
    Posts
    2,610
    • February 19, 2025 at 9:40 AM
    • #12

    There exist(ed) touchpanel HMI with industrial bus protocol, we have used one with profibus many years ago, at the moment I don't remember the name. Can look for it if needed.

    It wasn't that cheap, nowadays most very cheap touchpanels use Modbus because this protocol is easy to implement and free to use, For all the other protocols certification and/or license fees are required, therefore they aren't that cheap as Modbus devices.

    But with your approach with io module on krc, zelio plc and HMI you won't be cheaper, and you will be very restricted for amount of io. For your needs you will need a big amount of io, think zelio plc is way too small.

  • Temp22
    Posts
    19
    • February 19, 2025 at 7:14 PM
    • #13
    Quote from SkyeFire

    Bridge devices do exist: https://www.hms-networks.com/p/ab7635-f-any…dbus-tcp-server

    Thanks to your suggestion, I might be able to eliminate the entire I/O module system of the robot and use the Smart Relay to manage the I/Os and the HMI, but I’m not sure if it will work. What limitations could there be in using this bridge?

    Quote from SkyeFire

    You could explore OpenShowVar, which is discussed many times in the forum archives.

    That’s interesting to know. I’ve only come across posts mentioning Kukavarproxy, but they don’t talk about that. Could it be that a KUKA Ethernet/IP card is needed to use OpenShowVar?

    Quote from hermann

    But with your approach with io module on krc, zelio plc and HMI you won't be cheaper, and you will be very restricted for amount of io. For your needs you will need a big amount of io, think zelio plc is way too small.

    You're right, using I/Os for communication is very limiting and expensive to scale. With SkyeFire's suggestion, another approach opened up and after researching prices a bit, it would cost the same or even less to do it with the bridge instead of the I/Os.

  • Online
    panic mode
    Reactions Received
    1,279
    Trophies
    11
    Posts
    13,079
    • February 19, 2025 at 9:56 PM
    • #14

    protocol bridge translates one protocol to another. this can be handy in some cases but i try to avoid them since they still add to hardware cost and require familiarization and configuration.

    OpenShowVar is a client... it can talk to KRC through a proxy server (KukaVarProxy). this is using Ethernet communication but... this has nothing to do with Ethernet/IP.

    you still did not provide any clarification what you want to do, how many different programs you need to choose from and what would be most suitable user interface.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • February 20, 2025 at 3:42 PM
    • #15
    Quote from Temp22

    Thanks to your suggestion, I might be able to eliminate the entire I/O module system of the robot and use the Smart Relay to manage the I/Os and the HMI, but I’m not sure if it will work. What limitations could there be in using this bridge?

    Well, from the KRC side, it would just be more $INs and $OUTs -- the Bridge would look like just another I/O module to the KRC, simply with a large number of bytes.

    On the HMI, it would depend on the HMI you buy, but generally the ModBus HMIs I've seen also act like simple I/O devices -- they "read" the Bridge outputs, and write to the Bridge inputs. Then the bridge simply passes those bytes between the DN and ModBus.

    Quote from Temp22

    That’s interesting to know. I’ve only come across posts mentioning Kukavarproxy, but they don’t talk about that. Could it be that a KUKA Ethernet/IP card is needed to use OpenShowVar?

    EIP? No. Short version: KRC runs two OSs in parallel -- KSS (built on VxWorks) and Windows. Windows handles the file system and the user interface (KUKA HMI) on the KCP. KSS runs all the realtime, I/O, motion control, etc. The two OSs communicate through a virtual network port, as if they were running on separate computers -- this is why messing with KRC network settings in Windows is dangerous, as you can brick the KRC by screwing with the wrong NIC.

    The physical NIC on the KRC (on a KRC2 ed2005, it should be on the motherboard, though it was on the MFC cards on older KRCs) is "owned" by Windows. You can use that for file transfers, but it can't talk to KSS, and KSS can't talk to that NIC.

    Technically, it's possible to write programs that run in the Windows half of the KRC that can reach over the virtual network and read/write to variables in KSS, but KUKA keeps the information about how to do that pretty confidential. Doing it wrong can crash the OSs.

    The different ShowVars programs create a network bridge between the physical NIC and the virtual one, and allow you to write Windows programs that can read/write variables in KSS. But they're not officially supported by anyone.

  • Temp22
    Posts
    19
    • February 24, 2025 at 2:23 PM
    • #16
    Quote from panic mode

    protocol bridge translates one protocol to another. this can be handy in some cases but i try to avoid them since they still add to hardware cost and require familiarization and configuration.

    Besides the bridge, what other hardware could increase the cost?

    I've been looking for examples online of how others have done it or configured these bridges, but there's nothing. I don’t know if it’s because it’s so easy that it doesn’t need an explanation or if it’s one of those things kept secret to charge for service.

    Quote from panic mode

    OpenShowVar is a client... it can talk to KRC through a proxy server (KukaVarProxy). this is using Ethernet communication but... this has nothing to do with Ethernet/IP.

    So, does OpenShowVar need KukavarProxy to work?

  • Temp22
    Posts
    19
    • February 24, 2025 at 2:49 PM
    • #17
    Quote from SkyeFire

    Well, from the KRC side, it would just be more $INs and $OUTs -- the Bridge would look like just another I/O module to the KRC, simply with a large number of bytes.

    Are you saying that instead of a 1-bit input, it will be 2 bytes?

    Quote from SkyeFire

    On the HMI, it would depend on the HMI you buy, but generally the ModBus HMIs I've seen also act like simple I/O devices -- they "read" the Bridge outputs, and write to the Bridge inputs. Then the bridge simply passes those bytes between the DN and ModBus.

    how are the Modbus devices mapped in the KRC? Does the bridge represent all the other devices as one?

    Quote from SkyeFire

    The physical NIC on the KRC (on a KRC2 ed2005, it should be on the motherboard, though it was on the MFC cards on older KRCs) is "owned" by Windows. You can use that for file transfers, but it can't talk to KSS, and KSS can't talk to that NIC.

    I had read something like that in another post where they said that "normal" NICs communicate with Windows first, but KUKA NICs communicate directly with the KSS. To communicate more securely with the robot via Ethernet, would I need to buy the KUKA card? This way, I could avoid using a ShowVar program?

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • February 24, 2025 at 3:43 PM
    • #18
    Quote from Temp22

    Are you saying that instead of a 1-bit input, it will be 2 bytes?

    No. One bit is one bit. The bridge is usually configurable -- could be set up as a 8-byte device, or a 80-byte device. But one bit on the bridge will be one bit on the KRC.

    At the bus allocation level, a byte is the smallest unit that can be allocated. So if you need 9 bits of I/O (say, $OUT[1] - $OUT[9]), you have to allocate 2 full bytes in IOSYS ($OUT[1] to $OUT[16]).

    Quote from Temp22

    how are the Modbus devices mapped in the KRC? Does the bridge represent all the other devices as one?

    Usually, yes. Depends on which bridge you buy, but the ones I've used appear as a slave device with one big block of I/O bytes to the KRC. Then the Bridge acts as a Master to however-many slave devices on the other bus.

    So the KRC might see the Bridge as $IN[1] - $IN[64], but the Bridge has been configured such that the Style Selection is $IN[1] - $IN[16], and the start/stop/whatever buttons are on $IN[25] - $IN[32], and the rest are spares for future expansion.

    Quote from Temp22

    I had read something like that in another post where they said that "normal" NICs communicate with Windows first, but KUKA NICs communicate directly with the KSS. To communicate more securely with the robot via Ethernet, would I need to buy the KUKA card? This way, I could avoid using a ShowVar program?

    Not really, since KSS does not expose internal variables to the KUKA NIC. ShowVar is a "backdoor" using access that KSS already includes, but KUKA never publically documented.

  • Online
    panic mode
    Reactions Received
    1,279
    Trophies
    11
    Posts
    13,079
    • February 24, 2025 at 7:06 PM
    • #19

    all that HMI does is read /write controller data...

    assuming you have the data, you should be able to use it. and in absence of suitable HMI, you can simulate it. for example use integer such as I[1] . you can change the value from Variable monitor or from Variable/Counter menu.

    or you can create own variable if you like....

    the point is that you should be able to write some program that allows calling one program according to the variable value. and if the value changes, another program would be called etc.

    an example of this is CELL.SRC which does the same thing using PGNO. at any rate, you need to determine how many different programs you want to be able to choose from.

    btw using CELL.SRC is not a bad idea regardless what kind of "PLC" you intend to use (rhardware PLC, or smart relay or arduino or RaspberryPI or own submit interpreter....).. in simplest form you can create the interface using I/Os. I/Os are the way robot uses to interact with external world, if your robot has some physical I/Os, then you can wire them to bunch of buttons and lights (or your smart relay).

    using fieldbus (DeviceNet or Ethernet/IP or whatever) communicates state of the I/Os using network. type of fieldbus is irrelevant, and if your PLC and KRC do not speak same fieldbus, you can insert suitable bridge or gateway so that it acts as translator. this alone will cost on the order of $1k just for the hardware. but you still need the rest of the system. and choosing correct bridge/gateway requires some knowledge about fieldbusses as well as knowing fieldbus capabilities of the two nodes that bridge is to connect. if you do not know this, there is a good chance that you would choose wrong type of bridge.

    so far i do not have feeling that you can do this. you are still beating around the bush and grappling with terms and KRC architecture. so you are still far from making decision... when you do not know how to do something, i would recommend to choose path that others have used so that you can get support. if you pick path that includes a unicorn, you will be all alone.

    if you want concrete advice, make sure to share some DETAILS... so far you could not put a number on ANYTHING...

    how many programs you want to be able to choose from. that will determine number of bits for program number. that will dictate what connection type can be used.

    what is the exact smartRelay model that you have or plan to use? what is the HMI that you are thinking of? because if you are thinking of something like this:

    Schneider Electric's Zelio & HMI Starter Kit VJDSTKXBTNSR2-all you need to get started!
    Schneider Electric have now added a direct link between the 24V Zelio Logic Controllers and Magelis (XBTN41*, XBTR41*, & XBTRT51*) graphic display terminals.…
    www.voltimum.ie

    you are already on a wrong path.

    first of all number of I/Os is puny. so if bridge/gateway option does not pan out you are stuck (not enough of I/Os to hardwire it). if at least your smartRelay had some 40 or 64 I/Os you would have an option to dedicate enough of I/Os to hardwire signals to KRC (and you would need to add I/Os to your KRC).. and programming/troubleshooting on smartRelay is going to be royal PITA. the HMI is puny as well. good luck with displaying pull down list with 50 or 500 entries and then trying to select one specific entry. it would be pressing arrow keys mny many times to reach correct item, it is no better than using dialog.

    suppose you pick some full size HMI (any brand).... say 17" industrial HMI, what type of control would you use to select program there? you said it would be many programs to choose from... so pull down list? how long is the list? how often will list change? because industrial HMIs also have some limitations - one of them is type of controls you can place on screens.

    if the list is really long, i would like to see custom solution:

    a) fresh list of available programs - sorted in suitable way (A->Z, Z->A, last used etc.)

    b) possibly only consider specific programs (perhaps only from a specific folder, or ones tagged with specific attribute)

    c) have option of filtering results to narrow down choices before picking one item from the list. ideally list should be reduced/refreshed with every letter typed in.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Temp22
    Posts
    19
    • February 25, 2025 at 5:39 PM
    • #20
    Quote from SkyeFire

    At the bus allocation level, a byte is the smallest unit that can be allocated. So if you need 9 bits of I/O (say, $OUT[1] - $OUT[9]), you have to allocate 2 full bytes in IOSYS ($OUT[1] to $OUT[16]).

    and to allocate longer data? does it map like an analog var?

    Quote from SkyeFire

    Usually, yes. Depends on which bridge you buy, but the ones I've used appear as a slave device with one big block of I/O bytes to the KRC. Then the Bridge acts as a Master to however-many slave devices on the other bus.

    the big block of I/Os seems like an easy way to work with the bridge but how can i identify wich gateway works like that?

    Quote from SkyeFire

    Not really, since KSS does not expose internal variables to the KUKA NIC. ShowVar is a "backdoor" using access that KSS already includes, but KUKA never publically documented.

    But in this case, is it possible to use the gateway to take it from Modbus TCP? I imagine I have to configure an output in the gateway that goes to a PC address to catch it.

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
  • KRC2
  • hmi
  • KRC 2
  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