这有啥影响,
调用的子程序也是主程序的一部分,
只不过是为了通用才做成子程序,用起来好用,
简化代码,当然你调用的子程序确实是有用,
别像延时,没事就掉,
势必会影响你大循环的周期;
能够中断子程序完成执行的方法只能是plc从run转向stop,例如,停电了。
否则,一定是主程序调用子程序,子程序调用完成,继续执行主程序,即使调用过程中发生中断,也是停止子程序,调用中断程序,执行完中断程序,继续子程序,然后主程序这样一个过程。
智能水位控制系统毕业设计
一、水位智能检测系统设计原理�
实验证明,纯净水几乎是不导电的,但自然界存在的以及人们日常使用的水都会含有一定的Mg2+、Ca2+等离子,它们的存在使水导电。本控制装置就是利用水的导电性完成的。�
如图1所示,虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内。为此,在水塔的不同高度安装了3根金属棒,以感知水位变化情况。
图1 水位检测原理图
其中B棒处于下限水位,C棒处于上限水位,A棒接+5V电源,B棒、C棒各通过一个电阻与地相连。�
水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制之目的。供水时,水位上升。当达到上限时,由于水的导电作用,B、C棒连通+5V。因此,b、c两端均为1状态,这时应停止电机和水泵工作,不再给水塔供水。
当水位降到下限时,B、C棒都不能与A棒导电,因此,b、c两端均为0状态。这时应启动电机,带动水泵工作,给水塔供水。
当水位处于上下限之间时,B棒与A棒导通,b端为1状态。C端为0状态。这时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位在不断下降。都应继续维持原有的工作状态。�
二、基于单片机控制的水塔水位控制系统�
1�单片机控制电路�
水塔水位控制的电路如图2所示。�
2�前向通道设计
图2 水塔水位控制电路
由于所采用的信号是频率随水位变化而变的脉冲信号(开关量),因此电路设计中省去了A/D�转换部分,这不仅降低了硬件电路的成本,而且由于采用数字脉冲信号通信,提高了系统的抗干扰能力、稳定性和精度。�
输入的可变脉冲信号送到8031的P10和P11脚电平,当接收到信号时,输入脉冲使其输出高电平,而无信号输入时,无触发脉冲,此时翻转为低电平。程序控制8031周期性地对P11和P10脚电平进行采样,达到控制的目的。�
3微机控制数据处理部分�
在电路设计中,充分利用8031已有端口的作用,同时也考虑扩展,做到尽可能节省元件,不仅可降低成本,而且提高可靠性。
(1)使用8031单片机。水塔水位控制的电路如图3—1。接受电路得到的是频率随水位变化的调频脉冲,它反映了贮水池水位的高度,对其进行信号处理,便能实现对水位的控制及故障报警等功能。要完成此一工作,
最佳的选择是采用微机控制,实验中是以MCS—51系列d片机8031作CPU。对接受的信号进行数据处理,完成相应的水位控制、故障报警等功能。8031芯片的内部结构框图见图3所示。�
由图3可大致看到:它含运算器、控制器、片内存储器、4个I/O接口、串行接口定时器/计数器、中断系统、振荡器等功能部件。图中SP是堆栈指针寄存器,栈区占用了片内RAM的部分单元;未见通用寄存器(工作寄存器),因单片机片内有存储器,与访问工作寄存器一样方便,所以就把一定数量的片内RAM
字节划作工作寄存器区;PSW
是程序状态字寄存器,简称程序状态字,相当于其他计算机的标志寄存器;DPTR是数据指针寄存器,在访问片外ROM、片外RAM、甚至扩展I/O接口时特别有用;B寄存器又称乘法寄存器,它与累加器A协同
工作,可进行乘法 *** 作和除法 *** 作。实验中8031时钟频率为6MHz。由于8031没有内部ROM,因此需外扩展程序存储器。本系统采用2732EPROM扩展4K程序存储器,对应地址空间为0000H~0FFFH。
(2)74LS373作为地址锁存器。74LS373片内是8个输出带三态门的D锁存器,其结构示意图见图4所示。当使能端G呈高点平时锁存器中的内容可更新,而在返回低电平瞬间实现锁存。如此时芯片的输出控制端为低,也即输出三态门打开,锁存器中的地址信息便可经由三态门输出。除74LS373外,84LS273、8282、8212等芯片也可用作地址锁存器,但使用时接法稍有不同,由于接线稍繁、多用硬件和价格稍贵,故不如74LS373用的普遍。
图3 8031芯片内部结构框图
(3)两个水位信号由P10和P11输入,这两个信号共有四种组合状态。如表3—1所示。其中第三种组合(b=1、c=0)正常情况下是不能发生的,但在设计中还是应该考虑到,并作为一种故障状态。�
表3-1 水位信号状态表
C(P11) B(P10) *** 作
0 0 电机运转
0 1 维持原状
1 0 故障报警
1 1 电机停转
(4)控制信号由P12端输出,去控制电机。为了提高控制的可靠性,使用了光电耦合。
4报警电路�
本系统采用发光二极管,当控制电路出现故障状态时,P13置零,发光二极管导通,发光报警。�
5软件设计�
一个应用系统,要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用MCS—51汇编语言和结构化程序设计方法进行软件编程。这个系统程序由主控程序、延时子程序组成。其中主控程序是核心。由它控制着整个系统程序的运行和跳转。流程图如图5所示。包括系统初始化,数据处理,故障报警等。�
电路具体工作情况如下:�
① 当水位低于B时,由于极棒A和C、A和B之间被空气绝缘,P10和P11得到低电平,全置0,单片机控制电路使P12置零,继电器吸合,启动水泵向水塔灌水;�
② 当水位高于B低于C时,P10置1,P11置0,继电器常开触电自保,因此升到B以上时,继电器并不立即释放,电极仍然供水;
③ 当水位达到C时,P10 、P11均置1,单片机控制电路使P12置1,继电器释放,水泵停止工作;�
④ 用水过程中,水位降到C以下,P11置0,P10置1,维持原状,电机不工作,直到降到B以下,如此循环往复。�
系统出现故障时,由P13置零,输出报警信号,驱动一支发光二极管进行光报警。
三、结束语�
现代传感技术、电子技术、计算机技术、自动控制技术、信息处理技术和新工艺、新材料的发展为智能检测系统的发展带来了前所未有的奇迹。在工业、国防、科研等许多应用领域,智能检测系统正发挥着越来越大的作用。检测设备就像神经和感官,源源不断地向人类提供宏观与微观世界的种种信息,成为人们认识自然、改造自然的有力工具。
现代的广义智能检测系统应包括一切以计算机(单片机、PC机、工控机、系统机)为信息处
理核心的检测设备。因此,智能检测系统包括了信息获取、信息传送、信息处理和信息输出等多个硬、软件环节。从某种程度上来说,智能检测系统的发展水平表现了一个国家的科技和设计水平。�
本课题研究的内容是“智能水位控制系统”。水位控制在日常生活及工业领域中应用相当广泛,比如水塔、地下水、水电站等情况下的水位控制。而以往水位的检测是由人工完成的,值班人员全天候地对水位的变化进行监测,用有线电话及时把水位变化情况报知主控室。然后主控室再开动电机进行给排水。很显然上述重复性的工作无论从人员、时间和资金上都将造成很大的浪费。同时也容易出差错。因此急需一种能自动检测水位,并根据水位变化的情况自动调节的自动控制系统,我所研究的就是这方面的课题。�
水位检测可以有多种实现方法,如机械控制、逻辑电路控制、机电控制等。本实验采用两种方法(单片机和时基集成电路)进行主控制,在水池上安装一个自动测水位装置。利用水的导电性连续地全天候地测量水位的变化,把测量到的水位变化转换成相应的电信号,主控台应用单片微机或时基集成电路对接收到的信号进行数据处理,完成相应的水位显示、控制及故障报警等功能。�
参考文献�
1丁元杰 单片微机原理及应用 机械工业出版社 2000�
2腾召胜 罗隆福 智能检测系统与数据融合 机械工业出版社 2000
3孙虎章 自动控制原理 中央广播电视大学出版社 1999
1、反复调用子程序,对定时器和计数器是有影响的,定时器会不停的响应最近的一次调用。计数器的影响是把各次的调用逻辑 *** 作做总的累加或累减。
2、对于200来说定时器和计数器不能做成接口函数,但是可以做成FB类型的实参函数调用。
3、S7—200PLC的定时器为增量型定时器,用于实现时间控制,可以按照工作方式和时间基准(时基)分类,时间基准又称为定时精度和分辩率。
1) 工作方式
按照工作方式,定时器可分为通电延时型(TON)、有记忆的通电延时型(TONR)、断电延时型(TOF)3种类型,我们要根据实际需要来选择。
2) 时基标准
按照时基标准,定时器可分为1ms10ms100ms3种类型,不同的时基标准,定时精度定时范围和定时器的刷新方式不同,我们使用的时候要注意它们之间的区别。
3) 定时器工作方式及类型
通电延时型(TON)
使能端输入有效时,定时器开始计时,当前值从0开始递增,大于或等于预置值时,定时器输出状态位置1(输出触点有效),当前值的最大值为32767。使能端无效时,定时器复位(当前值清零,输出状态位置0)。
有记忆通电延时型(TONR)
使能端(IN)输入有效时,定时器开始计时,当前值递增,当前值大于或等于预置值(PT)值,输出状态位置1。使能端输入无效时,当前值保持,使能端再次接通有效时,在原记忆值的基础上递增计时。有记忆通电延时型定时器采用线圈的复位指令(R)进复位 *** 作,当复位线圈有效时,定时器当前值清零,输出状态位置0。
断电延时型(TOF)
使能端(IN)输入有效时,定时器输出状态位立即置1,当前值复位。使能端断开时,开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位置0,并停止计时,当前值保持。
4、西门子S7-200PLC的计数器共有255个计数器(不包括高速计数器)可以
使用,计数的形式可以分为“加计数”、“减计数”与“加减计数”3类。
1)加计数(CTU)
加计数是通过获取计数输入信号的上升沿进行加法计数的计数方法。计数输
入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,
计数器的输出触点接通。计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。计数器具有清除信号(R)输入,当清除信号为“1”时,现行计被清
“0”,设定值写入,输出触点强制断开。
2)减计数(CTD)
减计数是通过获取计数输入信号的上升沿进行减法计数的计数方法。
计数输入信号每出现一次上升沿,计数器从设定值开始减“l”,当现行计数值减到“0”时,计数器的输出触点接通。计数值为“0”后如果继续输入计数信号,计数值保持“0”,输出触点保持接通状态。计数器具有清除信号(R)输入,当清除信号为“1”
时,设定值被写入并作为现行计数值,输出触点强制断开。
3)加减计数(CTUD)
加减计数具有加计数与减计数两个输入端,通过获取对应计数输入信号的上升沿,进行加法、减法计数。加减计数的本质与加计数相同,计数输入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,计数器的输出触点接通。计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。当现行值加到最大值32767后,如果再输入加计数信号,现行值变为-32768,再继续进行加计数。同时,减计数输入信号也起作用,减计数输入每出现一次上升沿,计数器从现行值开始减“1”。当现行值减到最小值-32768后,如果再输入减计数信号,现行值变为+32767,再继续进行减计数。计数器具有清除信号(R)输入,当清除信号为“l”
时,现行计数值被清“0”,设定值写入,输出触点强制断开。
以上就是关于200 plc程序中子程序一直调用对主程序有影响吗全部的内容,包括:200 plc程序中子程序一直调用对主程序有影响吗、西门子S7-200PLC的子程序的执行问题。、急求PLC水塔水位控制的毕业论文等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)