上交导师钟小磊-工控毕业设计_第1页
上交导师钟小磊-工控毕业设计_第2页
上交导师钟小磊-工控毕业设计_第3页
上交导师钟小磊-工控毕业设计_第4页
上交导师钟小磊-工控毕业设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于嵌入式与基于嵌入式与PLCPLC远程监控系统的研究远程监控系统的研究 -ARM-ARM与与PLCPLC通信研究通信研究指导老师:钟小磊(原开发中心主任)指导老师:钟小磊(原开发中心主任)班班级:电子级:电子0701姓姓名:赵鹏飞名:赵鹏飞同组设计:郭跃同组设计:郭跃项目背景项目背景1项目目标23 技术难点4 项目体会5 致谢6项目设计m控制棒的控制对于核电站的安全运行至关重要,而且由控制棒的控制对于核电站的安全运行至关重要,而且由于核电站核反应堆具有反射性,所以对控制棒的远程监控于核电站核反应堆具有反射性,所以对控制棒的远程监控是核电站中的安全运行的前提。是核电站中的安全运行的前提。m

2、如果能够很精确有效地对控制棒进行控制,包括提升、如果能够很精确有效地对控制棒进行控制,包括提升、下降和紧急停堆等操作,将大大提高核电站的安全性。下降和紧急停堆等操作,将大大提高核电站的安全性。PLCPLC作为一种高性能的可编程控制器,控制效果好,编程作为一种高性能的可编程控制器,控制效果好,编程简单,抗干扰能力强;而简单,抗干扰能力强;而ARM9ARM9嵌入式系统在远程监控等方嵌入式系统在远程监控等方面有广泛的应用。本系统将面有广泛的应用。本系统将PLCPLC与与ARM9ARM9嵌入式系统结合起嵌入式系统结合起来,既达到了控制精度,又对控制棒的动作有很精确的监来,既达到了控制精度,又对控制棒的

3、动作有很精确的监控。控。项目背景1项目目标项目目标2项目设计3 技术难点4 项目体会5 致谢6m 本课题的主要任务是本课题的主要任务是PLCPLC在工控端进行控制,在工控端进行控制,ARMARM通过串口通过串口RS232RS232采集采集PLCPLC寄存器的相关状态和数据,对控制的效果进行优化调试,对控制的寄存器的相关状态和数据,对控制的效果进行优化调试,对控制的质量进行检测,并且预测可能出现的故障。然后通过建立数据库,将采质量进行检测,并且预测可能出现的故障。然后通过建立数据库,将采集到的数据存储在数据库中,并且建立网络服务器,使远程用户能够查集到的数据存储在数据库中,并且建立网络服务器,使

4、远程用户能够查询和分析询和分析PLCPLC的寄存器的相关状态,特别是的寄存器的相关状态,特别是IOIO口的相关状态,从而分析口的相关状态,从而分析出相关的出相关的PLCPLC运行情况和现场的控制效果。运行情况和现场的控制效果。m方案论证方案论证 方案一:基于PC设计 在PC机上编写程序读取PLC的相关寄存器状态,并将读取的数据存入到数据库中,并且在PC机上建构网络服务器,使远程用户能够在线查询和分析PLC寄存器的相关状态。 方案二:基于51系列 51单片机是一款比较低端的8位单片机,对于对控制性能要求不是太高的场合,51单片机仍然占主导地位。51单片机的串口和网络通信实现起来非常复杂,而且性能

5、不高。方案三:基于ARM系列 ARM9的方案既有51单片机的小巧灵活,成本低,又具有PC机的性能好,精度高,而且还具有更高的实时性,用户界面也十分友好,操作人性化,能很好的实现项目目标。 通过比较上述三个方案可知:PC机的方案虽然有很多设计上的优势,但是其体积大,成本高,实时性不够好;51单片机的方案由于51的整体性能很低,不适合满足这种对实时性和控制精度都要求很高的系统,1.因此选择ARM9的解决方案。项目背景1项目目标2项目设计项目设计3 技术难点4 项目体会5 致谢6工作原理工作原理 1 PLC工控模块。模拟对核反应堆的控制棒进行操作,包括提升,下降以及紧急停堆等操作。这些操作可以通过A

6、RM上的程序进行控制,也可以通过与PLC相连的开关进行控制。2 ARM数据采集和服务器模块。采集PLC相关端口的数据,并对PLC的动作进行远程操作。将采集到的数据通过基于TCP协议的socket通信发送到数据库服务器,当远程用户访问ARM上的服务器时,ARM服务器通过远程用户查询的条件向数据库服务器获取对应的数据,然后通过HTTP协议发送给远程用户。3 数据库服务器模块。将ARM传送过来的数据进行处理,添加到数据库中,并在ARM服务器需要PLC数据时,根据查询条件,将满足条件的PLC数据发送给ARM服务器。项目背景1项目目标2项目设计3 项目难点项目难点4 项目体会5 致谢6一、一、PLC程序

7、设计程序设计1,控制棒驱动机构的原理图,控制棒驱动机构的原理图flash讲解讲解2,控制棒提升的动作流程控制棒提升的动作流程3 PLC程序详细设计过程程序详细设计过程 软开关及程序运行的前提条件设置为某变量的状态(本例中为软开关及程序运行的前提条件设置为某变量的状态(本例中为211.00),),即通过向即通过向PLC写入命令将写入命令将211.00置为开通状态,程序正常运行;而将程序的置为开通状态,程序正常运行;而将程序的终止用另一个变量来标识(本例中为终止用另一个变量来标识(本例中为211.01)。)。 初始条件:初始条件: 夹持线圈通电输出口为夹持线圈通电输出口为10.00,传递线圈通电电

8、输出口为,传递线圈通电电输出口为10.01,提升线,提升线圈通电电输出口为圈通电电输出口为10.02,用辅助寄存器,用辅助寄存器200.00来标识。提升、下降按钮既来标识。提升、下降按钮既可以通过硬件开关来实现,也可以通过软件向可以通过硬件开关来实现,也可以通过软件向PLC写入命令来实现,提升写入命令来实现,提升的硬件开关的硬件开关PLC输入地址为输入地址为0.01,下降的硬件开关,下降的硬件开关PLC输入地址为输入地址为0.02。通。通过软件实现控制棒提升的原理是:选择一个寄存器作为中间变量(本例中过软件实现控制棒提升的原理是:选择一个寄存器作为中间变量(本例中选的是选的是210),将其设为

9、将其设为5000,若,若210的值大于的值大于5000,表示控制棒提升,比,表示控制棒提升,比5000大多少就提升多少步;同理,若大多少就提升多少步;同理,若210的值小于的值小于5000,表示控制棒下降,表示控制棒下降,比比5000小多少就下降多少步。每提升一步,寄存器小多少就下降多少步。每提升一步,寄存器210的值就减一;每下的值就减一;每下降一步,寄存器降一步,寄存器210的值就加一。的值就加一。 提升的过程:提升的过程: (1)传递线圈)传递线圈10.01通电,三个线圈通电状态通电,三个线圈通电状态110,用辅助寄存器,用辅助寄存器200.01标识标识 (2)夹持线圈)夹持线圈10.0

10、0断电,三个线圈通电状态断电,三个线圈通电状态010,用辅助寄存器,用辅助寄存器200.02标识标识 (3)提升线圈)提升线圈10.02通电,三个线圈通电状态通电,三个线圈通电状态011,用辅助寄存器,用辅助寄存器200.03标识标识 (4)夹持线圈)夹持线圈10.00通电,三个线圈通电状态通电,三个线圈通电状态111,用辅助寄存器,用辅助寄存器200.04标识标识 (5)传递线圈)传递线圈10.01断电,三个线圈通电状态断电,三个线圈通电状态101,用辅助寄存器,用辅助寄存器200.05标识标识 (6)提升线圈)提升线圈10.02断电,三个线圈通电状态断电,三个线圈通电状态100,用辅助寄存

11、器,用辅助寄存器200.00标识标识 4 PLC串口通信原理以及响应格式串口通信原理以及响应格式 帧的发送接收:帧的发送接收:一次通信送出的一组数据称为一次通信送出的一组数据称为“帧帧”,帧又少于,帧又少于131个字符的数据构成,个字符的数据构成,送出帧的权限称为送出帧的权限称为“发送权发送权”,帧可以从持有发送权的一方送出。每送,帧可以从持有发送权的一方送出。每送出一帧,上位机或出一帧,上位机或PLC就将发送权交给另一方。终端(命令或响应的终就将发送权交给另一方。终端(命令或响应的终字符)或分界符(分割帧的字符)接收到后,就将发送权转移到接收的字符)或分界符(分割帧的字符)接收到后,就将发送

12、权转移到接收的一方。一方。 向向PLC发送命令:发送命令:在上位机链接通信中,开始由上位机持有发送权并开始通信。响应由在上位机链接通信中,开始由上位机持有发送权并开始通信。响应由PLC自动返回。自动返回。m命令/响应格式:m 从上位机发送命令时,程序中编写下列格式的命令数据并发送m图3.3.4(2) PLC命令格式示意图m 命令和响应都必须以开始m机号No. 上位机识别所连接的PLC的机号,如果上位机只与一台PLC相连,对应的机号为00m正文 设定命令的参数mFCS 设定两个字符的FCSm终端 表示命令结束的2个字符,设定“*”和CR码(在QT4.6中用x0D表示,在VB2005中用Chr(1

13、3)来表示)mFCS(帧检查序列)的计算m 对发送接收的帧,为检查在终端或分界符前面的数据,加了FCS。FCS把从一帧的开始到FCS前面的数据进行逻辑异或得到的八位数据变换成两个字符的ASCII码。对接收信息的各镇计算FCS,并同附加在帧后的FCS进行对照校合,就能检查数据错误。二、二、ARM嵌入式开发环境构建嵌入式开发环境构建1,ARM调试系统连线图调试系统连线图2 ARM开发板上Linux操作系统的移植(1)如上图将线路连接好之后,用sjf2410.exe将引导程序U-boot拷到Nand flash中,选0,选0,选0,下载完成之后,关闭开发板电源。操作过程如图所示:(2)打开Windo

14、ws下的超级终端,设置好参数,波特率为115200,数据位为8,停止位为1,无校验位,打开开发板电源,效果如下图所示:m 选择K,下载Linux2.6的内核m选择y,下载根文件系统m最后选择b,启动嵌入式操作系统,安装成功3 Qt Embedded 4.6.2的安装和触摸屏tslib-1.4(1)系统环境以及软件准备 主机操作系统:Fedora9 主机编译器:gcc version 4.3.3 交叉编译器:arm-linux-gcc 4.3.3 软件安装包:(软件包事先下载到了主目录下的Qt目录) qt-everywhere-opensource-src-4.6.2.tar.gz (适合 x1

15、1 ,embedded)(2)下载qt-everywhere-opensource-src-4.6.2.tar.gz 下载地址:/pub/trolltech/pub/qt/source/下载(3)编译安装qt-embedded 解压qt-everywhere-opensource-src-4.6.2.tar.gz 解压:tar xzvf qt-everywhere-opensource-src-4.6.2.tar.gz三、三、QT程序设计与调试程序设计与调试1,程序,程序GUI界面设计界面设计(1)“打开串口打开串口”按钮的作用是,启动按钮的作

16、用是,启动socket发送程序,并打开串口,发送程序,并打开串口,在打开串口的同时向在打开串口的同时向PLC发送发送OMRON-PLC的的QQ复合命令的读出复合命令的读出情报登录命令情报登录命令:00QQMRCIO 0100CH,CIO 0101CH,CIO 0110CH,CIO 0111CH,CIO 0120CH,CIO 0121CH,CIO 0130CH,CIO 0131CH,CIO 0140CH,CIO 0141CH,CIO 0005CH35* 此后每隔一秒,串口向此后每隔一秒,串口向PLC发送发送QQ复合命令的一起读出命令:复合命令的一起读出命令:00QQIR5B*。在串口读取。在串口

17、读取PLC数据的同时,数据的同时,socket将从串口读将从串口读取的数据发送到数据库服务器。取的数据发送到数据库服务器。(2)“关闭串口关闭串口”按钮的作用是关闭串口并停止按钮的作用是关闭串口并停止socket发送程序。发送程序。 (3)“打开打开PLC”按钮的作用是实现按钮的作用是实现PLC程序运行的软开关,使控程序运行的软开关,使控制棒制棒PLC程序运行。当按钮被触发时,程序向程序运行。当按钮被触发时,程序向PLC发送命令:发送命令: 00WR02110001和和00WR02110000; 通过对通过对PLC的的0211.00端口置端口置1和置和置0,使,使PLC的软开关打开。的软开关打

18、开。(4)“关闭关闭PLC”按钮的作用是实现按钮的作用是实现PLC程序运行的软开关,是控制棒程序运行的软开关,是控制棒PLC程序停止运行程序停止运行 。 当按钮被触发时,程序向当按钮被触发时,程序向PLC发送命令:发送命令: 00WR02110002; 通过对通过对PLC的的0211.01端口置端口置1,使,使PLC的软开关关闭。的软开关关闭。(5)提升)提升”和和“下降下降”按钮的作用是在左边的选择项里面选择需按钮的作用是在左边的选择项里面选择需要提升或者下降的步数,然后将选择项里面的数据转换成要提升或者下降的步数,然后将选择项里面的数据转换成PLC的命令发送给的命令发送给PLC,来实现控制

19、棒的提升或下降,来实现控制棒的提升或下降2 串口发送调试串口发送调试 由于由于ARM直接与直接与PLC相连无法看到发送的数据,所以在相连无法看到发送的数据,所以在测试串口发送的命令时,采用串口调试工具,将测试串口发送的命令时,采用串口调试工具,将ARM与与PC机相连,来测试机相连,来测试ARM上程序发送的命令是上程序发送的命令是否正确。否正确。 (1)按下)按下“打开串口打开串口”按钮之后,程序打开串口,用按钮之后,程序打开串口,用QQ复合命令将需要的寄存器数据进行情报登录,然后复合命令将需要的寄存器数据进行情报登录,然后每隔一秒钟,用每隔一秒钟,用QQ复合命令的一起读出命令将复合命令的一起读

20、出命令将PLC相关有用的端口数据读出。程序界面如下图所示:相关有用的端口数据读出。程序界面如下图所示: (2)按下)按下“打开打开PLC”按钮之后,即用软开关开启按钮之后,即用软开关开启OMRON-PLC上的上的控制棒程序,即向控制棒程序,即向PLC发送的命令应该为:发送的命令应该为:00WR02110001 和和 00WR02110000 。程序界面如下图所示:。程序界面如下图所示: (3)选择数值为)选择数值为321,然后选择提升按钮,则中间变,然后选择提升按钮,则中间变量寄存器量寄存器210的数值应该在的数值应该在5000的基础上加上的基础上加上321,最终中间变量寄存器最终中间变量寄存

21、器210的数值变为的数值变为5321,则,则ARM上的程序想上的程序想OMRON-PLC发送的命令为发送的命令为00WR02105321在加上在加上FCS校验码和终止符,程校验码和终止符,程序界面如下图所示:序界面如下图所示:3 socket通信调试通信调试 首先打开服务器端服务器,然后打开本程序,由于本首先打开服务器端服务器,然后打开本程序,由于本系统系统socket通信的程序是基于通信的程序是基于TCP协议的,所以客户端程协议的,所以客户端程序应该确保服务器端的序应该确保服务器端的IP地址和端口号没有错误。服务地址和端口号没有错误。服务器端的界面如图所示:器端的界面如图所示:begin l

22、istenning表示正在监听,客户端连接上之后显示accept connection,客户端的发送格式为就例如上面接收的第一条数据,3表示操作类型,1是用户信息查询,2是数据查询,3是插入数据;00表示所传数据对应的PLC编号,&表示分隔符,后面的表示PLC对应端口的数据,数据之间用&表示分隔。客户端的程序界面如下图所示:客户端的程序界面如下图所示: 如上图所示,如果客户端与数据库连接上,则显示如上图所示,如果客户端与数据库连接上,则显示the server is connected;每发送一条数据成功之后,显示每发送一条数据成功之后,显示write server corre

23、ct;若;若socket通信出现错误,则显示相通信出现错误,则显示相应的错误应的错误项目背景1项目目标2项目设计3 项目难点4 项目体会项目体会5 致谢6本次项目的本次项目的具体工作如下:具体工作如下:1分析了各种嵌入式操作系统的特点,如何移植一个嵌入式分析了各种嵌入式操作系统的特点,如何移植一个嵌入式Linux操作系统到操作系统到ARM开发板和建立有效的开发环境;开发板和建立有效的开发环境;2熟悉了欧姆龙熟悉了欧姆龙PLC与上位机链接通信的格式和协议,知道了与上位机链接通信的格式和协议,知道了如何对欧姆龙如何对欧姆龙PLC进行监控,以及数据读取,精通了如何利用进行监控,以及数据读取,精通了如

24、何利用RS232串口对欧姆龙的各个寄存器进行读取和写入,以及批量串口对欧姆龙的各个寄存器进行读取和写入,以及批量读取寄存器数据的读取寄存器数据的QQ复合命令的用法。复合命令的用法。3分析了分析了TCP协议实现的协议实现的Socket通信,并能够利用通信,并能够利用QT4来实现来实现将串口从欧姆龙将串口从欧姆龙PLC读取的数据通过读取的数据通过TCP协议发送到服务器。协议发送到服务器。4分析了分析了QT4实现串口读写的代码,对实现串口读写的代码,对Linux下串口的通信的下串口的通信的代码编写与驱动的编写有了一个了解;代码编写与驱动的编写有了一个了解; 在毕业设计程序编写过程中也发现不少问题和有待研究的地在毕业设计程序编写过程中也发现不少问题和有待研究的地方。如方。如QT4中没有相关对中没有相关对Linux串口编程编写的相关函数,等。串口编程编写的相关函数,等。由于本人知识面和能力有限和时问仓促,论文中难免有不当和由于本人知识面和能力有限和时问仓促,论文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论