Skip to content

qiukanyi/Industrial_controlIterm

Repository files navigation

工控系统学习实践项目集

项目背景

本项目是作者在2024年上半年学习工业控制系统时创建的综合性练习集合。通过开发一系列与工业控制相关的应用程序,旨在深入理解和掌握工业自动化领域的核心技术,包括但不限于Modbus通信协议、串口通信、传感器数据采集、报警系统设计以及监控系统开发等。

这些项目涵盖了工业控制从数据采集到监控展示的完整流程,既包含基础的通信协议实现,也包含复杂的系统集成应用,为进一步学习和从事工业自动化相关工作奠定了坚实基础。

项目结构

项目采用模块化组织方式,每个子项目专注于特定的工控技术领域:

工控作业/
├── Annunciator/          # 基于Modbus的智能报警器系统
├── DTU服务器/            # 数据传输单元(DTU)服务器实现
├── IDSS2/                # 工业数据采集与监控系统(升级版)
├── IGSS/                 # 工业通用监控系统(基础版)
├── ModBus协议及案例/     # ModBus通信协议学习与实践案例
├── Solution1/            # 综合解决方案集(Modbus+串口通信)
├── alarm system/         # 通用报警系统框架
├── chartroom/            # 工业监控聊天室(用于系统间通信)
├── 串口/                 # 串口通信基础项目
├── 串口服务器/           # 工业级串口服务器实现
├── 光照温湿度+数码管显示/ # 环境参数监测与显示系统
├── 塔石364/              # 塔石364控制器相关项目
├── 报警器系统/           # 多通道报警器系统
├── 报警系统/             # 工业级报警管理系统
├── 数码管/               # 数码管显示控制模块
├── 服务端温控查看/       # 温度控制系统服务端
├── 测试/                 # 单元测试与集成测试项目
├── 温控传感器/           # 温度传感器数据采集系统
├── 空压机/               # 空压机监控与控制系统
└── 重命名/               # 项目重构与优化

核心子项目详解

Annunciator

基于Windows Forms开发的智能报警器系统,通过Modbus协议与工业设备进行串口通信。系统特点:

  • 实时采集光照、温度等传感器数据
  • 智能阈值判断与多级报警机制
  • 多线程处理确保通信响应及时
  • 支持报警记录与历史数据查询
  • 可配置的报警参数与设备地址

核心代码示例:

// Modbus数据帧构建
public static readonly byte[] mb = new byte[] { 0x1, 0x3, 0x00, 0x00, 0x00, 0x03 }.AppendModbusCrc();

// 报警控制逻辑
private void timer1_Tick(object sender, EventArgs e)
{
    Task.Run(() =>
    {
        this.Invoke(new Action(() =>
        {
            serialPort1.Write(mb, 0, mb.Length);
        }));
    });
    // 更多代码...
}

IGSS & IDSS2

工业通用监控系统的两个版本,采用分层架构设计:

  • IGSS:基础版本,包含用户认证与基本监控功能
  • IDSS2:升级版本,增强了数据处理与系统集成能力

主要组件:

  • 登录系统(FormLogin):基于数据库的用户身份验证
  • 主监控界面(FromMain):数据可视化与设备控制中心
  • 数据访问层(DAL):SQLite数据库操作与数据持久化
  • 业务逻辑层(BLL):数据处理与业务规则实现
  • 模型层(Model):数据实体与类型定义
  • 视图层(View):用户界面与交互设计

ModBus协议及案例

专注于ModBus通信协议的学习与实践,包含:

  • ModBus RTU模式通信实现
  • ModBus数据帧解析与构建
  • 基于ModBus的传感器网络
  • 数码管显示控制系统
  • 协议调试工具

串口通信项目

系列串口通信相关项目,覆盖:

  • 基础串口数据收发
  • 串口参数配置与错误处理
  • 多设备串口通信管理
  • 串口服务器设计
  • 基于串口的远程控制

技术栈

  • 编程语言:C# 7.0+
  • 框架:.NET Framework 4.7.2
  • UI框架:Windows Forms、AntdUI 1.4.x
  • 通信协议:ModBus RTU/ASCII、串口通信
  • 数据库:SQLite 3.x
  • 第三方库
    • HmExtension.Standard:扩展工具类
    • Newtonsoft.Json:JSON处理
    • QRCoder:二维码生成
    • V8.Net:JavaScript引擎集成
    • SunnyUI:UI组件库

运行说明

开发环境

  1. 操作系统:Windows 10/11
  2. 开发工具:Visual Studio 2019或更高版本
  3. .NET Framework:4.7.2或更高
  4. 硬件要求(可选):串口设备、ModBus传感器、PLC等

运行步骤

  1. 克隆或下载项目到本地
  2. 打开对应项目的.sln解决方案文件
  3. 还原NuGet包:右键解决方案 -> 还原NuGet包
  4. 编译项目:生成 -> 生成解决方案
  5. 连接硬件设备(如需要)
  6. 运行项目:调试 -> 开始执行(不调试)

注意事项

  • 确保串口配置与硬件设备匹配(波特率、数据位、停止位、校验位)
  • 部分项目需要管理员权限运行
  • 硬件连接前请仔细阅读设备说明书

学习收获

通过这些项目的实践,系统掌握了以下工业控制核心技能:

  1. 工业控制系统架构设计与实现
  2. ModBus、串口等工业通信协议的原理与编程实现
  3. 传感器数据采集、处理与分析
  4. 工业报警系统的设计与实现
  5. 基于数据库的工业数据持久化
  6. Windows Forms应用程序开发
  7. 分层架构设计与代码组织
  8. 工业设备通信调试与故障排查

未来扩展计划

  1. 协议扩展:集成OPC UA、MQTT等更多工业通信协议
  2. Web监控:开发基于Web的远程监控界面
  3. 数据可视化:增加图表、报表等高级数据展示功能
  4. 移动端支持:开发Android/iOS移动端监控应用
  5. 云平台集成:实现工业数据上云与远程管理
  6. 人工智能应用:引入机器学习进行设备故障预测
  7. 跨平台支持:移植到Linux系统,支持更多工业场景

本项目为工业控制技术学习实践项目,持续更新与优化中。

© 2024 工控学习项目组

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages