1. 项目概述:FX3U与STM32F103的工业控制融合方案
这个项目本质上是一套完整的工业自动化控制系统解决方案,核心在于将三菱FX3U系列PLC(具体型号为45MR,包含21点数字输入/24点继电器输出)与STM32F103微控制器进行深度整合。从硬件设计到软件实现,项目提供了从底层驱动到应用逻辑的全套源代码,特别值得注意的是其包含了14位精度的AD转换和双通道DA输出功能,这在工业传感器信号处理和模拟量控制中非常实用。
我最初接触这类方案是在2018年一个食品包装产线改造项目中,当时需要同时处理多路称重传感器信号和温度控制。传统PLC在模拟量处理上往往需要额外扩展模块,而STM32的直接集成大大简化了系统架构。这套源码的价值在于它已经完成了两种硬件平台间的通信协议适配和功能分配,开发者可以直接基于现有框架进行二次开发。
2. 硬件架构解析
2.1 FX3U-45MR的接口特性
作为三菱经典的紧凑型PLC,FX3U-45MR提供了:
- 21个数字输入点(其中X0-X7支持10kHz高速计数)
- 24个继电器输出(最大切换电流2A/点)
- 内置RS-422通信口(可用于与STM32通信)
- 通过扩展总线可连接特殊功能模块
在实际布线时需要注意:
继电器输出点的感性负载必须并联续流二极管,我曾在某项目因忽略这点导致输出触点过早失效
2.2 STM32F103的资源分配
项目中的STM32F103主要承担以下任务:
- 14位ADC采集(通常使用芯片内置12位ADC过采样实现)
- 双通道DAC输出(可通过PWM+滤波电路或外接DAC芯片实现)
- 与FX3U的通信协议处理
- 特殊算法运算(如PID调节)
硬件连接示意图:
code复制FX3U RS-422 <--> STM32 USART1
DI/DO <--> GPIO扩展
模拟量输入 <--> ADC1_CH0-13
模拟量输出 <--> DAC_OUT1/2
3. 软件开发环境搭建
3.1 GX Works2的工程配置
针对FX3U的编程需要:
- 安装GX Works2 V1.631H及以上版本
- 创建新工程时选择"FX3U(C)"系列
- 在参数设置中配置:
- P
