Posts by LowerCaseDream

    Hi everyone.

    I just downloaded the trial version of KUKA.Sim 4.1 and tried to connect to the robot I'm using on Officelite.

    Officelite has KSS 8.6.2 and Kernel system version KS V8.6.170

    This is what I managed to get to:

    As you hopefully can see, I managed to connect to Officelite and can import and export projects between KUKA.Sim and Officelite.

    However, when I move the robot on Officelite I can't get it to happen in KUKA.Sim.

    On KUKA Xpert I found a document about KUKA.Sim where it explained that, in the "CONNECTION" ribbon, there should be an option "Synchronize Robot Position" just below "Simulation Configuration", which does exactly what I need.

    Does anyone have any idea on why that option might not be present?

    Hi Mischa. Unfortunately I tried but didn't have any luck, I have no idea what the problem is about. Thanks nonetheless for the help!

    Hi Mischa, thanks for answering.

    This is my current situation:

    However, I didn't know Y200IpcName needed to be the KUKA PC name. I checked Settings -> About -> PC Name. Then I turned off SmartHMI, changed Y200IpcName to my PC Name and relaunched StartKRC. Unfortunately, this didn't solve the problem. I also tried restarting the virtual machine, but nothing changed.

    I read again the Officelite document and it says that I need to use the controller's name as Y200IpcName. I tried Controller_1 but didn't work.

    My Y200IpcName was "Y200_VRC_R1" which was my default setting and I remember it was what panic mode was using.
    Do you have any suggestion on how to procede?

    Hi Mischa . I'm trying to use Y200 as well. I installed it following the instructions on the Officelite 8.6 pdf document (also with no VRC installed). Unfortunately, when I click on Visu, the VRC Y200 TestClient opens up but is unable to read data from the robot. All numbers are 0 and inputs and outputs are all turned off.
    Do you happen to know any way of fixing this?

    Hi panic mode, sorry for the late reply but I didn't use computers in these few days. I checked on the marketplace and there seems to be a KUKA.Sim product valid for 1 year:

    However, I won't be using KUKA.Sim, but a simulation software called ISG-Virtuos (which is what I was referring to in my last post).

    However, I'm afraid that I still have to make the connection Officelite - Y200 work if I want to use a simulator different from KUKA.Sim.

    And obviously you're right about VRC and Y200 being incompatible together, at the moment I only have the second one installed.

    Thanks a lot for all the info, panic. I really appreciate it. I will look more about this type of programming tomorrow, the concept seems really interesting. However, I'm afraid that I still have to make the connection Officelite - Y200 work if I want to use a simulator different from KUKA.Sim. Have you ever tried using a sim different from KUKA.Sim and, in case the answer is positive, did you need Y200?

    not sure what the Y-NET is and how to convince PLC to support it.

    It seems to be another interface, I guess similar to Y200. On the Officelite pdf (for version 8.6):

    and since i do symbolic programming anyway, it is easy to adapt declarations only - KRL programs stay the same and would not know or care about the difference.

    I didn't really get this, also because I don't have any notion on symbolic programming. But I'd be interested in learning more, it seems really interesting.

    in case of a TwinCat, there is a runtime on my own machine. this is handy for testing PLC code. and i can easily read/write TwinCat variables (examples are on Beckhoff website).

    I think I get what you're saying here, however I'm doing my thesis right now, so my empirical knowledge is quite limited. However, I know that on TwinCat you can simulate PLC within the PC (if this is what you're saying) so I was planning on doing that.

    if i really wanted to make use of the actual robot inputs, i could do that right now - using Y200. and i don't even know what interfaces it exposes. and it does not matter... over the years i have created many programs that can control other programs using Windows API. (btw this is also what scripting with Auto-It does.) so it is possible to check and influence the state of any control (including inputs displayed on Y200 form).

    This is incredibly interesting, and an approach I didn't even consider. I went and read about AutoIt and it seems that, among many things, it can simulate keystrokes and mouse movements. If I manage to get Y200 to work (and it seems to be a huge leap at the moment) I guess I could:
    1) Simulate PLC on PC1
    2) Send data from PC1 to PC2 via ethernet
    3) Send data from PC2 to Officelite (running on PC2)
    4) Within Officelite, have a program which analyses the data coming in and, based on which input I need to activate, simulate a mouse click on the inputs and activate them

    However I'd need to learn this type of programming from the beginning, and this program seems to be way easier said than done. However, do you think this could be the right approach? Also, if you wanted to write a program which changes the $INs, how would you approach it (so if I decide to go through with this at least I won't take wrong paths at the beginning)?

    the point is that everything is doable. the question is just of cost/benefit ratio.

    Yeah I guess so... Since I'm a broke student doing my thesis I guess I have no better option than doing stuff by myself!

    how is PLC supposed to communicate with Y200?

    On the Officelite PDF from KUKA I read: "The interfaces (Y200 and Y-NET) can be used to read and write $IN[1] to $IN[8192]", which is what I want an external PLC to do. I configured the I/O communication on my project which had a EtherCAT net. Officelite doesn't support fieldbus hardware configuration in the projects, so I figured Y200 was the only way to write the $INs signals. However, I have no clue if that is possible, I was asking about that in the first post:

    I wanted to send PLC data to Officelite and have them modify $INs through Y200 (is it possible? Or there's another way to achieve this?)

    Also, I have to simulate the robot on an external simulation environment, for which I definitely need Y200 to work (from the Officelite PDF: "For connection to another simulation program (from KUKA.Sim), the Y200Interface software must be installed on the virtual image").

    So for now I'm just trying to read robot data through Y200Interface, which I can't manage to do. If I manage to do that, at least I can connect Officelite to the external simulation software and make that work.
    Another problem is to have an external PLC to write robot's $INs, which I think is a quite important feature so I thought there was an easy way to do so, but I don't have a clue on how to do that.
    I thought the problems were both related to Y200, so I wrote about both of them here. If I was wrong, then I'm sorry for the confusion.

    what you described so far makes no sense. your posts are contradicting. "sending PLC data to OL" is opposite of "just reading from robot"

    Sorry, maybe I didn't explain myself at best.
    The final goal is to create communication from PLC to OL through Y200, so sending signal from PLC to Officelite and also the other way back. However, for now, I'm just trying to read data from robot to see if I can get Y200 to at least partially work. Unfortunately I can't.

    do you mind stating what exactly you did and how? posts 5 and 19 are pretty clear.

    Sure. About post 5:
    I logged in as a high priority user (don't remember if Expert of higher), then went on Start-up --> Additional Software --> New Software and selected Y200. Then I pressed install, received the message of succesful installation with the requirement of restarting pc. I turned off pc and turned it on again. KUKA SmartHMI started with no problem and the Y200 purple logo appeared on the bottom right, as it should.

    Post 19 is more about requirements then actual steps, however:
    I don't have VRC installed. In the past I had installed them both, but even uninstalling VRC wouldn't make Y200 work. Now I only installed Y200.
    I'm also using NAT, as recommended in that post.

    The only thing that I can think of that could create a problem is the fact that I'm trying to use Y200 just to read from the robot and maybe it needs a full configuration (with also a source which sends signal).

    Also, the thing you said about having to configure the project to use Y200 is something I haven't read anywhere, so that was an interesting point you made.

    check this out:

    I already read that and followed the steps written by Mischa, but didn't manage to get it to work unfortunately. The only thing that I can think of is that I didn't set up the server for the communication, but I think I should have been able to read the data from the robot nonetheless.

    Hi panic mode . Unfortunately, I had kind of pictured the scenario reading the other post on Y200. However, I didn't know you had to integrate it in the actual project. Do you know/remember anything about how to do that?

    And if not with Y200, do you know how I can send signals to Officelite and connect these external signals to $INs?

    Hi everyone, this time I have a problem with the Y200 Interface.

    I'm trying to replicate a etherCAT communication between a PLC (I'm simulating the PLC, so it's a PC, really) and a robot controller (I'm using Officelite KSS 8.6).
    I wanted to send PLC data to Officelite and have them modify $INs through Y200 (is it possible? Or there's another way to achieve this?)
    However, when I click on Visu it shows that Y200 can't read data from the robot.
    I tried modifying the Y200 config file and also leaving it to default state... Nothing happens.
    Since Y200 is almost not documented at all (which leads me to believe it should be fairly easy to use) I don't know how to solve my problem or if using Y200 would allow me to achieve my simulated communication.

    It is possible to switch kinematically integrated external axis to asynchronous (not for base kinematics), but for example for a turn table. See the chapter about "$ASYNC_AXIS".

    Yes, actually I was using $ASYNC_AXIS in another part of code but I couldn't test it at the time. Some time after, I read that part of the KUKA document I uploaded before which seems to say that ASYPTP automatically switches the axis to asynchronous.

    However, everything works setting $ASYNC_AXIS, so thanks a lot to both you and SkyeFire

    ASYPTP and $EX_KIN are basically mutually exclusive. A kinematically integrated external axis cannot be switched into the Async mode that allows ASYPTP.

    Hi SkyeFire and thanks for answering.
    My settings for $EX_KIN are:


    Should I change something? The external axis is used synchronously in some parts of the program (which was made by someone else, I'm modifying it), so I'm afraid that changing something will create some problems. However, if that's the only way, I'll make the required changes.

    There exist several requirements for asyptp movements:

    - there must be configured a external axis

    - the external axis must be configured/switched as asynchronous

    Hi hermann, thanks for answering.
    The external axis is configured correctly, I can jog it and it can be moved synchronously.

    Before I could test my code I thought that I had to switch the ext axis to asynchronous to execute an ASYPTP. However, on KUKA's document about ext axis I read this:

    Which made me believe the switch was executed directly from the ASYPTP instruction... Am I wrong?

    Hi everyone.
    I'm very new to KUKA, so I set up an easy piece of code to understand how asynchronous motion works:

    ;TEST 1: Movement ASYPTP
       ASYPTP {E1 500}
       WHILE $POS_ACT.E1 <> 500
          ;Stay here

    Unfortunately, nothing happens. Instead of the WHILE I was using HALT, but figured that could have been the cause for the robot not moving (even though that doesn't convince me, really).
    I read about $EX_KIN in another thread, but its setting seems fine.

    I'm running the code on Officelite, KSS 8.6.2.
    Any help is deeply appreciated.

    Thank you so much, panic mode. Everything is green and ready to go.
    At least until I try to set up and use Y200, that is :S

    OL does not support fieldbus networks. Delete KEB (X44 bus) and deploy again.

    I did that and now have only these errors:

    The external axis is at 0.00mm, I have no idea why.
    The second error is even stranger to me. It seems that it depends on $MOVE_ENABLE being FALSE (which it is). However, I set

    $CHCK_MOVENA to FALSE in the option.dat file (it was TRUE before), so the controller shouldn't block me from enabling the drives because of that signal...

    Hi panic mode, thanks for stepping in.
    About point 1: that explains a lot of troubles that also newly created projects brought me, thanks for writing this info.
    About keeping all KSS files: the company I'm doing my thesis at is starting to program their robot just now. Up to this point they always hired system integrators. This time, when hiring the system integrator, they specified that they wanted the source files, so the workvisual project is the only thing that I have available at the moment, since the robot is no longer here at the factory. However, that's definitely a valid tip, I'll remember that.

    However, after tweaking for a while with the project, I managed to get to this point:

    Apparently the external axis is at 0.00mm. The motion enable signal is supposed to come from external plc via etherCAT.

    Considering I'm working on officelite only and I didn't actually connect any robot to etherCAT in the simulation, could these errors only depend on that? Or there probably still are errors within the project files?