C3 Bridge Interface Server

  • the last screenshot i posted is of test client i created to test C3Bridge functionality. it was written in VB.NET. there is tons of TCP client examples as well as video tutorials on YouTube etc.


    here are some examples to get started:

    http://www.java2s.com/Code/VB/…e/TCPClientConnection.htm

    http://vb.net-informations.com…/vb.net_Client_Socket.htm

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    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

  • Thanks - I wasn't sure if the method needed for the bridge was very specific.... but sounds like a generic client will work, other than working out the protocols etc...


    There is still something funny about that ControlPanel Program. I was running the robot in Actual Axes mode with RSI and it was reporting a constant offset in a couple of axes.


    I'm also receiving Actual position feedback from the RSI context, and that agrees with the HMI, but not with the Control Panel... Odd.


    I can see Cartesian axes can be tricky with Tool offsets, but Actual axes should be straight forward?


    BTW - the program loading and running is great.... I'm sure I'll find a few more useful things to implement and improve my workflow..

    Edited 2 times, last by geraldft ().

  • generic TCP socket client will do.


    about the discrepancies you mention, you need to be specific and post some details. for example, where is the robot actually, what type of coordinate system is being selected and when, what tool and base are set and when, did motion start after tool and base are set, what kind of "ControlPanel" you are referring to etc.? screenshots would be appreciated.

    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

  • "control panel" refers to the C3 Control Panel which what I am using to monitor the positions.


    Screen grab was posted earlier with more detail of one example. I made further tests trying every mode possible - before/after moving axes, changing tool/base - every combination I can think of.


    Since Actual Axes are not relative to Tool offset, it seems unlikely that is a factor?


    I have found that if I make a PTP move to the standard rest position, then C3 Control subsequently mis-reports the position of A1 A4 and A6. Then if I move these axes by manual jogging, they are then correctly reported.


    If MOM is correct then something needs to be added to the Control Panel to re-initialise the reading after a PTP. Still seems strange though....

    Edited 6 times, last by geraldft ().


  • all right.. i think i got it...


    the C3 Control Panel indeed shows incorrect value for axes that are close to zero.

    Robot teach pendant menu Display>Actual Position shows position values that are rounded.

    Same teach pendant will show more detailed actual position when using Single Variable Monitor and reading $AXIS_ACT.


    When axis positions are close enough, controller considers axis to be in position.

    When the axis position is zero, value may be displayed in a scientific notation.


    in my test, actual position happen to be

    {A1 8.29195810E-16, A2 -90.0000, A3 90.0000, A4 -1.06187430E-32, A5 90.0000, A6 -4.09433934E-13}

    which is indeed very very close to

    {A1 0.0, A2 -90.0, A3 90.0, A4 0.0, A5 90.0, A6 0.0}


    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.


    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

  • it is easy to miss something like that and i have learned the hard way that detail matter. which is why i often ask for clear description of issue or how to reproduce it. often one uses things regularly and does not even notice something until much later because problem could be something that only occurs in special set of circumstances (so called corner case).


    here is one example of odd thing that my OL running KSS8.5.8 exhibits. maybe this was present for long time, and i just never paid attention. i have used this plenty of times and quite often omitted equal sign, yet only noticed this recently... :pssst:


    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

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

  • I have not checked the source code


    But what I am doing is very simple:

    - parse the string into substrings (representing one value)

    - convert this substring back into double (if substring empty = NaN => $BASE and/or $TOOL not specified

    - convert double back to string (using formatting as required)

  • from panic mode:

    30787-kss8-5-8-singlevariablemonitor-png


    Ok; I tested it with KSS 4.1.7.OL, KSS V5.2.OL

    both versions require the equal sign in order to give good results (this also make sense to me).


    I would think:

    with equal sign

    string will be recognized as mathematical expression and the result will be displayed

    without equal sign

    string will be recognized as string and '/' and '\' will be used as seperator (as you figured out)

    If part of the string contains a '+' or '-' then the values right before and after will also be recognized as mathematical expression

    e.g.

    80\4.0+0.25/2 => 4.125

    There is also a difference between '=80/4+0.25' and '80/(4+0.25)'

  • Heey...


    VDm, Nice work there. Really like it.

    I kindly ask you or anyone else reading this.

    I have this addon (a child of the devil himself, my personal opinion), KUKA.CPC (V2.0.3 build 10).

    The one familiar with it understands this prevents me from running C3 server on the robot.

    I dont have the software, but could a certificate for C3 be created with KUKA.CPC Studio?

    Anyone having the software and knowing more about it willing to make an effort ?

    A certificate for C3Bridge(ANSI) would make my day.

  • Release 1.4.0 (Open Source)

    Bug Fix Release

    Added

    • C3 Bridge Interface Protocol version 1.4

    Changed

    • 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

    Fixed

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


    Download Link: https://github.com/ulsu-tech/c…1.4.0/C3.Bridge.1.4.0.zip

    Download Link (Mirror): http://c3.ulsu.tech/download/C3.Bridge.1.4.0.zip

  • 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: https://github.com/ulsu-tech/c3sharp


    Protocol Documentation Update

    Link: http://c3.ulsu.tech/protocol/latest/ (the link to the latest version)


    C3 Bundle Update (March 25, 2022)

    Download Link: http://c3.ulsu.tech/download/C3.Bundle.2022.03.25.zip

  • "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?"

  • "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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now