基于web的软PLC编辑器开发设计毕业论文
2020-04-09 15:43:33
摘 要
随着通信技术和世界互联网的高速发展,web技术得到了广泛的应用,各类在线APP和web应用为用户提供各类服务,不断改变着用户习惯。
移动互联网的到来打破了传统Wintel联盟的垄断,用户从桌面端渐渐转移到了移动端,新兴的移动端应用也广泛采取“跨平台web应用开发”模式。越来越多的本地应用为了节省开发成本和达到跨平台的效果采用web应用方式,即将本地应用转移到云端,用户使用浏览器登录应用即可,无需在本地安装相关应用和依赖,这为用户带来了极大的便利。
在互联网 和智能制造的大环境下,机器人及相关技术必将得到国家和社会的推广和大力发展。PLC是机器人的灵魂,PLC的研发是一个系统的工程,软件开发环境是PLC的重要组成部分。IEC 61131-3是国际电工委员会(IEC)参考并借鉴了当下各个厂商不同版本的PLC编程语言而定制的国际标准,该标准为软PLC提供了规范化标准化的编程方法。
本课题的任务是构建一个用户友好的基于web的软PLC编辑器。论文分析了国内外PLC软件开发环境发展,并按照软件工程的思想和规范对基于IEC 61131-3标准所支持的五种编程语言进行分析和总结。该编辑器支持文本类语言IL、ST和C 语言的编写,支持语法高亮与代码自动补全;支持图形化语言FBD、LD和SFC的编辑和保存;编辑器嵌入GIT版本控制。每个用户都有自己独立的工作空间并实现云端存储文件、本地下载、上传文件功能。
本文先介绍课题的主要技术背景,包括各类前后台开发框架的介绍和选择。然后对各类选择的关键技术展开充分的分析与研究,为后期开发奠定理论基础。按照软件工程的开发模式完成需求分析、概要设计、详细设计、编码与软件测试等流程,构建具有相当鲁棒性的应用,从整体上提高系统的稳定性和性能。
关键词:IEC 61131-3;web应用;编辑器;软件工程
Abstract
With the rapid development of communication technology and the world Internet, web technology has been widely used. All kinds of online APPs and web applications provide various services for users, constantly changing user’s habits.
The advent of the mobile Internet has broken the monopoly of the traditional Wintel ‘s alliance. The users have gradually transferred from the desktop to the mobile terminal. The new mobile terminal applications also widely adopt the "cross platform web application and development" model. More and more local applications in order to save the cost of development and achieve the effect of cross platform use web application mode, the local application is transferred to the cloud, users can use the browser to land applications, without local installation of related applications and dependence, which has brought great convenience to the user.
In Internet plus and intelligent manufacturing environment, robot and related technology will be vigorously promoted and the development of the country and society. PLC is the soul of robots. The development of PLC is a systematic project, and the software development environment is an important part of PLC. IEC 61131-3 is the international standard of PLC programming language issued by the International Electrotechnical Commission (IEC). This standard provides a standardized and standardized programming method for soft PLC.
The task of this project is to build a user friendly web based soft PLC editor. This paper analyzes the development of PLC software development environment at home and abroad, and analyzes and summarizes the five programming languages supported by base and IEC 61131-3 standards in accordance with the ideas and standards of software engineering. The editor supports the writing of text class languages IL, ST, and C languages, supporting syntax highlighting and automatic code completion; supporting graphical language FBD, LD, and SFC editing and saving; editors embed GIT version control. Each user has his own independent working space to realize cloud storage files, local downloading and uploading files.
This article first introduces the main technical background of the project, including the introduction and selection of various front and back stage development frameworks. Then, the key technologies of all kinds of selection are fully analyzed and studied, laying a theoretical foundation for later development. In accordance with the development mode of software engineering, the process of requirement analysis, outline design, detailed design, coding and software testing is completed, and a fairly robust application is constructed to improve the stability and performance of the system as a whole.
KEY WORDS:IEC 61131-3; web application; editor; software engineer
目 录
第1章 绪论 1
1.1 PLC的发展趋势 1
1.2 PLC开发环境的国内外发展情况 1
1.3互联网技术发展趋势 2
1.4课题研究的目的及意义 3
1.5论文的组织结构 3
第2章 相关技术 5
2.1前端开发 5
2.1.1 HTTP协议 5
2.1.2 HTML5 CSS3 JavaScript前端开发 7
2.1.3 Jquery框架 8
2.1.4 ACE框架 9
2.1.5 mxGraph框架 10
2.1.6 DOJO框架 11
2.1.7 zTree组件 13
2.1.8 AJAX异步传输 14
2.2 Node.js开发平台 15
2.2.1 Node.js系统架构 15
2.2.2 Node.js工作原理 16
2.2.3 Node.js模块管理 17
2.3 Node.js开发框架Express 18
2.4 MongoDB数据库 19
2.4.1 NoSQL介绍 19
2.4.2 MongoDB介绍 19
2.5本章小结 20
3 系统需求分析 21
3.1需求分析 21
3.2可行性分析 21
3.3 本章小结 22
4 系统概要设计 23
4.1系统架构设计 23
4.2 用户界面设计 24
4.3服务端功能模块设计 25
4.4数据库设计 26
4.5本章小结 28
5系统详细设计与实现 29
5.1用户界面设计与实现 29
5.1.1登录界面实现 29
5.1.2编辑器UI框架实现 29
5.2服务器功能模块设计与实现 38
5.3本章小结 51
6系统测试 52
6.1功能测试 52
6.2 本章小结 54
7总结与展望 55
参考文献 56
致谢 58
第1章 绪论
1.1 PLC的发展趋势
可编程逻辑控制器(PLC)是一种基于微处理器的工业控制设备。是一种基于微处理器的工业控制装置,由于其稳定可靠的特性,其目前主要用于工业控制、电力等自动化控制领域。
近年来,随着IEC 61131-3标准的制定和计算机软硬件技术的发展,软PLC控制技术得到发展。
IEC 61131-3标准是由国际电工委员会(IEC)开发的工业控制编程语言的标准。本标准是由IEC组织在全球主要PLC制造商的编程语言进行合理研究和学习的基础上形成的一套新的国际编程语言标准。IEC 61131-3标准规定的5种编程语言为制造商,程序员和终端客户带来了极大的便利;IEC61131-3标准在工业控制领域具有重要影响,并已被越来越多的制造商和客户所接受,并已成为自动化和其他组态软件编程系统的默认标准。IEC 61131-3标准的市场仍在扩大,IEC 61131-3标准已经成为工业控制领域的一般趋势。
IEC 61131-3标准规定了两大类编程语言:文本化编程语言和图形化编程语言。文本化语言包括指令表(Instruction List, IL)语言和结构化文本(Structured Text, ST)语言,指令表与编程语言中的汇编语言相似,结构化文本与高级语言中的 Pascal语言相似,很适合有过计算机编程经验的程序员使用;图形化语言包括梯形图(Ladder Diagram, LD)语言和功能块图(Function Block Diagram, FBD)和顺序功能图(Sequential Function Chart, SFC),有过电路设计经验的工程师对此类语言不会陌生。
1.2 PLC开发环境的国内外发展情况
目前广泛使用的软PLC软件包括KW的Multiprog,3S的CoDeSys和Bechhoff的TwinCAT。除了成熟的商业软件外,还有一些开源的软PLC编程系统软件,其中比较成熟的是Beremiz。Beremiz是一款开源软PLC编程系统软件,支持IEC61131-3和PLCopen标准。
目前国内许多公司已经推出了具有自主知识产权的软PLC系统软件,如北京金控科技的KingACT开发套件,浙江工业大学的SunyIEC等。其中SunyIEC拥有国内自主知识产权,支持IEC61131-3标准的五种编程语言,支持用户自定义功能块等基本功能。但总的来说,国产软PLC产品功能单一,通用性差,开放性差,难以有效整合机器人运动控制。
1.3互联网技术发展趋势
近年来,尤其是随着3G移动通信的到来,移动互联网得到了空前的发展,各类互联网公司和独角兽异军突起,国内逐渐地形成了以百度、阿里和腾讯为首的互联网巨头(BAT),国外的新兴互联网公司谷歌也打败了老牌IT企业如IBM、微软和Intel,成为了新的巨头。
移动互联网打破了传统的Wintel(Windows Intel)的垄断,形成了ARM Android的阵营,越来越多的用户从PC端转向了移动端。传统的Android应用程序Native开发language是Java,但使用Java语言开发本地应用程序有很多缺点。它法做到“跨平台”。程序员只能在一个平台上开发,不能同时并行化兼容其他平台。这样,如果客户要求产品覆盖多个平台,则多个程序员负责自己的APP应用程序开发。相对于“中间件产品开发”将是N倍的工作量。这将直接导致项目工作总量的增加和项目交付周期的延长。最终,项目报价的成本将大幅增加。对于客户来说预算大大增加,对于软件公司来说,需要储备大量不同系统的本地开发人员势必会大大增加公司的成本。对于桌面应用程序也是如此,对于不同操作系统平台需要使用不同操作系统的API开发,代价巨大。于是,“跨平台”开发渐渐流行起来。
Chrome OS是基于一款Linux的开源操作系统。Chrome OS中的大部分应用程序将在Web中快速,简洁地完成,安全性是其主要特性之一。Chrome操作系统的用户不需要担心Windows下常见的病毒,恶意软件和其他许多烦人的事情。这类系统的核心是将应用放在web上,逐步通过网络应用取代桌面应用。但问题是这类应用虽然对本地硬件资源要求不是很高但对网络带宽较为苛刻,因为这类应用需要通过浏览器将其页面和插件加载到浏览器中,如果网络带宽不够或网络延迟严重将会影响用户体验。
近年来随着通信技术的发展,网络带宽越来越高,上网速度越来越快,世界各国也在紧锣密鼓地探索5G技术。云计算、高性能计算机和5G高速通信的出现让“网络取代桌面”渐渐变为现实。越来越多的“计算密集型”应用从本地转向云端(例如微信小程序、Android跨平台web应用),本地终端只负责采集数据和用户交互,而计算过程和硬件损耗主要在云端服务器上。这些都是分布式的,即使某些节点被破坏也能保证用户数据不被丢失,这也保证了安全,用户不需要安装大量的应用在本地,只需要一个浏览器登录远程应用即可完成工作和交互。对于应用提供商,跨平台web应用缩短了软件开发周期,也大大节省了软件开发和维护费用。
1.4课题研究的目的及意义
对可编程逻辑器件编程需要与其对应的软硬件支持,其中对于软件方面的支持,IDE必不可少,采用普通的文本编辑器做开发,由于其不具备语法高亮错误检查等功能,开发效率较低。对于IEC 61131-3标准的语言,诸多开发环境都为国外垄断,使用这些软件要么需要购买其对应的硬件产品,要么需要支付高额的软件使用费。除此之外,这些软件并不是跨平台的,对于平台的兼容性做的不是很好。对于广大的如nodepad 、UltraEdit、Visual Studio、Eclipse等文本编辑器和集成开发环境几乎都不支持ST、IL这类文本语言的语法高亮和提示,对于LD、FBD、SFC这类特定的图形化编程语言更是不予支持。
随着互联网迅猛发展,各中WEB前后端技术得到了广泛采用。传统的应用都是几乎都是基于PC桌面的,对于每一种特定的操作系统都需要有对于的版本支持,不具备跨平台性,这样导致开发需要的成本大大增加。近年来,互联网的发展导致了高性能服务器和云计算技术的发展和推广,越来越多的桌面应用渐渐转向“云端”,用户不再需要安装其客户端,用户只需要一个浏览器,通过自己的账号登录对应的应用平台即可使用这些软件。随着信息高速公路的发展,上网速度和用户的带宽越来越快,对于网络的响应也越来越快,从C/S模型到B/S模型的转换成为了趋势,这一体现很明显地体现在移动应用上,移动应用为了达到跨平台的效果更多地使用了web开发而非传统的Native SDK开发,微信小程序和谷歌推广的Android Instant更是在推动这一趋势的发展,5G时代的到临更会加速这一趋势。
课题以IEC 61113-3标准,实现一种基于web的软PLC编辑器,使用当下流行的前后端等框架技术构建健壮优美、用户良好的软PLC编辑器。它的意义不仅是为国内软PLC发展提供力量,也是对新一代应用架构和组件的开发与探索。
1.5论文的组织结构
本文主要研究基于web的软PLC编辑器的设计与实现。这篇文章分为七章,各章节内容组织如下:
第一章,绪论,主要针对论文的研究内容进行相关介绍和阐述本文的章节安排。
第二章,相关技术,主要介绍完成论文课题需要用到的一些前后端技术、数据库、框架和行业的一些规范。
第三章,系统需求分析,主要从用户需求、和可行性分析角度探讨系统的需求,进一步明确业务需求和功能。
第四章,系统概要设计,包括:系统架构设计、用户界面设计、服务端功能模块设计、异常处理和数据库设计。
第五章,系统详细设计与实现,设计并实现用户界面与服务器端所有功能,包括通信的消息协议。
第六章,系统测试,对系统进行相关测试。
第七章,总结与展望,对该课题探索过程中出现的问题进行分析总结经验,同时也对新一代web应用进行展望。
第2章 相关技术
本章探讨该课题所需要的主要的前后端技术平台和框架,首先介绍前端开发的一些技术,例如HTML5 CSS3 JavaScript基础技术、Jquery框架和一些其他框架和组件。然后重点讨论了Node.js后端开发平台,包括Node.js的系统架构和工作原理以及Node.js流行的一些快速开发框架。再后介绍了当下流行的NoSQL数据库MongoDB。
2.1前端开发
2.1.1 HTTP协议
HTTP即Hyper Text Transfer Protocol(超文本传输协议)的缩写,用于网络中的服务器与用户的客户端浏览器等联网应用软件进行通信并传输超文本协议。
基于TCP/IP通信协议,HTTP用来传递文本或者多媒体数据,例如HTML 文件, 图片视频文件, 查询结果等。该协议工作于C/S或者B/S应用架构之上。浏览器或者具有HTTP功能的应用软件作为HTTP客户端,客户端利用HTTP协议与服务端即WEB服务器发送请求。Web服务器根据接收到的请求后,将对用户请求的资源向客户端发送相对应响应信息。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: