基于智慧工厂的多功能数据采集器、采集系统及方法
技术领域
本发明属于工业物联网通讯技术领域,尤其涉及一种分布式多功能数据采集器、采集系统及方法。
背景技术
物联网技术迅速发展的近几年,各种基于物联网应用技术的产品层出不穷,也诞生了种类丰富、功能多样的各类数据采集器产品。自“工业4.0”、“工业互联网”以及“中国制造2025”等概念兴起后,工业领域更是迫切需要将现场设备等各类数据实时采集,并能上传到上层的服务器端。然而现阶段的工业现场设备的控制器种类十分丰富,通讯接口类型多样,通讯协议五花八门。
为了解决设备的数据收集的问题,需要花很大的精力和成本,而且传统的数据采集卡只能采集一些DI、AI等硬点信号。工业上这种现状,严重制约了工业物联网的发展,阻碍了“工业4.0”的进程。
发明内容
本发明克服了上述现有技术中存在的不足,提供了一种能够满足绝大多数工业现场设备的数据采集,且网络结构简单,可方便进一步对其功能进行灵活配合的多功能数据采集器、采集系统及方法,从而更加经济、便捷、高效地将现场各种设备与分散采集点的数据读取上来,为智慧工厂的建立提供完整而准确的底层数据。
本发明的技术方案是这样实现的:
一种基于智慧工厂的多功能数据采集器,包括微处理器及分别与微处理器相连的电源模块、485收发器芯片、232收发器芯片、IO信号转换电路以及两个以太网协议栈芯片;电源模块用于为采集器提供电源;485收发器芯片、232收发器芯片分别具有RS-485接口、RS-232接口,用于连接外部设备并采集设备数据;以太网协议栈芯片具有以太网接口,用于连接上位机或其它采集器并传送数据;IO信号转换电路,具有IO端口,用于连接外部设备并采集信号或是对设备进行控制,微处理器将485收发器芯片、232收发器芯片、IO信号转换电路、以太网协议栈芯片采集的信号或数据进行处理与管理。
作为优选,所述的微处理器为基于Cortex-M3内核的STM32F103C8单片机。
作为优选,485收发器芯片为SP3485芯片,232收发器芯片为SP3232芯片。
作为优选,IO信号转换电路包括用于采集并控制模拟信号的模拟量输入电路、用于控制开关量信号的开关量输入电路及用于控制小功率设备的开关量输出电路。
作为优选,在电源模块与485收发器芯片之间还连接有电源隔离模块。
基于智慧工厂的多功能数据采集系统,包括上位机、主站设备、被采集的设备及如上所述的至少一个数据采集器,RS-485接口、RS-232接口通过上位机分别独立地配置成主站或从站模式;当配置成从站模式时,主站设备可以通过ModbusRTU协议对数据采集器进行读写操作;当配置成主站模式时,又可以通过上位机对这个被配置成主站模式的接口的通讯协议进行选择,从而与现场不同的被采集的设备进行通讯。
作为优选,所述的主站设备为PC机或PLC控制器。
基于上述多功能数据采集系统的采集方法,数据采集器上电时,首先进行初始化处理,待其稳定后,对采集器的以太网协议栈芯片、485收发器芯片、232收发器芯片进行初始化处理;然后用上位机配置软件对通讯参数、IO通道模式进行初始化操作,待按下确认按钮后,程序判断参数设置成功,则配置结束;RS-485接口、RS-232接口通过上位机分别独立地配置成主站或从站模式;当配置成主站模式时,通过上位机对这个被配置成主站模式的接口的通讯协议进行选择,从而使数据采集器与现场不同的被采集的设备进行通讯;当配置成从站模式时,主站设备可以通过ModbusRTU协议对数据采集器进行读写操作,以获取其采集的数据。
作为优选,当现场布置了多个数据采集器时,各个采集器通过以太网接口以菊花链的形式连接起来,以组成分布式数据采集系统,上位机或主站设备可以通过ModbusTCP协议,读取以太网接口的数据。
作为优选,上述方法具体是指:
一,首先,微控制器上电后调用初始化函数,对时钟、中断以及GPIO、串口、定时器、模数转换器ADC、直接存取器DMA诸外设资源进行初始化操作;
二,微控制器调用各硬件初始化函数对以太网协议栈芯片、485收发器芯片、232收发器芯片诸外部硬件进行初始化操作;
三,然后系统进入配置函数,按照微控制器中FLASH闪存存储区内预先写的参数进行初始化串口、协议选择功能;其后,可以通过上位机配置软件在任意时刻对各配置参数进行修改,修改结束并成功后,数据采集器会触发一个软复位,使微控制器复位;复位后,微控制器执行到配置函数时,从新载入FLASH闪存中已配置好的新参数,并按照该参数对相关功能进行初始化;
上位机配置软件可以在微控制器运行的任意时刻写入配置参数,微控制器接收到这些配置参数时不会直接改变现有硬件资源的配置,而是将这些参数写到FLASH闪存中,仅改变FLASH闪存中的配置参数;待配置参数写入无误后,微控制器会根据情况将提示信息反馈给上位机,等待微控制器当前紧急任务完成后,再触发软复位信号,避免数据的丢失等现象发生;微控制器复位后,才将这些FLASH闪存中的配置参数载入,达到参数配置的目的;
配置参数包括串口的通讯波特率、奇偶校验、数据位数、停止位数、协议选择,根据对应协议会有主站模式、从站模式、站地址、数据地址、校验方式诸选择;还包括以太网的工作方式、地址、端口诸参数;
四,上位机配置软件包括采集器主程序、IO信号处理程序、IO通道配置程序、串口主从切换程序、MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、以太网芯片控制程序、MODBUS TCP服务器端驱动程序以及协议选择程序;串口是指RS-485接口、RS-232接口;
采集器主程序主要是处理各种通讯,以及IO的读写和刷新;该部分的程序以每20ms的周期进行无限循环执行;当接收到上位机发出的参数配置命令时,串口将参数写入到FLASH闪存中并软件复位微控制器;为避免将微控制器正常通讯获得的数据误认为是上位机发出的修改参数信息,微控制器和上位机之间需要约定数据包的区别其它的特殊头部,并通过相互握手协议完成最终数据的修改;
五,MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、以太网芯片控制程序、MODBUS TCP服务器端驱动程序以及其它通讯协议驱动程序主要功能是底层硬件数据读写的实现和协议数据解析的实现;其中会根据上位机配置软件对采集器的配置调用某种通讯协议程序对获得的数据进行解析,得到正确的数据写到对应的地址区域;或者,将需要传输的数据按照设置的通讯协议格式打包,通过对应的通讯口输出;底层的RS-485接口、RS-232接口和串口主从切换程序,接收部分采用中断方式进行读取,并将数据保存到接收缓存中;发送部分由采集器主程序循环体中的发送函数将数据写到发送数据缓存区中,然后通过相应的寄存器将数据通过RS-485接口、RS-232接口和以太网发送出去。
而MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、MODBUS TCP服务器端驱动程序以及其它通讯协议驱动程序,各自由不同的功能函数构成,上述每种协议都对应了若干功能函数,对读到的数据进行解析以及以怎样的方式发送数据;而协议的选择根据程序中的协议关键字变量进行自动选择,该协议关键字变量变量可以通过上位机软件进行配置,并保存到FLASH闪存中;使用时,根据不同的协议关键字变量将RS-485接口、RS-232接口通过上位机分别独立地配置成主站或从站模式;
六,IO更新与信号处理部分,即IO信号处理程序主要是对IO通道采集得到的数据进行滤波处理,并将处理后的数据写到对应的输入变量区;同时,将输出变量区的变量处理后写到IO通道寄存器,通过对应的通道将数据输出。
采用本发明技术方案的设计思想及有益效果是:
本发明的数据采集器采用工业上常用的直流24V供电(供电范围可以DC 7~35V),可以方便地就地安装在现场的设备机柜中,供电和安装都十分方便。
采用通道复用技术,通过上位机设置或跳线选择,可以将多个输入输出功能映射到一个输入输出端子上。这样可以节省PCB电路板的空间,将产品尽量做小,从而节省现场的安装空间;同时,工业现场的数据点比较分散,往往一个地方的数据点的数量很少,但各个地方的数据点的类型却可能不一样,用通道复用技术就可以用一种类型的产品满足多类型的数据读取,而且通道数不用设计很多,以避免通道过于冗余。
丰富的通讯接口,工业物联网的关键是联网,数据能从底层直达上层云端软件。针对现场设备接口的丰富性,以及现场数据总线的丰富性,本发明同时集成有以太网接口、RS-485接口以及RS-232接口。
在进一步应用时,通过上位机的配置,可以将RS-485接口或RS-232接口配置成不同功能的通讯口。其中,RS-485接口、RS-232接口可以通过上位机内置的配置软件分别独立地配置成主站或从站模式;当配置成从站模式时,其它的主站设备(比如PC机、PLC等)可以通过ModbusRTU协议对其进行读写操作;当配置成主站模式时,又可以通过上位机对这个通讯口的通讯协议进行选择,从而与现场不同的设备(比如各种PLC等)进行通讯。由于协议的种类非常丰富,不可能把所有的协议都集成到采集器中,所以在很多情况下,协议的解析还是需要依靠上位机来实现(比如组态软件、OPC、协议驱动等),而现场设备的通讯接口又是串口的情况下,可以将采集器的RS-485接口、RS-232接口配置成主站模式,同时与以太网接口可以配置成串口服务器的模式,这样设备的数据就可以通过网络实现串口透传,这样在上位机选择相应的协议驱动对其进行读写操作。
该数据采集器有两个内嵌的以太网接口,可以将信息流向另一个以太网设备,当现布置了很多这样的采集器时,各个采集器可以以菊花链的形式连接起来,方便现场网络的布线,以组成分布式数据采集系统。上位机或PLC等设备可以通过ModbusTCP协议,读取网络端口的数据。同时,也可以将其它设备连接到该网口上,方便实现网络的扩展。
通过上位机配置,可以灵位的重定义IO通道和各通讯端口的功能,从而使数据采集器的适应性更加强,尽可能多地满足各种工业现场的数据采集的需求。
附图说明
图1为本发明数据采集器的硬件结构框图;
图2为本发明采集系统上位机配置软件的结构框图。
具体实施方式
本发明的具体实施方式如下:
参照图1,一种基于智慧工厂的多功能数据采集器,包括微处理器及分别与微处理器相连的电源模块、485收发器芯片、232收发器芯片、IO信号转换电路以及两个以太网协议栈芯片;电源模块用于为采集器提供电源;485收发器芯片、232收发器芯片分别具有RS-485接口、RS-232接口,用于连接外部设备并采集设备数据;以太网协议栈芯片具有以太网接口,用于连接上位机或其它采集器并传送数据;IO信号转换电路,具有IO端口,用于连接外部设备并采集信号或是对设备进行控制,微处理器将485收发器芯片、232收发器芯片、IO信号转换电路、以太网协议栈芯片采集的信号或数据进行处理与管理;在电源模块与485收发器芯片之间还连接有电源隔离模块。
微处理器选择意法半导体的基于Cortex-M3内核的STM32F103C8的单片机。该单片机采用LQFP的封装,具有48个引脚,在完全满足应用的情况下,尽可能地减少PCB板的占用空间;具有64K的Flash存储器以及20K的RAM存储器,足以满足一般的通讯协议和数据处理的能力;具有三个通用异步串行接口,可以满足本发明的一个RS-485接口和一个RS-232接口的需求;具有两个SPI同步串行接口,可以对两个以太网协议栈芯片进行读写操作。
以太网协议栈芯片采用WIZnet公司的W5500芯片。该芯片是一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。W5500集成了TCP/IP协议栈,10/100M以太网数据链路层(MAC)及物理层(PHY)。用该方案可以不用在单片机中集成TCP/IP协议栈,使得单芯片的资源得以大幅度释放,对单片机的性能要求也大幅度降低,同时降低了软件开发难度。
RS-485收发器芯片选用SP3485芯片。该芯片是一款低功耗半双工收发器,它们完全满足RS-485和RS-422串行协议的要求。SP3485芯片符合RS-485/RS-422串行协议的电气规范,数据传输速率可高达10Mbps(带负载)。由于485总线的应用场合一般都是在工业现场的长距离通讯,故为了对采集器的保护,需要设计抗浪涌和电源隔离电路。该芯片和485接口部分的电路采用隔离电源器B0505供电,同时接口电路需要采用瞬态抑制二极管进行抗浪涌设计;单片机的串口和控制输出通过光耦与其连接。
RS-232收发器芯片选用SP3232芯片。该芯片将TTL电平转换为RS-232标准电平,满足EIA/TIA-232-F标准,工作电压可以直接用3.3V供电。该芯片的外围电路简单,只需要几个0805封装的0.1uF的电容即可。
电源模块采用LM2596-5开关电源芯片,对供电电压进行降压稳压,变为DC 5V,做为IO等电路的工作电压。同时,采用线性稳压电源AMS1117-3.3芯片,将5V电压进一步转换为3.3V电压,给单片机、RS-485收发器芯片、RS-232收发器芯片、以太网协议栈芯片等进行供电。另外,RS-485收发器芯片以及RS-485接口电路用隔离电源模块B0505进行供电,对数据采集器进行保护。
IO信号转换电路包括用于采集并控制模拟信号的模拟量输入电路、用于控制开关量信号的开关量输入电路及用于控制小功率设备的开关量输出电路。
模拟量输入电路可以接收4~20mA,0~5V,0~10V的信号,只需要通过短路环进行选择。通过π型滤波电路,对模拟量进行滤波,去除高频噪声信号。同时,信号通过运算放大器组成的信号跟随器后进入单片机,这样可以将信号的输出阻抗提高,减小信号受负载(这里的负载是指单片机的输入引脚,其有等效阻抗)的影响,提高模拟量的读取精度。
开关量输入电路,采用高速光耦进行隔离,保护采集器内部结构,同时也可以接收高频率的脉冲输入信号。当输入的是高速脉冲信号时,可以通过软件配置,将其端口设置成高速脉冲的模式,这样可以读取针对现场的从电机转速取得的编码器信号。这种能够配置成高速脉冲输入的信号通道需要设计连接到单片机的定时器输入扑捉引脚。这样,对该单片机引脚和对应的定时器进行配置,即可实现高速脉冲的计数。
开关量输出电路采用继电器隔离输出,可以直接控制报警灯、电磁阀等小功率设备;同时通过接触器控制诸如电机等大功率设备。通过软件配置,可以将其通道配置成PWM输出模式,用于某些特定场合对现场灯光亮度、电机速度等进行控制。这类复合混用通道必须接到某个定时器的输出比较端子上。
采集器主程序是上位机整个配置软件的核心,主要负责初始化、配置处理、通讯处理以及IO处理工作;
采集器上电时,首先进入单片机的资源初始化处理程序对时钟、中断服务、定时器、串口、IO资源进行初始化处理;待其稳定后,对采集器的以太网协议栈芯片、485收发器芯片、232收发器芯片、LED指示灯诸硬件进行初始化处理;然后程序处于等待状态,用上位机配置软件对通讯参数、IO通道模式进行初始化操作,待按下确认按钮后,程序判断参数设置成功,则配置结束,并点亮对应的LED灯表示设置成功;
之后,进入程序的循环部分,这是程序的主体部分,按照设定的周期时间不断地进行通讯处理、IO更新与IO信号处理、故障处理过程。
具体的说,参照图2作如下说明:
一,首先,微控制器上电后调用初始化函数,对时钟、中断以及GPIO、串口、定时器、模数转换器ADC、直接存取器DMA诸外设资源进行初始化操作;
二,微控制器调用各硬件初始化函数对以太网协议栈芯片、485收发器芯片、232收发器芯片诸外部硬件进行初始化操作;
三,然后系统进入配置函数,按照微控制器中FLASH闪存存储区内预先写的参数进行初始化串口、协议选择功能;其后,可以通过上位机配置软件在任意时刻对各配置参数进行修改,修改结束并成功后,数据采集器会触发一个软复位,使微控制器复位;复位后,微控制器执行到配置函数时,从新载入FLASH闪存中已配置好的新参数,并按照该参数对相关功能进行初始化;
上位机配置软件可以在微控制器运行的任意时刻写入配置参数,微控制器接收到这些配置参数时不会直接改变现有硬件资源的配置,而是将这些参数写到FLASH闪存中,仅改变FLASH闪存中的配置参数;待配置参数写入无误后,微控制器会根据情况将提示信息反馈给上位机,等待微控制器当前紧急任务完成后,再触发软复位信号,避免数据的丢失等现象发生;微控制器复位后,才将这些FLASH闪存中的配置参数载入,达到参数配置的目的;
配置参数包括串口的通讯波特率、奇偶校验、数据位数、停止位数、协议选择,根据对应协议会有主站模式、从站模式、站地址、数据地址、校验方式诸选择;还包括以太网的工作方式、地址、端口诸参数;
四,上位机配置软件包括采集器主程序、IO信号处理程序、IO通道配置程序、串口主从切换程序、MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、以太网芯片控制程序、MODBUS TCP服务器端驱动程序以及协议选择程序;串口是指RS-485接口、RS-232接口;
采集器主程序主要是处理各种通讯,以及IO的读写和刷新;该部分的程序以每20ms的周期进行无限循环执行;当接收到上位机发出的参数配置命令时,串口将参数写入到FLASH闪存中并软件复位微控制器;为避免将微控制器正常通讯获得的数据误认为是上位机发出的修改参数信息,微控制器和上位机之间需要约定数据包的区别其它的特殊头部,并通过相互握手协议完成最终数据的修改;
五,MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、以太网芯片控制程序、MODBUS TCP服务器端驱动程序以及其它通讯协议驱动程序主要功能是底层硬件数据读写的实现和协议数据解析的实现;其中会根据上位机配置软件对采集器的配置调用某种通讯协议程序对获得的数据进行解析,得到正确的数据写到对应的地址区域;或者,将需要传输的数据按照设置的通讯协议格式打包,通过对应的通讯口输出;底层的RS-485接口、RS-232接口和串口主从切换程序,接收部分采用中断方式进行读取,并将数据保存到接收缓存中;发送部分由采集器主程序循环体中的发送函数将数据写到发送数据缓存区中,然后通过相应的寄存器将数据通过RS-485接口、RS-232接口和以太网发送出去。
而MODBUS RTU从站驱动程序、MODBUS RTU主站驱动程序、MODBUS TCP服务器端驱动程序以及其它通讯协议驱动程序,各自由不同的功能函数构成,上述每种协议都对应了若干功能函数,对读到的数据进行解析以及以怎样的方式发送数据;而协议的选择根据程序中的协议关键字变量进行自动选择,该协议关键字变量变量可以通过上位机软件进行配置,并保存到FLASH闪存中;使用时,根据不同的协议关键字变量将RS-485接口、RS-232接口通过上位机分别独立地配置成主站或从站模式;
六,IO更新与信号处理部分,即IO信号处理程序主要是对IO通道采集得到的数据进行滤波处理,并将处理后的数据写到对应的输入变量区;同时,将输出变量区的变量处理后写到IO通道寄存器,通过对应的通道将数据输出。
本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。以上公开的仅为本申请的几个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。