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 create custom HMI on KUKA KCP???

  • LCotta
  • November 13, 2014 at 11:08 AM
  • Thread is Resolved
  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,088
    • March 20, 2020 at 7:23 PM
    • #21

    considering fact that you are asking this, you should really think if you want to get involved at all. you have been warned.

    https://www.wikihow.com/Create-DLL-Files

    https://www.youtube.com/results?search…3F&search_type=


    any application development software targeting Windows can be used ot make DLL file.

    heck if you really wanted to, you can hand assemble it using hex editor :winking_face:

    one easy way to start is to get programming software from company thad made Windows itself.

    for example you can get VisualStudio of particular vintage or edition and get started. there is tons of tutorials on Youtube.

    for example VB.NEt or C# are some of languages available in VisualStudio.

    common path is to start with basics and adopt more as you go along.

    learn about forms and standard controls, declarations, properties, objects, classes, timers etc.

    then try something bigger like DataGridView etc.

    then add reference to external controls (OCX, ActiveX) and use them in your program (this opens up a world of possibilities).

    Dependencywalker is used to sniff out what they can do and what else they depend on.

    then learn communication (open close socket, etc.) and communicate with KRC4 for example.

    finally how to do the same but pack it into a DLL instead of EXE.

    now you need to figure out how to integrate it in KRC4 HMI so it can be loaded, and selected from menu.

    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

  • VinyVieira
    Trophies
    3
    Posts
    5
    • March 21, 2020 at 4:13 PM
    • #22
    Quote from panic mode

    considering fact that you are asking this, you should really think if you want to get involved at all. you have been warned.

    https://www.wikihow.com/Create-DLL-Files

    https://www.youtube.com/results?search…3F&search_type=


    any application development software targeting Windows can be used ot make DLL file.

    heck if you really wanted to, you can hand assemble it using hex editor :winking_face:

    one easy way to start is to get programming software from company thad made Windows itself.

    for example you can get VisualStudio of particular vintage or edition and get started. there is tons of tutorials on Youtube.

    for example VB.NEt or C# are some of languages available in VisualStudio.

    common path is to start with basics and adopt more as you go along.

    learn about forms and standard controls, declarations, properties, objects, classes, timers etc.

    then try something bigger like DataGridView etc.

    then add reference to external controls (OCX, ActiveX) and use them in your program (this opens up a world of possibilities).

    Dependencywalker is used to sniff out what they can do and what else they depend on.

    then learn communication (open close socket, etc.) and communicate with KRC4 for example.

    finally how to do the same but pack it into a DLL instead of EXE.

    now you need to figure out how to integrate it in KRC4 HMI so it can be loaded, and selected from menu.Thank you very much for your answer, I have an application that was created on the robot and I would like to change it, but I can't open the dll to analyze the code.

    Display More

    Thank you very much for your answer, I have an application that was created on the robot and I would like to change it, but I can't open the dll to analyze the code.

    I will follow the recommended study path.

    In attachment dll

    Files

    HMI.zip 1.45 MB – 182 Downloads
  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,088
    • March 21, 2020 at 6:27 PM
    • #23

    programmer writes code in one or more files. this set is called source code. it is what programmer wants computer to do.

    but computers cannot execute source code. there are two basic ways to proceed:

    a) use special program called interpreter that will parse and process instructions in the source code one line at a time.

    b) use special program called compiler that will convert source code into executable file (which is in a binary format).

    compilation may take long time and multiple passes to get desired result. interpreting does not have that luxury so of course compiled programs are executed faster. also interpreters require distributing source code but most companies are interested to keep their effort protected. finally executing compiled programs is simpler. user can focus on use of application rather making adaptations, setting paths etc.

    DLL is a binary file created by compiler. it does not contain source code. analysing and making changes to such files is EXTREMELY difficult and requires very advanced and specialised knowledge. it is so hard that even in a rare case where modification is done, it is a hack at best a patch (replace couple of bytes with hexeditor). essentially there is no decompiler, at best you can try disassembler but any sybolic data, comments etc will be missing. also the code may not seem intuitive any more since compilers have optimised hell out of it, to work with thin one really need to know a lot, have tons of time and patience. which is not worth it.

    just to put it into perspective:

    if learning to program is like learning to drive a car,

    then developing apps is like being ale to repair cars for a living.

    then reverse engineering compiled DLL or EXE is more like finding charred remains of a crashed UFO then fixing it and then optimising its inner working. all because you really wanted the extra trunk space when doing grocery shopping (this is what i mean by not worth it).

    if you are really interested in doing something, you will have to develop it from scratch, not patch some binary file.

    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

  • VinyVieira
    Trophies
    3
    Posts
    5
    • March 21, 2020 at 9:52 PM
    • #24
    Quote from panic mode

    programmer writes code in one or more files. this set is called source code. it is what programmer wants computer to do.

    but computers cannot execute source code. there are two basic ways to proceed:

    a) use special program called interpreter that will parse and process instructions in the source code one line at a time.

    b) use special program called compiler that will convert source code into executable file (which is in a binary format).

    compilation may take long time and multiple passes to get desired result. interpreting does not have that luxury so of course compiled programs are executed faster. also interpreters require distributing source code but most companies are interested to keep their effort protected. finally executing compiled programs is simpler. user can focus on use of application rather making adaptations, setting paths etc.

    DLL is a binary file created by compiler. it does not contain source code. analysing and making changes to such files is EXTREMELY difficult and requires very advanced and specialised knowledge. it is so hard that even in a rare case where modification is done, it is a hack at best a patch (replace couple of bytes with hexeditor). essentially there is no decompiler, at best you can try disassembler but any sybolic data, comments etc will be missing. also the code may not seem intuitive any more since compilers have optimised hell out of it, to work with thin one really need to know a lot, have tons of time and patience. which is not worth it.

    just to put it into perspective:

    if learning to program is like learning to drive a car,

    then developing apps is like being ale to repair cars for a living.

    then reverse engineering compiled DLL or EXE is more like finding charred remains of a crashed UFO then fixing it and then optimising its inner working. all because you really wanted the extra trunk space when doing grocery shopping (this is what i mean by not worth it).

    if you are really interested in doing something, you will have to develop it from scratch, not patch some binary file.

    Display More

    I just wanted to change the pictures on a kkk screen,

    now I understand that I will have to go a very long way.

    Starting again:

    </LegacyPlugIn>

    </KukaRoboter.SmartHMI.LegacyPlugIns>

    <KukaRoboter.SmartHMI.Menu type="KukaRoboter.SmartHMI.UIFramework.Menu.MenuRootImpl, SmartHMI">

    <MenuRoot SystemName="MainMenu">

    <MenuItem DisplayName="IHM">

    <CommandCall Target="LegacyLoader.OpenPlugIn">

    <Argument Name="PlugInName">HMI</Argument>

    </CommandCall>

    </MenuItem>

    </MenuRoot>


    this code creates the button in the main menu and calls HMI.dll

    I will follow your suggestion to create a new application.

    Thank you very much for your help

  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,088
    • March 22, 2020 at 2:52 AM
    • #25

    as long and you have a plan. i am not sure what you are really after since your posts keep changing objective:

    1. create DLL

    2. edit existing DLL

    3. replace some picture

    and what the heck is KKK screen? :fearful_face:

    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

  • VinyVieira
    Trophies
    3
    Posts
    5
    • March 22, 2020 at 11:48 AM
    • #26
    Quote from panic mode

    as long and you have a plan. i am not sure what you are really after since your posts keep changing objective:

    1. create DLL

    2. edit existing DLL

    3. replace some picture

    and what the heck is KKK screen? :fearful_face:

    You’re right, I’m still a bit confused on the way to reach my goal, thanks for your patience,

    in fact I need to change the layout and some figures on the attached screen.

    Images

    • IMG_20200318_150141076_autoscaled.jpg
      • 157.4 kB
      • 899 × 1,200
      • 129
  • panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,088
    • March 24, 2020 at 10:05 PM
    • #27

    the simplest and most efficient way is to contact author of the DLL to make changes you want.

    short of that, you can recreate this on your own from scratch as mentioned before. however this will be a significant effort and if you don't already have serious programming skill, may take years to develop. Note, forum is meant as a conversation place to share advice and point people in right direction. this is NOT substitute for formal training.

    alternative to creating everything on your own from scratch is to simply purchase it (from KUKA or 3rd party) since there are ready to use HMI packages for Krc4. this is MUCH simpler path and you should be able to get result in maybe few days or maybe 2 weeks. and it does not cost an arm and a leg (usually). Advantage of purchasing product is that things are tested, they are ready to use, learning curve is short and such products come with support. if you are developing something on your own, you need to know much more to develop usable product and - you are practically on your own.

    Example of commercial HMI for KRC4:

    KUKA.Zenon: basically full fledged HMI suite. requires purchase of Development license to create applications (this is what you install on your computer). you also need RunTime license for software that installs on KRC4. if you have 5 robots where you need custom HMI, you can buy 1 Developer license and 5 RuntimeLicenses. (one Runtime is needed for each robot). This is really nice product but it costs more than others. price of Runtime license depends on number of tags you plan on using (more tags = higher cost). i don' know the prices but i would guess that every single license is maybe $2k or so...

    Kuka.EasyHMI:

    is a low cost (guessing under $1k) per runtime. there is no Development license cost as application is generated by WorkVisual (free download). it allows to create many applications, each can have multiple screens etc. you can choose screen size t obe half a page or full page. but the number of controls you can place per page is limited by selected grid size. This looks like a response to OrangeApps.MyHMI which too did not need special development package.

    OrangeApps.MyHMI: a lower cost than KUKA.Easy (price is on the website). It predates Kuka.EasyHMI and it made it possible to create basic HMI using any text editor. to run it, one would need a runtime license per controller. free trial version is available.

    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

  • Starsky Lara
    Trophies
    3
    Posts
    4
    • April 18, 2020 at 9:11 PM
    • #28

    Hello. My name is starsky and i own a kuka 90 krc4. I been reading the the post but seen that the information is still not clear for me and I am full developer on c#.

    i am new on the kuka development. i just want to ask if you know if kuka provide a development libraires for there robots.

    it is because it seems for me that the KUKA.Zenon it offer more that deveploment.

  • fcardao
    Trophies
    2
    Posts
    7
    • February 5, 2022 at 7:52 PM
    • #29

    Did you find how to launch your dll?

  • Latoff
    Trophies
    3
    Posts
    16
    • July 17, 2022 at 12:31 AM
    • #30
    Quote from tarun89engg

    Only for information

    if you are smart enough you can use kuka librarby (KukaRoboter.LegacyKrcServiceLib.dll) to Access KRC variables like tool, base, robot Actual position etc etc.

    I have created my own interface which I have linked in kuka Diagnosis Menu which find the Spot welding point name with x,y,z, A,B,C cordinates with tool and base also save as an excel file.

    Can someone breakdown or guess how approximately was it all implemented. I know how to read the Variables from the robot using dll and how prepare the functions on the background. What is the procedure of integration in that case?

    Is it like on call of Diagnosis menu it starts to draw ill this tables and replacing the casual appearance of the Diagnosis Menu?

    Was Diagnosis Menu used due to the limitation on Kuka hmi to integrate the new button with custom commands?

  • lin xiang
    Trophies
    1
    Posts
    10
    • December 4, 2024 at 9:23 AM
    • #31
    Quote from tarun89engg

    Only for information

    if you are smart enough you can use kuka librarby (KukaRoboter.LegacyKrcServiceLib.dll) to Access KRC variables like tool, base, robot Actual position etc etc.

    I have created my own interface which I have linked in kuka Diagnosis Menu which find the Spot welding point name with x,y,z, A,B,C cordinates with tool and base also save as an excel file.

    Hello, could you please tell me how you created your own HMI interface using a C# Windows Forms application? Could you provide a step-by-step guide?

  • lin xiang
    Trophies
    1
    Posts
    10
    • December 4, 2024 at 9:29 AM
    • #32
    Quote from tarun89engg

    Only for information

    if you are smart enough you can use kuka librarby (KukaRoboter.LegacyKrcServiceLib.dll) to Access KRC variables like tool, base, robot Actual position etc etc.

    I have created my own interface which I have linked in kuka Diagnosis Menu which find the Spot welding point name with x,y,z, A,B,C cordinates with tool and base also save as an excel file.

    Hello, could you please tell me how you created your own HMI interface using a C# Windows Forms application? Could you provide a step-by-step guide?

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