CoreC — 工业数据采集核心

CoreC — 工业数据采集核心 A architecture diagram generated by Archify. 南向层 — 驱动 CoreC 核心 北向层 — 传输 西门子 S7 · S7-300/1200 :102 · 南向层 — 驱动 西门子 S7 S7-300/1200 :102 PLC / Modbus · Modbus TCP :502 · 南向层 — 驱动 PLC / Modbus Modbus TCP :502 OPC UA 服务器 · opc.tcp :4840 · 南向层 — 驱动 OPC UA 服务器 opc.tcp :4840 RESTful API · chi :9090 · CoreC 核心 · Bearer 鉴权 RESTful API chi :9090 Bearer 鉴权 调度器 · goroutine/任务 · CoreC 核心 · Ticker 驱动 调度器 goroutine/任务 Ticker 驱动 指令循环 · 反向通道 · CoreC 核心 指令循环 反向通道 最新值缓存 · 64 分片 RWMutex · CoreC 核心 · 驱动→标签→数据点 最新值缓存 64 分片 RWMutex 驱动→标签→数据点 数据总线 · chan cap=8192 · CoreC 核心 · 丢最旧策略 数据总线 chan cap=8192 丢最旧策略 WebSocket · /tags/stream 等 5 路 · CoreC 核心 WebSocket /tags/stream 等 5 路 处理循环 · 多 worker 并行 · CoreC 核心 处理循环 多 worker 并行 规则引擎 · 优先级排序 · CoreC 核心 · 转发/丢弃/告警/转换/镜像 规则引擎 优先级排序 转发/丢弃/告警/转换/镜像 MQTT 传输 · 同步发布 · 北向层 — 传输 · 指令主题 MQTT 传输 同步发布 指令主题 HTTP 推送 · 连接池 · 北向层 — 传输 HTTP 推送 连接池 读取 轮询 订阅 推入 channel 更新 匹配 转发 镜像 RLock 广播 收指令 写入

南向层

  • • Modbus(TCP/RTU/TLS 等)、西门子 S7、OPC UA 三大协议族
  • • 每任务独立 goroutine,Ticker 定时调度
  • • 按采集周期分组标签,最小化 I/O 次数

核心层

  • • DataBus channel(cap=8192)丢最旧背压策略
  • • 多 worker 并行:缓存→广播→规则→发布
  • • 64 分片 RWMutex 读写锁,atomic 原子计数器

北向层

  • • MQTT 同步发布 + 指令主题反向控制
  • • HTTP 推送 + 连接池复用
  • • 规则动作:转发、丢弃、告警、转换、镜像