曹冬梅
(钟山职业技术学院工业与信息化学院,江苏 南京 210049)
微型PLC系统设计与研究
曹冬梅
(钟山职业技术学院工业与信息化学院,江苏 南京 210049)
以单片机为核心,通过PLC指令读入、程序编辑,在进行逻辑处理后采用继电器输出方式控制外设,实现微型PLC控制功能。其系统硬件包括IAP15F2K61S2单片机、LCD液晶显示、键盘、系统的存储器、输入输出接口电路和电源等部件,软件部分主要由存储器I2C模块、键盘模块、LCD液晶显示模块、menu菜单模块、主程序和时钟模块等构成。系统针对微型PLC完成了逻辑运算、移位、定时等指令的编辑开发,实现了对数据的输入、输出及控制功能。
微型可编程逻辑控制器系统;西门子;工业自动化
随着微型可编程逻辑控制器(Programmable Logic Controller,PLC)技术的迅速发展,应用领域的逐步扩大[1],其产品结构也在不断改进,使其具有功能多样化、可靠性高、价格低等优点。微型PLC具有极高的性能价格比,在日常生产中,可以以有限的投入得到超值的效益,因此研究微型PLC系统具有非常重要的经济和工程意义。
本文设计开发了一种微型PLC系统,该微型PLC系统由程序编辑器和控制执行器两部分组成。程序编辑器主要通过键盘操作完成对PLC语句表指令输入、修改等编辑功能,并在LCD上进行显示。编辑后,可将输入的程序保存至存储器,供微型PLC控制执行器使用;控制执行器执行单元读取存储指令后,根据I/O口的输入信号,进行逻辑处理,处理后通过继电器控制外设,实现PLC控制功能。
通过对国内外PLC结构组成及工作原理调研发现,PLC基本组成主要包括中央处理模块(CPU)、存储器模块、输入/输出(I/O)模块、电源模块及外部设备(如编程器)等[2]。PLC的输入部分采集输入信号,输出部分就是系统的执行部分,由输入采样刷新、用户程序执行和输出刷新这3个阶段自身的循环扫描工作方式实现系统功能[3]。本文微型PLC系统设计方案如图1所示。
微型PLC程序编辑器主要由硬件和软件两部分构成。硬件部分包括单片机模块、存储器模块、键盘模块、LCD液晶显示模块[4];软件部分主要是在硬件电路基础上实现程序输入、编辑与显示功能。微型PLC系统程序编辑器组成结构如图2所示,控制执行器结构如图3所示。
单片机的主要作用是对键盘、LCD和存储器的控制;LCD主要用于对程序编辑、保存等人机交互信息进行显示;键盘的主要作用是对编辑器程序的录入、读写与保存操作;存储器主要用于存储程序,便于程序在编辑器和控制执行器间传输。
系统软件设计主要是围绕微型PLC系统设计中程序编辑器和控制执行器两大模块,采用Keil C51进行系统软件开发,程序设计模块化,具有可共享、便于功能扩展及易维护等特点[5]。
2.1程序编辑器软件设计
主程序(mcu1_main.c)调用各个功能子程序模块,实现程序输入、显示与编辑以及常量定义、变量定义、端口初始化、开机界面显示、菜单事件处理、按键处理和显示屏刷新等功能,流程图如图4所示。
LCD程序模块(HD61202a.c,LCD_app.c,LCD_asc8.c,LCD_asc16a.c, LCD_ch16.c)实现对HD61202 I/O访问方式驱动、LCD12864应用及字符显示(5×8点阵西文字库、8×16点阵西文字库、16×16点阵中文字库)。
menu菜单程序模块(key_processing.c、lcd_refresh.c、menu.c、menu_processing.c)包含按键处理、菜单显示、菜单程序、菜单处理等,实现菜单不同显示内容不同、同一按键在不同菜单下实现不同操作、菜单内容自动处理等功能。
时钟程序模块(timer.c)主要是根据系统晶体振荡器和定时器产生系统时基信号,提供系统10ms的时基信号,实现系统各功能模块协调工作。
2.2控制执行器软件设计
PLC工作过程一般分为数据输入采样、用户程序执行和输出刷新3个阶段[6]。完成上述3个阶段的工作称作一个扫描周期。在整个扫描周期运行期间,PLC的CPU以一定的扫描速度重复执行上述3个阶段的工作。执行器软件主要分为主程序模块、存储器I2C程序模块、I/O程序模块、时钟程序模块4大部分。
main主程序(mcu2_main.c)主要包含对LD、LDN、A、AN、O、ON、=、TON、SHRB、END等指令的定义,对I、Q、M、T等元器件变量的定义,端口初始化,程序执行,输出和扫描周期的控制等。main主程序的流程图如图5所示。
存储器I2C程序模块主要包含I2C总线驱动程序(I2C_24c16.c)和I2C总线基本应用程序(I2C_APP.C),用于实现存储模块的数据储存。
I2C信号是数据通信的一种方式,类似的通信方式还有SPI、UART等常用的通信接口。而IAP15F2K61S2单片机是没有I2C硬件总线的,因而使用软件来模拟I2C信号。为了使信号能够稳定传输,需要将I/O口的电阻值增加4.7kΩ,否则IAP15F2K61S2单片机将无法正常工作。
I/O程序模块的主要功能是对输入通道的信号进行采样,读入数据,使输出信号能够驱动继电器控制输出,实现微型PLC 对数据输入输出采样和输出控制功能。
时钟模块程序主要是根据系统晶体振荡器和定时器产生系统时基信号,提供系统10ms的时基信号,实现系统各功能模块协调工作。
本文设计开发了一种微型PLC系统,研究了系统的程序编辑器和控制执行器部分,实现了微型PLC对数据的输入输出采样和输出控制功能。该系统可作为在校大学生学习PLC工作原理及实验时使用,也可在工业自动化领域作为控制器使用。下一步将进行全面的产品化设计开发,目标是开发出具有工业应用价值的、物美价廉的、介于PLC和单片机之间的工业控制器产品。
[1] 臧福海. 高速自动倒角机研制[J]. 机械设计与制造, 2012(6):153-155.
[2] 李秀英.可变过程控制器的特点与组成[J].煤炭技术, 2008(3):33-34.
[3] 马云峰,樊俊秀.PLC系统设计分析[J].自动化技术与应用,2006(12):15-18.
[4] 陈长春,李诚.可任意编程的时间控制系统的设计与实现[J].吉林化工学院学报,2008(4):56-59.
[5] 高锰, 谷明月. Keil C51和Proteus在单片机课堂教学中的应用研究[J]. 中国机械, 2014(1):101-102.
[6] 付忠仁.一连铸切割机PLC控制系统[D].上海:上海交通大学,2006.
Development of the micro PLC system
CAO Dongmei
(Institute of Industry and Information, Zhongshan Vocational and Technical College, Jiangsu Nanjing, 210049, China)
Taking microcontrollers as the core and adding some I/O peripheral circuits to realize program editing, it develops a micro PLC control system, which includes the display and storage as well as logic processing to control peripherals with relay output. It introduces the hardware such as IAP15F2K61S2 microcontroller, LCD, keyboard, storage, I/O interface circuits and power supply, also illustrates the software components such as I2C module, keyboard, LCD, menu, main program and the clock module. This system can complete the logic operations, offset, timing, and be simple, convenient and flexible for user configuration, have wide applications in industrial automation industry.
micro PLC system; Siemens; industrial automation
10.3969/j.issn.2095-509X.2015.05.015
2015-04-04
江苏省高等学校2014年大学生创新创业训练计划立项项目(201412922001Y);2012年度江苏省高校“青蓝工程”优秀青年骨干教师培养对象
曹冬梅(1978—),女,江苏通州人,钟山职业技术学院副教授,主要从事工业自动化研究。
TP36
B
2095-509X(2015)05-0065-03