嵌入式混凝土远程监控系统的监控方法与流程

文档序号:12006104阅读:155来源:国知局
嵌入式混凝土远程监控系统的监控方法与流程
本发明涉及混凝土搅拌站质量监控技术领域,尤其是一种用于实时监控混凝土搅拌机工作时间的嵌入式混凝土远程监控系统及其监控方法。

背景技术:
混凝土生产企业在加工混凝土时,通常需要将如水泥、水及骨料等原材料按照设计的配比投入到搅拌机中进行搅拌,原材料只有在搅拌机中搅拌达到设定的搅拌时间,才能够获得混合均匀、强度和工作性都能满足设计要求的混凝土。一般设定的搅拌时间为该型原材料和配比的混凝土所需的最低限度的搅拌时间,也称为最短搅拌时间,若原材料在搅拌机中搅拌的时间没有达到其相应的最短搅拌时间就将混凝土卸出投入使用,则该批未达到最短搅拌时间的混凝土的质量势必达不到设计要求,其投入到建筑施工中使用,将必然给建筑施工带来安全隐患。目前,混凝土生产相关监管部门对混凝土生产质量也实施监控,通常督促混凝土生产厂家建立混凝土质量监控系统,例如公开号CN202420637U、名称为“混凝土搅拌站及其质量监控系统”的中国专利文献所公开的混凝土质量监控系统,其通常监控的重点在于原材料的重量、配比等信息;混凝土生产监管部门监管时,通过实地或远程通信调取生产厂家的混凝土质量监控系统的相关数据库内包括搅拌机搅拌时间等数据信息进行抽查核实以达到监管目的。在传统PC监控中,可能会因为需要监控的地方与PC间隔较远引起串口数据传输不稳定的问题。或因为PC的串口数量不够而需要花大价钱去购买串口板卡的高消费监控模式。

技术实现要素:
本发明要解决的技术问题是:为了提供一种结构简单、使用方便、低成本、低功耗、高稳定性的嵌入式混凝土远程监控系统及其监控方法。本发明解决其技术问题所采用的技术方案是:一种嵌入式混凝土远程监控系统,包括上位机、远程服务器、电流表及嵌入式监控模块,所述上位机与远程服务器连接实现数据传输,所述嵌入式监控模块包括MCU、NANDFLASH存储模块、SRAM静态内存、以太网模块,所述NANDFLASH存储模块、SRAM静态内存、以太网模块设置在MCU内,嵌入式监控模块通过RS232串口模块与电流表连接,所述以太网模块与上位机连接。作为优选,所述MCU为STM32F103ZET6型号的微控制器芯片,MCU内设置有实时时钟模块。作为优选,所述MCU通过SPI总线与以太网模块连接。作为优选,所述以太网模块通过RJ45接口与上位机连接。本发明还提供一种嵌入式混凝土远程监控系统的监控方法,包括如下步骤:(1)初始化上位机的通信模块,获取DHCP分配的地址,并发送命令到上位机,使上位机与以太网建立联系;(2)创建通信主进程,用于连接上位机,收到命令后,将设备记录的数据上传,并创建副进程;(3)上位机检测副进程是否创建成功:若否,自动进入步骤(4);若是,自动进入步骤(6);(4)接收到上位机发出的Enter命令,终止副进程运行,等待副进程完全退出后,MCU进入命令行模式;(5)在命令树树根收到上位机的Exit命令后,退出命令行模式,并重新创建副进程,返回步骤(3);(6)副进程运行触发Start事件,初始化需要侦听的电流表数据的责任链,并利用继电器给电流表上电,开启MCU的RS232串口,将open节点写入record文件并通过SOCKET发送出去。此时,MCU检测电流表是否打开,如果电流表已打开,则不做处理,如果未打开,MCU读取数据库中的节点配置数据,并以此数据作为参数,实例化责任链节点,如果数据读取失败,则电流表异常指示灯点亮,如果读取数据成功,MCU绑定每一个被初始化的节点触发事件,给继电器上电,将open节点写入到record文件里,置位电流表标记为打开,打开RS232串口,并延时一段时间等待电流表启动完成。(7)在Start事件结束后进入LOOPING事件,MCU无限次读取电流表示数并将读取的数据传入侦听数据的责任链,当责任链的节点条件被触发时,MCU将责任链的节点写入record文件中。在读取电流表示数时,如果读取异常,则MCU将readex节点写入record文件中,触发Stop事件,延时一段时间,重新触发Start事件,如果读取正常,则MCU将读取到的值送入各节点中处理,当节点被触发时,将被触发的节点写入record文件中,并通过SOCKET发送出去。当LOOPING事件中出现异常时,副进程将readex节点写入record文件,并依次触发Stop、Start事件使设备重新进入正常的工作模式;(8)当主进程接收到Enter命令后,将使副进程触发Stop事件,在该事件中处理释放责任链,断开RS232,断开继电器,并将Close节点写入record文件中。MCU检测电流表是否打开,如果电流表未打开,则不做处理,如果电流表已打开,则关闭RS232串口,将open节点写入到record文件里,并清除电流表标志位,释放责任链各节点。本发明的有益效果是:本发明嵌入式混凝土远程监控系统及其监控方法通过嵌入式监控模块远程控制,实时监控混凝土搅拌站搅拌机的电流表的工作电流,并与正常搅拌状态下的工作电流相比较,让监控人员对混凝土搅拌可以实现远距离的监控,从而保证了产品的质量。附图说明下面结合附图和实施例对本发明进一步说明。图1是本发明嵌入式混凝土远程监控系统的结构示意图;图2是本发明嵌入式混凝土远程监控系统的嵌入式监控模块的结构示意图;图3是本发明嵌入式混凝土远程监控系统的流程图;图4是本发明嵌入式混凝土远程监控系统的Start事件的流程图;图5是本发明嵌入式混凝土远程监控系统的Stop事件的流程图;图6是本发明嵌入式混凝土远程监控系统的LOOPING事件的流程图;图7是本发明嵌入式混凝土远程监控系统的处理电流表读数的流程图。具体实施方式现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。如图1、图2所示,一种嵌入式混凝土远程监控系统,包括上位机、远程服务器、电流表及嵌入式监控模块,所述上位机与远程服务器连接实现数据传输,所述嵌入式监控模块包括MCU、NANDFLASH存储模块、SRAM静态内存、以太网模块,所述NANDFLASH存储模块、SRAM静态内存、以太网模块设置在MCU内,嵌入式监控模块通过RS232串口模块与电流表连接,所述以太网模块与上位机连接。嵌入式监控模块主要是通过和电流表的实时交互,从仪表中读取的数据进行处理,将有效的数据实时的记录下来,保存在NANDFlash存储模块中,待需要检查或数据上传时,再通过上位机进入设备命令行模式将数据读取出来。而上位机处于辅助监控状态,并能通过以太网对设备进行控制,让监控人员对混凝土搅拌可以实现远距离的监控。系统的设计初衷是为了分布式管理所需要监控的部分,利用嵌入式设备的低成本,低功耗,高稳定性,取代传统PC监控的不足,在传统PC监控中,可能会因为需要监控的地方与PC间隔较远引起串口数据传输不稳定的问题,或因为PC的串口数量不够而需要花大价钱去购买串口板卡的高消费监控模式。运用本设备可以完全避免这些传统的问题,设备可直接通过ENC28J60连接到互联网中。其中,通过对主控单片机(MCU)的编程,实现对其他几个外围设备的控制。系统的工作主要是由MCU先通过RS232串口和电流表通讯,从而将电流表反馈的数据读回MCU进行处理,然后MCU将处理得到的有效的数据写入系统的存储设备中(record文件中,并通过SOCKET发送出去),方便以后查询。需要存储的信息有:节点名称,节点的触发方式,触发阀值,阀值持续时间,日期,时间,六个基本信息。鉴于系统的MCU对内存、功耗、性能等各方面有较高的要求,本系统使用的MCU主控芯片是经过精心选择的,我们最终将芯片定位STM32F103ZET6这款芯片。该款芯片是基于ARM公司Cortex-M3核的最新一代的嵌入式微控制器,鉴于它的低功耗、低成本、高性能且中断系统响应快(实时性),被广泛的用于工控领域。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。STM32F103xE增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。内部SRAM有64KB,存储器有512KB,并能通过FSMC灵活的访问外部SRAM,与外部NANDFLASH,此外,该芯片内核为ARM系列的CORTEX-M3,最高72MHz工作频率,在存储器的0等待周期访时可达1.25DMips/MHz(Dhrystone2.1),单周期乘法和硬件除法,自带RTC实时时钟模块,可以避免购买DS1302实时芯片的开支。需要一节纽扣电池供电,为STM32F103ZE的RTC提供后备电源。由于在系统中需要运行SQLITE数据库与FAT32文件系统,在芯片原有SRAM的基础上市不能运行同时这个数据库与FAT32文件系统的,所以外接了一块1M的SRAM内存。由于在系统中需要将记录永久保存,而不是实时的回传记录,所以需要一块闪存(NANDFLASH)来存储运行时产生的记录。系统的通讯部分主要是由RS232电路接口转换模块来实现的,通过该接口系统可以与智能仪表实现数据交互。介于系统运行的环境可能会比较的恶劣,本系统采用了全托管代码的运行方式,因为CLR经过了长时间微软的更新与漏洞修复,所以在本地代码部分受环境的影响比较小。当CLR受到环境影响时,也会触发硬件异常,并重启CPU。这使得上层的托管代码不需要考虑程序“跑飞”的问题。为了使系统保存的数据能被导出,通过SPI方式连接了一块ENC28J60以太网模块。本系统总体运行在CLR框架中,所以开发语言为托管语言C#,由于CLR原生态支撑多线程,所以为本系统的多线程工作提供了可能,并能忽略掉C语言与C++中繁琐的内存管理。这也为本系统中采用的责任链模式减少了开发难度。也使得传统的设计模式能运用到嵌入式开发中。由于系统的RTC是芯片内部提供的,需要有C语言进行配置,而在CLR中没有RTC的,这就需要使用ChpaterRom中的Calendar类与本地C语言代码建立联系,以便于上层调用。如图3所示,本发明的监控流程如下:(1)初始化上位机的通信模块,实体化transmission类(获取DHCP分配的地址,并发送Hello命令到主机,提示设备上线),用于通过以太网与上位机建立联系。(2)加载ChapterRom框架用于创建通信主进程,主进程用于以太网通信,连接上位机,收到命令后,将设备记录的数据上传,并创建副进程。(3)上位机检测副进程是否创建成功:若否,自动进入步骤(4);若是,自动进入步骤(6)。(4)如果创建副进程发生阻塞,此时等待上位机命令,接收到上位机发出的Enter命令,终止副进程运行,等待副进程完全退出后,MCU进入命令行模式;(5)在命令树树根收到上位机的Exit命令后,退出命令行模式,并重新创建副进程,返回步骤(3)。(6)副进程运行触发Start事件,用以初始化需要侦听电流表数据的责任链,并利用继电器给电流表上电,开启RS232,最后将open节点写入record文件中并通过SOCKET发送出去。如图4所示,当副进程运行触发Start事件时,MCU检测电流表是否打开,如果电流表已打开,则不做处理,如果未打开,MCU读取数据库中的节点配置数据,并以此数据作为参数,实例化责任链节点,如果数据读取失败,则电流表异常指示灯点亮,如果读取数据成功,MCU绑定每一个被初始化的节点触发事件,给继电器上电,并写入open节点到record文件里,置位电流表标记为打开,打开RS232串口,并延时一段时间等待电流表启动完成。(7)在Start事件结束后进入LOOPING事件,MCU无限次读取电流表示数并将读取的数据传入侦听数据的责任链,当责任链的节点条件被触发时,节点会将自己写入record文件中。如图6所示,在读取电流表示数时,如果读取异常,则MCU将readex节点写入record文件中,触发Stop事件,延时一段时间,重新触发Start事件,如果读取正常,则MCU将读取到的值送入各节点中处理,当节点被触发时,将被触发的节点写入record文件中,并通过SOCKET发送出去。当LOOPING事件中出现异常时,副进程将readex节点写入record文件,并依次触发Stop、Start事件使设备重新进入正常的工作模式。如图7所示,MCU将读取到的值送入各节点中处理时,判断触发方式,大于阈值时触发如下命令:1.当输入的数据小于阀值,将标志字节清零,并返回;2.当输入的数据大于等于阀值进行数据分析。小于阈值时触发如下命令:1.当输入的数据大于阀值,将标志字节清零,并返回;2.当输入的数据小于等于阀值进行数据分析。进行数据分析时,判断标志字节是否为0。如果标志字节为0,则判断持续时间是否小于等于0,如果小于等于0,则满足触发条件触发事件,将标志字节置位0x01,如果大于0,则标记当前时间,将标志字节置位0x01。如果标志字节不为0,则判断标志字节是否为0x01。如果标志字节不为0x01,返回。如果标志字节为0x01,则判断持续时间是否大于0,并且当前时间减掉标记时间是否大于等于持续时间,并且标记字节不为0x03,如果不是,直接返回,如果是,将标志字节置位为0x03,满足触发条件并触发事件。(8)当主进程接收到Enter命令后,将使副进程触发Stop事件,在该事件中处理释放责任链,断开RS232,断开继电器,并将Close节点写入record文件中。如图5所示,MCU检测电流表是否打开,如果电流表未打开,则不做处理,如果电流表已打开,则关闭RS232串口,写入open节点到record文件里,并清除电流表标志位,释放责任链各节点。以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1