PLC课程设计--时钟系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

时钟系统设计
一、设计背景
近年来,随着电子产品的发展,人们对数字时钟的要求越来越高,本文针对人们的这一需求,设计了一种有PLC控制的智能化数字时钟,功能强大,界面友好,更好的满足了人们对它的智能化要求。

随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。

多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。

但是却很少知道其他类型的内部结构以及工作原理。

由PLC 的CPU模块作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经PLC的外部接口输出,利用显示器显示出来。

通过开关可以进行定时、校时功能。

输出设备显示器可以用液晶显示技术和数码管显示技术。

时钟系统是一种用数字电路技术实现年、月、日、周、时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

此时钟系统是基于PLC技术的应运而设计的,该系统包括了硬件电路部分和程序实现部分。

二、设计目的及要求
巩固《PLC技术》课程学过的知识,加强理论与实践的联系。

以西门子S7-300系列PLC 为例,通过本课程设计,达到了解硬件设备,熟悉PLC系统设计流程,灵活运用基本指令和高级指令的目的。

时钟系统包含年、月、日、周、时、分、秒的显示和设置。

为简化程序,不需要判断闰年,即大月为31天,普通小月为30天,2月为28天。

系统分两种模式,由一个选择开关进行切换。

1、运行模式
初始运行,或上电时,系统默认为运行模式,系统按照一个默认初值运行时钟。

2、修改模式
选择开关打到修改模式,系统时钟停止运行,进入修改状态。

修改值由两个拨码开关输入,可单独对年~分进行修改并确定。

修改完毕,打到运行模式,系统按照修改的时钟进行运行。

系统设计部分要求:
两种模式由信号灯进行区别:绿灯亮表示系统处于运行模式;红灯闪烁,闪烁频率为0.5s 表示系统处于修改模式。

三、设计内容
1.硬件选型
从使用的熟练程度和成本方面考虑,在此使用的是实验室做PLC实验所使用的PLC型号。

经过老师的讲解和多次做实验,我对那些模块的内部工作方式和外部接口有了初步的了解,所以我采用的是基于自己的个人的习惯。

在此说明,实验室所使用的型号基本能满足一般的
实验要求和小型控制的要求,且实验室已经从成本方面考虑的型号的选择。

电源模块(PS):
名称:PS 307 5A
订货号:6ES7 307-1BA00-0AA0
电源模块描述: 120 / 230 VAC:24 VDC / 5 A
CPU模块(CPU):
名称:CPU 313C-2 DP
订货号:6ES7 314-6CG03-0AB0
CPU模块描述:Work memory 96KB; 0.1ms/1000 instructions; DI24/DO16; AI5/AO2 integrated; 4 pulse outputs (2.5kHz); 4 channel counting and measuring with incremental encoders 24V (60kHz); integrated positioning function; MPI+ DP connector (DP master or DP slave); multi-tier configuration up to 31 modules; send and receive capability for direct data exchange; constant bus cycle time; routing; S7 Communication (loadable FBs/FCs); firmware V2.0
数字量输入输出模块(SM):
名称:DI16xDC24V
订货号:6ES7 321-1BH01-0AA0
数字量输入输出模块描述:数字量输入模块 DI16 24 V,分成 16 组。

2.硬件电路
CPU模块是主要执行用户程序,同时还为S7-300背部总线(Back-Plane Bus)提供5V 电源。

在多MPI还能与其他MPI网络节点进行通信,对于专用CPU还有其他的功能。

下图是CPU 313C-2 DP的内部电路原理图。

CPU 313C-2 DP内部工作原理图
SM322数字量输入/输出模块是在一块模块上同时具备输入和输出点的信号模块。

SM322模块的输入和输出电路均设有光隔离电路,输出点采用晶体管输出,并设有电子式短路保护设置,在额定输入电压下输入延时为1.2-4.8ms。

下图是D016/DI16模块的内部电路。

SM322-D016/DI16内部接线图
下面是PLC的I/O接口出线端子号,对应的IN和OUT是接线插孔的标识,如果标识的
端子号标识端子号标识端子号标识
1 11 IN44 21
2 IN38 12 IN45 22 IN16
3 IN39 13 COMC 23 IN17
4 COMA 14 IN46 24 IN18
5 IN40 15 IN47 25 IN19
6 IN41 16 OUT33 26 IN20
7 COMA 17 OUT34 27 IN21
8 IN42 18 OUT35 28 IN22
9 IN43 19 OUT36 29 IN23
10 COMB 20 COMD 30 24V-(GND)
CPU314C-2DP-(DI8/AI5/AO2)
端子号标识端子号标识
1 24V(IL+) 11
2 IN0 12 IN8
3 IN1 13 IN9
4 IN2 14 IN10
5 IN3 15 IN11
6 IN4 16 IN12
7 IN5 17 IN13
8 IN6 18 IN14
9 IN7 19 IN15
10 20 24V-(GND)
端子号标识端子号标识
21 24V+(IL+) 31 24V+(IL+
22 OUT0 32 OUT8
23 OUT1 33 OUT9
24 OUT2 34 OUT10
25 OUT3 35 OUT11
26 OUT4 36 OUT12
27 OUT5 37 OUT13
28 OUT6 38 OUT14
29 OUT7 39 OUT15
30 24V-(GND) 40 24V-(GND)
CPU314C-2DP-(DO16)
端子号标识端子号标识
1 24V+(IL+) 11 24V+(IL+
2 OUT16 12 OUT24
3 OUT17 13 OUT25
4 OUT18 14 OUT26
5 OUT19 15 OUT27
6 OUT20 16 OUT28
7 OUT21 17 OUT29
8 OUT22 18 OUT30
9 OUT23 19 OUT31
10 24V-(GND) 20 24V-(GND)
CPU314C-2DP-(DI16)
硬件槽位分布图:
设备的PLC系统槽位布置
其地址分配图:
模块的地址分配图
CPU的扫描过程:
当PLC上电出于正常运行模式时,它将不断的重复扫描过程。

分析上述扫描过程,如果暂不考虑远程I/O特殊模块和其他通信服务,则扫描过程剩下“输入采样”、“程序执行”、“输出刷新”三步骤。

三、构建程序
1、信号表
构建信号表和符号表:
地址说明地址说明地址说明
M20.0 秒的进位状态M21.0 秒的中间变量MW0 秒的保存地址
M20.1 分的进位状态M21.0 分的中间变量MW2 分的保存地址
M20.2 时的进位状态M21.0 时的中间变量MW4 时的保存地址
M20.3 周的进位状态M21.0 周的中间变量MW6 周的保存地址
M20.4 日的进位状态M21.0 日的中间变量MW8 日的保存地址
M20.5 月的进位状态M21.0 月的中间变量MW10 月的保存地址
M20.6 年的进位状态M21.0 年的中间变量MW12 年的保存地址
外部I/O端子的分配表:
地址说明地址说明地址说明
I125.0 输入到M30.0 I126.0 输入到M31.0 I124.0 运行开关
I125.1 输入到M30.1 I126.1 输入到M31.1 I124.1 修改开关
I125.2 输入到M30.2 I126.2 输入到M31.2 M30.0 中间寄存器
I125.3 输入到M30.3 I126.3 输入到M31.3 M30.1 中间寄存器
I125.4 输入到M30.4 I126.4 输入到M31.4 Q124.0 运行指示灯
I125.5 输入到M30.5 I126.5 输入到M31.5 Q124.1 修改指示灯
I125.6 输入到M30.6 I126.6 输入到M31.6
I125.7 输入到M30.7 I126.6 输入到M31.7
对时钟系统的初始化设置:
时间系统的初始状态
时钟系统的时间可以调整,设置初始值日期和时间一九零零年一月一日星期一零时零分零秒。

2.程序流程图
根据实际的电子时钟对本时钟系统的算法进行简化的到的程序流程为:
3、梯形图及注释
OB35是在一个固定的时间间隔执行循环中断组织块,默认的时间间隔为100毫秒,用户可以修改此时间,其范围1---60000毫秒。

在OB35中编辑秒发生器:
注释:将中间寄存器MW50的值置为0,然后在每100ms加一,经过十次累加后再与10比较,如果大于10则把MW50 的值置为0同时将秒的标识位(进位状态)M20.0的置为1。

FC(功能模块)用于时间要求苛刻、存储器容量要求大的过程信号处理任务,如定位或闭环控制。

常用的功能模块有:计数器模块、位置控制与位置检测模块、闭环控制模块等。

在 FC10里面实现年—秒实现功能:
程序段1保存秒位:
保存秒位的LAD
注释:将秒的进位状态M20.0变为1时,取它的上升沿保存在M21.0中,并将MW0的值加1,接着与59比较,当大于59时把MW0的值置为0同时将分钟的进位M20.1置为1.
程序段2保存分钟位:
保存分钟位的LAD
注释:将分钟的进位状态M20.1变为1时,取它的上升沿保存在M21.1中,并将MW2的值加1,接着与59比较,当大于59时把MW2的值置为0同时将小时的进位M20.2置为1.
程序段3保存小时位:
保存小时位的LAD
注释:将小时的进位状态M20.2变为1时,取它的上升沿保存在M21.2中,并将MW4的值加1,接着与59比较,当大于23时把MW4的值置为0同时将周的进位M20.3和日的进位M20.4置为1.
程序段4保存日位:
日期位的STL程序实现:
A(
A M 20.4
FP M 21.4
JNB _010
L MW 8
L 1
+I
T MW 8
AN OV
SAVE
CLR
_010: A BR
)
A(
L MW 10
JL lstx
JU seg0
JU seg1
JU seg2
JU seg3
JU seg4
JU seg5
JU seg6
JU seg7
JU seg8
JU seg9
JU sega
JU segb
JU segc
lstx: JU comm
seg0: JU comm
seg1: L MW 8
L 31
>I
JU comm
seg2: L MW 8
L 28
>I
JU comm seg3: L MW 8
L 31
>I
JU comm seg4: L MW 8
L 30
>I
JU comm seg5: L MW 8
L 31
>I
JU comm seg6: L MW 8
L 30
>I
JU comm seg7: L MW 8
L 31
>I
JU comm seg8: L MW 8
L 31
>I
JU comm seg9: L MW 8
L 30
>I
JU comm sega: L MW 8
L 31
>I
JU comm segb: L MW 8
L 30
>I
JU comm
segc: L MW 8
L 31
>I
JU comm
)
comm: JNB _011
L 0
T MW 8
SET
SAVE
CLR
_011: A L 20.0
BLD 102
= M 20.0 注释:将日期的进位状态M20.4变为1时,取它的上升沿保存在M21.4中,并将MW8的值加1,接着利用的STL分支语句来进行比较,及按照大月为31天,普通小月为30天,2月为28天,如果在所出的月份大于相应的日日期数则月的进位M20.5置为1.
说明:此处如果采用LAD语句需要占用大量的排版空间,故采用STL语句来简化编程。

程序段5保存周位:
保存周位的LAD
注释:将周数的进位状态M20.3变为1时,取它的上升沿保存在M21.3中,并将MW6的值加1,接着与7比较,当大于7时把MW4的值置为0.
程序段6保存月位:
保存月份位的LAD
注释:将月份的进位状态M20.5变为1时,取它的上升沿保存在M21.5中,并将MW10的值加1,接着与12比较,当大于12时把MW4的值置为0同时将年份的进位M20.6置为1程序段7保存年位:
保存年位的LAD
注释:将年份的进位状态M20.6变为1时,取它的上升沿保存在M21.6中,并将MW12的值加1.
程序段8-23将拨码开关输入量保存在中间寄存器MW30.
注释:将开关量保存在中间寄存器中,使用16拨码开关地址从I125.0-I125.7和I126.0-I126.7保存在MW30中,利用CPU的循环扫描完成数据的读取。

程序段29对于修改状态和运行模式的切换:
注释:开关I124.0是运行模式,开关I124.1是修改模式,同时使用了中间寄存器M23.0.当按下开关I124.1进入修改模式,将MW30 中的输入移动到MW0中,及修改了秒的时间,然后延迟3秒自动进入分钟的修改。

程序段30—35分别对分—年的修改:
注释:当定时器T0时间到,由于CPU的工作模式式循环扫描MW30中的值已经发生了改变,此时修改的是分钟单元里面的值。

接着进入进入3秒延时等待下一个值的输入。

程序段36由修改模式进入到运行模式:
注释:开关I124.0属于常闭开关(默认是上电后进入运行模式),当按下I124.0时将M32.0的值置0退出修改模式。

程序段37在修改模式下对于闪烁电路:
注释:当进入修改模式是中间寄存器M32.0为1,利用两个内部定时器进行500ms 的闪烁电路,并利用M23.1进行自锁。

注释:上电时默认是运行状态绿灯亮。

1、内容:
根据设计资料中的控制要求,采用PLC来实现时钟系统设计。

2、要求
(1)提交课程设计报告书。

(2)课程设计报告的内容应包括以下几个部分:
①设计题目、设计要求以及系统功能需求分析;
②PLC硬件模块选型,搭建硬件电路;
③信号表,程序流程图、梯形图及程序注释;
④对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方
法及效果等);
⑤课程设计小结。

包括课程设计过程中的学习体会与收获、对本次课程设计的认识以
及自己的建议等内容。

四、设计分析
在时钟系统设计时遇到了一些在实验和老师上课期间没有提起的问题,如常开按钮和常闭按钮的选择及其对应于逻辑电路的逻辑关系、秒发生的精度问题、当控制电路转换为实物电路出现一些逻辑转换问题等
五、参考资料:
《PLC技术》教材
在整个程序的调试过程中,我遇到了一些问题,最初的设计比较简单,只是将投币,购买的过程考虑进去,而没有将购买之后送货的过程加进设计的方案中,后来在老师的提醒之下,我又将送货的过程采用了小车直线运动进行模拟,将四个光电开关模拟成四种货物的送货地点,分别在按下四个送货按钮之后,将货物送到四种地点,使得整个系统更加完善,功能更加强大。

在数码显示的过程中也遇到了一些问题,数码显示时数据的传输所用到的中间继电器和后来送货时的中间继电器发生了冲突,使得程序运行过程发生了紊乱,后来在同学的帮助下,我明白了问题的关键,将其解决,使数码显示功能顺利实现。

在最后的送货过程中,由于有四个地点,所以要对电机的正反转分别进行控制,最初我是将所有的正转输入都采用了Q2.6进行驱动,所有的反转输入都采用了Q2.5进行驱动,当程序运行时,发现得不到预期的现象,经检查程序没有问题,后来经过考虑和同学的提醒,采用中间继电器进行驱动,现象就出现了,实现了最初预想的送货过程。

在找零阶段,最初只是按下找零按钮后直接将数码显示清零,后来经过思考和老师的提醒,将找零部分又逐步进行了完善,将找零的过程在数码管上显示了出来先找大面额的钱币,后找小面额的钱币,其内部进行减法运算,使得整个找零的过程清晰可见。

在购买货物的过程中最初忽略了如果货物售完该怎么办,后来经过完善将货物的数量进行了设定,只有当投币金额大于等于所要购买的货物时,且货物数量大于零时才能进行购买,这使得整个过程更加完善。

6、结论
通过本次PLC课程设计使得我对PLC的操作更加的熟练,同时掌握了自动售货机的基本工作原理,对自动售货机的发展也有了一定的了解更加充分的体会到了PLC在实际生活中的重要应用与在当今控制领域的重要地位。

与此同时,我也对S7—200系列的PLC有了更进一步的了解,同时对PLC
的高效性和实用性有了更进一步的认识,在整个课程设计过程中,在遇到问题的时候,我学会了如何借助外界的帮助和自身的努力来解决实际问题,懂得如何进行独立思考,如何冷静的面对要解决的问题,这些都是今后学习生活的宝贵经验,在以后的各个方面都有着至关重要的作用。

相关文档
最新文档