基于STM32的嵌入式PLC的设计

2018-04-26 08:51广东工业大学黄伟鑫
电子世界 2018年7期
关键词:梯形图嵌入式指令

广东工业大学 黄伟鑫

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指令则直接跳出程序,否则执行相应的程序。

采用Keil软件进行编程,C语言作为程序开发工具,将系统程序主要分为主芯片配置模块、输入输出模块、定时计数模块、串行通信模块。通过对每一个模块进行设计和调试,最后进行系统程序的整体调试[4]。系统程序结构框图如图2所示

3.1 梯形图程序下载

当梯形图程序下载时,嵌入式PLC会完成与上位机的相互识别,等待程序下载到嵌入式系统中,然后把程序写入到嵌入式PLC中。此时,嵌入式PLC需要对接收的数据进行处理,校验完后对错误的数据信息删除,之后对操作码和操作数的数据存储起来[5]。

3.2 梯形图程序的解释执行

嵌入式PLC工作于梯形图程序解释执行时,需要Memory的初始化,I/O的初始化和中断的初始化,然后载入X值,将输入值映像到寄存器中,即输入扫描,接着进行指令执行,对每一条指令进行判断,判断该指令是否是END指令,如果不是,则要对每一条指令进行解释执行,解释执行完当前指令后继续取下一条指令并解释执行,如此循环不断。如果是,则进入输出刷新,输出Y值。

4 结束语

本文从硬件和软件两个方面对嵌入式PLC系统进行了分析,根据三菱FX系列PLC的工作原理及功能,完成了嵌入式PLC的设计。与传统 PLC 相比较,该嵌入式PLC能够解决传统PLC成本高、兼容性差、通用性差等问题,嵌入式 PLC 不仅能支持梯形图开发,而且没有增加工程师的开发难度。同时,系统集成了通信功能,可以满足不同的工业控制需求,为未来某些工控领域的特定场合控制器的选择提供了新的选择。

[1]陈辉,李坚强,裴海龙,等.基于梯形图语言的软PLC技术研究与实现[J].微型计算机信息,2006.

[2]王晓光.嵌入式PLC的设计与研究[D].成都∶西华大学,2013.

[3]李雪莲.嵌入式PLC的设计及通信功能的扩展[J].电子设计工程,2015(17)∶168-171,174.

[4]严奎.嵌入式PLC编程软件开发[J].工业控制计算机,2012,25(10)∶67-70.

[5]李冠军.基于Cortex-M3的嵌入式PLC设计和开发[D].天津工业大学,2013.

猜你喜欢
梯形图嵌入式指令
ARINC661显控指令快速验证方法
搭建基于Qt的嵌入式开发平台
基于VC的梯形图编程软件开发技术
嵌入式软PLC在电镀生产流程控制系统中的应用
继电器电路转为梯形图教学经验浅谈
杀毒软件中指令虚拟机的脆弱性分析
PLC梯形图程序设计技巧及应用
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
Altera加入嵌入式视觉联盟