帅建强
(北京云靴科技有限责任公司,北京 101204)
低代码和无代码是目前较新的IT 技术,旨在解决目前软件研发成本居高不下以及用户的软件需求差异巨大等问题。最初IT 界生产的是各项可配置设计,太复杂且扩展性不强,无法满足用户需求。低代码和无代码则可以实现各项可视化元素拖拽,尽可能不写代码就完成新功能的构建工作,从而降低研发成本和二次定义成本,最大限度满足用户的需求。施肥机在植物生产中是重要农机设备之一,国内发展迅速,品牌众多,但是对构建高品质施肥机的深入研究相对贫乏,导致国内施肥机在面对长时间精确应用的时候,大多表现乏力,用户的设备不能得到快速且低成本的维护。
北京云靴科技有限责任公司(以下简称“云靴科技”)对水肥一体机设定了精确研发目标,旨在可以进行高精度EC、pH 控制,同时要求设备具有较低的维护成本以及较高的设备在线率。设备还需满足使用者需要,可以进行二次定义与设计。
在农业设施设备领域,困难在于设备的技术支持、设备维护、设备维修,在不在现场的情况下,仅靠沟通,很难定位清楚问题真正所在。
有鉴于此,云靴科技在开始建设物联网和施肥机的时候,就提出了设备虚拟化,即基于云靴科技自研的云计算平台,发展虚拟物联网平台,把全国各地的农业设施设备虚拟到系统工程师的电脑上,只要工程师一开电脑,就完成在全国设备的远程故障实际定位,快速制定出维护维修的策略,最大限度远程解决维护维修,以达到设备维护成本最低、设备在线率最高的目标。云靴科技虚拟物联网的结构设计如图1。
图1 虚拟物联网结构示意图
云靴科技的农业智能设施设备上均配备了工控机作为设备端运行大脑,工控机为自编译的Linux 系统,对Linux 内核进行了裁剪和自设计的协议封装,配套上安全设计(工程师要通过维护通道访问到设备,先申请专有的安全请求码,由技术总监或用户完成授权,否则禁止访问)。
以下是笔者使用云靴科技的虚拟物联网平台,在杭州分公司访问济南商河的正在安装的设备日志(图2),从中可以清晰的分析问题所在,并协助用户定位问题。
图2 远程问题查询界面
想真正完成远程维修,除了虚拟物联网协助(图3),还需要设备厂家的配件自给率比较高,特别是主设备,设备需尽可能设计成拔插式。
图3 云靴科技典型物联网结构
在这些基础上,配合照片等手段,可以完成95% 以上的设备维修维护。此外,远程可升级软件并查找问题,使得系统版本尽可能统一。
云靴科技研发团队参考了PLC、阿里IOT物模型等经典结构,设计了以内存映射表为核心的指令交换结构,所有模块的IO 数据接口,要求全部映射到数据内存表中,使得脚本语言可以轻易完成各个模块的数据交换,完成业务逻辑的驱动,且非常短小精干。
云靴科技的脚本驱动语言,目前总计9 条指令,设计了工程师的配置接口,使得脚本语言可以被非编程专业的工程师使用。脚本驱动语言未来即使扩展需要,也预计不会超过15 条指令。
脚本驱动语言只对内存表进行二次判断、定义、赋值,专门设计了可视化的IDE,集成了开发使用窗口,使得脚本的定义、编辑、编译、上传、调试简单化(图4)。
图4 施肥机低代码平台结构图
系统对外接口,系统遵循MQTT 协议作为标准,方便与阿里云、腾讯、百度等系统对接。系统对内接口,采用RS485 作为设备部件的通讯协议标准。无论对外还是对内的接口,都提供了可视化定义的工具,不需要二次编写程序。
施肥机需要解决的核心问题之一是提供平稳精确的EC-pH 输出。为此研发团队设计了数学的算法来对应,使得施肥机的输出平稳有效。在控制领域,最著名的是PID 比例微积分控制,EC 和pH 在施肥机的控制基本方式是,每多少单位的水,提供多少单位的母液和酸碱液量。EC 和pH 实际上也是个积分量的平衡控制,PID是个反馈控制的过程,从发起调节到获得EC 和pH 目标,中间的时间是比较长,可能比我们需要灌溉的时间还要长一点,因此不能直接使用PID 来调配EC 和pH 的比例控制。
想稳定输出,首先应该解决比例微积分的正向比例问题,因此需要一个数学模型来快速计算。云靴科技经过长时间定量测定测试,多次数学模型矫正,提出了EC 精确控制正向快速计算的数学模型:
上述公式ec1 为原水的EC,v1 为原水的体积,ec2 为母液的EC,ec3 为目标液体的EC。
计算机数据切片是很快的,上述参数的a 和b 的恒量,很容易很快累积计算出来,作为后面PID 运算的基本比例参数,同样也得出了pH 的类似累积计算公式
除去算法,还需要优化执行机构,因此云靴科技设计了施肥机母液比例控制器、改进了母液流量计的PCB 电路使得信号传输与控制器更匹配,并采用了原装进口的母液控制电磁阀。在完成了这些结构性改进之后,数学模型的威力才真正得到体现,从EC 和pH 的控制精度、系统长时间稳定性方面得到了大幅提升(图5~9)。
图5 施肥机的母液控制器(毫秒级)
图6 改进的流量计脉冲
图7 原装进口的施肥电磁阀
图8 某施肥机(水培)EC 运行跟踪
图9 某施肥机(水培)pH 运行跟踪
在研发施肥机的过程中,关于如何自动化灌溉,是个极大难题。云靴科技在2019 年底开始研究国外最先进的基质灌溉理论,成功完成了技术升级(图10~12)。云靴科技设计了三种智能灌溉的策略:①定时灌溉;②按土壤,土壤湿度小于一定数额,触发灌溉(包含基质称重);③按太阳辐射,完成一定辐射累积量,即可触发灌溉,用户决策是1 次或多次。
图10 灌溉逻辑中的限制因素
图11 灌溉的次数设置
图12 灌溉的时间设置
在施肥机系统中,用户的应用场景千变万化,几乎没有一样的项目,因此需设计成部分哑终端,或勉强应用,或重新设计施肥机软件。相对好一点的是,用组态PLC 来调度补充场景,跟各类系统的接口比较麻烦,还有成本高、技术复杂度、系统分离、后期运维问题等。
有鉴于此,施肥机低代码平台,设计了精简脚本驱动语言的设计,通过脚本语言来二次定义施肥机的基本工作逻辑,使得内部底层软件系统不会随着项目变动,用户的需求又能容易实现,配合界面层的无代码设计,让系统的工作状态与项目目标高度一致。精简脚本驱动语言,使得硬件工程可以根据项目定义工作流程。目前精简脚本驱动语言只有9 条指令,每条指令的工作模式一模一样,提供了简易的设计界面,可依次执行。施肥机精简脚本驱动语言,采用笔者多年总结的脚本语言实现之方法和理论,使得脚本运行异常快速,甚至在自家设计11 MHZ 的51 单片机系统上都可快速运行(图13)。
图13 精简脚本驱动语言编辑器
通过精简施肥机驱动脚本语言,可以驱动滴灌、水培、潮汐灌溉与废水回收以及其他非典型(如花卉多配方浇水) 的施肥机应用场景,获得较好的结果。随着系统不断应用开发,逐渐形成了各式各样的施肥机脚本驱动模板。
在完成施肥机的精简脚本驱动语言之后,又面临用户参数录入、用户界面修改、用户的大数据展示等难题,需要施肥机有进一步的无代码可视化设计软件。
施肥机的参数录入,特别是配合脚本语言的参数界面设计器(图14),编译输出之后的效果(图15),实现了不写程序,完成了系统需要用户输入的参数录入。
图14 参数界面设计器
图15 参数录入实际运行效果
很多时候,用户并不喜欢千篇一律的界面,对于与自身关联不大的界面比较排斥。在低代码施肥机系统,特别设计了设备端可视化设计器,基本上不需要写程序,就可以通过简单拖拽生成用户需要的工作界面,分离了技术和设计,使得界面实现不再依赖软件设计人员(图16)。设计完编译上传施肥机之后的效果如图17 所示。
图16 显示模块单元的可视化编辑器
图17 几组不同需求的施肥机界面
除此之外,还有485 传感器配置(自动进入到系统)、对外网关定义、历史数据记录定义(配合大数据形成展示曲线)、时间设备(比如卷模器)等。
用户在大多数时候,需要在大屏幕展示其系统,这对技术提出挑战。云靴科技设计了大数据自定义显示的可视化拖拽设计界面,集成了模块(嵌入设备端界面及其他HTML 界面)、仪表盘、折线图、饼图、柱状图、视频、图片、文字等。使用者不需要编写代码,就可完成其设备端的大数据展示。通过右侧的属性面板,绑定其数据来源,设置其数据格式,导出并使用工具上传到设备端,就完成了大数据版本的展示工作(图18),实际运行如图19。
图18 大数据可视化编辑器
图19 大数据展示实际运行效果案例
山东东营双福花卉有限公司与云靴科技最初合作1 hm2温室,从温室气候控制到施肥机,云靴科技为双福花卉解决了标准版生产问题,8年时间迅速扩展到了25 hm2。园区使用云靴设计的潮汐灌溉与废水回收系统(图20),节省了大量人力物力,完成了花卉生产品质与质量的快速提升。
图20 潮汐灌溉与废水回收设备
北京彩冰花园艺科技有限公司、山西环美园林绿化有限公司,联合在济南商河运营了近十几万平温室,全面采用了云靴科技的温室气候控制系统和灌溉施肥系统(图21),多年运行良好,设备稳定可靠,自动化效果明显。济南乡村绿洲农业开发有限公司,既往只采购国外施肥机,2021 年开始连续采购了云靴科技的最新款低代码施肥机,获得良好的替代生产效果,机器运行效果不次于国外同类产品,用户的安装成本、使用成本、维护成本大幅下降。台州铭溢客农业综合体,2020 年开始合作,应用于草莓和番茄的自动化生产,种植效果良好,取得了明显的经济和社会效应。上海绿立方农业科技开发有限公司,是华东最大的水培蔬菜种植企业,2020 年开始双方在水培蔬菜领域进行多次成功的合作,运行效果良好,效益明显。其他还有数十家合作企业,累计服务于400 多个温室,并长期在线运行。
图21 灌溉施肥设备
云靴科技经过多轮次的升级,各方面向国外最先进的施肥机系统靠近,完成了多次的项目验证和实践。施肥机升级到了低代码平台,提供了无与伦比的扩展性,降低了成本,增强了稳定性,取得良好的实践效果。