Posts by Jonson

    Is there more detail about the stream motion software?

    Thank you.

    I found it in a manual on Motoman's website. It's part number 178939-1. MotoPlus New Language Environment, Programmer's.

    Yes, I have find it in this manual who is for Motoplus YRC100, but there is just in a list, I can't find any detail for this API include in the manual and samples found in the Motolus YRC1000.

    Maybe we are a step closer to the truth.

    Thank you very much.

    If I were you, I would like to use EthernetKRL. I think it can help you finish your application.
    As for OPC and RSI, I think OPC is more suitable for communicating with PLC, MES or Cloud system. And the RSI is commonly used for real-time application, for example, you want to control the robot motion in real-time.

    Hoping this helps.

    M-registers are a 16-bit variable used in the concurrent i/o ladder. Depending on the generation of the controller there are M-registers that contain the current position of the robot in pulse or XYZ.

    MotoPlus, how about the mpGetJobStepData API.

    I can't find the mpGetJobStepData in the reference manual, there is only mpGetJobData whose name like what you said.
    The mpGetJobData can only get the job name and the system time. Where you can find the API you said?

    Depending on generation you could use the GETPOS job instruction. You may also be able to use the M-registers that have the pulse count values or the tcp position.

    If using the GETPOS instruction, I must modify the JOB program and insert so many GETPOS.
    What's the M-registers. Where I can find it? Can I read the next point in this register?

    The only way to do this is to make your program in position variables. This way you know where each position is in either pulse or X,Y,Z.

    Yes, if using the position variables, I can calculate the current position in motoplus, but the number of the position variables is not enough for using, even if I extend to 1024.

    Hi guys,

    I want to get the taught point in advance of moving to this point.
    For example, I have a program like shown bellow.

    MoveL C00000 V=10
    MoveL C00001 V=10
    MoveL C00002 V=10
    MoveL C00003 V=10

    When the robot is moving to the C0000, I can get the position data of the C00000, also, when the robot is moving to the C00001, I can get the position data of the C00001. I want to implement this without modifying the INFORM, it can run in the background task or in the motoplus.

    Is there any function in motoplus can achieve this? Or is there any system variable I can read out this data? Or any other method?

    Thanks a lot in advance.

    The 32-bit version can also run on your 64-bit system. You can try to run it in compatible mode. Windows 7 and 10 both support this mode.

    Step1, Set your robot and your PLC in the same IP segment.
    Step2, Select PLC as a client, then the robot as a server, it is also ok if you want to swap the two.
    Step3, In the MENU-SETUP-Host Comm, you can find that you can configure a client or server in the list, select one, and fill in the IP address of your PLC. In you karel code like above, you can find the following line.
    MSG_CONNECT('S3:',STATUS) S3 indicates Server 3.
    MSG_CONNECT('C1:',STATUS) C1 indicates Client 1.
    Step4, Input your code and build it in your RobotGuid, it will generate a *.pc for you, you can load this file in your TP.
    Step5, Program your PLC in TIA for receiving and sending.

    Maybe, there will be a lot of problems, but you have to figure it out by yourself.
    I think you can read the manuals regarding karel and socket message first. And then, if you have problems, you can search in this forum.

    Hope that helps.

    Please check your robot whether there is a R648 option in your order file, you can make a AoA backup where you can find this file.

    Yes, if you select the first way, you should create your own socket using karel, you can refer to the example above.

    If you just want to transmit some simple signals, you can use physical IOs. It is easy for you to configure and implement.

    You can look for a maintenance manual for controller where you can find the answer which you want.


    There are several communication methods for you, but you should check that what options you have bought.

    1, Siemens PLC can communicate with your robot through TCP/IP, but your robot should have User Socket MSG option;
    2, If your robot has a PROFINET I/O option, you can also communicate with Siemens PLC;
    3, If your robot has Ethernet IP option and PLC has a Ethernet IP gateway module, it is possible to communicate through Ethernet IP.

    Hope that helps.

    You can try to use KUKA.Encryption Tool to encrypt your src and dat files to a techpack. After you installing this techpack, you can run your code using single step mode. By this way, the pointer will not step into your functions. But you also can not see your code, because of encrypting.

    If you want to save the variable in the CMOS, you should declare your variable using IN CMOS like the shown below.

    sVar3 IN CMOS :STRING[99]
    rVar5 IN CMOS :REAL

    I hope that helps.

Advertising from our partners