Posts by VDm

    "As I understand, you have a client included for testing the connection with the robot. I use a unique software where Ethernet connections and data transmission are provided. Is there an option to install the server on another computer or on the same one (not on the robot) to test the connection with the client?"

    Yes, sure, you can run c3bridge.exe on any PC with Windows operating system installed.

    dddomodossola what do you think about using unified protocol?
    This is my version of the C3 Bridge Interface protocol, based on your first KUKAVARPROXY protocol.

    It has GET PROXY INFORMATION message:

    Also you can request special variables from C3 Bridge Interface Server like:
    GetVar("@PROXY_TYPE") == "C3 BRIDGE INTERFACE" (in your case it could be KVP KRC4)

    GetVar("@PROXY_VERSION") == "1.0.0"

    You can also explore the C# library with the implementation of C3 Protocol:

    In my opinion, it would be great to have a common protocol for our products, it would make it easier to create new client applications.

    The only problem, in C3 Bridge messages #4 and #5 are used for READ VARIABLE (UTF-16) and WRITE VARIABLE (UTF-16) messages. But messages #8 and #9 are completely free. There is also some difference in the responses returned. It turns out that you use two bytes to describe the RESULT LENGTH, and to me it looked like a numerical error code. And the last byte looked like an error flag (TRUE/FALSE).

    If you like the idea of unification, I am ready to help you implement the protocol.

    This allows you to communicate with more than one robot on the network, and it doesn't require the server to be installed on the robot anymore.

    Great job!

    NOTE: I developed it some months ago. If I remember correctly, in order to read/write variables, a program (KRL program) must be selected on the controller. Not a specific program, a program of your choice. It is a limitation of kuka API.

    Not necessarily, at least when using the Cross 3 Interface. Not sure about Contracts from WorkVisualInterface.

    C3 Sharp Interface (Open Source)

    I've created C# Client Interface for C3 Bridge. All features of C3 Bridge Interface Server 1.4.0 are implemented.

    The repository contains Visual Studio Solution with three projects:

    • C3SharpInterface is the primary DLL with all classes (written in C#).
    • C3Console is client application example (written in C#).
    • C3BasicTest is a result of conversion C3Console to VB.NET (written in VB.NET).

    Repository Link:

    Protocol Documentation Update

    Link: (the link to the latest version)

    C3 Bundle Update (March 25, 2022)

    Download Link:

    Release 1.4.0 (Open Source)

    Bug Fix Release


    • C3 Bridge Interface Protocol version 1.4


    • The old version of CMake (3.4) is now supported for building the project in Visual Studio .NET 2003
    • The program versions are now divided:
      • Primary (compiled with Visual Studio 2022), required Windows 7 and higher
      • Compatible (compiled with Visual Studio .NET 2003), required Windows XP and higher
      • ANSI (compiled with Visual Studio .NET 2003), required Windows 95 and higher


    • CommandFileWriteContent: integer overflow eliminated
    • CommandFileReadContent: integer overflow eliminated

    Download Link:…1.4.0/

    Download Link (Mirror):

    This one's really odd.

    Do you care to try again?

    If so, it's time to increase the detail of the VRP log a bit.

    1. Make backup copy of VirtualRemotePendant.exe.config in the directory "C:\Program Files (x86)\KUKA\KUKA Virtual Remote Pendant"
    2. Open the file "C:\Program Files (x86)\KUKA\KUKA Virtual Remote Pendant\VirtualRemotePendant.exe.config" in a text editor (Notepad, Notepad++, etc...). It's an XML file.
    3. Locate <switches> subtree, it looks like:
    4. Change values for Application, Loading, GeneralTrace, Ade.AdeComponentFramework, Ade.Commands, Ade.Exceptions, DeviceRepository, DeviceSelection, KcpControl, RdpSessionView, DeviceEntry, General to "Verbose".
    5. Try to use the VRP as usual, wait for a connection error.
    6. Look at "C:\Users\<USERNAME>\AppData\Roaming\KUKA\VRP\VirtualRemotePendant.log" for detailed description (attach this file here or send me via PM, so I'll try to understand what's wrong).


    I know, but C3 Easy Control was meant to be a very simple application for downloading programs. A fully featured file manager should be implemented in C3 Control Panel, but I can't even guess when it will happen.

    Unfortunately C3 Control Panel only displays first few characters of the value so exponent is not visible. this is not an error in C3Bridge, it is a display formatting bug in C3ControlPanel.

    Brilliant work! I had no idea that the system would return REAL values in scientific notation. And so I considered it unnecessary to convert the text to DOUBLE type and then back to text, limiting the client to discarding the extra characters after the decimal point.

    Now I just need to work out if I can write a client... Assuming it's possible in VB...

    It is definitely possible to do this in any modern general-purpose programming language. I have three different implementations of the client API for C# (and two internal ones for C++). I could share, but they are far from perfect.

    Noticed one weird thing about ControlPanel. It doesn't initially report the correct position values for all axes. Only when I start moving axes do they update correctly.

    Do you mean Cartesian coordinates? They cannot be calculated unless $BASE and $TOOL are defined. Movement in T1 mode defines them.

    You can then copy files directly to the D drive, after that you can use the Krc to copy the files into the run folder

    In my opinion, this operation is too time-consuming. I would like to load the program remotely in a couple of clicks. Also, the smartHMI interface itself is quite slow. Especially when working via RDP on the smartPAD. Overcoming this problem led to the creation of C3 Easy Control.

    beware that this client also allows starting program remotely. while this is an interesting and powerful feature, obviously there is no SPOC.

    I only load programs in T1 mode, in my opinion, it is safe enough. In this case, C3 Easy can select and try to start the program, but it will not start executing.

    C3 Easy Control

    Greetings everyone.

    I want to introduce you to a new client program for the C3 Bridge Interface.

    This is a simple application for uploading and downloading, selecting, starting, stopping, and canceling KRL programs on the KUKA robot control system.



    • Direct convert SVG images to KRL programs
    • Upload/Download KRL programs to/from KUKA Robot System
    • Select and Run/Pause/Stop and Cancel KRL programs remotely
    • Cancel the current KRL program and return to the XHOME position (press and hold the button)

    System Requirements

    • Windows XP SP3 or later
    • C3 Bridge Interface Server 1.1 running on KUKA Robot System (the latest version included in the C3 Easy Control archive)

    SVG Converter Example



    Download Links

    Binary (Windows XP or later):…


    I need a little help from the community to improve the converter algorithm. It would be perfect if advanced users could suggest the best way to draw Bézier curves and ellipses using SPLINE motions. And, as usual, any feedback would be appreciated.

    I am planning to install KUKAVARPROXY

    I don't want to sound like someone pushing his product, but why not take advantage of the simpler, clearer, and more open C3 Bridge Interface. KUKAVARPROXY certainly does its job too, but it's harder to install and practically undocumented.

    While I'm not privy to KUKAVarProxy's inner workings, I think it runs in the Windows side of the KRC. This means it automatically has lower priority that anything running in VxWorks.

    You're right!

    On the technical side, both KUKAVARPROXY and C3 Bridge Interface use a COM subsystem (I mean Component Object Model, not RS232 port) called KUKA Cross 3.

    The KUKA smartHMI interface (written in C#, by the way) also uses this software subsystem very extensively. In my opinion, KUKA Cross 3 is some kind of low-level software layer between the two operating systems. But it still running on Windows.

    P.S. I'm just now working on a version of C3 Bridge 1.1, in which I would very much like to implement file transfers of KRL programs and hope that the system will compile them (i.e. they will be ready to run).

    Seems to me that you can use the KONI for transferring files to the KRC4... what do you think?

    Yes, you can.

    I use KONI almost every working day to transfer files via SMB, as well as to connect to my network applications or remote desktop.

    Even WorkVisual finds the control system through KONI, although I haven't tried to work with it fully.

    I have already described how to achieve this.

    It's a weekend and I can't take a screenshot from a real system because it's at my work.

    But I will try to clarify it again. You can see several devices in the Device Manager under "Network Adapters".

    One of them is KONI with the "wrong" driver.

    All you need to do is to initiate the driver update process and specify the path to one of the folders on disk D where the "correct" driver lies.

    It will have the word "Intel" in its name because all network interfaces in the motherboard of the control system are built on Intel chips.

    After that, a normal network device will appear in Windows with the ability to specify an IP address, subnet mask, and gateway.

    But be careful, the control system's firewall is disabled by default.

    And I am not sure that you can turn it on because there is a lot of service network exchange going on in the system.

    All this makes the system vulnerable to external network attacks through KONI.

    I used a small hack: take the KONI network interface from VxWorks, and return it to Windows by removing the Realtime driver and then manually installing the native network interface driver (Intel).

Advertising from our partners