|
|
|
@@ -6,6 +6,7 @@ |
|
|
|
#include "plsr_pulse_driver.h" |
|
|
|
#include "plsr_run_control.h" |
|
|
|
#include "plsr_param.h" |
|
|
|
#include "plsr_persist.h" |
|
|
|
#include "plsr_command.h" |
|
|
|
#include "plsr_signal_io.h" |
|
|
|
#include "ucos_ii.h" |
|
|
|
@@ -13,10 +14,11 @@ |
|
|
|
void PlsrInit(void) |
|
|
|
{ |
|
|
|
PlsrParamInitDefault(); |
|
|
|
PlsrPersistLoad(); /* 有 Flash 记录则覆盖公共参数;段表仍用默认 */ |
|
|
|
PlsrPulseDriverInit(); |
|
|
|
PlsrSignalIoInit(); |
|
|
|
PlsrRunControlInit(); |
|
|
|
PlsrParamBlockExportToHold(); /* 上电把默认映像摊到保持寄存器 */ |
|
|
|
PlsrParamBlockExportToHold(); /* 上电把运行映像摊到保持寄存器 */ |
|
|
|
PlsrCommandInit(); |
|
|
|
} |
|
|
|
|
|
|
|
@@ -71,7 +73,7 @@ void PlsrTask(void *pArg) |
|
|
|
|
|
|
|
for (;;) |
|
|
|
{ |
|
|
|
/* 首次进入:等 Modbus 清寄存器后再导出默认,避免被冲掉 */ |
|
|
|
/* 首次进入:等 Modbus 清寄存器后再导出运行映像,避免被冲掉 */ |
|
|
|
if (s_booted == 0U) |
|
|
|
{ |
|
|
|
OSTimeDly(30U); /* ~300ms @ 100Hz tick */ |
|
|
|
@@ -85,6 +87,7 @@ void PlsrTask(void *pArg) |
|
|
|
} |
|
|
|
|
|
|
|
PlsrCommandPoll(); /* 收 START/STOP 等,回写忙闲状态 */ |
|
|
|
PlsrPersistPoll(); /* 公共参数有改且空闲则追加写入 Flash */ |
|
|
|
PlsrRunControlTickMs(); /* 方向延时、段间等待到期处理 */ |
|
|
|
|
|
|
|
#if (PLSR_LOOP_TEST_EN != 0) |
|
|
|
|