PLC课程设计报告

时间:2025.4.20

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.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.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.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

基于plc交通灯控制系统课程设计报告

基于plc交通灯控制系统课程设计报告

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 程序流程图

基于plc交通灯控制系统课程设计报告

基于plc交通灯控制系统课程设计报告

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

基于plc交通灯控制系统课程设计报告

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. 指定芯片管脚

基于plc交通灯控制系统课程设计报告

基于plc交通灯控制系统课程设计报告

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

基于plc交通灯控制系统课程设计报告

基于plc交通灯控制系统课程设计报告

13

第四章:课程设计总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程 。回顾起此次课程设计,至今我仍感慨颇多,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多问题,但在老师的悉心指导下,终于迎刃而解。在此对给过我帮助的所有同学和指导老师再次表示忠心的感谢!

14

参考文献

1. 孙加存. 电子设计自动化. 西安电子科技大学出版社, 2008

2. 肖明耀. PLC原理与应用. 中国劳动社会保障出版社, 2006

3. 金西. VHDL与复杂数字系统设技. 2003西安电子科技大学出版社,2003

4. 王振红. VHDL数字电路设计与应用实践教程. 北京机械工业出版社,2004

5. 林明权. VHDL数字控制系统设计范例,北京电子工业出版社, 2005

6. 潘松. EDA技术实用教程. 北京科学出版社,2002

15

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名:学号:系(院):专业:设计(论文)题目:学生选课系统管理完成日期:20##年6月指导教师:目录一、实验目的二、实验内容三、总体设计四、详细设计五、运行结果六、课程设计体会一、实验…

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

《C语言程序设计》课程设计报告(20##20##学年第1学期)专业:计算机科学与技术班级:姓名学号:指导教师:成绩:计算机科学与技术系20##年12月31日目录一、课程设计的目的与要求3二、方案实现与调试32.…

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言课程设计报告电子版

C语言课程设计报告姓名张林班级计算111班学号11060101241A类基本题1围绕着山顶有10个圆形排列的洞狐狸要吃兔子兔子说可以但必须先找到我我就藏身于这十个洞中的某个洞你从号洞找下次隔个洞即3号洞找第三次...

c语言课程设计报告书

C语言课程设计报告题目院系组别成员指导老师20xx年月日114目录一课程设计题目3二课程设计要求3三数据结构设计描述31问题描述32设计思想33涉及数据结构知识34各变量的定义和作用35功能模块详细设计3四程序...

C语言课程设计报告

C语言课程设计参考例例子职工信息管理系统1用户分析11用户目的设计一个职工信息管理系统使之能提供以下功能1录入职工信息2显示职工信息3查询职工信息4修改职工信息5删除职工信息14用户需求职工信息包括职工号姓名性...

c语言课程设计报告-西安邮电大学

西安郵電大學C语言课程设计报告书学院名称:计算机学院学生姓名:专业名称:班级:学号:指导教师:时间:20XX年06月03日至20XX年06月12日实验题目:学生通讯录管理系统一、实验目的通过本次实习,进一步巩固…

C语言课程设计报告

1前言设计一个算法求出两个序列的所有LCS分析最坏情况用会计方法证明利用bij求出所有LCS的算法在最坏情况下的需求分析根据最长公共子序列问题的性质即经过分解后的子问题具有高度重复性并且具有最优子结构性质采用动...

c语言程序设计课程设计报告(34篇)