基于STM32 的工控设备物联网改造装置设计
2020-12-11辛晓虎王建慧李福贺宋晓博胡泉伟
辛晓虎,王建慧,李福贺,宋晓博,胡泉伟
(1.国网天津市电力公司蓟州供电分公司,天津 301900;2.国网天津市电力公司电力科学研究院,天津 300384;3.国网天津市电力公司电缆分公司,天津 300000)
0 引言
当前大量工控设备均通过嵌入式打印机输出数据结果,致使数据管理难度加大,通常需要大量人力现场抄录数据结果,人工进行纵向和横向数据比对,不能满足当前工业智能化的建设要求[1]。但是,市场上各类工控设备厂家型号众多,技术实力相差悬殊,要求所有厂家进行统一的物联网研发和设备改造难度较大,急需一种统一的工控设备物联网解决方案。
考虑到当前大量工控设备均通过嵌入式打印机输出数据结果,且嵌入式打印机有规范的控制指令集和通信接口,提出基于嵌入式打印机的统一标准,开发虚拟打印技术,研发适用于工控设备的统一物联网改造装置。通过物联网改造装置,可实时获取工控设备的输出数据,进而发送至物联网数据管理平台,实现工控设备的数据感知。
物联网改造装置应遵守嵌入式打印机的通信接口和协议[2-3]。安装至工控设备内后,工控设备将物联网改造装置识别为嵌入式打印机。物联网改造装置自动采集工控设备内本应打印的数据结果,按照打印机控制指令集进行解码编译、边缘计算,并利用4G 网络将数据发送至数据管理平台(云系统)。
1 装置工作原理
基于STM32 的物联网改造装置,主要包括数据采集接口、STM32 微处理器和发射模块3 部分。通过模拟嵌入式打印机的功能和接口,与工控设备进行连接和通信,实现数据采集、虚拟打印、边缘计算、数据发送4 项功能,如图1 所示。
图1 系统结构
1.1 数据采集功能
该装置模拟嵌入式打印机与工控设备进行连接,采集工控设备本应打印输出的数据。为扩大适用性,采集接口应能够兼容多种嵌入式打印机,包括RS485 串行接口、RS232 串行接口[4],通过电平转换后与STM32 微处理器连接,数据采集后传输至STM32 的接收缓冲区中。
1.2 虚拟打印功能
虚拟打印是将接收数据按照嵌入式打印机指令集的规则进行指令和数据解析。当检测到接收缓冲区中有数据写入时,自动开始指令解析。指令解析出的字符为控制字符或数据字符两种,控制字符包括切纸、走纸、打印设置指令、字符格式设置指令、打印格式设置指令、电机控制指令等。首先判断解析出的字符是否为控制字符,如为控制字符则忽略;如为数据字符,则暂存至缓冲区内,待接收结束后,进行字符串拼接,进而获得完整的所需数据信息[5-6]。
物联网模块的兼容性与虚拟打印功能的指令集设计密不可分。各个微型打印机厂商提供的指令集虽然不尽相同,但大都遵循ESC/POS 指令集标准[7],为文中提出制作统一的物联网改造模块奠定了现实基础。
1.3 边缘计算功能
边缘计算是为满足不同工控设备特殊化的数据分析和计算需求。首先,对工控设备输出数据进行纵向对比和异常分析;其次,针对物联网数据传输的要求对数据进行编码、加密操作;最后,针对数据应用的需求,对采集的信息数据进行信息挖掘、分析整合、就地计算等,进而降低数据传输带宽,减轻海量数据上传物联网云系统后的系统负担,同时保护隐私数据,降低终端敏感数据隐私泄露的风险[8-10]。
1.4 数据发送
数据发送模块采用4G 公网通信模块实现,通过STM32 利用AT 指令控制4G 无线终端设备(Data Transfer Unit,DTU)模块,将数据信息发送至物联网平台。按照物联网平台的TCP/IP 或HTTP 协议的数据结构和接口形式对发送数据进行封装,最终实现工控设备数据的上传和统一管理[11]。
2 装置的设计
2.1 硬件设计
综合考虑物联网改造装置的性能需求、体积、能耗等指标,以STM32 微处理器为核心,设计工控设备物联网改造装置,如图2 所示。主要包括STM32微处理器(芯片为STM32F103C8T6)及其外围电路、RS232 电平转换(芯片为SP3232)电路、RS485 电平转换(芯片为SP3485)电路、4G DTU 发送电路(芯片为Air720H)和OLED 显示屏(芯片为SSD1306)。该装置安装于工控设备内部,并联在嵌入式打印机的接口上[12]。
STM32F103C8T6 的供电电压为2.0~3.6 V,最高工作频率可达72 MHz,I/O 端口可以配置成输出(推挽或开漏)、输入或复用的外设功能端口,自带3 个USART 端口、2 个IIC 端口,完全满足该改造装置的通信接口及计算能力需求。
STM32 的外围电路包括稳压电源、按键复位、石英晶振、CH340G 下载回路4 个部分,稳压芯片为ASM1117,该芯片输出电压为3.3 V,电流为1 A,满足本装置的供电需求。
实际应用中,本装置的RS232、RS485 两个通信串口不会同时使用,因此在设计上,RS232、RS485 电平转换电路共用一个STM32 的串口,利用二极管M7 串联在电平转换芯片的Data IN 引脚上,从而避免两个串口之间互相干扰,并在RS485 串口的输出上并联47 kΩ 的耦合电阻。
图2 硬件电路设计
4G DTU 发送电路直接采用Air 720H 成品化芯片,该芯片安装SIM 卡后可通过长期演化时分双工(Long Term Evolution Time Division Duplexing,LTETDD)、长期演化频分双工(Long Term Evolution Frequency Division Duplexing,LTE-FDD)、宽带码分多址通信技术(Wideband Code Division Multiple Access,WCDMA)、无线分组交换技术(General Packet Radio Service,GPRS)等公网协议进行通信,通信速率最大可达到50 Mbit/s,满足一般工控设备物联网通信需求,该芯片自带TTL 串口,可直接与STM32 的串口引脚连接。
OLED 显示屏为液晶屏,由SSD1306 芯片驱动,与STM32 采用IIC 协议通信。
2.2 程序设计
装置独立于工控设备之外运行,通过向STM32写入微处理器程序进行逻辑运算与处理,进而模拟嵌入式打印机的接口特性,通过RS232 或RS485 串口与工控设备通信。
当工控设备需要打印数据时,装置微控制单元(Microcontroller Unit,MCU)即被唤醒,获取工控设备输出的数据信息,进行虚拟打印,截取其中有用的信息,进行边缘计算后,通过DTU 发射单元,将数据向外传输,实现感知工控设备的功能。
STM32 微处理器的程序主要采用Keil5 软件编写,主要程序包括初始化部分,中断函数的定义,虚拟打印子程序、边缘计算子程序,以及信息发送与显示子程序等,如图3 所示。
初始化部分主要是初始化系统时钟、IIC 通信、GPIO 输出模式、串口通信波特率、数据字长、停止位、校验位等参数,同时定义按键重启等部分。
中断函数部分定义了USART2 串口的中断,及时接收由工控设备传输的数据,并按字节存储。
虚拟打印子程序通过逐字节解析工控设备传输的数据,首先通过ASCII 值判断是否为控制指令,如为控制指令则丢弃,否则将其存入解析后字符串中。
边缘计算子程序主动分析解析后的字符串信息,并和工控设备的标签信息进行拼接。
信息发送子程序是通过AT 指令调用Air720H芯片将边缘计算的结果进行向指定地址发送。
显示子程序是通过IIC 端口调用OLED 显示屏将虚拟打印的结果显示在显示屏上,便于人员核对输出结果。
一般工控设备打印输出的数据都不可用于物联网信息标签,即便实现了感知层功能,也不能被物联网系统独立识别和寻址,不方便进行系统管理。因此,该方法仍要通过扫码、RFID 等技术,或者通过在STM32 内固化数据标签等方式,给被改造工控设备建立唯一数据标签,实现工控设备信息上传的同时,便于设备的智能化识别和管理。
图3 程序流程
3 现场测试及应用
将研制的工控设备物联网改造装置在避雷器阻性电流测试仪上进行试用。避雷器阻性电流测试仪为10 kV 及以上的避雷器带电测量阻性电流的一个试验仪器,其对避雷器测量结束后,通过嵌入式打印机打印阻性电流、全电流、奇次谐波电流、阻性功率等数据信息。
将工控设备物联网改造装置并联在避雷器阻性电流测试仪的嵌入式打印机接口上,获取该测试仪打印的所有数据信息,实现对避雷器阻性电流检测仪的物联网改造。
因电气试验的输出数据需要与试验仪器、被试设备进行一一匹配[5],因此添加了无线扫码枪,通过扫码方式获取试验仪器、被试设备信息,并作为数据标签,添加到MCU 输出数据上,如图4 所示。
为了测试本物联网改造装置的稳定性,利用改造后的避雷器阻性电流检测仪对某变电站10 kV、35 kV、110 kV 这3 个电压等级的所有避雷器反复进行试验,以期获得不同数据对装置进行测试。在现场布置物联网终端PC 机,将装置向物联网系统发送数据,与现场测量结果实时比对。
20 余天现场应用表明,终端PC 机接收数据与现场测量数据完全一致,装置编译、传输正确率100%。2019 年春检期间在某供电公司的布置该装置,4 个月的应用结果表明本物联网改造装置各项功能稳定,性价比高,满足工控设备信息感知的需求。
图4 现场应用
4 结语
当前工控行业中大量仪器设备均通过嵌入式打印机输出数据,基于STM32 微处理器研制的工控设备物联网改造装置,能够以低成本的方式实现工控设备的物联网改造。对某避雷器阻性电流测试仪进行改装后,现场测试结果表明,装置能够与试验仪器紧密配合,完整采集解析试验数据,并通过4G 公网向外发送。该装置工作可靠、成本低,可为当前大量工控设备物联网提供了一种解决方案。