PLC触摸屏一体机采用模块化设计
一、系统硬件架构
PLC触摸屏一体机采用模块化设计,通过高性能微处理器实现显示控制、触控交互与PLC数据通信的无缝集成,核心硬件由五大功能模块构成:
1.1 显示驱动模块
- 核心控制器:RA8875显示控制器,内置16位MCU接口,支持800×480分辨率TFT-LCD屏,具备硬件图形加速功能(画线、画圆、区域填充)
- 显示设备:7/10.4英寸TFT-LCD屏,亮度300cd/m²,对比度500:1,视角160°,适合工业环境下的多角度观察
- 辅助电路:LM1117-3.3V稳压芯片提供稳定供电,470μF+0.1μF电容组合滤除电源噪声,3.3V/5V电平转换电路确保信号兼容性
- 性能参数:最大色彩深度262K色,刷新率60Hz,数据传输速率可达16Mbps
1.2 触控检测模块
- 触控芯片:ADS7843电阻式触控芯片,12位AD转换精度,转换速率125KHz,支持4线电阻触摸屏
- 外围元件:10kΩ精密金属膜电阻(误差±1%)用于信号分压,0.1μF MLCC陶瓷电容用于噪声滤波,3.3V基准电压源(REF3025)提供稳定参考电压
- 性能指标:触摸分辨率4096×4096,触摸响应时间≤10ms,支持连续触摸和多点检测(模拟)
- 抗干扰设计:加入RC低通滤波电路(10kΩ+100nF),减少工业环境电磁干扰影响
1.3 PLC通信模块
- 主控制器:STM32F103C8T6 ARM Cortex-M3单片机,72MHz主频,64KB Flash,20KB RAM,支持多种外设接口
- RS485通信:MAX485芯片实现差分信号转换,支持1200-115200bps波特率,内置TVS管(SMBJ6.5CA)实现ESD保护
- 以太网通信:W5500硬件TCP/IP芯片,支持10/100Mbps自适应,通过FSMC接口与STM32连接,通信速率可达100Mbps
- 隔离设计:通信接口采用6N137光耦隔离,隔离电压2500Vrms,避免地电位差造成的设备损坏
1.4 电源模块
- 输入特性:DC 24V±10%宽电压输入,最大输入电流2A,支持反接保护
- 一级降压:XL4015同步降压芯片,输入24V转换为5V/1.5A,转换效率≥92%,内置过流、过热保护
- 二级降压:LM1117-3.3V线性稳压器,输出3.3V/800mA,用于为STM32、RA8875等低压器件供电
- 保护电路:PPTC自恢复保险丝(1A)防止过流,SMBJ24CA TVS管抑制浪涌电压,100μF电解电容+0.1μF陶瓷电容组合滤波
1.5 存储模块
- EEPROM:AT24C64,64Kbit容量,I²C接口,工作电压3.3V,用于存储触摸屏校准数据、用户配置参数
- Flash存储器:25Q64,64Mbit容量,SPI接口,用于存储界面图片、字库、程序固件,支持10万次擦写
- 数据保护:AT24C64内置写保护功能,25Q64支持扇区锁定,确保关键数据不被误修改
二、核心电路原理
2.1 电源模块电路
电源模块采用两级降压架构,实现从工业24V到3.3V的稳定转换:
- 输入保护电路:DC24V输入首先经过PPTC自恢复保险丝(F1)和TVS管(D1),防止过流和浪涌电压损坏后级电路
- XL4015降压电路:
- Vin引脚接24V输入,Vout引脚输出5V,通过1kΩ和2.2kΩ分压电阻(R1、R2)反馈输出电压
- SW引脚外接10μH电感(L1)和肖特基二极管(D2),组成同步整流电路
- 输出端并联470μF电解电容(C1)和0.1μF陶瓷电容(C2),滤除不同频率的纹波
- LM1117-3.3V电路:
- Vin引脚接5V输入,Vout引脚输出3.3V,ADJ引脚接地(固定输出)
- 输入端接10μF电解电容(C3),输出端接10μF电解电容(C4)和0.1μF陶瓷电容(C5),改善瞬态响应
2.2 显示驱动电路
核心设计要点:通过SPI接口实现STM32对RA8875的控制,RGB并行接口驱动LCD屏,支持硬件加速图形绘制
- SPI通信接口:
- STM32的SPI1接口(SCK:PA5, MOSI:PA7, MISO:PA6)连接RA8875的相应引脚
- RA8875的CS引脚接STM32的PA4,INT引脚接STM32的PA0(外部中断)
- SPI通信速率设置为8MHz,支持全双工数据传输
- LCD驱动接口:
- RA8875的RGB565信号(R0-R4, G0-G5, B0-B4)直接连接LCD屏的对应引脚
- HSYNC(行同步)、VSYNC(场同步)、DOTCLK(像素时钟)控制显示时序
- LCD背光通过STM32的PWM引脚(PB1)控制,支持亮度调节
- 电源配置:RA8875的VDDIO引脚接3.3V(逻辑电平),VDD引脚接5V(驱动电压),确保LCD驱动能力
2.3 触控检测电路
- SPI通信接口:
- ADS7843的SCK、DIN、DOUT引脚连接STM32的SPI2接口(SCK:PB13, MOSI:PB15, MISO:PB14)
- ADS7843的CS引脚接STM32的PB12,PENIRQ引脚接STM32的PB2(触摸中断)
- 触控信号采集:
- 触摸屏的X+、X-、Y+、Y-电极分别连接ADS7843的XP、XN、YP、YN引脚
- XP与XN之间串联10kΩ电阻(R3),YP与YN之间并联0.1μF电容(C6)
- ADS7843的VREF引脚通过2.5V基准电压源供电,提高AD转换精度
- 工作原理:通过切换内部开关,分别检测X轴和Y轴的电压变化,经12位AD转换后得到触摸坐标
2.4 PLC通信电路
2.4.1 RS485通信电路
- STM32的USART1接口(TX:PA9, RX:PA10)通过光耦隔离后连接MAX485的DI、RO引脚
- MAX485的DE和RE引脚接STM32的PB0,通过高低电平控制收发模式切换
- MAX485的A、B引脚通过TVS管(SMBJ6.5CA)和120Ω终端电阻(R4)后连接到PLC的RS485接口
- 支持Modbus RTU协议,数据格式:8位数据位,1位停止位,无奇偶校验,波特率可配置(默认9600bps)
2.4.2 以太网通信电路
- STM32通过FSMC接口(地址线A0-A15,数据线D0-D15)控制W5500芯片
- W5500的RST引脚接STM32的PC0,INT引脚接STM32的PC1(中断输入)
- W5500通过网络变压器(HR911105A)连接RJ45接口,支持Auto-MDIX自动交叉功能
- 支持TCP、UDP、ICMP等协议,可配置为客户端或服务器模式,默认IP地址:192.168.1.100
三、电路原理SVG图
四、软件设计方案
4.1 软件架构
系统软件采用分层设计,基于RTOS实时操作系统,确保多任务高效协同工作:
- 硬件抽象层(HAL):封装各硬件模块的驱动函数,提供统一接口,包括GPIO、SPI、UART、FSMC等外设驱动
- 中间层:实现通信协议解析、数据处理、图形绘制等功能,包括Modbus协议栈、TCP/IP协议接口、图形库
- 应用层:实现用户交互、数据显示、参数配置等业务逻辑,由多个任务模块组成
- RTOS内核:采用FreeRTOS实时操作系统,负责任务调度、内存管理、中断处理,确保实时性
4.2 主要任务模块
| 任务名称 | 优先级 | 周期 | 主要功能 |
|---|---|---|---|
| 通信管理任务 | 高 | 10ms | 处理RS485和以太网通信,解析Modbus协议,收发数据 |
| 显示刷新任务 | 中 | 50ms | 更新LCD显示内容,处理图形绘制,刷新界面元素 |
| 触控处理任务 | 中 | 20ms | 采集触摸坐标,识别触摸事件,执行对应操作 |
| 数据处理任务 | 低 | 100ms | 处理PLC数据,进行量程转换、数据校验、历史记录 |
| 系统管理任务 | 最低 | 1000ms | 系统状态监测,故障诊断,参数保存,固件升级 |
4.3 通信协议实现
4.3.1 Modbus RTU协议
- 支持功能码:0x03(读取保持寄存器)、0x06(写入单个寄存器)、0x10(写入多个寄存器)
- 数据帧格式:从机地址(1字节)+ 功能码(1字节)+ 数据(N字节)+ CRC校验(2字节)
- 实现方式:采用事件驱动模式,收到完整帧后触发解析,处理超时和错误重传机制
- 数据映射:PLC寄存器地址与触摸屏内部变量建立映射表,支持32位浮点数、16位整数等数据类型
4.3.2 以太网通信
- 基于W5500硬件TCP/IP协议栈,实现客户端/服务器模式
- 自定义应用层协议:帧头(0xAA55)+ 长度(2字节)+ 命令(1字节)+ 数据(N字节)+ 校验和(1字节)
- 支持功能:实时数据传输、历史数据查询、远程配置、固件升级
- 网络参数:支持静态IP和DHCP自动获取,可通过触摸屏界面配置
4.4 图形界面设计
- 界面组成:主监控界面、参数设置界面、历史数据界面、系统配置界面、故障报警界面
- 图形库功能:支持文本、图形、曲线、按钮、指示灯等控件,提供透明、反色、闪烁等显示效果
- 字库支持:内置ASCII和GB2312汉字库,支持12×12、16×16、24×24等多种字号
- 界面切换:采用状态机管理界面切换,支持滑动、淡入淡出等过渡效果
- 触控交互:支持按钮点击、滑动条调节、数值输入框、虚拟键盘等交互方式
4.5 数据存储与管理
- 参数存储:系统配置参数、触摸屏校准数据、通信参数等存储在AT24C64 EEPROM中,掉电不丢失
- 历史数据:关键运行参数(温度、压力、流量等)按时间戳存储在25Q64 Flash中,支持循环存储
- 数据格式:采用CSV格式存储历史数据,包含时间、数据标识、数据值、状态等信息
- 存储策略:重要数据实时存储,一般数据定时存储(可配置1-60秒),支持存储间隔设置
五、系统工作流程
- 上电初始化阶段:
- 系统上电后,电源模块输出稳定的5V和3.3V电压
- STM32单片机复位,执行启动代码,初始化系统时钟和外设
- 初始化各功能模块:RA8875显示控制器、ADS7843触控芯片、通信模块、存储模块
- 读取AT24C64中的校准数据,完成触摸屏校准
- 启动FreeRTOS内核,创建各任务模块
- 正常运行阶段:
- 通信管理任务周期性与PLC交换数据,接收PLC状态信息,发送控制指令
- 数据处理任务对接收的PLC数据进行转换和校验,更新内部数据缓冲区
- 显示刷新任务根据内部数据缓冲区内容,更新LCD屏显示,包括数值、图表、状态指示灯等
- 触控处理任务实时监测触摸事件,解析用户操作,更新界面或发送控制指令
- 系统管理任务定期保存关键数据,监测系统状态,处理故障报警
- 异常处理机制:
- 通信异常:检测到通信超时或错误时,尝试重新连接,超过阈值时触发报警
- 触摸异常:连续多次触摸无效时,自动重新校准触摸屏
- 电源异常:检测到电压异常时,保存关键数据,进入低功耗保护模式
- 程序异常:通过WatchDog定时器监测程序运行状态,异常时自动复位系统