恭喜,你发布的帖子
发布于 2024-08-05 17:50:27
10楼
多个扫描周期, 同时有很复杂, 都可以用状态机
CASE calculate_step OF
IDLE:
IF calculate THEN
calculate_step := CALCULATE_STEP_1;
END_IF;
CALCULATE_STEP_1:
// first calculation
calculate_step := CALCULATE_STEP_2;
CALCULATE_STEP_2:
// second calculation
calculate_step := CALCULATE_STEP_3;
CALCULATE_STEP_3:
// third calculation
calculate_step := DONE;
DONE:
calculate_done := TRUE;
IF not calculate THEN
calculate_done := FALSE;
calculate_step := IDLE;
END_IF;
END_CASE;
请填写推广理由:
分享
只看
楼主