概述:

运用lora网关远程控制大棚内风机,日光灯,温湿度传感器等设备。可以实现远程获取现场环境的空气温湿度、土壤水分温度、二氧化碳浓度、光照强度可以自动控制温室湿帘风机、喷淋滴灌、加温补光等设备,并向远程计算机端推送实时数据,实现现场环境信息化,智能化远程管理。减少人工成本,降低人工成本,提高工作效率。

如图 1所示

图 1 无线传输系统框图

实现步骤

2.1采集端的安装和设置

1.大棚端将lora网关通过485双绞线和大棚内的485串口仪表,采集器和风机等设备手拉手连接。

如图 2 采集端和大棚中设备接线指示图所示。

图2 采集端和大棚中设备接线指示图

2.使用USB转232/485串口线直连lora网关,运行ZLvircom4.41以上版本,打开串口搜索,先将配置相关lora参数和串口参数。

如图 3 lora参数配置所示。

图3 lora参数配置

点击“修改参数”可以将参数设置到 9700/9743 内部。

2.2终端的安装和设置

1.终端lora网关通过以太网网线连接plc。 如图 4 终端网关和plc连接示意图所示。

图4 终端网关和plc连接示意图

先通过串口线在ZLvircom软件中配置好lora参数,然后在使用终端lora网关通过网线直连电脑,配置网络参数。配置如图 5 终端lora模块参数设置所示。

图5 终端lora模块参数设置

西门子plc端设置,将PLC设置成客户端工作模式,连接zlan9743的IP地址和端口。

S7-1200 客户端侧需要调用MB_CLIENT指令块,该指令块主要完成客户机和服务器的TCP连接、发送命令消息、接收响应以及控制服务器断开的工作任务。具体步骤如图 6 modbus tcp客户端侧指令块所示。

图6 modbus tcp客户端侧指令块

第一步,新创建一个全局数据块DB2:

图7 创建全局数据块

图8 创建MB_CLIENT 中的TCP连接结构的数据类型

第三步,本文远程服务器的IP地址为192.168.0.4,远程端口号设为502。所以客户端侧该数据结构的各项值为:

图9 MB_CLIENT 侧 CONNECT 引脚数据定义

第四步,客户端侧完成指令块编程,调用 MB_CLIENT 指令块,实现从 Modbus TCP 通信服务器中读取2个保持寄存器的值,如图 10 MB_CLIENT 指令块编程 所示:

图10 MB_CLIENT 指令块编程

第五步,待Modbus TCP 服务器侧准备就绪,给MB_CLIENT指令块的REQ引脚一个上升沿,将读取到的数据放入 MB_DATA_PTR引脚指定的DB 块中。将整个项目下载到S7-1200。

原文链接:http://www.zlmcu.com/document/PLC_lora_greenhouse.html

PLC通过lora网关采集温室大棚温湿度数据的更多相关文章

  1. ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于GPRS模块,AT指令TCP_MQTT通信)

    实现的功能 上一节是使用的Wi-Fi模块连接的阿里云平台,这节呢咱用GPRS连接. 阿里云的设备配置还是按照上一节的,有个温度,有个湿度. 测试 一,打开单片机程序 二,根据自己的修改,然后下载进去单 ...

  2. 8-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给C#TCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8785516.html 先写单片机端的程序 先把源码和资料链接放到这里 链接: https://pan.baidu.com/s ...

  3. 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...

  4. lora网关

    lora网关 lora物联网网关ZLAN9743可以实现RS232/485/422/以太网转 LoRa功能 是一款高性价比远距离无线通讯网关.LoRa和GPRS.4G方案相比它无需入网月租费,和Wif ...

  5. OneNET麒麟座应用开发之三:获取温湿度数据

    对于大气环境监测来说温湿度也是重要的指标.原本计划使用SHT15来采集温湿度数据,不过在OneNET麒麟开发板上,我们发现已经集成有SHT20温湿度传感器,于是我们就使用它了.如下图的红框处: 我们还 ...

  6. 合适的LoRa网关应该怎么选择

    LoRa网关是什么 LoRa网关有时也被称之为lora基站或者lora集中器,它在lora星形组网中处于核心位置,是数据终端和服务器之间的一个信息桥梁.LoRa网关使用的是不同扩频因子,因为不同的扩频 ...

  7. DirectSound播放PCM(可播放实时采集的音频数据)

    前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...

  8. 采用Flume实时采集和处理数据

    它已成功安装Flume在...的基础上.本文将总结使用Flume实时采集和处理数据,详细过程,如下面: 第一步,在$FLUME_HOME/conf文件夹下,编写Flume的配置文件,命名为flume_ ...

  9. Hello_Depth_Perception 任务二:Project Tango采集深度感知数据

    Java API Depth Perception Tutorial深度感知教程 Configuration 配置信息 In order to use depth perception, your T ...

  10. Hello_Motion_Tracking 任务一:Project Tango采集运动追踪数据

    我们来看一下中的几个基本的例子 (区域描述.深度感知.运动追踪.视频4个) 参考:Google Tango初学者教程 1. hello_motion_tracking package com.proj ...

随机推荐

  1. SMU Autumn 2024 Trial 1

    A. Load Balancing 很明显题意要的就是让我们把每个数往平均值靠,这样就保证最大值-最小值最小 但是当sum%n !=0的时候就说明无法每个数都等于sum/n,所以处理的方法就是,先计算 ...

  2. 线程,yield()

    一.定义:暂停当前正在执行的线程对象,并执行其他线程 yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会. 因此,使用yield()的目的是让相同优先级的 ...

  3. springAPI对事物支持之XML式配置

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerData ...

  4. Tryhackme部分翻译学习

    Tryhackme部分翻译学习 1.Weaponization WSH 上传txt到桌面 Set shell = WScript.CreateObject("Wscript.Shell&qu ...

  5. AI提示词:一个通用C++ ECS系统实现(事件条件动作系统)

    AI提示词 using eca_cond = bool(*)(...); using eca_action = void(*)(...); class eca_info { public: eca_c ...

  6. MacOS v15.X安装HP旧款打印机驱动(P1606dn为例)

    一.下载官方驱动 先去官网下载一下HP提供的Mac下的驱动合集(图1),可惜的只支持15.0以下版本安装. https://support.hp.com/cn-zh/drivers/hp-laserj ...

  7. C++11——右值引用&完美转发

    总而言之,右值引用,完美转发,std::move()都是为了在程序运行过程中,避免变量多次重复的申请和释放内存空间,使用移动语义将申请的空间通过这几种方式进行循环使用,避免重新开辟新空间和拷贝浪费算力 ...

  8. C#之使用任务并行库

    .NET Framework4.0引入了一个新的关于异步操作的API,它叫做任务并行库(Task Parallel Library,简称TPL).TPL的核心是任务,一个任务代表一个异步操作,该操作可 ...

  9. 题解:AT_abc402_d [ABC402D] Line Crossing

    题目中说直线相交,由于这是二维平面,我们可以知道直线要么相交,要么平行,所以我们可以求平行. 观察题目中的这个图,我们可以发现一个性质: 当标号相加的和取余点的个数相同时,这两条直线平行. 知道这个我 ...

  10. Java 实现文件和base64字符串互转

    项目中遇到需要将图片转成base64编码的字符串的需求,但是,考虑到扩展性,写了一个可以转换任务类型文件的方法.需要引入的包: <dependency> <groupId>co ...