基于STM32的嵌入式PLC的设计
2018-04-26广东工业大学黄伟鑫
广东工业大学 黄伟鑫
1 引言
采用嵌入式PLC的方式去设计系统,能够提高开发速度,对于用户的个性化需求可以进行灵活的设计,这样就可以达到定制的效果[1]。同时,也可以增强小型控制系统的设计和应用能力,更贴近客户需求的个性差异化设计要求。用户可以自己选择合适的硬件来组成满足要求的嵌入式PLC。
2 硬件结构的设计
本系统是在对三菱FX系列PLC的充分研究其硬件结构和工作原理的基础上设计的嵌入式PLC。选用STM32F103ZET6为核心处理器,最高达72MHz的时钟速度,1.25DMips/MHz,512K字节的闪存程序存储器 ,64KB RAM,LQFP-144脚封装,还有其他模块电路辅助完成相应的功能[2]。嵌入式PLC系统搭建的硬件电路框架图如图1所示。采用RS232和RS485通信协议,不仅可以用于程序下载,而且可以用于基本数据的访问。

图1 硬件电路框架图

图2 程序结构框图
其中,下载电路模块是给STM32F103ZET6芯片下载固化程序用,而对于最终PLC程序的下载则是通过串口通讯模块完成。由于STM32F103ZET6芯片上有3个12位模数转换器和2通道12位D/A转换器,所以模拟量输入使用芯片内部的A/D转换电路,无须外扩芯片;8路A/D为12位ADC逐次逼近型模拟数字转换器;2路D/A为12位数字输入电压输出的D/A转换器。使用6N137芯片和PWM脉宽调制波形的方法进行脉冲设计。
3 软件方面的设计
嵌入式PLC软件设计主要分为两部分设计[3]。第一部分为梯形图程序下载设计,该部分主要是遵循FX2N型PLC的通讯协议,实现基本数据访问以及程序下载功能。第二部分为PLC程序解释执行设计,程序先从内置Flash中取PLC指令,然后判断是何种指令,若是END指令则直接跳出程序,否则执行相应的程序。……
