# DCS **Repository Path**: sun_gs/DCS ## Basic Information - **Project Name**: DCS - **Description**: ui配置连接plc,配置触发流程,上传数据给服务器 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2025-12-12 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DCS #### 介绍 边缘网关 ui 配置连接 plc,配置出发流程,上传数据给服务器 功能清单 1. 支持设备 hsl(只写了 s7), s7 , modbus(开发中) , opcua(开发中) 2. 流程控制 轮询 tag,满足条件触发请求发送给服务器 自定义 hook(开发中) 3. 网关联控(开发中) 服务部署在局域网中连接设备,并且将数据上传到其他 ip 的上级本程序中,根节点程序管理所有子节点 4. 日志 文件日志、数据库日志 5. 服务(开发中) http 服务,读取写入 tag。 opcua #### 软件架构 软件架构说明 1. core 是核心运行代码,无关操作系统 2. ui 里面是界面 3. device 是设备 4. server 里面是服务,目前只有 http #### 使用说明 界面样子 ![img.png](doc/png1.png) 程序的构架大致分为 4 部分 1. 设备连接 主要用来配置设备连接和配置 tag 点位的信息。 2. 日志 用来配置日志信息 3. 服务 程序拓展的服务,目前有 http 服务,用来手动读取和写入 tag 值。 opc 服务暂定开发中 4. 定时任务 里面主要用来做流程处理,结果和 plc 之间的交互问题,并且把采集的结果 http 发送给服务器 ##### 界面使用说明 大致区域如下 ![img.png](doc/2.png) 项目配置文件采用 json 的格式存储。 创建配置的流程 1. 在**菜单栏**中点击**文件**,**创建** 创建初始项目,会内置一个 file 的 log 和 http 读写操作的服务 2. 展开**项目**,游击**设备连接**,点击**添加设备**,选择**test**设备类型。 3. 在新建的设备下**新建组**和**节点**,组是可以无限嵌套的,但是节点是最终节点。同一级别中名称不能重复 4. 在自定义的**组**下方建立**tag(节点)**,可以在组上右击--模板---创建开工 ![img.png](doc/3.png) ![img.png](doc/4.png) 5. tag 点位建立完毕之后,在定时任务上右击--模板--创建开工 ![img.png](doc/5.png) 定时任务会定时轮询该节点下的左右节点。然后按照节点里面的配置去判断,如果满足条件,则会触发 http 回调,并且把**宿主节点**下所有一级的子节点读取出上放入 http 请求中。 ![img.png](doc/6.png) 上图中我定义了 3 个判断条件,分别是 10-20,30-40,复位。定时任务会按照这个先后顺序去出发逻辑。 这里面比较重要的一个概念是宿**宿主节点**。他的概念是这个**开工**定制任务的 tag 组上下文,在触发条件和回写设置中都只能从这个**宿主节点**中获取 tag。 如果需要获取其他组的 tag,则需要在附加 tag、附加触发条件、附加回写设置里面设置。附加 tag 会添加到 http 上传中, 回写的 tag 可以选择从 http 返回中获取,或者直接读取另一个 tag 的值回写。 6. 建立一个 http 服务器,(test 里面有 webtest,直接启动就行),大致代码如下 ![img.png](doc/7.png) 7. 保存文件,点击启动。打开工具--节点监视器,在 plc 标志位里面输入 10 ![img.png](doc/8.png) 如上图所示,所有宿主下一级中的节点会带入到 paramdic 里面,如果 tag 设定了参数名称,则会在 paramdic 的同级中带上这个参数 设置给上配置文件,可以自己拿去测试。[配置文件](doc/9.json) ##### 设备支持 ###### hsl 目前只添加了针对s7的代码 ###### s7 操作步骤 ###### modbus 开发中 ###### opcua 开发中 #### 参与贡献