Elmo HARSFEN0602 Network Hardware User Manual


 
HARSFEN0602
RM=1 with a modulo-counting position feedback.
14.9.3 Device failures, and the CPU dump
Humans have programmed the Amplifier. The programmers, however hard they try, cannot completely
avoid bugs in their code. Programming bugs may lead to CPU exceptions, like an attempt to divide in zero,
or an attempt to access a variable that does not exist.
Programming errors may also lead to CPU overloading. In that case the CPU will not be able to complete its
control tasks on time, and the internal CPU stack shall overflow.
For this reason, the Amplifier has traps for CPU exceptions and for stack overflow.
When the Amplifier traps an exception (hope it never does), it does the following:
Shut off all the controller activity. Any motion is aborted to freewheeling.
It writes down the exact trap that was activated, and the address in the firmware that caused the exception.
After the exception, communication is still enabled, so the Amplifier can be asked what had happened. Them
motor, however, cannot be set again to work until the Amplifier is rebooted.
A CPU exception is detected using the CD and the SR command.
The SR command only indicates that an exception occurred.
The CD (CPU dump) command gives the details.
The CD command reports as follows:
Null Address The code address in the firmware when the exception occurred (0 if o.k.)
Failure address The code address in the firmware when the stack overflow has been detected (0
if o.k.)
Called Handler A string describing the type of exception. This may be:
A divide by zero attempt
An attempt to access a non existing variable
Many other possible exceptions.
This string is “none” if no exception was trapped.
Table 14-3 - CD Reported Elements
The CPU dump also returns the database status, as described above.
14.10 Sensor faults
14.10.1 The motor cannot move
When the motor is commanded to move to somewhere, and it for some reason it cannot do it, the reasons
may be:
The motion sensor is faulty – the motor moves but motion is not detected. In this case AC motors
will be generally stop, since the stator field will remain stationary.
The motor is faulty, or there is other mechanical failure that prevents the motor from moving.
The controller filter is poorly tuned. In this case the motor torque may wildly oscillate in high
frequency, but the motor will hardly move at all.
These situations are identified by:
The motor average torque is high
The motor is stationary, or the movement is very slow.
The facts that the motor is commanded to high torque but is not moving are not always an error indication.
In some applications, as thread fastening, it is perfectly legitimate for the motor to reach a mechanical
motion limit.
The Amplifier user is asked to define whether a high torque stopped motor is a fault or not. If the parameter
CL[2] is less than 2, a high torque that does not lead to motion is not considered a fault. If the parameter
CL[2] is 2 or more, then a high torque stopped motor, detected for at least 3 continuous seconds, is
considered a fault. The motor is set to off (MO=0) and MF=0x200000. The time constant of 3 seconds is