基于Modbus的大数据自动配肥系统研究
2019-10-21徐剑波廖小文丁文翰
徐剑波 廖小文 丁文翰
摘 要:从满足测土配方施肥项目成果应用和推广的实际需求出发,利用现有土壤地理信息、肥料数据等大数据,结合作物施肥模型,采用地理信息系统组件开发技术和Modbus 通信协议,开发了以县为单位的测土配方自动配肥控制系统。初步应用结果表明,该控制系统能有效地管理测土配方施肥项目各项土壤数据和地理空间数据,并在此基础上实现县域内针对精确地块的作物施肥配方和施肥指导推荐,同时能完成现场配制出满足农民个性化需求的配方肥。
关键词:测土配方施肥;大数据;Modbus
当前,农民在农作物施肥管理上,仍存在很大的盲目性,主要表现在“重视氮肥磷肥,忽视钾肥微肥”,偏施、滥施现象比较普遍,氮磷钾肥比例不合理,导致土壤板结、通透性差,严重影响农作物产量和品质,而且事实上也造成化肥的浪费和农民自身投入的无效增多[1-3]。要彻底改变这一现状,最根本的办法就是推广实施测土配方施肥技术。为此,农业部、财政部于2005年作出了在全国范围内开展测土配方施肥技术推广工作的重大决策,基本覆盖所有农业县(场)[4]。因此,研究开发一个新应用推广的载体变得十分迫切,以便能将施肥配方与农民实际施肥连接成为一个整体,把测土配方施肥技术物化集成,构建从专家、肥料生产企业到测土施肥配方,再到农民个性化配比配方肥完整的流程[5-7]。本研究结合广东省实际,从满足测土配方施肥项目成果应用和推广的实际需求出发,利用现有土壤地理信息、肥料数据等大数据、结合作物施肥模型和信息技术,采用ArcGIS Engine组件开发技术和Modbus RTU通信协议,开发了以县为单位的测土配方自动配肥控制系统。初步应用表明,该控制系统能够有效的管理测土配方施肥项目各项数据和土壤地理空间数据,并在此基础上实现县域内针对精确地块的作物施肥配方和施肥指导推荐,同时能够完成现场配制出满足农民个性化需求的配方肥[8-11]。
1 系统设计
1.1 总体结构
根据设计的要求,基于Modbus和GIS的自动配肥控制系统采用模块化和OO(面向对象)的设计思想,系统总体架构分为触摸屏一体机控制端和配肥机端两部分。控制端的主要功能是完成地图的基本操作、地图的多层显示和信息查询、镇村导航和定位、施肥配方决策推荐、施肥知识浏览、Modbus通信、自动配肥控制及系统参数管理等功能;配肥机端的主要功能是接收控制端的信号数据,实现电机控制、下料斗重量控制、肥料混合搅拌等一系列现场配肥机械动作[12-14]。系统的总体架构如图1所示。
1.2 系统功能设计
基于Modbus和GIS的自动配肥控制系统的功能包括GIS功能、施肥配方、Modbus通信、自动配肥控制、系统参数管理、施肥知识库及配肥日志7个部分组成(图2)。
1.3 系统技术路线
系统数据来自广东省农业厅提供的基础地理数据以及各县氮磷钾土壤采样数据、专家施肥方案体系,包括:(1)土地利用现状图,shapefile格式(包括地块编号、镇、村、土地利用类型等);(2)测土配方施肥采样数据(编号、采样位置、所属镇村、采样人、采样日期、采样地样类型、碱解氮、有效磷、速效钾、ph值、有机质);(3)当地作物的配方及施肥方案,提供主要作物测土配方施肥样例卡;(4)辅助数据,行政区划图(面状图,精确到镇、村)、村名点状图,行政边界图(包括县界、镇界、村界)。
利用GIS软件的地统计分析功能和空间分析功能,对行政区划图、土壤图、土地利用图等地图数据和土壤养分采样点数据进行处理,获得土壤养分图、行政区划图、居民点等图层数据,然后将所有的数据导入到Personal GeoDatabase数据库中,建立系统的地理数据库。控制端采用ArcEngine 组件开发技术,结合C#编程语言,建立测土配方施肥信息系统,并运用Modbus协议RS485接口将系统与自动配肥终端连接,最终通过RTU模式完成自动控制端测土配方数据到自动配肥终端精准配肥的集成[15]。技术路线如图3所示。
1.4 配方转换方法及过程
本系统的核心是施肥模型的构建与配方转换。模型库是由一些评价和预测模型组成,主要是按已确立的各种特性因子,结合肥料学、土壤学、植物营养学等知识和专家经验建立的模型。施肥模型主要是实现对指定采样点(或区域)选定作物种类(包括设定目标产量)条件下,通过对施肥量和施肥配比及时期的运筹,得出最优的施肥配比和施肥方案。每个模型实现时调用数据库中存储的相关数据及参数值,并将结果动态返回数据库和系统,使推理机能做出正确的判断,同时实现数据库和模型库的资源共享。
本系统的配方施肥模型是根据收集到的广东省耕地肥料总站测土配方施肥项目各个作物研究专家的资料整理而成,目前广东省已经完成了省内主要农作物的测土配方施肥模型实验研究,主要有水稻、香蕉、甘蔗、叶菜、龙眼、荔枝、豆角、马铃薯、苦瓜、甜玉米、花生、柚子、柑桔橙、茄果及瓜果。在这15种主要农作物的施肥模型中,部分采用目标产量养分平衡法来构建,如水稻、甘蔗;表1为水稻施肥模型。另一部分采用土壤养分丰缺指标来构建,如香蕉、叶菜。根据不同的施肥模型计算出某种作物所需氮、磷、钾的养分需求量。再通过求多元一次方程组的解,转换成选择的原粒对应需要的比例。
2 系统功能实现
本控制系统硬件选用主要是针对配肥终端硬件,包括PLC控制器、变频控制扩展模块、电源模块、称重传感器、电机等。
2.1 GIS功能模块的实现
本系统中GIS功能模块的实现,是基于ArcEngine控件进行二次开发的,地图显示主要是将数据库中的地理空间数据加载到mxd地图文档内,调用MapDocument类的函数将地图文档打开,再将地图文档内的map对象遍历加载到MapControl控件进行绑定,最后进行地圖显示范围设置。地图默认以用户点击位置为中心进行地图放大,其他地图操作如地图缩小,地图漫游,采用将toolbar控件绑定到自定义工具条上。
2.2 施肥配方模块的实现
2.2.1 测土配方推荐 通过设置查询标识及工具类型来区分鼠标左键单击动作是查询还是放大,将查询到的土壤属性保存到施肥配方类的静态变量中,再调用类的对应作物配方计算方法来完成肥料计算和建议卡打印。点击地块后获得土壤养分信息,再选择作物,得到测土配方推荐的施肥建议卡。
2.2.2 现场决策 现场决策的实现流程与测土配方推荐基本一致,只是第一部分改为自主输入土壤信息数据,而非点击查询土壤养分信息,系统在用户输入的土壤数据后,跳转到与测土配方推荐相同的流程。在现场决策界面输入对应的养分数据后,再选择作物,得到施肥建议卡。
2.3 Modbus通信模块的实现
2.3.1 端口初始化 Modbus通讯端口的初始化功能实现,需要先进行端口初始化,并提供端口打开和关闭两个功能函数来实现控制。初始化时需要设置端口号、波特率、校验位、数据位、停止位和编码方式等信息。
2.3.2 报文生成 报文生成,按照Modbus RTU模式报文信息的标准格式,将需要进行的操作数据连同功能码一起编入单条报文中,生成写入单条报文,返回长度为13bit,参数为16进制设备号、10进制地址、10进制double型数据。其中功能码为“10”。
2.3.3 数据传输 由于Modbus通信协议有时间限制,不能连续发送信息,因此,在控制数据信息传输的过程中,采用队列的方式将需要写入PLC控制器中的报文统一放入发送队列中,再根据需要安装顺序依次传输数据。
2.3.4 CRC校验 本系统是基于Modbus RTU通信模式,因此Modbus信息校验方面是根据报文数据前几个部分的数据,采用CRC方式生成报文的CRC校验码。
2.4 自动配肥控制模块的实现
2.4.1 施肥配方转换 施肥配方转换是将大配方转换为原粒使用的实际总量和比例,系统采用从原粒库中选择4种肥料原粒进行转换,具体求解过程采用高斯消元求解。系统先设置勾选的原粒,然后点击配肥即可自动完成转换,并将结果显示在自动配肥界面上。
public static double[] change()
{
inityuanli();//初始化原粒信息
peifangdata[1, 4] = mubiaopeifang[0];
tempdata = new double[4, 5];
for (int t = 0; t < 4; t++)
for (int j = 0; j < 5; j++){
tempdata[t, j] = peifangdata[t, j];
}
result = gaoss(tempdata);//高斯消元求解未知数
if (!panduan(peifangdata, result)){//对求出的转换结果组合进行近似计算及配方验算
jinsi(peifangdata, result);
} else{
double N1 = peifangdata[1, 0] * result[0] + peifangdata[1, 1] * result[1] + peifangdata[1, 2] * result[2] + peifangdata[1, 3] * result[3];
}return result;
}
2.4.2 自动配肥 将控制端数据发送给配肥终端PLC控制器,完成现场配肥操作。自动配肥控制界面显示出测土配方系统转换后的4种原粒名称及相应的重量百分比。输入单包重量和包数,显示出理论重量值。理论重量值发送到仪表中,作为物料理论目标值。配肥启动后配肥终端将自动完成现场配肥,并在自动配肥界面上实时显示配肥过程中显示出每个料斗的实际值、实际单包重量、包数和单包配肥时间。
2.4.3 实时数据监测 实时配肥数据监测能够实现在自动配肥界面动态显示各个原粒漏斗的下料总量和包总量完成状态,采用计时器控制实时读取数据到缓冲区,并对缓冲区进行数据处理。
3 系统应用推广
近年来的测土配方施肥成果应用,已形成了一种类似于“开方抓药”的固定模式:将农业专家的推荐施肥模型和作物施肥指导意见,用信息化的技术手段集成到施肥信息系统中,农户根据需要取得相应的作物施肥建议卡,再根据建议自行购买肥料。该模式虽然能对测土配方施肥的应用起到很好的推广和促进作用,但传统的不良施肥习惯在一段时期内还难以改变,企业对接农户渠道不畅,存在技术成果转化率不高、配方肥到田率不高、体制机制创新不足等现实难题。因此,研究并建立一种新的测土配方成果应用模式,能让生产企业、经销商、农民三方受益。同时,测土配方施肥需采取“测土到田、配方到厂、供肥到点、指导到户”,为农民提供一条龙服务,有效地满足不同地方、不同种植规模科学施肥的要求。考虑到目前的传统复合肥生产方式,大规模满足个性化的肥料需要有一定的难度,测土配方还需要一个好的应用载体来进行实施。
我们以广东省各个项目县为单位,采用3S技术将全省的专家施肥推荐模型与县区内的耕地单元地理信息集成,建立基于GIS的触摸屏测土配方施肥模块,并采用Modbus协议将模块与智能配肥终端对接,形成一套完整的测土配方自动配肥控制系统,将全省的研究成果应用于指导全省的农业生产,真正实现由施肥技术到农民实际用肥的转化,这样的研究将能够解决目前测土配方施肥应用工作中的大部分难题。本研究利用GIS技术,以Modbus协议为桥梁,以智能配肥机作为硬件平台,提出一体化的系统总体方案,设计开发界面友好、使用方便、实现用户通过简单点击就能给出针对性强的施肥建议,并能现场配制适用于地块的个性化肥料自动控制系统,大大简化用戶学习和使用成本,为测土配方和精确施肥决策工作提供了一种新的工具和方法,也将能够为广东省各个测土配方施肥项目县的成果应用提供一套良好的一体化模式。
4 结语
在当前国内测土配方施肥田间试验工作取得阶段性进展的背景下,本研究立足广东省的测土配方施肥成果应用推广高峰期,综述国内外有关基于GIS的精准施肥、信息技术在测土配方施肥上的应用、施肥决策系统等方面研究的基础上,针对目前主要的成果应用模式的不足,提出一种可行的成果应用推广模式,重点研究了通过农业与信息技术的紧密结合,把施肥决策系统和GIS技术以及Modbus通信技术相结合,采用Microsoft Access建立属性数据库以及由矢量图层建立空间数据库,根据大量试验数据建立施肥模型,采用 C#语言,以Microsoft .NET Framework为开发环境,在环境中添加GIS组件用于地图开发,以Modbus通信为桥梁,将信息系统与配肥终端建立连接,最终完成以触控一体机形式运行的自动配肥控制系统控制端,以及以PLC控制端為核心的配肥终端,实现了从施肥决策配方到现场配制精确比例肥料完善的整套测土配方项目成果应用。
(1)自动配肥控制系统将施肥专家研究成果和农民实际购买肥料及施肥两个信息不对称的主体完全技术对接的模式,实现了测土配方施肥信息系统的物化集成;(2)对Modbus通信协议和PLC控制器的研究,将其与GIS技术进行技术整合,实现了基于农田地理信息的精准地块农作物施肥配方推荐,并能将推荐结果直接发送到配肥终端,进行现场配肥,同时给出作物施肥指导意见卡,从而建立了从农田到作物再到农户个性化施肥需求和精准配比肥料的直接生产及销售的完整信息流程;(3)重点研究并实现了Modbus通信中的通信端口检测,报文数据生成和数据的传输校验,并应用到自动控制系统中完成自动配肥控制和配肥数据实时监测等功能。报文生成的实现是将设备号、设备地址、数据信息和功能码等数据安装Modbus RTU传输模式的标准格式封装在单条报文中,一个操作对应一条报文,并将所有要完成某个动作的系列报文放入报文传输队列中,按照队列的特性进行逐条传输;(4)针对系统用户特性进行了详细研究,并结合调研情况,进行了系统的需求分析,对测土配方施肥相关的数据进行整理分析,设计并建立了自动控制系统的空间数据库和属性数据库,并针对广东省主要经济作物建立了完善的配方施肥模型库。空间数据库的实现是将土壤地块的各个图层数据分层组织,设置分级显示,再将建立的空间数据导入到Personal Database中。(5)依据用户需求分析和系统应用模式,采用ArcEngine技术、Modbus工业控制技术、PLC控制器技术和C#语言,设计了一套能够具备地图展示、查询,施肥配方推荐功能的控制端系统,实现基于Modbus通信的自动配肥控制功能,为传统的测土配方施肥信息决策系统补上了重要的一环。通过ArcEngine组件管理地图空间数据,并实现地图交互等操作,通过Modbus组织控制系统相关控制信息,生成Modbus RTU标准报文,并通过RS485接口实现将控制端和配肥终端对接,配肥终端PLC控制器接收来自控制端数据并控制终端各个部件工作,完成现场配制配方肥。
本研究基于Modbus和GIS的自动配肥控制系统,取得了预期的设计效果,整套控制系统在配肥实验车间进行了长达1个月的高频次、不间断重复测试,经过漏洞修复完成后,系统中的各个功能模块均运行稳定,能够满足基层农技站或肥料销售网点的实际使用需求。由于考虑到设备传输时可能会因干扰而造成数据获取的不准确,为了保证数据的正确性做了相应的检验措施,造成了数据显示的滞后性,例如在系统中显示称重仪表的数据滞后了约0.3 s。虽然这些显示方面的不影响机器设备的正常运行以及其他数据的正确性,但还是可以通过研究增强通讯实时性。
参考文献:
[1] 王铁文,姜帆.试论测土配方施肥技术的推广与应用[J].农村实用科技信息,2011(4):9-10.
[2] 罗小娟,冯淑怡,黄挺,等.测土配方施肥项目实施的环境和经济效果评价[J].华中农业大学学报(社会科学版),2014(01):86-93.
[3] 朱梅梅,林思伽,朱春晓.触摸屏式施肥专家系统研究与开发[J].现代化农业,2014(1):66-67.
[4] 赵艳萍,马友华,王强,等.信息技术在测土配方施肥中的运用[J].农民致富之友,2014(6):43.
[5] 唐秀美,赵庚星,路庆斌.基于GIS的县域耕地测土配方施肥技术研究[J].农业工程学报,2008(7):34-38.
[6] 许鑫,张浩,席磊,等.基于WebGIS的小麦精准施肥决策系统[J].农业工程学报,2011,卷(27):94-98.
[7] 龙腾,王景凯,张楚天,等.基于GIS和RS技术的测土配方施肥系统设计与实现[J].安徽农业科学,2011(28): 17588 -17593.
[8] 任天平,邢文姬,朱晓谦. Modbus在自动检测系统中的研究及应用[J].煤矿机械,2013(5):273-275.
[9] 张爱绒,谢斌红,张英俊.基于Modbus协议的煤矿安全监控系统数据集成研究与设计[J].太原理工大学学报, 2011(6):616-621.
[10] 许鑫,张浩,席磊,等.基于WebGIS的小麦精准施肥决策系统[J].农业工程学报,2011(27):94-98.
[11] 吴豪翔,蒋玉根,张鉴滔,等.县级农田地力分等定级评价与施肥综合管理[J].农业工程学报,2011(12):307-312.
[12] 姜婷婷,谷海斌,盛建东.基于GIS技术的耕地地力评价研究——以新疆轮台县为例[J].新疆农业科学, 2014(2):375-383.
[13] 毛伟,李文西,唐宝国,等.县级测土配方施肥指标体系建立研究——以江苏省江都市水稻为例[J].植物营养与肥料学报,2014(2):396-406.
[14] 张月平,张炳宁,田有国,等.县域耕地资源管理信息系统开发与应用[J].土壤通报,2013(6):1309-1313.
[15] [12] 王筱珍,关艳如.基于Modbus协议的Android端工厂化养殖移动监测软件[J].测控技术,2014(1):115-121.
作者简介:
徐剑波(1971-),男,博士,副教授.
基金项目:广东省广州市科技计划 (编 号:201604046004).