西门子PLC在自动浇灌系统中的应用(鸿控整理)

2020-02-07 22:50:48

1 自动浇灌系统简介

系统采用自行研制的湿度传感器监测土壤的湿度情况,当土壤湿度低于所要求的值后,自动开启水泵电机和电磁阀,对该土壤浇水,当湿度达到所要求的值后,停止浇水。

为满足不同作物或同种作物在不同生长期对土壤湿度要求的不同,本系统采用PLC多路控制,在PLC的程序中设定相应的比较值(上下限),以便每一路均可设定不同的湿度控制范围。工作中把传感器的当前信号与程序的设定值进行比较,根据比较的结果决定土壤是否需要浇水,若当前信号达到设定的下限值,则开启浇灌系统对作物进行灌溉;当土壤湿度达到设定的上限值,则关闭浇灌系统。

2 电气原理

图1 自动浇灌装置电源图

图1中输入电压是AC220V。空气开关选用DC47-60 C5。是一种即有手动开关作用又能自动进行欠电压、失电压、过载和短路保护的开关。KHDY1开关电源具有两路输出,一路是DC24V,为PLC供电;另一路是DC5V,为湿度传感器电路和水位自动控制电路提供电源。KHDY2开关电源输出DC24V,为电磁阀和继电器提供电源。两个开关电源均为50W。

图2 PLC控制接线图

图2中 PLC(可编程逻辑控制器)[1]采用的是TAIAN GENIE,型号为10HR-D。电源电压为直流24V,本身带有LCD显示屏及按键操作盘,可方便地编辑程序及修改程序。具有6个开关输入点,2个类比输入点,4个RELAY继电器输出点。当主令开关SA1打到自动工作方式,然后再按下SB3按钮,此装置进入自动工作状态。当主令开关SA1置于手动工作方式下,然后再按下SB1按钮,此装置1路工作。按下SB2按钮,此装置2路工作。当水箱的水位下降到下限时,水位控制器控制继电器J3闭合,通过PLC的逻辑控制控制水泵电机停止工作,保护了水泵电机,同时控制面板上蜂鸣器发出报警声、报警指示灯闪亮,提示为水箱加水。SB4是紧急停止按钮,当它按下时PLC停止工作,并且报警指示灯亮。在输入电路中串入FU1保险进行保护,在输出电路中串入FU2保险进行保护。

湿度检测装置是我们自行研制的[2]。此电路用了比较器电路、R-S触发器电路、门电路、输出电路等。把湿度信号转化为模拟电信号送入到PLC的类比输入端A1、A2,与PLC的上下限比较,以确定是否需要浇灌。

水泵电机采用直流电机,控制直流电机的电枢电压,就能控制电机的转速,而控制电机的转速就能控制水泵的出水量,再结合软件控制,使电机间歇运转,正好达到滴灌。

3 PLC原理

图3 PLC梯形图

上图是PLC梯形图。[3]有用功能块:

时间继电器 T1 状态ON 延时5S

时间继电器 T2 状态ON 延时15S

时间继电器 T3 状态ON 延时5S

时间继电器 T4 状态ON 延时15S

比较器 G1 1路 参考值 <=3.5

比较器 G2 1路 参考值 >=0.5

比较器 G3 2路 参考值 <=3

比较器 G4 2路 参考值 >=0.5

中间继电器 M1 M2 M3 M4 M5 M6 M7 M8 M9 MA

输出继电器 Q1 Q2 Q3 Q4

输入点:I1 I2 I3 I4 I5 I6(A1 A2)

输出点: Q1 Q2 Q3 Q4

当主令开关打到自动状态时,输入点I1闭合,按下自动按钮SB3,输入点I4闭合,中间继电器M9输出为1并自锁,系统处于自动状态。第一路湿度传感器的输出信号已接入PLC的模拟输入端A1,作为当前值,G1为上限类比比较器,其参考值可以根据要求随意定;G2为下限类比比较器,其参考值可以根据要求随意定。当A1>=G1时,继电器M2输出为0,继电器M4输出为0,输出继电器Q1为0,1号水阀YV1关闭。时间继电器T1、T2输出为0,继电器M3输出为0,输出继电器Q3为0,水泵关闭。当A1<=G2时,继电器M2输出为1,继电器M4输出为1,输出继电器Q1为1,1号水阀YV1打开。时间继电器T1为1并延时5秒后断开M3,水泵打水5秒钟;T2延时15秒后断开T1,T2也输出为0,T1又为1并延时5秒后断开M3,水泵打水5秒钟;T2延时15秒后断开T1,T2也输出为0,T1又为1,就这样周而复始,使水泵打水5秒、停15秒。(时间继电器所控时间可按要求随意定)。第二路湿度传感器的输出信号已接入PLC的模拟输入端A2,作为当前值,G3为上限类比比较器,其参考值可以根据要求随意定;G4为下限类比比较器,其参考值可以根据要求随意定。工作原理与第一路相同。当水位下降到下限时,输入点I6为1,中间继电器MA为1,断开输出继电器Q3,水泵停止工作,并接通输出继电器Q4,使蜂鸣器发出声音报警,达到保护的目的。

4 发展前景

当前国内的浇灌系统多采用时间控制,浇水量完全由时间决定,不能精确控制土壤的湿度。有些浇灌系统虽然也采用湿度控制,但没有根据土壤不同的湿度要求实现多路控制和每一路的自由调节。本系统采用PLC控制多路不同土壤,浇灌的开启和停止完全由土壤的湿度信号控制,能使土壤的湿度值保持在作物生长所需要的最佳范围之内。这样既有利于作物的生长,又能节约宝贵的水资源。

本系统可用于农场大片田地的浇灌管理,也可用于家庭名贵花草的养护,只需选择合适的传感器和调整PLC程序中湿度的设定值即可。本系统由于成本低,适用的范围宽,其推广应用的前景是比较乐观的。

西门子PLC在自动浇灌系统中的应用的更多相关文章

  1. 自动驾驶系统 bfs

    一家科技公司有一块试验地用于测试自动驾驶系统.试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列.试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移 ...

  2. 基于Jenkins自动构建系统开发

    1  绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...

  3. 西门子PLC中各个组织块OB作用(OB1、OB100……)

    1.自由循环组织块OB1 S7  CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1.在OB1中可以调用FB.SFB.FC.SFC等用户程序使其循环执行.除OB90以外 ...

  4. C#读写三菱PLC和西门子PLC数据 使用TCP/IP 协议

    本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...

  5. 西门子PLC开发笔记(一):PLC介绍,西门子S1200系列接线、编程、下载和仿真

    前言   西门西PLC.台达触摸屏.法兰克机床等等多年以前玩得比较多,改造机床.维修机床.给机床编程等等,没事还能扯个零件啥的,之前也没总结过,有时间就重新整理下.  本章后面以西门1200实物为例, ...

  6. FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)

    原文:http://hi.baidu.com/abners/item/a9042ef35d3f005bc8f337f5 一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快 ...

  7. 西门子PLC学习笔记二-(工作记录)

    今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2. ...

  8. C# 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

    本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 官方 ...

  9. python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

    本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 nu ...

随机推荐

  1. C# 初识接口 Interface

    什么是接口? 接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).C#接口可以从多个基接口继承,而类或结构可 ...

  2. 从头学pytorch(十一):自定义层

    自定义layer https://www.cnblogs.com/sdu20112013/p/12132786.html一文里说了怎么写自定义的模型.本篇说怎么自定义层. 分两种: 不含模型参数的la ...

  3. 浅谈Redis的基本原理和数据类型结构的特性和应用开发场景

    一.Redis介绍 1,redis介绍(Redis安装在磁盘:Redis数据存储在内存) redis是一种基于键值对(key-value)数据库,其中value可以为string.hash.list. ...

  4. 洛谷$P4884$ 多少个1? 数论

    正解:$BSGS$ 解题报告: 传送门$QwQ$ 首先看到这个若干个一,发现不好表示,考虑两遍同时乘九加一,于是变成$10^n\equiv 9\cdot K+1(mod\ m)$ 昂然后不就是$bsg ...

  5. 【汇编】2.第一个程序:hello world

    前言 在上篇博文 [汇编]1.汇编环境的搭建:DOSBox的安装 中,我们完成了 1.汇编环境模拟器DOSBox的安装. 2.汇编编译相关程序MASM6的下载. 在上篇文章的最后我们提到了挂载DOS程 ...

  6. CSRF绕过后端Referer校验

    CSRF绕过后端Referer校验分正常情况和不正常的情况,我们这里主要讨论开发在写校验referer程序时,不正常的情况下怎么进行绕过. 正常情况 正常的情况指服务器端校验Referer的代码没毛病 ...

  7. spring cloud微服务快速教程之(四)熔断器(Hystrix)及其工具(Dashboard、Turbine)

    0-为什么需要熔断器 在分布式系统中,各个服务相互调用相互依赖,如果某个服务挂了,很可能导致其他调用它的一连串服务也挂掉或者在不断等待中耗尽服务器资源,这种现象称之为雪崩效应: 未来防止系统雪崩,熔断 ...

  8. 小小知识点(四十八)——发送端已知CSI,基于预编码技术,进一步提高MIMO系统和用户的吞吐量

    1.预编码技术的概念 对于空间复用,LTE既支持开环方式的空间复用(发端未知CSI),也支持闭环方式的空间复用(发端已知CSI) 对于LTE中闭环方式的空间复用(即预编码系统)中,发射机可以根据信道条 ...

  9. spring之为什么要使用事务?

    问题描述:现在我们有一个数据库:spring 三张表:account.book.book_stock account存储着用户以及账户余额.book存储着书号.名字和 购买一本所需金额.book_st ...

  10. 【python小随笔】动态创建变量名

    PS:有时候我们不知道列表组数里存放几个值,但是又要动态的遍历这些值并且动态的创建每一个对应的一个变量里: t = ['B0716PK6R2','B077X9J24C','B01N2SBH4J'] c ...