Solved it through a bit of reverse-engineering - there's a hidden option! Now both RSI and EthernetKRLXML can be run cleanly via inside OfficeLite.
Here is an archive(clickable link) that contains a fast and reliable tool(written in C++) that will let you run RSI inside OfficeLite, as well as any other UDP software package.
There is a full installation guide and readme inside as well.
An excerpt if someone wants to waste the time recreating the tool:
1 - You need to add the following line under the ONLYSEND line in RSI_EthernetConfig.xml:
<PROTOCOL>UDP(vxsock)</PROTOCOL> <---- add this
2 - Set the IP address to 192.168.0.1, keep the port default
3 - Make a bidirectional UDP proxy to shove it out the other network interface(or get the archive)
Anyone have an idea on how this can be accomplished? The KUKA rep cut me off with a staunch "no, give up", but I don't believe that since they also said EKRLXML won't run.
Well that's not good, it's the same in OL.
Is that from a real robot install? They seem to be nearly identical to mine, including disabled KLI.
I've also determined that for the bootline that says ; Mainboard D2608-K - KLI is dual NIC port B the NIC is a single-port Intel 82566, and for the bootline that says ; Mainboard D3076-K - KLI is onboard NIC port A the NIC is apparently either Intel 82579LM or the Intel 82574L.
This in particular looks super promising:Code: kuka.config
"EnableSystemBusNetInit"= dword:0 ; don't use! "EnableKukaLineInterfaceNetInit"= dword:0 ; 1 enables section NETWORK_CONFIG_KUKA_LINE_INTERFACE "EnableVnetInit"=dword:1 ; 1 enables section NETWORK_CONFIG_VNET "EnableBridgeInit"= dword:1 ; 1 enables section CONFIG_BRIDGE ... and a bit below that [NETWORK_CONFIG_KUKA_LINE_INTERFACE] "PhysicalNetworkDevice" = "gei1:12:xxx.xxx.xxx.xxx:ffff0000" ; don't use
Only issue is, VxWin in OL boots after Windows, as far as I understand.
It would. I would also appreciate if you could share the contents of C:\KRC\ROBOTER\Config\System\Common\VxWin and C:\KRC\ROBOTER\Config\System\Common\VxWin\knet.config from a real robot(I neither own nor have access to a KRC4 robot).
The bootline will certainly be different, and VxWin does say that you can both debug(KUKA internal) and have a dual-port NIC(Which controller? Which drivers? I only know the mobo is a D2608-A) , which means it should be possible to trick OL into eating one of the two network adapters as KLI, when passed to it by VMware.
Looks like this has been brought up here but with only partial success.
In theory, it should be possible to tell VxWorks that the second attached adapter must be taken over, and VMWare can connect several network devices at once.
Maybe there's a way to emulate the KLI port by adding a second network interface...
Well, they say EKRL isn't compatible(not in that document), yet it somehow works.
Could this be a case of RSI not working with OL at all? Or even deliberately disabling itself?
or better what is the worst ping result?
I get spurious ~2ms results once in a while, the rest are all under 1ms. I'm aware of the response time issues, I have RSI working on a real KSS5.5 robot.
but... that should not cause this message. this would generate timeout, while this message suggests that RSI context is bad
That's what I'm trying to figure out. Even if I set onlysend to true, it gives me that error.
Even with Onlysend set to true, it still crashes with the same error. That's really odd.
Extra IP info:
EDIT: THE ISSUE IS SOLVED! SEE THIS POST(#22). YOU CAN RUN RSI IN OFFICELITE, DESPITE WHAT KUKA SAYS.
I ran into an odd issue - when attempting to set up RSI 3.2 in OfficeLite8.3 with the Ethernet example, I keep getting Object ETHERNET1 returns error RSIBad.
I installed the demo that came with RSI 3.2, followed all the instructions except the network configuration, since there is no physical ports or KLI on the VM.
Even when running the server in the VM itself, and setting the IP address to 192.168.0.1, it simply refuses to work.
I attempted setting the network config to all three subnets(including local), all done with a fresh snapshot(so as to not cross-contaminate results). I attempted using the Router app with 192.168.0.1, 0.0, and the host IP(with a server running on the host as well) - I keep getting the same error.
I'm aware of this thread, but reading through that yielded no results either.
The program crashes at RSI_MOVECORR(), after RSI_ON(#RELATIVE) returns RSIOK. Non-ethernet examples(circle, etc) work fine.
Check the cable connections between the robot and controller.
These commands are massive.
You do realize that 0.1mm every 2ms(IPO_FAST) is an instantaneous correction of 50mm/s, right?
You're trying to accelerate 50mm/s in 2ms.
You can fix this by doing three things:
1 - Stop using the fast mode
2 - Decrease the correction amount, a lot.
3 - Read the RSI manual.
Anything arduino-based is a silly idea for industrial robots.
LinuxCNC has multi-axis serial kinematics, and plenty of people built robot controller replacements based on those.
You just have to buy servo drives compatible with your servos, and that will be the very expensive bit.
Which version? And which way?
KCP4(SmartHMI) might be possible to use in an external system, it uses RDP.
Anything else("KR C1" KCPs, KCP1, KCP2, "KR C2sr" KCPs) - without some serious driver hacking, I'll just give it a plain "no".
If you want to replace the pendant with your own device, then it's a hard no in any case.