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 内核 指令循环 反向通道 最新值缓存 · RWMutex · CoreC 内核 · 驱动→标签→数据点 最新值缓存 RWMutex 驱动→标签→数据点 数据总线 · chan cap=8192 · CoreC 内核 · 丢最旧策略 数据总线 chan cap=8192 丢最旧策略 WebSocket · /tags/stream /logs · CoreC 内核 WebSocket /tags/stream /logs 处理循环 · 单 goroutine · CoreC 内核 处理循环 单 goroutine 规则引擎 · 优先级排序 · CoreC 内核 · 转发/丢弃/告警/镜像 规则引擎 优先级排序 转发/丢弃/告警/镜像 MQTT 传输 · 异步发布 · 北向层 — 传输 · 指令主题 MQTT 传输 异步发布 指令主题 HTTP 推送 · 连接池 · 北向层 — 传输 HTTP 推送 连接池 读取 轮询 订阅 推入 channel 更新 匹配 转发 镜像 RLock 广播 收指令 写入

南向层

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

内核层

  • • DataBus channel(cap=8192)丢最旧背压策略
  • • 单处理循环:缓存→广播→规则→发布
  • • RWMutex 读写锁,atomic 原子计数器

北向层

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