PLC课程设计报告
题目:S7-300PLC与S7-200PLC主-从站的闭环变频调速系统设计(用PID配置向导)
姓名:
班级:
学号:
指导老师:
时间:20##年9月6日
地点:第二实验楼PLC实验室
目 录
1 引言
1.1实验目的:
通过本次课程设计,学生掌握PLC控制技术、PLC主-从站设计技术、变频调速技术、上位监控技术、系统调试技术等。
1.2设计内容:
1.2.1 S7-200PLC从站程序设计
① S7-200PLC的模拟量输出信号0~10V作为MM440变频器的模拟量输入,来控制输出频率从0 Hz~50 Hz之间变化,转速由S7-200PLC的控制程序给定,电机转速由光电编码器检测到并反馈到PLC的I0.0和I0.1,构成闭环变频调速系统。
② 采用指令向导中的PID配置指令进行PID算法编程,用传送指令输出电压控制量到变频器的模拟量输入口。
③ 采用指令系统中的HDEF、HSC指令进行PID算法编程,进行高速计数器中断程序设计,高速计数器设为HSC1和模式10,增计数,实时采集并存储光电编码器反馈的A、B两相正交脉冲数。
1.2.2 S7-300PLC主站程序设计
要求采用MOVE指令进行主—从站的数据交换,通过S7-300PLC主站进行写操作(如系统启动/停止,转速给定等),并能读取S7-200PLC从站的参数;S7-200PLC能接收S7-300PLC主站的指令;实现主-从站读/写(接收/发送)操作,驱动三相电动机运行。
2 系统总体方案设计
2.1 系统硬件配置及组成原理
选用S7-300PLC作为主站控制器,由电源模块,CPU模块(CPU为315-2DP,通讯为PROFIBUS-DP),32点数字量输入模块,32点数字量输出模块等组成;选用S7-200PLC作为从站控制器,CPU为226,数字量输入为24点DC输入,数字量输出为16点晶体管输出,扩展EM277 DP模块;主-从站采用PROFIBUS-DP通讯。被控对象为松下变频器和三相异步电动机。

图2.1硬件配置组成结构图
2.2 系统变量定义及分配表
表2.2PLC地址分配表

2.3 系统电气接线图设计

2.3 系统电气接线图
3 控制系统设计
3.1 控制程序流程图设计
图3.1 程序流程图
3.2控制程序设计思路
PLC的模拟量输出0~10VDC(对应数字量0~32000),作为变频器的模拟量输入0~10VDC,对应数字量对应变频器频率0~50Hz;对应电动机转速0~1500转/分。光电编码器实时检测电动机的转速,并转换成脉冲数反馈到PLC的I0.0和I0.1高速计数口,与转速给定进行比较,其偏差按PID算法计算出控制量,实时控制变频器,从而实现速度闭环控制。

图3.2 PLC变频调速闭环系统结构图
3.3实现设计内容
PLC300与200通讯未能实现。实现了PLC200控制变频器PID调速,由上位机控制启停和转速给定。
4 上位监控系统设计
4.1 PLC与上位监控软件通讯
4.2 上位监控系统组态设计
4.3 实现的监控效果(要有通讯图、数据变量图、工艺画面图、趋势图等)
5 系统调试及结果分析
5.1 系统调试及解决的问题
5.2 结果分析
结束语 (主要写取得的效果、创新点及设计意义)
参考文献:
附录:带功能注释的源程序
第二篇:基于plc交通灯控制系统课程设计报告
目录
第一章 绪论......................................................... 2
第二章:交通灯控制系统简介.......................................... 3
2.1交通灯控制系统的背景 .......................................... 3
2.2 交通灯控制系统的作用 .......................................... 3
第三章:交通灯控制系统的设计........................................ 5
3.1、 设计要求 .................................................... 5
3.1.1基本要求 .................................................. 5
3.1.2附加要求 .................................................. 5
3.2 设计思路、状态机变化图 ........................................ 5
3.3设计流程 ...................................................... 6
3.4 设计步骤及程序 ................................................ 7
3.5 硬件实现及调试结果 ........................................... 13
第四章:课程设计总结............................................... 14
参考文献 ......................................................... 15
1
第一章 绪论
EDA是电子设计自动化(Electronic Design Automation)的缩写,。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。
“自顶向下”的设计方法。10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。
所谓数字系统,是指交互式的以离散形式表示的具有存储、传输、处理信息能力的逻辑子系统的集合物。一台数字计算机就是一 个最完整的数字系统。显然,数字系统的功能、性能、规模远远超出了一般中小规模数字逻辑电路的范围。基本步骤包括:系统需求分析、算法设计、算法描述、系统结构选择、具体设计、系统仿真与实验。
2
第二章:交通灯控制系统简介
2.1交通灯控制系统的背景
近年来城市街道车辆大幅度增长,给城市交通带来巨大压力,而街道各十字路口,又是车辆通行的瓶颈所在,研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。本设计是交通灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。
2.2 交通灯控制系统的作用
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。为了实现交通道路的管理,力求交通管理先进性、科学化。用可编程控制器实现交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的PLC设计方案。可编程序控制器在工业自动化中的地位极为重要,广泛的应用于各个行业。随着科技的发展,可编程控制器的功能日益完善,加上小型化、价格低、可靠性高,在现代工业中的作用更加突出。
2.3 交通灯控制系统的构成
3
图2-1
图2-2
4
第三章:交通灯控制系统的设计
3.1、 设计要求
3.1.1基本要求
1. 能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;
2. 南北向为主干道,每次通行时间为30S,东西向为支干道,每次通行时间为20S;
3. 能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。其中,黄灯:5S。
4. 能实现特殊状态的功能。按下SP键后,能实现以下特殊功能:
(1)显示倒计时的两组数码管闪烁;
(2)计数器停止计数并保持在原来的状态;
(3)东西、南北路口均显示红灯状态;
(4)特殊状态解除后能继续计数;
5. 能实现全清零功能。按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮;
6. 用VHDL语言设计上述功能的交通灯控制器,并用层次化方法设计该电路;
7. 仿真、验证设计的正确性。
3.1.2附加要求
时钟输入:clkin=1KHz
采用分频器分成:1Hz,然后提供给系统
3.2 设计思路、状态机变化图
交通灯控制器的电路控制原理框图如图3-1所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。置数器模块将交通灯的点亮时间预
5
置到置数电路中。计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。核心部分是主控制模块。
图3-1 电路控制原理框图
图3-2 状态机变化图
3.3设计流程
由以上要求可以得到该系统的程序流程图如图3-3所示。其中,GA、RA、YA表示A支路的绿灯、红灯、黄灯,GB、RB、YB表示B支路的绿灯、红灯、黄灯,S表示特殊功能按键,T表示计时的时间。
图3-3 程序流程图
6
3.4 设计步骤及程序
1. 启动QuartusⅡ6.0
2. 编辑文件
单击菜单栏中的File\New命令,打开“Block Diagram\Schematic File”文件。
3. 输入原理图
画出如图3-5所示原理图
图3-5
4 . 输入程序
1)控制部分的设计 --ledcontrol.vhd源程序 library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ledcontrol is
port(reset,clk,urgen:in std_logic;
state :out std_logic_vector(1 downto 0);
sub,set1,set2 :out std_logic);
end ledcontrol;
architecture a of ledcontrol is
signal count: std_logic_vector(6 downto 0);
signal subtemp: std_logic;
begin
sub<=subtemp and (not clk);
7
statelabel:
process(reset,clk)
begin
if reset='1'then
count<="0000000";
state<="00";
elsif clk'event and clk='1'then
if urgen='0'then count<=count+1;subtemp<='1';else subtemp<='0';end if; if count=0 then state<="00";set1<='1';set2<='1';
elsif count=25 then state<="01";set1<='1';
elsif count=30 then state<="10";set1<='1';set2<='1';
elsif count=45 then state<="11";set2<='1';
elsif count=50 then count<="0000000";else set1<='0';set2<='0';end if; end if;
end process statelabel;
end a;
2)显示部分的设计 --ledshow.vhd源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ledshow is
port(clk,urgen :in std_logic;
state :in std_logic_vector(1 downto 0);
sub,set1,set2 :in std_logic;
r1,g1,y1,r2,g2,y2 :out std_logic;
led1,led2 :out std_logic_vector(7 downto 0)); end ledshow;
architecture a of ledshow is
signal count1,count2:std_logic_vector(7 downto 0);
8
signal setstate1,setstate2:std_logic_vector(7 downto 0);
signal tg1,tg2,tr1,tr2,ty1,ty2 :std_logic;
begin
led1<="11111111"when urgen='1'and clk='0' else count1;
led2<="11111111"when urgen='1'and clk='0' else count2;
tg1<='1'when state="00"and urgen='0' else '0';
ty1<='1'when state="01"and urgen='0' else '0';
tr1<='1'when state(1)='1'or urgen='1' else '0';
tg2<='1'when state="10"and urgen='0' else '0';
ty2<='1'when state="11"and urgen='0' else '0';
tr2<='1'when state(1)='0'or urgen='1' else '0';
setstate1<= "00100101"when state="00"else
"00000101"when state="01"else
"00100000";
setstate2<= "00010101"when state="10"else
"00000101"when state="11"else
"00110000";
label2:
process(sub)
begin
if sub'event and sub='1'then
if set2='1'then
count2<=setstate2;
elsif count2(3 downto 0)="0000" then count2<=count2-7;else count2<=count2-1; end if;
g2<=tg2;
r2<=tr2;
y2<=ty2;
end if;
end process label2;
9
label1:
process(sub)
begin
if sub'event and sub='1'then
if set1='1'then
count1<=setstate1;
elsif count1(3 downto 0)="0000" then count1<=count1-7;else count1<=count1-1;end if;
g1<=tg1;
r1<=tr1;
y1<=ty1;
end if;
end process label1;
end a;
3)分频器部分的设计
library ieee;
use ieee.std_logic_1164.all;
use work.p_alarm.all;
entity divider is
port(clk_in:std_logic; reset:in std_logic; clk:out std_logic);
end divider;
architecture art of divider is
constant divide_period:t_short:=1000;
begin
process(clk_in,reset) is variable cnt:t_short; begin if(reset='1')then
10
cnt:=0; clk<='0'; elsif rising_edge(clk_in)then if(cnt<=(divide_period/2))then clk<='1'; cnt:=cnt+1; elsif(cnt<(divide_period-1))then clk<='0'; cnt:=cnt+1; else cnt:=0; end if; end if; end process;
end art;
p_alarm程序包
library ieee;
use ieee.std_logic_1164.all;
package p_alarm is
subtype t_digital is integer range 0 to 9; subtype t_short is integer range 0 to 65535;
type t_clock_time is array(5 downto 0)of t_digital; type t_display is array(5 downto 0)of t_digital; end package p_alarm;
5. 创建工程
1)打开工程向导
2)将设计文件加到工程中
3)选择目标芯片
4)选择仿真器和综合器类型
11
5)结束设置
6. 目标芯片的配置
7. 编译
8. 仿真
1)建立波形文件
2)打开波形编辑器
3)输入信号节点
4)编辑输入波形
5)启动仿真及阅读仿真报告
图3-6
9. 指定芯片管脚
图
3-7
12
3.5 硬件实现及调试结果
在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。
EDA实验开发系统上的时钟cp2对应计数时钟CLK,数码管M3、M4对应东西 走向的时钟显示。LED灯l16、l15、l14对应东西走向的绿灯G1、黄灯Y1、红
灯R1。数码管M1、M2对应南北走向的时钟显示。LED灯l1、l2、l3对应南北
走向的绿灯G2、黄灯Y2、红灯R2,对应的硬件结构示意图如图3-6所示。
图3-6
调试结果如预期一样,主干道从30秒倒计时,支干道从25秒开始倒计时,主、
支干道的红黄绿灯一次点亮,当按下复位键是,交通灯系统回到初始状态,但有
一点延时。
图3-8
13
第四章:课程设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程 。回顾起此次课程设计,至今我仍感慨颇多,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,但在老师的悉心指导下,终于迎刃而解。在此对给过我帮助的所有同学和指导老师再次表示忠心的感谢!
14
参考文献
1. 孙加存. 电子设计自动化. 西安电子科技大学出版社, 2008
2. 肖明耀. PLC原理与应用. 中国劳动社会保障出版社, 2006
3. 金西. VHDL与复杂数字系统设技. 2003西安电子科技大学出版社,2003
4. 王振红. VHDL数字电路设计与应用实践教程. 北京机械工业出版社,2004
5. 林明权. VHDL数字控制系统设计范例,北京电子工业出版社, 2005
6. 潘松. EDA技术实用教程. 北京科学出版社,2002
15