1 Outline
1.6 Notes
1-9
HW1484528
HW1484528
1.6 Notes
• C language memory operation
When programming in C language, the pointer variable
which stores the memory address can be used. If the
pointer variable is set incorrectly, the system memory area
may be rewritten.
If the system memory area is rewritten, critical problems
occur, e.g., the software hangs up (the hang-up status is
detected by a CPU exception or the watchdog check func-
tion, then the servo power turns OFF and the system
shuts down), the robot stops its operation due to an alarm,
or the programming pendant becomes inoperable.
If the system memory operation is incorrect, the applica-
tion itself may not operate as it is designed. Thus, by test-
ing adequately, the error location can be found. Check the
functions of the application software well enough, and
make sure that all functions operate as designed.
•
Task “mpUsrRoot” which starts when the power is turned ON
The task “mpUsrRoot” has a high priority to start other applica-
tion tasks and initialize the entire application quickly. Due to its
high task priority, if a time-consuming process (100 microsec-
onds or longer) is done in this task, the processing time for the
robot control becomes insufficient. Then the system alarm
may occur or the programming pendant or the HOLD button
may freeze. Thus, as the sample program (refer to
“Chap.17.3 Task Control Sample Program” in “YRC1000micro
OPTIONS INSTRUCTIONS Programmer’s Manual For New
Language Environment MotoPlus (HW1484526)”, make sure
to complete the task “mpUsrRoot” after starting up another
application or creating a semaphore.
• Debugging via Telnet
1. After completing debugging, set the Telnet function to
INVALID (S2C1119 = 0). This is because the Telnet
function consumes the system processing time, and an
alarm may occur due to insufficient processing time for
robot operation.
2. With the Telnet function, debug only the tasks with
normal priority. For debugging the tasks with high
priority (the tasks started with the task priority:
MP_PRI_IO_CLK_TAKE, MP_PRI_IP_CLK_TAKE, or
MP_TIME_CRITICAL, or the task “mpUsrRoot”), use the
variables of the YRC1000micro. This is because, if
printf() or puts() is done with a high priority task, the
processing time for the robot operation control is
consumed, and a system alarm may occur due to
insufficient processing time.
3. After completing debugging, make sure to clear the
debugging code using printf() or puts() which is
described in the source code. This is because the
processing time of printf() and puts() influences the
system, and an error may occur such as insufficient
processing time during robot operation.
4. When using the SHELL debugging function of the
controller OS which becomes available by connecting
with the YRC1000micro via Telnet, a system alarm may
occur due to insufficient processing time for robot
operation. Do NOT use the SHELL debugging function.