Skip to content

feat: 增加 GEM 基础行为层 - #15

Merged
CSJ608 merged 1 commit into
mainfrom
feat-gem-foundation
Aug 28, 2026
Merged

CSJ608 merged 1 commit into
mainfrom
feat-gem-foundation

Conversation

@CSJ608

@CSJ608 CSJ608 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

概述

  • 新增独立 SecsFrame.Gem 程序集,只依赖 SecsFrame
  • 新增可替换 GemMessageProfile、Host/Equipment 基础服务和显式通信/在线状态
  • 实现通信建立、在线/离线、运行期状态变量、设备常量和应用托管时钟
  • 严格校验 W-Bit、消息体、Secondary、应答、未知标识和时钟输入
  • 状态仅在绑定事务的 Secondary 完整写出后提交,非 Selected 事件会重置状态

行为边界

  • 默认消息对、应答值和 UTC 时间格式是可替换的非规范性工程基线,不声明 E30 合规
  • 应用仍拥有单消费者连接事件循环,并将每个事件传给 GEM 服务分派
  • 第一切片暂不按未核对的 E30 状态表门控变量、常量和时钟请求
  • 尚未实现自动 S9Fx、策略拒绝、报告/事件、报警、远程命令或完整错误恢复

验证

  • dotnet build SecsFrame.slnx -c Release
  • dotnet test SecsFrame.slnx -c Release --no-build
  • SecsFrame.Tests:191 × net8.0/net10.0/net48,全部通过
  • 官方 NuGet Secs4Net 3.1.0 互操作:2 × net8.0/net10.0,全部通过
  • dotnet pack src/SecsFrame.Gem/SecsFrame.Gem.csproj -c Release --no-build
  • 真实 TCP 覆盖双向通信建立、上下线、异构动态标识、嵌套值、时钟读写、拒绝应答和 Linktest

标准与版权

  • 跟踪公开目录中的 SEMI E30-0526
  • 仍需使用合法获得的标准副本核对基础消息条件、数据项、应答枚举、时间格式和状态转换
  • 仓库只提交自主 API、测试向量和行为摘要,不包含 SEMI 标准正文、表格、状态图或 Schema

@CSJ608
CSJ608 merged commit 9bb6edb into main Aug 28, 2026
4 checks passed
@CSJ608
CSJ608 deleted the feat-gem-foundation branch August 28, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant