Historian实时数据库的RESTFULAPI设计与开发

来源 :装备维修技术 | 被引量 : 0次 | 上传用户:wolovenorton
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在过去,工业企业为了实时获取现场设备的数据信息,每一个工业应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给工业企业用户和软件开发商带来了巨大的工作负担。编写一种融于工业互联网体系的web化接口工程,提供实时数据的接口查询服务应运而生。
  关键词:实时数据采集;Historian;RestfulAPI;JAVA;IFIX;Wonderware
  1 设计背景
  2002年厦门烟草工业有限公司(以下简称厦烟公司)异地技术改造。在新厂房建设投入新设备的同时,源于对设备监控的需求,分别引入了英国施耐德的工控软件Wonderware、美国GE(通用)公司的工控软件Proficy IFix,落地应用于厦烟公司三大车间:制丝、卷包、动力,搭建起设备自动化监视与辅助控制的集中控制系统(以下简称集控系统)。
  集控系统在每个车间部署地都提供了对应现场设备相关传感器的实时数据库Historian,两家工业软件开发商都为数据分析与挖掘提供了标准规范的接口方式ODBC与OPC开放标准,基于自身的软件体系做延伸数据分析决策产品。
  随着工业互联网的蓬勃发展,智能工厂,移动互联的理念深入人心,传统C/S架构的工控软件已经无法适应互联网B/S架构的快速轻便的通讯方式,只适合在生产现场稳定运行,提供数据源的稳定展示。
  因此,需要有简易的模式去按需获取工控软件在实时数据库的数据源,得到的数据可以在网页信息系统做数据分析图形化,决策推演,以及移动端看到工厂现场生产实时生产状态。
  2 设计描述
  从工业自动化软件设计角度来说,系统分析与设计是一项对系统度以及实用性要求特别高的工作[1]。对于卷烟工业而言,厦烟公司因职能分工的要求,针对不同生产车间部署不同的集控系统,目前也同样缺乏系统整体设计,但针对业务需求又仅仅只是需要几个核心传感器的实时值。因此,从实用角度出发,将不同厂家的集控系统的传感器实时数据,采集给应用层做接口设计。
  2.1编程语言及框架
  采用JAVA语言搭建轻量级无状态采集工程,提供稳定且实时的传感器的RESTFULAPI接口。
  2.1.1关于REST
  REST是以资源为中心的,在REST中,认为Web是由一系列的抽象资源(Abstract Resource)组成,这些抽象资源具有不同的具体表现形式(Representational State),通过REST架构,Web应用程序可以使用一致的接口(URL)暴露资源给外部世界,并对资源提供语义一致的操作服务[2]。因此围绕着REST架构规范,采用RESTFULAPI的实现方式去具体实现这次的接口。
  本文采用Swagger-UI的方式,将现场传感器的以接口的方式呈现在开发者面前,方便前端进行调用与测试。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
  2.1.2关于Historian实时库
  利用iFix提供的API接口来读取iFix的实时数据库,是较为简便的方法,通过调用相关API函数,可以直接读写iFIx的实时数据库[3]。
  但是不同厂家都有自身连接实时数据的连接方式,他们都是统一采用SQLSERVER数据库OLE DB Provider驱动程序去连接Historian。因此本文采取直接通过连接SQLSERVER数据库,通过查询语句的二次嵌套命中所需要实时数据库的数据表,并进行视图层封装给上层应用语言作为查询的实体。详见如下SQL语句:
  SQL语句中,(1)为需要转化为实体属性tagname标签键名,timestamp时间戳,value标签键值;(2)为使用OPENQUERY对链接服务器指定传递查询,需要传入Historian实时库名和嵌套子查询;(3)为子查询需要查询的Historian实时库中的表ihrawdata里的性tagname标签键名,timestamp时间戳,value标签键值;(4)为子查询中的判定条件1,根据业务部门提供的传感器键值名QYFIX.EP1_T08_PT0807_PV.F_CV;(5)为子查询中的判定条件2,采集频率限定值intervalmilliseconds;(6)为子查询中的判定条件3,根据时间戳timestamp倒序排序,将最新值排在第一条;(7)为嵌套查询的命名。
  2.1.3关于JAVA
  在众多编程语言中,JAVA语言属于语义严谨并且稳定可靠,本文采用JAVA的Spring框架体系,SpringBoot+Mybatis+Redis多数据源框架连接不同车间的Historian实时库,对外暴露可调用API的服务,具备高并发体系架构,可以很好的胜任此次的工作。框架层级设计详见图1:
  2.2应用请求与采集工工程实现
  根据业务部门提供集控系统的标签键做采集。按需采集是此次采集的核心思想,与以往OPC采集方式不同,采用被动式等待调用的模式,由应用发起调用请求。为了满足实时性要求,应用针对不同传感器需发起异步调用及定时请求,易造成接口崩溃或者数据库锁。因此在框架中引入Redis缓存机制,设定采集值的生命周期,一旦到达缓存设定周期,才去开启连接查询数据库,这个设定周期可以根据应用展现传感器时效性设置。应用请求路线详见图2:
  2.3应用部署与网络安全
  采集工程作为后台服务,遵循厦烟微服务部署规则,接入应用网关。
  应用调用方需要生成至少1024位的RSA密钥对,把【RSA公钥】上传服务网关获得应用令牌。应用调用方遵循JWT规范使用【RSA私鑰】与网关返回的【应用令牌】生成【JWT访问令牌】,请求在网关注册的后台接口时附上JWT安全验证头,服务网关负责验证令牌是否合法或应用调用方是否有权限调用请求的后台接口,如果有则反向代理至后台服务,具体鉴权验证详见图3:
  3 输出成果
  落地应用
  为了检验采集工程的真实落地场景,根据车间需求定制开发了压力容器监控web页。
  采用HTML+JAVASCRIPT+CSS基于VUE前端框架进行网页设计与开发,利用Echarts图表组件进行压力容器值的实时展示;构筑定时器定时按10秒一次的规则进行轮询后台实时数据,动态展示压力容器的实时值。
  4 结语
  进入十四五规划元年信息化建设的今天,随着企业信息化队伍不断的壮大,员工自主开发实力得到提升,掌握并具备相关计算机知识的员工越来越多,在解决信息系统痛点的棘手问题上得以快速解决并转化为企业重要知识财富。
  参考文献:
  [1] 张鹏. 试析一种面向对象的工业自动化监控系统设计技术 [J].中国石油和化工标准与质量, 2012, 032(005): 113-113.
  [2] 袁赟. Java与Restful Web Service [J].电脑知识与技术, 2007, 004(021): 780-782.
  [3] 倪磷罡. 基于iFix的历史记录程序的开发与优化 [J].电子技术与软件工程, 2015, 000(018): 178-179.
  (厦门烟草工业有限责任公司,福建 厦门 361022)
其他文献
摘 要:当前,我国城市内机动车数量达到3亿辆以上,交通流量持续增长,对市政道桥质量的要求不断增加。市政道桥工程建设过程中,质量问题始终存在,影响民众出行舒适性,威胁人们生命安全,因此,相关企业应积极研究市政道桥工程的施工质量控制措施,以保证施工质量。  关键词:市政道路;桥梁工程;施工质量;控制措施  1市政道路桥梁工程方面质量问题探究  1.1工程材料质量方面的问题  在建设之中,桥梁结构方面的
期刊
摘 要:针对我国许多矿井使用的液压锚杆钻机自动化程度低、对人工经验依赖性大、可靠性差,施工质量很难保证的问题,提出了一种新的基于多传感器融合的矿用锚杆钻机自动控制系统。在该控制系统中将传感器融合与位置测量技术、数据处理与姿态感知技术、人工智能控制与工法规划技术等关键技术结合应用,实现锚杆间距、角度、锚杆深度等各工序精准定位,减少人工操作偏差,操作简单,极大提升了锚杆钻机在工作时的稳定性和可靠性。 
期刊
摘 要:本文建立了通气管路和管内空气之间热传导的数学模型,全面分析了通气系统对惰化系统除水效率的影响,并以A320飞机典型飞行剖面为例,计算了惰化系统能带走的水蒸汽总量。  关键词:惰化系统;蒸汽压;导热系数;马赫数;比热容  1 通气系统介绍  1.1 通气管路所处环境  一般来说,通气管路一般位于燃油箱内部顶端,考虑到适航条款要求燃油箱必须留出总容积的5%作为膨胀空间。因此通气管路绝大多数时间
期刊
摘 要:在现阶段人们的日常生活已经离不开燃气的供应,燃气的供应给我们国家人民的日常生活带来了极大便利,但是与此同时也对我们国家软件工程发展提出了一定的要求,如何更好地满足我们国家人民的燃气需求,如何更好地推动我们国家燃气工程的发展,是现如今我们国家发展面临的一个十分重要的问题。针对这一问题,我国燃气工程的设计者以及建设者提出了不少解决的方案,并且也通过实践使我国的燃气工程逐步走上良性发展的道路。 
期刊
摘 要:扫路机作为清扫保洁设备,需要连续在道路上进行清扫保洁作业,为了隔音和降尘,驾驶室为封闭空间。为了提高驾驶员的舒适性,本文针对扫路机驾驶室空调系统的制冷性能進行了匹配计算。  关键词:扫路机;空调系统  引言:  扫路机为一种自制底盘的小型清扫设备,主要应用于非机动车道、人行道、狭小巷道、广场等场所,尺寸小巧,转向灵活,多为铰接式底盘。为了便于观察,扩大视野,提高驾驶安全性,铰接式扫路机的驾
期刊
摘 要:本论文主要是围绕着在地下车库进行电气施工的设计原则和设计方法进行有关的分析,并且考虑到人们的需求、适宜度、安全性和地下车库的美观程度等这些方面,并将这些作为电气施工方案设计的主要理念,从而为地下车库的设计提供参考,致力于建设一个舒适,美观,安全性都很高的地下车库。  关键词:地下车库;电气施工;方案研究  1地下车库电气施工的重要性  自改革开放之后,我国的经济得到了迅速的发展,人们的生活
期刊
摘 要:消防监督管理工作是消防工作中不可或缺的重要组成部分,关系到我国消防事业的发展。本文重点分析了我国当前消防监督管理工作中存在的问题以及相应的应对措施。  关键词:消防;监督管理;应对措施  随着社会经济的发展,高层建筑数量越来越多,建筑规模越来越大,内部结构越来越复杂,同时装修材料日益多样化,电子机械设备的使用越来越频繁,这在满足人们美好生活的同时,也带来了诸多的消防安全隐患。因此需要采取积
期刊
摘 要:本文提出一种充电转换装置及使用此装置的机械式立体车库智能充电系统。详细介绍了一种充电转换装置的系统组成及其工作原理,解决了在无载车板的基于搬运机器人智能机械式立体车库中存车、充电一体化的难题。最后提出了基于此装置的机械式立体车库智能充电系统组成及其工作流程。本文所提出的机械式立体车库智能充电解决方案,无需载车板等中间载体,采用模块化设计,结构紧凑,适配性好,具有广阔的市场应用前景,助力新能
期刊
摘 要:自动控制原理作为机械类专业学生的专业核心课,课程中数学理论知识点多,学习枯燥,学生兴趣点低,课程思政是依托专业课而进行的思想政治教育实践活动,它将思想政治教育融于专业课程,实现课堂思想政治与专业知识的融合。通过探讨该课程与思政教育的必要性,以二阶系统的时间响应分析一节的课程思政为例,给出课程思政的做法,分析了这种做法对于提高课堂教学质量的有力推动原因与实现教育学生改良作风与学风的效果。  
期刊
摘 要:车门锁是车身的主要零部件之一。门锁设计在工程机械司机室开发过程中是一个相对独立但又非常复杂的工作,门锁设计水平的高低直接影响整车的品质。本文重点介绍了工程机械司机室门锁设计方法,主要包括:布置方式、标准分析、检验方法等。通过流程和方法的介绍,明确车门门锁设计流程,有助于提升产品的驾乘体验和市场竞争力。  关键词:门锁设计;门锁布置;车门设计  前言:  工程机械产品设计是一项庞大而复杂的工
期刊