Designing Your Model: Model-Code Correspondence : Activity Charts : Task Activities : Basic Task - Generated Code

Basic Task - Generated Code

The code for a basic Task that contains activities A11 and A12 will resemble the following:

TASK (TASK1)
{

cgActivity_A11();

cgActivity_A12();

TerminateTask();

}

If the Task is periodic, with a period of 10 ticks, the code will resemble the following:

TASK (TASK1)
{

if ((cgGlobalFlags & ALARM_SET_TASK1) == 0){

cgGlobalFlags |= ALARM_SET_TASK1;

SetRelAlarm(TASK1_ALARM, 10, 10);

}

cgActivity_A11();

cgActivity_A12();

TerminateTask();

}

The code for a periodic Task, containing activities A11 and A12 with CTRL1 as a controller, will resemble the following:

TASK (TASK1)
{

if ((cgGlobalFlags & ALARM_SET_TASK1) == 0){

cgGlobalFlags |= ALARM_SET_TASK1;

SetAbsAlarm(TASK1_ALARM, 10, 10);

}

do {

cgGlobalFlags &= ~BITSUPERSTEP_TASK3;

cgActivity_A11();

cgActivity_A12();

cgActivity_CTRL1cnt1();

} while ( (cgGlobalFlags & BITSUPERSTEP_TASK1) != 0);

TerminateTask();

}