Can RSI send values from user defined variables?

  • I want to stream out values for different variables I have created in my applications.

    I have the RSI package, but it looks like this is mostly designed for sending and receiving motion parameters.

    Can RSI send INT or REAL values instead of E6POS or E6AXIS types?


    I also have KLI for RemoteSupportView. I don't think I can use this to get access to the values of my variables outside of the Remote Viewer in WorkVisual.


    Ultimately, I want access to the values of some variables in the controller so I can make a dashboard to monitor the robots.

  • RSI can stream some variables. IIRC, the $SEN_PREA and $SEN_PINT variables are accessible from within certain RSI objects, and the output of those objects can be piped to an RSIMON object, for example. An SPS task copying certain program variables to the $SEN arrays would bridge the KRL/RSI gap.


    The other question is, how are you trying to send that data out of the robot? ProfiNet? Ethernet/IP? TCP/IP?

  • SkyFire, I would like to send data out via Ethernet using TCP or UDP. Some data would be better as TCP some matter less and would work fine with UDP. I would be sending process data, so mostly doubles and ints along with some strings.

    Colinb83, I am not familiar with Proconos. I will look it up. I am trying to stream out things like our uptime, velocity, cycle times, current process name, so mostly numbers and some strings.

    Edited once, last by mjnewsum ().

  • Proconos with a tech pack like kuka cnc can provide velocity, it can even provide estimated velocity in advance, useful if you have something like a glue gun or printer that might have a lag in response to changing speeds, it's probably huge overkill for what you are saying you need


    Proconos is a soft plc that can run real-time on the Krc

  • RSI is above all meant to be FAST. and that also means that amount of data to be exchanged is meant to be rather small... "so mostly numbers and some strings" is not that small. so for GUI or dashboard you should use something like OPC or EKI. there are also open source options like C3Bridge and KukaVarProxy.

    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

  • Really, this boils down to two questions:

    1. How much data do you need to send? (actual bytes)

    2. How often? (including jittter requirements)


    If you don't have a hard-realtime, zero-jitter requirement, then RSI probably isn't the way to go. Ditto for large amounts of data, as Panic said (and for RSI, "large amounts" is anything more than "a few dozen bytes".


    A solid SPS loop bundling up data and sending it cyclically over EKI (which can do TCP/IP or UDP) would probably serve, unless you need really short refresh cycles and zero jitter.


    By way of example, I've seen a KSS 8.5 SPS program communicate cyclically over UDP every 250ms, passing 256 bytes (in string form) each way every cycle. It didn't require anything except the EKI option, and some careful SPS programming. There was probably plenty of "elbow room" to increase the data and/or shorten the refresh rate, but not really any need to make the effort, on that system.

  • Thanks Panic Mode and SkyFire. You are confirming my assumptions that RSI is probably not the right way to go. It looks like I could hack it together, but I really don't need real-time data and I might need larger packets.


    I am looking into EKI pricing now and just got a trial of the package. Thanks for the help.

Advertising from our partners