作者:钟山职业技术学院 王波 章浩 邵倩光
指导老师:曹冬梅 王永波
作品简介:
结构说明
该作品一共有两部分组成:微型PLC程序编辑器、微型PLC控制执行器。
功能与使用说明
(1)程序编辑与保存
在微型PLC程序编辑器上,通过键盘按键完成PLC程序指令输入、修改等编辑功能。编辑后,通过“保存”按键,将PLC程序指令保存至存储器,供给微型PLC控制执行器使用。
(2)程序读取与执行
微型PLC控制执行器上电后读入存储器中的PLC程序指令,并根据I/O输入端口状态进行逻辑处理,处理后输出到I/O输出端口,达到系统控制要求。
作品特色
(1)先进性:
本作品采用STC公司的IAP15F2K61S2单片机作为核心,输入输出电路采用光电耦合进行隔离,具有抗干扰、稳定性好、系统存储容量大等特点。经实验证明本设计对程序存储能快速响应,稳定可靠。
(2)实用性:
本作品操作简单、性价比高,在快速消费品等OEM工业自动化领域具有广泛的应用前景。
(3)创新性:
本系统在STC公司IAP15F2K61S2单片机系统上实现了PLC程序的编辑及执行。
平台选型说明:
该作品选用单片机开发板(以STC公司IAP15F2K61S2芯片为控制核心)。
设计说明:
一.设计原理
微型PLC编辑系统是以单片机作为核心,通过对键盘按键和LCD设计完成PLC程序编辑与显示功能。通过对键盘输入指令进行处理,编辑内存单元中的PLC指令,并将其保存至存储器供给微型PLC控制执行器使用。
微型PLC执行单元读取指令后,根据IO口的输入,进行逻辑处理,处理后采用继电器输出方式控制外设。
二.设计方案
三.电路原理图
(一)微型PLC程序编辑器
(1)单片机
本作品采用的IAP15F2K61S2单片机如图3所示,主要用于对键盘、LCD和存储器控制。
(2)液晶显示
该电路由12864液晶显示模块构成,主控芯片为HD61202,主要用于对程序编辑、保存等人机交互信息进行显示。
(3)键盘
该电路由4*4阵列按键构成(使用开发板上的键盘阵列),主要用来实现程序保存,读取、取消、确定、光标上、下、左、右移动,指令输入、数值输入及上、下翻页显示等功能。
(4)存储器
该电路由I2C总线芯片24C04构成,主要用于存储程序,便于程序在编辑器和控制执行器间传输。
(二)微型PLC控制执行器
(1)输入接口电路
该电路主要由光电耦合器构成,实现对输入通道信号的采集(带有输入指示功能)。
(2)输出接口电路
该输出接口电路采用继电器输出型,可用于驱动直流和交流负载(带有输出指示功能)。
(3)电源电路
该电路主要由开关电源芯片LM2575-5芯片、肖特基二极管IN5819、储能电感等组成,将+24V转换为+5V为系统供电。
(4)存储器
该电路由I2C总线芯片24C04构成,主要用于存储程序,便于程序在编辑器和控制执行器间传输。
四.软件设计
本作品软件部分主要实现西门子(LD、LDN、A、AN、O、ON、=、TON、SHRB、END)指令编辑、读取和执行。
(一)微型PLC程序编辑器软件设计
该部分软件设计主要由存储器I2C模块、键盘模块、LCD液晶显示模块、main主程序、menu菜单模块和时钟模块等六部分组成,流程图如下:
存储器I2C模块程序(I2C_24c16.c I2C_APP.C):用于实现I2C总线驱动和I2C总线应用;
键盘模块程序(key.c):主要包括键盘全扫描程序、键值扫描程序、键值转换、按键处理程序等,实现按键扫描驱动;
LCD液晶显示模块程序(HD61202a.c,LCD_app.c,LCD_asc8.c,LCD_asc16a.c, LCD_ch16.c):实现对HD61202 IO访问方式驱动、LCD12864应用及字符显示(5×8点阵西文字库、8×16点阵西文字库、16×16点阵中文字库);
main主程序(mcu1_main.c):主要是调用各个模块子程序实现程序编辑器功能;
menu菜单模块程序(key_processing.c、lcd_refresh.c、menu.c、menu_processing.c):包含按键处理、菜单显示、菜单程序、菜单处理等,实现菜单不同,显示内容不同,同一按键在不同菜单下实现不同操作,菜单内容自动处理等功能;
时钟模块程序(timer.c):提供系统节拍。
(二)微型PLC控制执行器软件设计
该部分软件设计主要由存储器I2C模块、I/O模块、main主程序和时钟模块等四部分组成,流程图如下:
存储器I2C模块程序(I2C_24c16.c I2C_APP.C):用于实现I2C总线驱动和I2C总线应用;
I/O模块程序(IO.c):实现14路输入和8路输出功能;
main主程序(mcu2_main.c):主要是调用各个模块子程序进行逻辑处理,I/O输出,完成控制执行功能;
时钟模块程序(timer.c):提供系统节拍。
(三)系统定义及说明
(1)系统指令定义
本作品设计存储单元格式,按照在LCD上显示一行完整PLC语句为依据,每4个存储字节定义为一行。具体定义如下:
第一字节
|
高4位 |
|
低3位 |
LD |
0 |
I |
0 |
LDN |
1 |
Q |
1 |
A |
2 |
M |
2 |
AN |
3 |
T |
3 |
O |
4 |
|
|
ON |
5 |
|
|
= |
6 |
|
|
TON |
7 |
|
|
SHRB |
8 |
|
|
END |
9 |
|
|
*备注:中间一位保留*
第二字节:存储单元I、Q、M、T编号,或数值。
第三字节:存储单元I、Q、M、T编号,或数值。
第四字节:数值(备用)。
(2)按键定义
本作品设计中键盘定义如下:
保存 |
取消 |
|
加 |
读取 |
确定 |
|
减 |
|
PgUp |
上 |
PgDn |
|
左 |
下 |
右 |
保存:完成将输入语句表保存至存储器中;
读取:将保存在存储器中程序进行读取;
取消:取消误操作;
确定:完成操作;
PgUp、PgDn:实现液晶显示上、下翻页;
上、下、左、右:完成光标上、下、左、右移动;
加、减:实现指令和数值输入。
此文档的相关视频来自:http://v.eepw.com.cn/video/play/id/13468