基于modbus通信协议的智能仪表opc服务器的开发毕业论文(编辑修改稿)内容摘要:
的开 关量和模拟量。 读线圈(功能 01) 读离散量输入(功能 02) 读输入寄存器(功能 04) 写线圈(功能 05) Modbus客户机串行链路 客户机TCP 网关 Modbus客户机TCP Modbus服务器TCP Modbus服务器TCP Modbus客户机TCP 客户机TCP 网关 Modbus 客户机串行链路 Modbus 客户机串行链路 Modbus 串行链路 Modbus TCP 滁州学院本科毕业设计 6 写单个寄存器(功能 06) 读异常状态(功能 07) 2 级是一组常规应用于 人机接口程序 和监控程序中的数据传输功能。 写多个线圈(功能 15) 读文件记录(功能 20) 写文件记录(功能 21) 另外,如果过程发生状况,则由从机返回一组例外码,所有例外通过给请求的函数码加 0x80 来发送信号, 就是将最高位置一。 例外响应包括不合法的函数,不合法的数据值,不合法的数据地址,不合法的响应长度,从机设备忙,无用的确认,存储奇偶错误,网关路径难以获得,网关目标设备不能响应等。 Modbus 报文格式如图 22 所示。 图 22 Modbus 报文格式 3 OPC 技术规范 OPC 技术历史 早期的 OPC 规范是由 5 家工业软件制造商组成的 OPC 小组在 1995 年开发的,在 1996 年 8 月完成了 OPC 数据访问标准版本。 OPC 基金会在 1996 年 9 月 24 日在 美国达拉斯举行了第一次理事会,并在同年 10 月 7 日芝加哥的第一次全体大会上宣告成立。 现在的 OPC 基金会的理事会是由FisherRosement, Honeywell, Interllution, Rockwell, Software, National Instrument 以及欧洲代表的Siemens 和远东代表的东芝组成的。 在日本为 响应 以美国中心的标准活动,于 1996 年 6 月开始基金会成立的准备,于 1996 年 10 月 17 日正式成立了日本的 OPC 基金会。 与此同时欧洲也成立了自己的 OPC 基金会。 中国也由 5 家公司作为发起人于 20xx 年 12 月成立了中国 OPC 促进会。 OPC 技术规范 OPC 基金会制定了各种 OPC 规范,并且不断地进行升级和更新以便于适应日益变化发展的工业自动化领域。 在设计 OPC 服务器或者相应程序时要按照规范去操作,以保证设备和程序的相互兼容性。 OPC 规范包含以下几个方面: Modbus TCP 应用数据单元 MBAP 报文头 功能码 数据 协议数据单元 滁州学院本科毕业设计 7 ( 1) OPC 数据存取规范即数据访问标准; ( 2) OPC 报警与事件规范即报警和事件的标准; ( 3) OPC 历史数据存取规范即历史数据访问标准; ( 4) OPC 批处理规范即批处理的标准; ( 5) OPC 安全规范即安全性的标准 ; ( 6) OPC 数据交换 规范即服务器间数据交换的标准; ( 7) OPC_XML 规范即过程数据的 XML 标准。 COM 技术 COM 是微软公司倡导的一个制定软件的方法,在 COM 的构架下可以开发出各式各样的功能专一的组件,然后按照需要将他们结合起来,构成复杂的应用系统。 它可以随时为系统升级,只需将原系统中的组件用新的更换掉。 一个组件也可以在多个应用系统中重复利用,还可以很方便的将应用系统至于网络之中。 COM 的体系结构有 COM 的核心、统一数据传输、智能命名和持久存储。 其中 COM 核心包括服务控制管理员、接口基、接口代理和 COM 库。 其定 义了 COM 对象与客户如何通过二进制标准接口进行交互的标准。 COM 本身预定义了一套通用接口,用来建立基于客户服务器结构的 COM 应用。 接口是用于部件对象间作用的二进制标准,每个接口都包含了一系列函数,这些函数规定实现接口的对象和用户使用这些对象所遵循的协议,包含接口名、函数名、参数名及其类型。 下面简单介绍一下 COM 组件、 COM 对象和 COM 接口。 COM 组件在 windows 平台上可以是DLL 文件或者 EXE 文件,组件为 COM 对象提供了活动空间,一个组件程序可以包含多个 COM 对象, COM 对象用接口的方式提供服务,一个 COM 对象可以拥有多个 COM 接口。 COM 支持的是面向对象的组件模型, COM 组件提供给客户端的是以对象形式封闭起来的实体。 客户端和 COM 组件程序交换数据的实体是 COM 对象,它无需在乎组件模块的名称和位置,但要知道和自己交互的 COM对象 是 哪个,客户程序通过一个 COM对象的全局标识符来创建和初始化对象,并不直接访问 COM 组件。 COM 接口都是从 IUnknown 接口派生的, COM 接口实现了二进制的内存结构。 客户程序用指向接口数据结构的指针来调用接口函数,接 口指针又指向另一个指针,这个指针指向虚函数表 ,虚函数表里面 一项由 4 个字节长的函数指针组成,每一个接口的 vtable 是确定的, COM 接口 vtable 的前三个指针是 QueryInterface、 AddRef、 Release 函数实现的地址,函数指针和对象的具体实现连接。 客户只要获得了指针就可以调用到对象的实际功能。 图 31 是接口的二进制内存结构 : 滁州学院本科毕业设计 8 图 31 COM 接口二进制内存结构 COM 规范用 128 位全局唯一标识符 GUID 来标识 COM 对象和 COM 接口,标识的 COM 对象为 CLSID, 标识的 COM 接口为 IID。 客户 程序通过指定的 CLSID 进行对象的创建和初始化工作,客户程序要使用 COM 对象的接口,它必须知道该接口的 IID 和接口成员函数。 OPC 服务器数据访问方式 OPC 数据访问有两种方式:同步访问和异步访问,下面分别介绍。 同步数据访问 图 32 同步数据访问过程 同步数据访问过程如图 32 所示 , OPC 服务器按照 OPC 客户端的要求把得到的数据访问结果作为方法 参数返还给 OPC 客户端, OPC 客户端在结果被返还之前必须处于等待状态。 小批量 的数据访问使用这个方法比较便捷,对于大批量的数据,就很占用 OPC 客户端的时间。 在 OPC 数据存取规范中,同步数据访问方法是用 IOPCSyncIO 接口来实现, IOPCSyncIO 接口有两个函数: Read 和 Write。 根据 OPC 数据访问标准,不同的数据读取方式所需要的数据源有两种:从服务器数据缓冲区读取;二是从硬件设备直接读取。 Read 同步数据读取可以从数据缓冲区读取或者硬件设备直接读取,从数据缓冲区读取数据时受组和项状态的影响, Write 同步写操作是直接向设备写数据。 对象实现 虚函数表 vtable pVtable 指针接口 pIX Queryinterface Addref Release Fx Queryinterface Addref Release Fx 指针 方法调用开始 方法调用结束 等待处理 调用处理 空闲 空闲 OPC 应用程序 OPC 服务器 时间 时间 滁州学院本科毕业设计 9 异步数据访问 图 33 异步数据访问过程 异步数据访问过程 如 图 33 所示, OPC 服务器接收 到 OPC 客户端要求后,检查了参数中的项的服务器句柄是否有效,然后将方法返回, OPC 应用程序进行处理。 当 OPC 服务器完成数据访问时,触发 OPC 应用程序异步访问的完成,将数据结果返回给 OPC 应用程序。 4 Modbus OPC 数据访问服务器的实现 OPC 服务器要求分析 本节主要介绍 OPC 服务器设计实现的主要功能和设计环境以及总体框架,初步构建起 OPC 服务器设计的基础。 OPC 服务器结构框架 对于现代化生产来说,利用计算机监控系统实时监控现场设备的运行状态和数据对提高生产效率有非常大的帮助,上传来的数据可以作为参考来更改现场设备的运行参数也可快速的查找现场设备的故障原因,而 OPC 服务器就可以办得到这些。 基于 Modbus 的智能仪表 OPC 服务器可以实现向下和 Modbus 从设备的通信,向上可以将实时数据传输到 OPC 客户端。 其结构如下图 41 所示 : 方法调用开始 方法调用结束 调用异步访问方法 等待状态 事件发生 事件处理结果 异步访问完成事件 通信 空闲 空闲 OPC 应用程序 时间 时间 OPC 服务器 处理调用 滁州学院本科毕业设计 10 图 41 OPC 服务器结构框架 从现场设备读取回来的数据通过 Modbus 协议工业以太网以数据帧的形式传到 OPC 服务器,经过服务器的处理再通过 OPC 接口上传到 OPC 客户端,这样就完成了远程监控现场设备运作状态的过程。 现在简介一下 OPC 服务器关键模块管理模块的设计理念。 管理模块主要处理通道的定义、标签组、标签和逻辑设备的定义、物理设备向通道和逻辑设备的映射、物理设备数据点与 OPC Item 的映射关系等方面的设备和数据点的管理功能。 OPC 服务器接 口接收到客户端的请求后也必须利用管理模块提供请求的 OPC Item 对应的物理设备数据点的信息。 其数据点监视功能使通信模块在客户端界面上实现 对设备数据点的读写。 如图 42 所示,它包含通道定义、 Modbus 从设备映射、数据点映射、模拟变量变换和数据点在线监视五个模块。 监控程序和其他上层应用程序 OPC 客户端 ( 接口 ) 服务 器对象 组对象 项对象 客户端 Modbus OPC 服务器 现场设备 PLC Modbus 从设备 滁州学院本科毕业设计 11 图 42 管理模块结构 通道定义模块是与远程 Modbus 服务器的连接属性的设置。 通道 由 IP 地址、 IP 端口和连接超时值组成。 对于 每一个 IP 地址 、 IP 端口必须定义唯一一个通道,这样连接到网络上的设备就可以利用这些信息连接到确定的唯一的 OPC 服务器的物理设备。 Modbus 从设备映射模块主要功能是将物理设备的信息 映射到 相应的逻辑设备和通道之中。 数据点映射模块将设备数据点直接映射为管理模块的标签,而标签包含有的信息有:设备数据点具体的地址、储存区类型、数据类型和读取权限。 OPC 项代表了到数据源的连接,相当于一个指针,指向它所对应的标签,通过标签的信息完成连接。 物理设备中的模拟变量是以整数或者浮点数的形式读出的,可是这些值只是存储区内 的一个相对量,模拟变量模块可以将它们经过比例变换成为有意义的物理 值,还需要定义物理单位、死区、上溢下溢范围等信息。 数据点在线监视模块提供了设备数据点的读取功能,让服务器用户界面可以实现数据 点数值的在线读取和写入。 OPC 服务器需要实现的功能 在 OPC 规范中可以总结出 OPC 服务器应该实现的几项基本功能, OPC 服务器要与客户端实现连接,数据传输必须要有这些功能。 首先 OPC 服务器要在客户端需要的时候提供本地连接,以便于客户端需要连接 OPC 服务器的时候, OPC 服务器能够被找到,能够给客户端提供必要的接口。 同时需要 OPC 服务器支持 Modbus 通信协议,不需要任何额外的驱动程序,在和 Modbus 从设备通信的时候不需要为每个通信设备提供不同的驱动程序; 然后 OPC 服务器需要提供 IOPCServer、IOPCItemMgt、 IOPCCGroupStateMgt、 IOPCSyncIO 等接口的实现,只有实现了这些接口,客户端才能够通过该接口实现添加删除服务器的组对象,对组对象进行管理。 而且无论是本机还是。基于modbus通信协议的智能仪表opc服务器的开发毕业论文(编辑修改稿)
相关推荐
就是 DITFFT这一算法。 设序列 x(n)的长度为 N,并且有以下的条件成立 N=2M, M为自然数 1(r)和 2(r)是 x(n)按 n的奇偶性分解成的两个 N/2 点的子序列,如下式所示 12,.. .1,0),2()(1 Nrrxrx 12,...,1,0),12()(2 Nrrxr 那么 x(n)的 DFT 为 n knNn knN
学校等目前全面引入 Moodle 在线学习平台。 到现在,有 20xx 多个机构在线教育是基于 Moodlede。 这包括了近百个国家的网络教育。 针对 Moodle 系统现存的不足的研究,如 Moodle 环境下基于论坛的协作方式是一种线性组织方式,但实时协作的实现还存在一定的困难。 Cavus (20xx)通过实验发现,把 Moodle 和其他协作学习工具结合起来运用于编程语言教学中
为中心,充分挖掘学生的潜在能力。 任务引导 是 建构主义教学理论基础上的教学方法 ,将以往的传授式的教学理念转变为解决问题式,以任务为主,教师为主导,学生为主体的教学方式。 教师依据教学内容及教学目标,布置出一系列的任务,学生通过学习教材,逐步完成教 师布置的任务,直至完成所有的教学目标。 学生在完成一项任务的过程中必定会遇到各式 各样的问题,只有解决了问题才能继续进行任务
TCP 网关 Modbus 客户机串行链路 Modbus 客户机串行链路 Modbus 串行链路 Modbus TCP 滁州学院本科毕业设计 6 写单个寄存器(功能 06) 读异常状态(功能 07) 2 级是一组常规应用于 人机接口程序 和监控程序中的数据传输功能。 写多个线圈(功能 15) 读文件记录(功能 20) 写文件记录(功能 21) 另外,如果过程发生状况,则由从机返回一组例外码
............................................................................ 50 洗练界面的实现 ...............................................................................................................
系统,只有两个基本器件,该系统用于控制、检测和跟踪物体。 系统由一个询问器(或 阅读器 )和很多 应答器 (或标签)组成。 本文提出了一种基于 MFRC500 的 MIFARE 卡读写器设计方案, MIFARE 卡读写器使用射频识别技术,在 5~10cm 范围内非接触读写数据,读写时间不大于 秒,上位机通过读写器完成对卡中数据的设置,三次认证机制增强系统的可靠性,完善的防冲突机制实现一机多卡功能