单片机+Cat.1 在无人值守洗车系统中的应用

2023-10-23 03:12郭东福
现代工业经济和信息化 2023年8期
关键词:洗车远程升级

郭东福

(福建东成数字技术有限公司, 福建 福州 350008)

0 引言

自动洗车机已经在市场推广应用多年,使用形式多种多样。传统PLC 无人值守洗车系统有两个痛点:一是PLC 对外接网络模块没有绝对控制权,当网络有问题时,不能及时重新连接、重新启动网络;二是PLC 不能通过网络模块对自身程序进行远程升级、修复程序BUG、增加程序功能。本研究是一种以GD32F103ZET6 单片机+ML110S 网络Cat.1 模块为核心的无人值守洗车系统。与传统的PLC 系统相比,单片机+Cat.1 对于网络具有完整的处理流程,能够解决PLC 系统的这两个痛点,并且这两个痛点在无人值守的系统里尤为重要,有较高的推广、研究价值。

1 传统PLC 洗车系统介绍

1.1 PLC 洗车系统介绍

PLC 广泛用于各个领域,例如工业系统、自动控制系统等,效果显著。技术趋于成熟,应用范围不断扩大,在现代工业发展中极为重要[1]。

PLC 洗车系统以PLC 为核心,如图1 所示。PLC根据使用范围不同,自身带有不同数量的I/O 点位。由于洗车系统是一个非常复杂的控制系统,需要的I/O点位非常多,输入输出达到了80 个左右,所以PLC自身的I/O 点位已经不能满足洗车系统的使用要求,需要外扩输入输出模块。PLC 本身扩展能力非常强,可以根据不同的使用需求,外加不同功能的扩展模块。同时由于PLC 输出点位驱动能力不足,需要外加中间继电器以达到强驱动能力。PLC 也不具备语音能力,需要外加语音模块,提前录好音频,使用I/O 进行控制不同的语音段播放。在洗车系统中分别外扩了两个I/O 扩展模块,一个485 通讯模块,一个4~20 mA模块。整个系统显得非常臃肿。

图1 PLC 系统

1.2 PLC 系统外接网络介绍

PLC 洗车系统使用的网络模块,一般使用外加的第三方控制盒子,如繁易等,由第三方提供网络支持,通过RS485 通讯方式,采用Modbus 协议,对PLC 进行寄存器读写。如图2 所示为某PLC 洗车系统+繁易盒子的Modbus 配置参数。

图2 Modbus 配置参数

参数mqtt_connect 为网络连接状态,其数值1 代表网络已连接,0 代表网络断开。

参数errCode 为故障代码,所对应PLC 寄存器地址为501,寄存器不同值代表具体的故障,如1 为风机过载,2 为行走过载,3 为顶刷过载等等。

参数start 及washMode1 等为控制洗车机启动,通过给寄存器1000~1003 写1 来启动不同的洗车模式。

可以看出,PLC 跟网络模块为协作模式,互不隶属。PLC 使用网络模块的缺点显而易见:一是网络状态只有1 和0 两种状态,当网络有故障不能连接时,并不能清楚知道是什么问题导致了故障,PLC 也不能对故障进行复位、重连等操作;二是当机器故障时,PLC 只能用寄存器值来代表不同故障,需要在服务器端事先列出值与故障的对应关系,如果不清楚对应关系,或者PLC 有新增故障时,单纯从一个数值并不能清楚地表示出故障内容;三是网络模块并不能直接对PLC 软件进行升级,服务器与PLC 之间的数据需要通过网络模块转发;因此有必要寻找到一种方式来解决上述问题。

2 单片机洗车系统介绍

2.1 Cat.1 介绍

2020 年5 月,工信部发布了《关于深入推进移动物联网全面发展的通知》,明确提出推动存量2G、3G物联网业务向NB-IoT、4G 和5G 网络迁移。其中Cat.1以比NB-IoT 通信能力强、比Cat.4 成本更低优势,在物联网通信中广受用户喜爱[2]。

ML110S 模组是专为物联网领域设计的小型化Cat.1 无线通信模组,尺寸仅为24.0 mm×24.0 mm×2.5 mm,支持GSM/LTE、TDD/LTE、FDD 制式,具有10 Mbit/s 下行和5 Mbps 上行数据速率,可提供语音、TTS 和数传服务,支持Modem AT/OpenCPU 方案。

2.2 单片机系统介绍

单片机洗车系统以GD32F103ZET6 为核心,如图3 所示。GD32F103ZET6 单片机一共有112 个I/O 口、具有12 位A/D 模数转换、5 个UARTS 等硬件接口,一个单片机再加上少许外围电路就可满足洗车系统的硬件控制要求,不需要另外扩展接口模块[3]。同时单片机输出直接控制继电器,不需要再外接中间继电器,极大节约了成本[4]。通过对比PLC 系统框图,可以很明显地看到,使用单片机作为核心控制的洗车系统,少了扩展模块、语音模块、中间继电器、4~20 mA模块、485 模块。集成度更高,系统更简单实用[5]。

图3 单片机系统

2.3 单片机+Cat.1 应用

如图1 与图3 所示,比较单片机与PLC 系统框图可以看出单片机系统优势明显,整体要比PLC 系统简洁。Cat.1 网络模块作为单片机的外设,为单片机所控制,单片机对网络模块有绝对的控制权限。相当“大脑”有了“手脚”,“大脑”控制“手脚”来为“大脑”提供服务。有了这种隶属关系,单片机就能很好了解网络状态,并能实时根据网络状态来处理网络关系。

GD32F103ZET6 与ML110S 采用全双工串口来相互通讯,如图4 所示。GD32F103ZET6 通过串口主动发送AT 指令来控制ML110S。

图4 串口通讯

ML110S 有非常多的AT 指令来控制或查询状态,具体AT 指令可以通过查询模块规格书获取,以下几个AT 指令较为常用到:

AT+CSQ 用来测试信号强度

AT+CPIN 用来检测SIM卡

AT+CGATT 用来设置或检测模块有无连接上基站和核心网

AT+QICSGP 用来设置网络APN

AT+CEREG 用来查询网络注册状态

AT+QIOPEN 用来连接服务器

AT+QISEND 用来发送数据

当连上服务器以后,网络模块就相当一个管道,负责传送单片机与服务器之间的数据,有了这层关系,传输升级数据将水到渠成,远程升级不再有障碍。单片机与服务器平时通讯时采用了JSON 格式传输。数据内容包含上报信息、控制信息及远程升级服务信息。以下举例几种信息内容:

1)上报信息。

{

"cmd": "status_xcj",//上报命令

"wax_level":"100",//水腊液位

"foam _level":"100",//泡沫液位

"discharge_water":"10000",//水流量

"temperature":"25",//洗车机温度

"run_time":"10",//洗车运行时间

"msg":"正在洗车",//洗车状态

"bj_msg":"风机过载"//报警信息

}

2)控制信息。

{

"cmd": "control <http://www.baidu.com/link?url=IjTr7wEh_-pH2hmXPCM_k9Kkc_XDi-DAu71jhd6NKKj28P13nVazU11cpv-ZlEkgmwws2_fQKL3uRanYMOgDrJ5VcxubmViY6Y3ExC19_qdsa>_xcj "//控制信息

"function":"启动洗车" //命令

}

3)远程升级服务信息。

{

"cmd": "upgrade"//升级服务

"ver":"1.1.1", //版本号

"length":"140002", //软件长度

"checksum":"12345"//软件计算校验码

}

可以看出,关键功能数据值是可以直接以中文传输的,没有用数字代替功能,故障时可直接传输故障内容,数据可直接在服务器端展示,不需要再由服务器查询对应状态。而且远程升级服务信息,不仅提供了数据大小,还提供了版本号及检验码,可以对数据进行校验,保证数据准确。由于网络模块只是一个通道功能,因此想传输任何数据都没有问题,非常方便数据传输及功能扩展。

3 Cat.1 相关程序设计

洗车机要达到无人值守,需要满足几个条件:一是实时上报机器故障信息,让运营人员清楚了解机器问题;二是机器远程控制,包括远程启动、远程停止、远程复位、远程重启;三是发现机器有BUG 时可远程升级程序修复BUG;这几个功能都离不开网络模块的支持。

3.1 Cat.1 网络处理流程

想要设备实现无人值守,必须保持网络连接正常,因此就要求网络处理程序要有自我检测与恢复机制。当检测到网络被断开时,就需要开启重新连接,当连接失败时,就需要再检测移动网络是否正常,当检测到移动网络不正常时,就应该检测模块是否正常,当检测到模块不正常时,就应该重启模块,让模块重新工作。Cat.1 网络流程如图5 所示。梳理整个Cat.1网络流程时,不难看出,设计与要求是完全结合的,当一系列“否”以后,最终重新进入初始模式,让模块重新工作,实现网络自我检测与修复。

图5 Cat.1 网络处理流程

3.2 远程升级

远程升级程序是一个物联网设备的顶级功能,如果没有远程升级功能将使物联网使用大打折扣。由于单片机资源是有限的,无法一次性从服务器接收完整的升级文件,所以需要采用分帧机制,把升级文件分成一帧一帧传输。每帧控制在1 Kb 字节,通过多次传输达到完整接收升级数据功能。同时,为了保证数据的准确性,升级时必须校验数据的准确性,检验通过才可进行升级,否则刷入错误数据将导致单片机不工作。

升级流程如图6 所示,可以看出远程升级是一个慎之又慎的工作,稍不注意,将导致单片机不工作。因此,工作流程中应该多做些校验,以及万一失败时的恢复工作,比如升级时可将正常在用的数据备份一份,当升级以后的程序不能正常工作时,可自动恢复原有程序数据。

图6 升级流程

4 应用的效益评估

4.1 经济效益

生产成本降低,整个单片机洗车系统对比PLC洗车系统减少了两个扩展模块、语音模块、中间继电器、4~20 mA 模块、RS485 模块,光这些模块就可直接减少1 000~2 000 元的生产成本。

4.2 生产效益

由于外围部件的减少,生产效率得到提升,减少了人工的工作量,效率的提升意味着效益的提升,人工成本的降低。

4.3 运营效益

引入了Cat.1 应用,当机器故障时,运营者可实时收到故障信息,并可远程复位机器、重启机器,不需人工到现场处理,可快速恢复运营。快速的处置故障意味着减少机器故障带来的长时间停滞,减少损失。

5 结语

以GD32F103ZET6 单片机+ML110S 网络Cat.1 模块为例,探讨了Cat.1 在无人值守洗车系统中的应用,对于物联网在洗车系统应用有很大帮助,说明是一种切实可行的方法,同时产生了经济效益。单片机+Cat.1 在洗车机的应用只是物联网其中的一种应用,功能一通百通,可以应用到绝大部分的物联应用上,如无人售货、充电桩等等。万物皆可物联,我国的物联应用市场越来越广阔。

猜你喜欢
洗车远程升级
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
小投入,大升级 Polk Audio Monitor XT系列
德国最成功的洗车门店——Mr.Wash
洗车
幸福,在“家门口”升级
远程诈骗
回暖与升级
APP看世界之让手机帮你洗车吧!
自主阅读,快乐升级