Posts by quarz

    Hi all.

    I use coordinated motion R1+S1 for welding with weaving on positioner. I always use Reference points and set them according with documentation (REFP1 on the wall, REFP2 along the direction of travel). But sometimes have a problem with weaving angle. For one seam it is OK, for another seam - wrong (rotated 90 deg). Looks like it depends on positioner orientation.

    I didn't find any documentation for Reference points for weaving with coordinated motion.


    My typical Job:

    Hello.

    I wrote a program which communicate with host computer via TCP/IP, receive commands and execute them. I noticed that AS execution is too slow. String operation (encode, val) are also too slow. Calling a subroutine with some args takes more than 10 milliseconds.

    For example, code listed below prints 0.26. Whole 260 milliseconds, Karl, to convert int to string and call a subroutine!


    I found a solution to speed up a bit: TRACE OFF. I have tracing enabled for all programs!


    Is there other methods to accelerate AS execution ???

    Yes, I found it in AS manual.

    It's a pity that it is impossible to move common parts of code to subroutines and call them independently


    For the same reason I cannot call example subroutine TcpOpenSrv.pc from two background tasks simultaneously.

    Is this really a limitation of AS system or am I wrong?

    Hello.

    I have just started programming on AS.


    For example I want to create wrapper subroutines for PRINT instruction to add some additional info to log output:

    Code
    .PROGRAM LOG.pc (.$msg)
        PRINT $TIME + ": " + .$msg
    .END


    then I call it from two background programs:


    each program1.pc and program2.pc calls LOG.pc in infinite loops:


    When I start main.pc I got an error: (P1014) Cannot execute because program already in use. No = 1002.

    But why? LOG.pc does not use any global variables

    Hello

    Maybe somebody knows whats is the maximum file size of JBI file and maximum number of points for DX200 and YRC1000 controllers ?

    I have a motoplus app which works correctly on DX200.

    Now I need to run it on YRC1000. I made some fixes (axes directions, checked mpGetRtc() usage) and expected that it to work the same.

    But I have a problem with "freezes". Sometimes the robot does not take targets from buffer and when the buffer is full, mpMotTargetSend returns code -16 (timeout).

    I called mpMotStart() with return code 0 before mpTargetSend, so I don't understand why interpolator does not work.

    Usually freezes appear after changing the type of movement from linear to joint and vice versa

    Hmm...I found in "YRC1000 OPTIONS INSTRUCTIONS User's Manual For New Language Environment MotoPlus":


    but it seems this is only for debugging and is not sitable for deploy

    Hello


    Who knows is it possible to upload motoplus application (.out) to YRC1000 remotely using ethernet/ftp or something like this ?

    A standart way is to upload application with USB/SD card, but it is too slow. Additionally you must boot in Maintance mode...

    So, how is this written in Inform Language in any Yaskawa controller.

    This code is written in MotoPlus application ofcourse. If you want to get date from the JOB, put the date to variable :)

    I made some requirements for motoplus application configuration file:

    1. Remote editing (FTP for example)

    2. Prohibit or complicate the accidental deletion of this configuration file

    3. Useful file format with comments/understandable variable names. I think json is ideal :)


    I found one solution: create a JOB that will write variables, like this:

    Code
    'Tool mass
    SET R001 5.0

    and then from motoplus app read this variables