| Article ID: | T60 |
| Date: | 2/24/2001 |
| Product: | SPEL for Windows (all versions) |
| Problem: | Error 24 during parallel processing Wait statements |
Symptoms
After running a continuous loop that includes long
parallel processing statements for several minutes, error 24 occurs.
Causes
This is a bug in the SRC-3xx controller firmware
and PC compiler. The PC compiler does not report that a line is too
long. Then during execution, some internal tables are corrupted.
Remedies
Avoid
using long parallel processing statements. If you compile on the
controller (see Setup | Proferences | Project), an error will occur stating
that the line is too long.
Instead of using inline parallel processing
during the motion command, consider using a separate task. It will do the
same job, allow more statements, and will be easier to comment.
For
example, replace the following parallel processing Jump statement with a simple
Jump and separate task:
Jump P1 !On 1; Wait .1; On 2; Wait .2; Off 2; Wait .2;
Off 1
Replace
with:
Xqt !2,
monitor ' Start monitor task
...
...
Jump P1 !On $procJump! ' Signal monitor task to
process parallel statements during Jump
' Wait for parallel processing to
complete, in case Jump is finished first
Wait Sw($procJump) = Off
Function monitor
Off $procJump
While TRUE
If Sw($procJump) Then
'
Parallel process during jump
On 1
Wait .1
On
2
Wait .2
Off 2
Wait .2
Off 1
Off
$procJump ' Signal that we are done with processing
EndIf
Wend
Fend
Status
This problem is being researched.
