基于Opcua协议边端数据采集与监控平台的设计与实现毕业论文
2021-11-01 22:22:23
摘 要
随着大数据的到来,利用信息化技术促进产业变革(工业4.0)的时代也已到来,很多工厂需要构造物联网络,实现万物互联,数据也需要从本地端传到云端,因此大量工厂紧跟时代步伐开始转型。而传统的modbus总线协议已不适应当今的大量数据上报,而新兴的OPC UA体系刚好解决了modbus的一些弊端,以一种全新姿态适用工厂体系。因此国内外知名云平台厂商也相继将OPC的设计与开发提上日程来满足各工厂对于工厂数据的要求。
OPC(OLE for Process Control)是用于过程控制的OLE,OPC UA(Unified Architecture)是OPC基金会指定的统一协定,其都是为了给工业控制系统应用程序之间通信建立的一个接口标准,在工业控制设备与控制软件之间建立统一的数据存取规范。通俗来讲,工厂工业控制设备会有很多,而每一个工业控制设备的型号和版本可能也不完全一致,所以要为每一个工业控制设备制作驱动几乎是不可能实现的任务,因此OPC在工业控制设备中就起到了统一数据传输的作用。
本项目就是基于OPC UA实现的数据采集与监控,并采用当今主流云平台厂商架构体系,利用消息队列实现服务的解耦与异步执行,利用websocket实现前后端的实时消息响应。本项目采用微服务理念,将前后端体系拆分成多模块,使得模块与模块之间可以分布式部署,之间互不影响,模块内部实现高内聚,模块与模块之间只暴露接口与消息格式。接口也向外提供可用于数据的二次开发。
关键词: OPC;工业4.0;消息队列;websocket;微服务
Abstract
With the advent of the era of big data, the era of using information technology to promote industrial transformation (Industry 4.0) has also arrived. Many factories need to construct an IoT network to realize the interconnection of all things. Data also needs to be transferred from the local end to the cloud, so a large number of factories are beginning to transform at the pace of the times. The traditional modbus protocol is no longer suitable for the reporting of large amounts of data today, and the emerging OPC UA system has just solved some of the shortcomings of modbus, and a new attitude has been applied to the factory system. Therefore, well-known cloud platform manufacturers at home and abroad have also successively put the design and development of OPC on the agenda to meet the factory's requirements for factory data.
OPC is OLE for process control, and OPC UA is a unified agreement specified by the OPC Foundation, which is an interface standard established for communication between industrial control system applications and establishing unified data access specification between industrial controlling equipment and controlling software. Generally speaking, there will be many industrial controlling devices in the factory, and the model and version of each industrial controlling device may not be completely consistent, so it is almost impossible to make a driver for each industrial controlling device. Therefore, OPC has played the role of unified data transmission in industrial controlling equipment.
This project is based on data collection and monitoring implemented by OPC UA, and adopts the architecture system of today's mainstream cloud platform manufacturers. It uses message queues to achieve decoupling and asynchronous execution of services, and uses websocket to achieve real-time message response of front and back ends. This project also uses the concept of microservices to split the front-end and back-end systems into multiple modules, so that modules can be deployed in a distributed manner without affecting each other. High cohesion is realized inside the module, and only the interface and message format are exposed between the modules. The interface also provides the secondary development for data.
Key Words: OPC; Industry 4.0; message queues; websocket; microservices
目录
第一章 绪论 2
1.1项目背景与意义 2
1.2项目研究现状 2
1.3项目实现目标及内容 3
1.4论文结构 3
第二章 项目架构 5
2.1项目架构图 5
2.2开发环境介绍 5
2.3 运行及测试成果 6
第三章 项目的后端设计与实现 8
3.1 OPC模块 8
3.1.1 OPC介绍 8
3.1.2 OPC服务端模拟模块 9
3.1.3 OPC驱动模块 12
3.1.4输入输出数据格式 13
3.2 MQ模块 14
3.2.1 MQ介绍以及目的 14
3.2.2 MQ——kafka 15
3.2.3 pub/sub模式 16
3.2.4 接口实现与消息格式 17
3.3 websocket模块 17
3.3.1 websocket介绍 17
3.3.2 websocket目的 18
3.3.3 技术实现与消息格式 19
3.4 backend模块 20
3.4.1 数据库设计 20
3.4.2 技术实现与数据格式 21
第四章 项目的前端设计与实现 24
4.1frontend模块 24
4.1.1 界面布局 24
4.1.2 cookie技术 24
4.1.3 后端调用 26
4.2 websocket模块 26
4.2.1 技术实现 26
4.2.2 数据格式 27
第五章 结束语 28
5.1论文工作总结 28
5.2问题与展望 28
参考文献 30
致谢 31
- 绪论
绪论介绍了项目的背景以及意义,项目研究的现状,项目的内容,以及论文的结构。
1.1项目背景与意义
OPC UA(Unified Architecture,统一架构)是下一代的OPC 标准,是一种独立于平台的面向服务的体系结构。[1]OPC UA按照某种协议的方式,构建起连接设备之间实时数据与历史数据交互的桥梁,同时向设备层面提供安全又可靠的环境与技术支持。
相比于传统的Modbus总线协议,OPC UA不需要知道具体数据存储的地址,每一个数据都对应一个ID字段,而且OPC UA支持自定义数据结构,协议本身维护方法与事件属性,相比串口的Modbus,OPC UA可以支持大规模的数据点,且读写十分方便,因此,很多有大规模设备的厂商会向OPC UA协议转型,所以该系统就是基于这样的一个工业协议的系统。 当前云平台与大数据也也成为了主流词汇。很多云平台厂商为了契合平台理念,将云平台系统采用满足分布式理念的微服务架构,实现前后端分离,使得每一个模块与模块之间互不影响,互不干扰并能协同合作。在大数据方面,为了实现数据可以更好更快的相互传输,一种流行的推送/订阅模式也随之而来。因此,该项目按照微服务架构,并采用推送/订阅模式,使用OPC UA协议将设备端的数据实时并且快速的提供给前端用户,便于用户监控与实现设备数据的二次开发。