基于物联网的液态饲喂远程监控系统
扫描二维码
随时随地手机看文章
引 言
随着我国养猪行业向工厂化、集约化生产模式的快速转变,我国传统农户采用的干饲料饲喂模式已经不适合现代化养猪行业。目前,丹麦、德国等国家约有 30% 的养殖场已经开始采用液态料饲喂模式来养猪,由于猪对液态料的采食量大且营养吸收好,未来液态饲喂模式将成为全球养猪行业的主流饲喂方式 [1]。液态料线饲喂系统通过计算机控制设备将固体料或液体料按照配方自动配料并搅拌均匀,再按照饲喂曲线精准控制每一头猪的饲喂量。系统自动化程度高,降低了劳动成本,且液态料采用管道运输,降低了猪舍内的粉尘含量和饲料的浪费 [2-3]。
目前,液态饲喂系统研究已经有了突破性进展。高岩 [4] 等深入分析了液态饲喂系统在生产中的优势并对液态饲喂系统设计和工作原理做了深入分析。徐峰 [5] 等设计了基于Profibus 总线的全自动液体饲喂系统,通过 PLC 分散控制系统实现液态饲喂的精准控制。但这些系统都是直接架设在猪场本地,受地理位置限制较大,因此本文在前人研究的基础上,提出了一种基于物联网技术的液态料饲喂远程监控系统。系统将物联网相关技术与液态饲喂系统相结合 [6-8],突破了液态饲喂系统受猪舍位置的限制,用户可以通过网络实现对饲喂现场的实时监测和精准化、智能化调控。
1 系统总体设计方案
本系统按照功能可分为现场控制系统、数据平台系统和用户交互平台系统 [9-11]。系统的总体设计框图如图 1 所示。现场控制系统主要实现对饲喂流程的自动化控制以及饲喂数据的采集和上传,采用 PLC 控制器作为核心控制系统,其附加的 ARM Cortex-M3 嵌入式数据采集终端通过 RS 232 串口按照 Modbus 协议与 PLC 通信,采集 PLC 上的饲喂数据, 再通过 GPRS 无线网络连接到数据平台系统,将数据上传至服务器并从服务器中接收控制指令。
图 1 系统整体设计方案
数据平台系统作为物联网系统的核心,其主要功能包括终端接入、数据解析处理、将核心数据存储到数据库、控制流处理以及数据服务接口的提供。用户交互平台系统允许用户通过浏览器或者手机 APP 来监控现场设备的运行状态以及查询分析历史饲喂数据。
2 方法及实现
2.1 现场控制系统的设计
2.1.1 基于 PLC 的现场饲喂控制模块
PLC 是一种可编程控制器,具有可靠性强、抗干扰能力强、便于安装和拓展的特点,非常适合猪场复杂的分布格局和恶劣的环境 [12-13]。液态饲喂流程分为加水、加料、搅拌、充管、分送、清管、洗灌、回槽、喷淋、返水共 10 个步骤,其可操作运行界面如图 2 所示。
图 2 控制系统可操作运行界面图
设备的控制模式分为手动控制和自动控制两种,默认采用自动控制模式,适合无人监控的环境。而手动控制模式下方便管理人员或专家通过 Web 页面监控现场,并依据专家经验对不同猪舍的个性化要求进行调控,设备维护人员也可以通过该模式远程调试设备,排查故障发生的原因,降低设备的维护成本。
2.1.2 基于 ARMCortext-M3 的数据采集终端
STM32 单片机是 ST 公司在业界最先推出的基于 ARM Cortex-M3 内核的,专为高性能、低功耗、低成本嵌入式应用设计的 32 bit 微控制产品 [14-15]。其内部集成多路 USART 控制器、PWM 控制器、SPI 控制器、CAN 控制器、DMA 控制器、USB 控制器、以太网控制器等,有利于简化控制系统外围电路设计,可靠性更高。采集终端以 STM32 微处理器作为控制单元,外部集成了 GPS/BD 定位模块、GPRS 通信模块以及RS 232,RS 485 串口通信模块。终端工作流程如图 3 所示。
采集终端在完成初始化并连接到数据处理服务器后,开始采集数据及监听服务器发来的控制指令。对于需要实时监测的数据则及时上传,每隔 6 s 进行一次数据读取与上传, 需要实时上传的数据包括设备报警信息、设备各阀门的开关状态、设备内各系统的运行状态。当天的饲喂量、给水量、配方和饲喂曲线数据在每天 11 :30 饲喂结束后一次性采集上传。控制指令分为修改参数指令和开关控制指令,修改参数需要修改 PLC 控制器内对应内存地址的数据,开关控制指令则需要将 PLC 对应开关的内存从 0 置为 1 或从 1 置为 0 来产生脉冲,控制继电器打开或关闭对应阀门。
2.2 数据平台系统的设计
数据平台系统分为基于 Socket 的网络通信模块、数据解析处理模块、控制指令和数据请求处理模块。系统内部设计如图 4 所示。
图 4 数据处理系统架构图
2.2.1 基于 Socket 的网络通信模块设计
该模块借鉴新浪 FastSocket 开源通信框架,在模块内部实现了一个动态连接库 libfsocket.so 来拦截 socket,bind,listen 等并进行处理,实现了多进程拥有多个 accept 队列的模式, 适用于系统自身 TCP 短连接较多的情况。当通信模块监听到终端连接时会通过终端的Token 编号来校验终端的合法性, 如果合法则将该连接维护到连接列表中并开始接收终端上传的数据,再将接收的数据传入数据解析处理模块进行处理。
2.2.2 数据解析处理模块
终端数据格式如图 5 所示。数据分为 Header(数据头) 和 Data(数据区)两部分。Header 包含了本条数据的标识信息,其中终端编号作为终端唯一标识,mType 标识出本条数据的类型,crcCheck 是将数据区按照 CRC 校验算法(Cyclic Redundancy Check,CRC)产生的 CRC 校验码,CRC 是数据通信领域中一种常用的查错校验码,用来保证数据的完整性和正确性 [16]。Data 则包含了数据的具体内容。
数据解析完成后将根据数据类型的不同将历史数据存入数据库,实时数据存入系统内存中方便调用,控制结果数据直接交由控制指令处理模块处理。
图 5 终端数据结构图
2019年 / 第5期 物联网技术 103
2.2.3 控制指令和数据请求处理模块
该模块主要负责处理用户在对设备进行监控时发送到服务器的实时数据请求和控制指令,考虑到这些需求对实时性要求比较高,处理模块与用户端之间采用 WebSocket 通信协议。WebSocket 协议在浏览器与服务器“握手”成功后允许服务器向浏览器推送数据,实现二者的双工通信,与传统的长连接和多轮询方式相比效率更高、实时性更好 [17-18]。模块处理流程如图 6 所示。
服务器启动后根据配置文件开始监听指定端口的用户请求,如果是请求设备实时数据,则直接从服务器内存读取对应的数据并返回给该用户。如果是控制指令则交给设备连接模块,连接模块从其维护的所有设备连接中找到对应设备并发送该控制指令。模块内部设有超时机制,如果设备长时间未回复执行结果则重新发送控制指令,如果重复次数超过最大次数则回复用户设备执行指令超时并记录到系统日志中。
3 应用效果及讨论
3.1 用户交互平台系统
用户交互平台系统主要包括 PC 端和 APP 端两部分。PC端包含了平台全部功能,适合工作人员远程监控管理所有猪场。APP 端得益于移动终端便于携带的特点,适合操作人员在现场作业时使用移动终端操作饲喂设备。PC 端系统界面如图 7 所示。
PC 端核心业务包括设备运行状态的实时监控、所有下料口饲喂量调整、各阶段猪的饲喂曲线的调整、不同猪舍饲喂配方的调整、设备报警信息统计以及设备饲喂量的统计 [19-20]。Browser 端采用目前流行的 HTML5,CSS3 技术和流式布局技术,能够自动适应 PC,Pad,手机等显示器的大小,方便用户使用。
3.2 远程手动控制实验
本文以登封一猪场作为实验地点,该猪场的面积约为720 m2,共 5 栋猪舍,约 100 个下料口,1 200 头猪。现场设备部署完成后,试验了在手动控制模式下,通过无线远程方式来控制设备的运行。
试验方法 :使用一台电脑的浏览器登录液态料线监测平台,通过点击实际运行中最常用的点控按钮来控制设备运行。实验完成后,在数据平台系统的后台输出界面输出信息,如图 8 所示。本次测试共点击了 10 次点控按钮,从输出信息可以看出,在现场网络信号良好的情况下,从控制指令发出到设备回复用时均可控制在 2 s 以内,且指令都能够成功执行。可见,浏览器、数据服务器、采集终端、PLC 控制器、饲喂设备的控制链可靠性强且实时性好,达到了预期效果。
4 结 语
本文简要介绍了基于物联网技术的液态料饲喂远程监控系统的设计方法和系统开发的主要流程,然后检测实际应用效果。通过研究和应用表明,该系统通过使用物联网技术,实现了饲喂设备与嵌入式采集终端之间、终端与数据服务器之间、服务器与用户之间的信息交换和通信,实现了猪舍液态饲喂的自动化、饲喂信息的精准调控和远程实时监控 [21]。该系统的功能还可以拓展到对猪舍环境的自动监控,实现让猪舍长期保持最适宜生长环境的目标,在农牧领域具有很好的应用发展前景。