- 发布
- 浔之漫智控技术(上海)有限公司
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 电话
- 15821971992
- 手机
- 15821971992
- 发布时间
- 2023-07-19 17:06:40
随着科学技术的发展,世界上各大公司相继生产出许多不同类型的可编程控制器,给生活和工业生产的各个领域实现自动控制提供了很多方便,其中西门子LOGO!可编程控制器就是应用起来比较方便的一种,它可以不需要借助其他工具就方便的进行编程,实现逻辑控制、时序等多种编程控制,应用起来方便实用,本系统中用压力传感器作检测件,用压力控制器(CD901)作为压力比较控制中间环节,与西门子可编程控制器(LOGO!)共同组成控制系统。
2应用背景
我公司动力二区由于用水情况的变化,有时需水量大,有时需水量小,供水压力将随用水量大小变化而不断变化的,由于用水量变化很大使管网压力波动非常之大,当用水量小时,即使只开一台水泵管网压力仍可达到0.35Mpa,致使管网憋压造成能源浪费。当用水量大时,又必须开两台甚至三台才能满足工艺要求,这就要求岗位人员时常观察管网压力,并根据情况人工开机停机,这样不仅压力变化较大和调节滞后,而且会浪费能源,还可能造成供水不足影响生产等情况。当厂区内出现火情时,用水突然增加,而且要求压力更高才能满足消防需要,往往是出现火情后,由发现火情人员通知动力值班员,再由动力值班员去泵房开泵增压,由于过程多,不能及时增压,供水不足影响扑救工作,很可能延误时机造成更不利的局面,后果可能不可收拾。
3系统控制方式
3.1手动状态:
该状态时,编程控制系统停止工作,各水泵电机(一次水泵和消防水泵)分别由各自的按钮控制启、停,适合于系统故障或检修时使用。
3.2自动运行:
这种状态即为正常运行方式,各水泵电机(一次水泵和消防水泵)均通过压力检测、压力控制器、编程控制器,根据设定管道压力和编程条件进行水泵电机的自动开启、停机控制,自动增加或减少运行水泵电机量,实现供水管道压力基本稳定的目的,在厂区任何地方发生火情时,可以通过安装在各车间的消防按钮就可以及时开消防水泵增压,而不需要通知动力部门人员,再由他们到泵房增开水泵,不仅在正常生产时实现稳压供水,更能在有消防需要时时间开启消防泵,达到即保障生产又兼顾消防的目的。
4控制功能的实现
正常生产时,3台水泵并联运行,实现恒压供水;有火情时,通过布置在各车间的消防控制按钮,实现立即开启另两台消防泵增压,保证生产、消防两不误。系统中用一台LOGO!编程控制器进行协调,现场压力信号经压力变送器取样,送至压力控制器与设定值进行比较,比较后产生压力信号到变频器,进行调压。若变频器不能满足压力调节,压力控制器产生高低报警信号,给LOGO!编程控制器启、停相应水泵,以保证压力稳定。
5.联机方式:
下面给出系统各部分联机方式,以便大家了解整个系统,联机方式如下图:
图1
6.原理图
图2
7.控制与编程
7.1压力不足增开机情况:
图3
7.2压力高停机情况:因与7.1类似,只是顺序相反,在此就不再给出了。
7.3消防控制优先,只要有消防信号,系统就执行紧急增压功能,不再进行加减机调压。
8.如图1所示,控制编程情况说明如下:
8.1程序设定是按照一定顺序开机或停机的,1#变频机开到大后,如果压力低于设定值,压力控制器就输出低报警给编程控制器,编程控制器按设定好的顺序开机(此处先开2#机,再开3#机),开机后管道增压,并由1#变频机调压,由压力监测器反馈到压力控制器,与设定值进行比较,如果压力在设定值范围内,系统保持现状;如果压力值仍低于设定下限,编程控制器将按编程再开另一台水泵电机,同样由1#变频机调压,此系统正常生产多需要开两台半不到三台就够了;如果此后由于系统用水量降低,使系统管道压力高于设定值上限,编程控制器按设定好的顺序停机(此处先停3#机,再停2#机),管道减压,并由1#变频机调压,由压力监测器反馈到压力控制器,如果压力在设定值范围内,系统保持现状;如果压力值仍高于设定上限,编程控制器将按编程再停另一台水泵电机,同样由1#变频机调压。如此循环往复,保持系统压力相对稳定。
8.2如果编程控制器接到消防指令,将直接开启消防泵,同时不再根据原压力设定进行调节,保持高压大量供水,直到再接到消防停机指令,然后又进入正常压力调节程序。
9.实施:
我们所用的这种编程控制器,编程简单,应用方便,因此实施起来没有太多太多困难,只要根据生产实际中多数时间的用水情况,设定合适的压力控制点和上下限,再根据用水变化程度,设定开停机间隔时间,按一定的逻辑关系实现开停机控制,并实现消防信号优先,就可以达到正常生产时基本恒压供水,消防时快速增压,保障特殊情况用水压力及用水量。施工难点主要是到各车间的消防控制,线路较长,控制点多,为保障正常生产,消防按钮特殊管理,一般情况不允许动。
10.实施效果:
自从完成本项目至今,系统运行良好,由于实现了自动启停稳压控制,大限度的保障了生产,而且,降低了操作工的劳动强度,减少了人为延误,还起到了节约能源的作用,受到使用单位和领导的好评。
11.结束语
本系统采用的编程器是比较方便的一种,其缺点就是不能进行网络控制,我们同时也进行了其他种类可编程控制器的应用,更大系统和计算机网络控制应用技术,并将其应用到其他领域。
| Local data顾名思义为本地数据,在西门子控制器中有一部分内存空间被设置为L区间,它被用于控制器在运行程序时存储临时数据。由于编写FB/FC程序的需要和OB中调用功能块结构的不同,不同的OB由于调用不同的FB/FC,因此所需的Local data的大小各不相同(被调用的FB/FC将占用当前调用他的OB块的Local Data资源)。在控制器硬件组态中的CPU属性设置中,Memory选项卡用于设置Local data的分配。如果相应OB块实际运行所需的Local data大于硬件组态中所设置的Local Data大小,那么相应的程序将无法运行,CPU将报告INTF错误,甚至更为严重的情况下CPU可能会停止运行。但如果盲目将Local Data的分配设置过大,将会浪费一部分宝贵的CPU内存空间。 S7 300CPU中的Local data不可修改,每个优先级固定设置为256 bytes,S7 400的Local data则可以人为修改。由此可以看出正确设置S7400 CPU的Local Data的大小非常重要。在控制器硬件组态中CPU属性 Memory选项卡的Local Data区域用于设置基于优先级的Local Data(如下图所示):
在PCS7组态的项目中,在编译CFC程序后,系统将会自动计算各OB块所需的Local Data大小,可以通过交叉索引(Chart reference data Local data,如下图所示)查询到。
而普通的由用户采用Step7编程方式编写的程序,程序功能块及OB块各自的调用结构由用户自行控制,需要在编写完整个程序之后自行计算。
注:嵌套调用时,上一级功能块将不会计算其嵌套调用的FB/FC所需的Local data大小;在上图中将不会累加嵌套功能块所需的Local data大小;
获得所有上述信息后,即可计算当前程序所需的Local data大小。假设当前项目下使用的功能块及OB块上述相关信息如下表所示: OB/FB/FCPriority 优先级所需Local Data(Bytes)FB1X100FC1X400OB1126OB351226OB121X20OB122X20OB的调用关系如上图Pic4所示。根据调用结构计算,单独运行各OB块时所需的Local data如下: 1. 从内往外,从低往高; |