步骤4:用例 21_var_temp(VAR_TEMP 每周期重置语义)+ 文档更新 + 修复 store_target STORE 缺 func 隐藏 bug
This commit is contained in:
@@ -125,7 +125,7 @@ bit = 2
|
||||
|
||||
**POU**:`PROGRAM` / `FUNCTION` / `FUNCTION_BLOCK`(含对应 `END_*`)。
|
||||
|
||||
**变量段**:`VAR` / `VAR_INPUT` / `VAR_OUTPUT` / `VAR_GLOBAL`(仅 `gvl.file` 顶层)/ `VAR_EXTERNAL`。
|
||||
**变量段**:`VAR` / `VAR_INPUT` / `VAR_OUTPUT` / `VAR_GLOBAL`(仅 `gvl.file` 顶层)/ `VAR_EXTERNAL` / `VAR_TEMP`(每次调用重新初始化,不跨周期持久;FB 内不占实例字段)。
|
||||
|
||||
**类型**:19 种(`BOOL`/`SINT`/`INT`/`DINT`/`LINT`/`BYTE`/`WORD`/`DWORD`/`LWORD`/`USINT`/`UINT`/`UDINT`/`ULINT`/`REAL`/`LREAL`/`TIME`/`DATE`/`TOD`/`DT`);内建 FB 15 条(`TON`/`TOF`/`TP`/`CTU`/`DCTU`/`CTD`/`DCTD`/`CTUD`/`DCTUD`/`R_TRIG`/`F_TRIG`/`SR`/`RS`/`PWM`/`RTC`,关键字,不可作变量名;FB 名三层判定:toml fb 表 → 用户 FB → 类型名)。
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ struct Symbol {
|
||||
| 13 | PWM | in BOOL, pt TIME, duty REAL, q BOOL, et TIME |
|
||||
| 14 | RTC | enable BOOL, date DATE, tod TOD |
|
||||
|
||||
- 实例布局 = 类型字段表的一份拷贝;字段偏移编译期按 1/2/4/8 对齐计算(字段类型决定宽度),实例 = 槽表 1 条
|
||||
- 实例布局 = 类型字段表的一份拷贝(`VAR_TEMP` 不是字段,不持久,编译期映射为帧寄存器 + 每次调用初值装载);字段偏移编译期按 1/2/4/8 对齐计算(字段类型决定宽度),实例 = 槽表 1 条
|
||||
|
||||
## 错误
|
||||
|
||||
|
||||
+2
-1
@@ -26,6 +26,7 @@
|
||||
| 18_tof_ctu | 正例 | 编译+执行 | ok | |
|
||||
| 19_recursive_call | 负例 | 编译 | REJECTED ok | link error: recursive call |
|
||||
| 20_line1 | 正例 | 编译+执行 | ok | 真值表 4 行全对 |
|
||||
| 21_var_temp | 正例 | 编译+执行 | ok | VAR_TEMP 每周期重置(a=10107/10108/10109) |
|
||||
|
||||
## line1 真值表(回放:io.input 顺序 EmergencyStop, I0_0;I0_1=0 未绑定)
|
||||
|
||||
@@ -36,4 +37,4 @@
|
||||
| 1 | 0 | 0 | ok(急停生效) |
|
||||
| 0 | 1 | 1 | ok |
|
||||
|
||||
**结论:20/20 用例符合期望,ctest 14/14,全部绿。**
|
||||
**结论:21/21 用例符合期望,ctest 14/14,全部绿。**
|
||||
|
||||
Reference in New Issue
Block a user