基于单片机的起重机安全监控系统设计与应用---桥门式起重机安全监控系统您的位置:首页 > 行业知识

基于单片机的起重机安全监控系统设计与应用---桥门式起重机安全监控系统

来源:恺德尔起重机安全监控管理系统专家 发表日期: 2021-07-10 12:30:00
随着工业及基础建设的发展,起重机已经被广泛用于工业生产和基础设施建设中,在我国一些关系国家民生的重大施工项目如三峡工程、南水北调、青藏铁路、西电东送、西气东输等也都使用起重机[1]。起重机在经济发展中至关重要,是基础设施建设至关重要环节。
然而部分企业为追求利益最大化,超负、超载、暴力使用、未定期保养维修等各种不安全、不规范的操作导致起重机安全事故频发。为了避免起重机事故的频繁发生,政府做出了很多努力,包括出台相关的标准与规范,例如《塔式起重机安全规程》GB5144 - 2006,《在用建造塔式起重机安全状态鉴定标准等》[2]
目前国内起重机种类琳琅满目,在安全监控方面还没有统一的标准,大多是采用机械装置,比如大车小车行程限位器,起升高度限位器等,然而这些设备都是当起升或者其它运行参数快到极限时才会触发断电开关,缺乏预警功能,操作员只能通过经验进行判断,同时机械限位器也可能因为没有进行及时保养出现装置失灵等情况,从而导致很严重的事故发生。
因此,开发一套实时性高、能够对不安全操作进行实时预警和报警的监控系统十分必要,本文以起重机基本监控参数为前提,开发了一套基于 STM32的起重机远程监控系统,经过测试,实现了基本数据量采集,系统实时性高,可靠性高,完成了系统要求的基本功能。
1. 硬件系统
整个硬件系统由控制模块、输入模块、输出模块、通信模块组成。
依下图所示:
 
控制模块: 控制模块分为主控和从控。主控核心为 STM32F407,其负责控制整个硬件电路的正常运行,从控由 5 块 STM32F103 组成,其中每个传感器对应一块从控,从控负责对数据进行实时采集。
输入模块: 由传感器组组成。从控负责将传感器组的电压电流信号转换成RS485 信号,主控对传来的RS485 信号进行处理。其中传感器需要采集的信号包括: 高度、温度、湿度、起重量、行程等重要参数。
输出模块: 本系统输出模块包括 LCD 触摸屏、蜂鸣器、指示灯、RFID,输出模块主要功能是对数据进行显示和异常报警。
通信模块: 由 DTU 和 GPRS 组成。DTU 负责将RS485 信号转换成 IP 信号再由 GPRS 传输到因特网上,以便和远程软件监控中心进行通信。
2. 软件系统
软件系统由三部分组成: 网页前端、服务器后台、数据库系统。
前端负责的功能包括: 对数据进行实时显示,进行阈值设定、报警提醒、统计查询、错误日志等。
服务器后台主要负责对数据进行解析处理。数据库系统主要负责存储数据和响应服务器请求对数据进行相应的操作。该系统在 ASP. NET 平台下实现了 MVC 三层架构应用程序模块化,使得整个软件开发具有系统性,实现了软件开发的分工和应用程序的模块化,提高了代码复用率,降低了维护成本[3]。
1. 硬件系统整体设计
整个硬件系统由信息采集、信息处理、控制输出、数据存储、信息显示、信息导出、远程输出等单元组成。
信息采集单元: 负责采集各种类传感器数据,其中需要采集起重量、运行行程、风速起升高度等数据。
信息处理单元: 将采集到的数据进行逻辑处理、转发存储,同时根据起重机工况的要求,执行逻辑控制。
控制输出单元: 负责输出控制信号和报警信息,通常由控制板和驱动器组成。
数据存储单元: 数据服务端对传来的信息包进行相应处理存储到数据库,用于后期查询和浏览器数据显示。
信息显示单元: 通过 LCD 触摸屏显示起重机的运行参数,除了图文显示还包括声光提醒,例如当超载时驾驶室会进行红灯闪烁提示,提前录好的报警语音会循环播报直至警报解除。单元由工控机上的监视器,司机室内的指示灯、蜂鸣器,监视器等组成。
信息导出接口单元: 向上级或下级单元输出数据。由通讯模块,工控机的主机接口等组成。
远程输出单元: 远程输出单元包括 GPRS 网络和 TCP/IP 协议。
远程监控平台: 远程监控平台即客户端的浏览器。
 
2. GPRS 网络通信模块设计
GPRS( 通用分组无线服务) 是一种以全球手机系统( GSM) 为基础的数据传输技术通信模块在本系统中的作用至关重要,它负责软硬件数据交互,通信方面具体过程为控制芯片根据请求将采集到的电压电流信号转换成 RS485 信号,DTU 将接收到的RS485 信号转换成 IP 信号然后通过 GPRS 发送到广域网中,以便远程监控系统获取相应的采集信号。
为了保证数据可靠性,系统要求客户端和服务端保持长连接状态,通过“心跳包”保持长连接状态,即客户端每隔一段时间向服务端发送一个包,告诉服务端自己仍在线上,包的内容不限,可以是空包。
 


依上图所示,客户端连接上服务端以后,服务端创建一个在线用户字典,客户端每隔一段时间,时间间隔由服务器设定,向服务器发送一个心跳包,服务器接收到包以后,字典数据的值都会更新为 0; 一旦服务端超过规定时间没有接收到客户端发来的包,字典数据将会递增加一,当字典数据的值累计大于等于三,则视为掉线。
current Count + + ;if ( current Count = = heartbeat Count) {txt Message. Append( " 开始发送心跳包" ) ;Message Entity entity = new Message Entity( ) ;entity. Message Type = Message Picks. Heartbeat;entity. Nick Name = login Name;Write To Stream( entity) ;current Count = 0; }如果服务端收到客户端心跳包,则自动重置计数器if ( user On Line Counter. Contains Key( user) )user On Line Counter[user] = 0; elseuser On Line Counter. Add( user,0) ;
3. 软件系统设计
远程通信网络系统的实现主要是由套接字、多线程以及 ASP. NET 技术完成的,其中 ASP. NET 技术是系统得以优化的最关键部分[4]。
( 1) 用户权限设计
本软件系统具有权限分配功能,分为超级用户和普通用户[5]。普通用户具有查看数据监控页面、视频监控页面、查看数据统计、设置阈值、管理操作人员、控制起重机启停等功能,超级用户即为整个系统权限最高的管理员,除了具备普通用户的基本功能之外,还具有分配普通用户可以查看哪些内容的权力,也规定哪些菜单可以被显示,可以查看登录日志。
 


2) 三层结构模型设计
结合 B /S 结构将整个按逻辑层次分为: 表示层、业务逻辑层和数据服务层[6]。表示层: 主要服务于用户接口展示,主要包含数据监控、视频监控、报警提示、数据统计查看、数据查询、报表信息、配置信息等。
表示层服务于用户,需要提供良好的用户体验,良好的人机交互界面除了包含用户所需,同时操作不宜繁琐,能够针对使用者发出的请求作出及时响应。
本系统用户页面采用 Bootstrap 前端开发常用的样式表、Jquery 编写页面动作,采用AJAX 页面异步刷新技术能够让页面局部进行异步刷新,即只在页面需要更新数据的地方进行异步刷新,在此过程中页面不会变化,避免信息还未响应时用户空等页面的情况发生。
业务逻辑层: 在 MVC 框架中为控制层,作用是处理用户请求,对请求数据和通信包进行处理,将处理的数据存储到数据库或取出数据库相应的数据发送给用户接口。
 
数据层: 本系统数据服务层即 My SQL Server 数据服务器,数据库存储底层硬件发送来的数据,数据库包含实时数据库、历史数据库和配置信息,通过业务逻辑层可以对数据库进行增删改查等操作。
( 3) Socket 套接字Socket 简称“套接字”用于描述 IP 地址和端口号[7],套接字能让用户快速开发客户机 /服务器网络应用程序,当向一个套接字写入时,所送数据会自动出现在套接字的另一端,另一端可能是相同机器上运行的另一个进程,也可能是世界上任何地方互连的一台计算机。Socket 是软件之间通信常用技术,通过 IP 地址和端口号能够精准找到通信应用窗口。
根据数据可靠性的不同,Socket 通信协议包括TCP 和 UDP 两种类型,其中 TCP 是面向连接的一种通信协议,它能够保证传输数据的可靠性,UDP 是面向非连接的一种通信协议,UDP 的主要要求是追求传输数据的高效性,无法保证数据的可靠性。
所以系统采用 TCP 通信协议。. NET 框 架 下 在 SystemNET Socket 命名空间内可以实现套接字的托管,在使用套接字与远程设备通信之前,必须使用协议和网络地址信息初始化套接字【8]。bind( ) 函数用于绑定 IP 地址和端口号,开启 listen( ) 函数用于监听bind( ) ,为了保证多个客户端能够同时和服务器进行通信,通信协议中还加入多线程技术,部分代码如下:
/ / 创建监听 SocketSocket Watch = new Socket ( Address Family. In-ter Network,Socket Type. Stream,Protocol Type. Tcp) ;
/ / 绑定指定主机地址。IPAddress address = IPAddress. Parse ( " 127. 0.0. 1" ) ;
/ / 监听套接字绑定指定端口IPEnd Point end Point = new IPEnd Point( address,int. Parse( " 1000" ) ) ;Socket Watch. Bind( end Poin) ;
/ / 设置连接队列的最大长度Socket Watch. Listen( 20) ;
/ / 启动监听线程开始监听客户端请求thread Watch = new Thread( Watch) ;Watch( ) 函数为数据处理函数。
通过网络测试
助手对系统通信代码进行测试,数据传输格式为以“#”开头,以“$ ”为结尾。测试方法为发送一段数据,数据格式为: #110,1,1,35 #110,2,2,11. 22,#110,3,1,50 $ ; 如果服务端接收到的数据包与发送的数据包一致,则 Socket 代码没有问题。由图3. 4 可以看出接收的数据和发送的一致,故本系统通信部分正确无误。
 
1. 硬件系统调试
( 1) 风速采集调试:风速传感器安装在起重机的顶部,通过传感器顶部三个“风帽”进行对风的捕捉,该型风速传感器具有抗腐蚀、体积小、便于安装、灵敏度高、寿命长等优点。
输出计算公式为: 风速 = 单位时间内的脉冲数 x 系数。其中单位时间为 1 秒,该起重机型号尾缀为12CM,所以系数为 0. 1。当有风时,对应风速传感器的从控板会自动计算出风速值,并将其显示在 LCD 触摸屏上。现场对风速进行测试,LCD 屏显示数值为 10. 5m/s,与实际情况一致。
( 2) 起重量测试:本系统起重量传感器采用“旁压式称重传感器”,该型传感器内置防干扰模块,具有良好的抗干扰能力,且安装方便,只需将该传感器夹住主钩的一根钢索上,由于主钩是由动滑轮带动且有 6 根钢索,所以将测出的数据乘 6 即可得出所钩物品的重量。
主控编码会滤除主钩本身的重量从而避免误差,设置的预警值为 90% ,当重量达到预警值时,蜂鸣器会连续发出短声报警,当起重量达到额定起重量的100% 时,蜂鸣器会发出长鸣报警,并在 2 秒后自动断电。现场加上 2t 标准砝码测试,LCD 触摸屏显示为 1. 98t 符合标准误差范围。
( 3) 高度测试:起升机构主要由卷筒转动带动钢索,通过定滑轮导向轮改变钢索运动方向,从而让吊钩变成垂直运动。高度限位器为当吊钩起升高度最大时检测卷筒的钢索圈数,当处于最小起升高度时检测圈数,根据圈数调整限位器的凸轮机构,从而达到高度限位的要求。
当工作时卷筒带动钢索运动从而带动导向轮运动,由于卷筒和高度传感器相连,再根据导向轮的直径计算它们之间的传动比,从而计算出起升高度。现场对空载时主钩起升进行测试,当快要接近顶部时,蜂鸣器发出报警并及时切断了电源。


4) 在线监控 LCD 摸屏:LCD 触摸屏安装在司机室,当起重机操作员操作时能够直观地看到起重机的各种运行参数。
2. 软件系统调试
( 1) 主监控数据测试:主监控页面主要是各种数据监控,包括风速、温湿度、起重量、
高度等数据,仪表盘颜色绿色、黄色、红色分别对应正常、预警、报警,监控人员可以根据颜色可以直观看出起重机的运行状态。通过测试时与 LCD 触摸屏数据进行比较,两者数值一致。
    
  (2) 数据统计
数据统计页面通过 AJAX 异步刷新代码从数据库取出数据,用户在页面上选好日期时点击查询按钮,Echarts 图表会自动生成线性图,用户能够直观看出哪个时刻数据发生异常通常数据库会保存最近一个月所有的数据,做到有据可查。现场调出之前测试的数据与统计页面进行比较,数据一致。
( 3) 地理信息采集
本系统通过基于 GSM 蜂窝网络 TDOA ( TimeDifferent of Arrival) 定位技术来对起重机行定位,TOA 原理是基于三基站到达的时间差通过数学算法求值从而得到目标的位置,采用 TDOA 技术能够抵消时间误差和多径效应带来的误差,从而提高定位的精度。
经过测试地理信息显示正确.
  3. 现场应用
  本系统起重机以咸宁某厂起重机为测试机,在充分保证数据实时性快,系统可靠性高,稳定性强等前提下,通过多次测试和不断的完善,完成了项目预定的功能需求。
  
结论:工业监控系统的数据高实时性和数据准确性是保证操作安全的重要指标之一,本系统软硬件采用了成熟的技术,能够实时监测到起重机在运行过程中的各类参数,同时具有预警和报警的功能,生成的故障日志也便于使用者进行查询和改进,后期可将该系统拓展到手机端。随着社会的不断发展和人们安全意识不断提升,智能监控在工业设备中的发展将会成为一种趋势