基于modbus施耐德pm800系列仪表的使用毕业论文(编辑修改稿)内容摘要:

接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。 消息中字符间发送的时间间隔最长不能超过 1 秒,否则接收的设备将认为传 输错误。 一个典型消息帧如表 23 所示: 表 23 ASCII 消息帧表 起始位 设备地址 功能代码 数据 LRC 校验 结束符 1 个字符 2 个字符 2 个字符 n 个字符 2 个字符 2 个字符 ( 2) RTU 帧使用 RTU 模式,消息发送至少要以 个字符时间的停顿间隔开始。 在网络波特率下多样的字符时间,这是最容易实现的 (如下表的 T1T2T3T4 所示 )。 传输的第一个域是设备地址。 可以使用的传输字符是十六进制的 0...9,A...F。 网络设备不断侦测网络总线,包括停顿间隔时间内。 当第一个域(地址域)接收到,每 个设备都进行解码以判断是否发往自己的。 在最后一个传输字符之后,一个至少 个字符时间的停顿标定了消息的结束。 一个新的消息可在此停顿后开始。 整个消息帧必须作为一连续的流转输。 如果在帧完成之前有 第 13 页 共 34页 超过 个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。 同样地,如果一个新消息在小于 个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。 这将导致一个错误,因为在最后的 CRC 域的值不可能是正确的。 一典型的消息帧如 表 24 所示: 表 24 RTU 消息帧表 起始位 设 备地址 功能代码 数据 CRC 校验 结束符 T1T2T3T4 8Bit 8Bit n 个 8Bit 16Bit T1T2T3T4 Modbus 的地址域 消息帧的地址域包含两个字符( ASCII)或 8Bit( RTU)。 可能的从设备地址是 0...247 (十进制 )。 单个设备的地址范围是 1...247。 主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。 当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 地址 0 是用作广播地址,以 使所有的从设备都能认识。 当 Modbus 协议用于更高水准的网络,广播可能不允许或以其它方式代替。 Modbus 如何处理功能域 消息帧中的功能代码域包含了两个字符( ASCII)或 8Bits( RTU)。 可能的代码范围是十进制的 1...255。 当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。 当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。 例如去读取输入的开关状态,读一组寄存器的数据内容,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。 当从设备回应时,它使用功能代码域来指示是正常回应 (无误 )还是有某种错误发生(称作异议回应)。 对正常回应,从设备仅回应相应的功能代码。 对异议回应,从设备返回一等同于正常代码的代码,但最重要的位置为逻辑 1。 例如:一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码: 0 0 0 0 0 0 1 1(十六进制 03H)对正常回应,从设备仅回应同样的功能代码。 对异议回应,它返回: 1 0 0 0 0 0 1 1(十六进制 83H)除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数 据域中,这能告诉主设备发生了什么错误。 第 14 页 共 34页 主设备应用程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。 Modbus 的数据域 数据域是由两个十六进制数集合构成的,范围 00...FF。 根据网络传输模式,这可以是由一对 ASCII 字符组成或由一 RTU字符组成。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。 这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。 例如,如果主设备需要从设备读取一组保持寄 存器(功能代码 03),数据域指定了起始寄存器以及要读的寄存器数量。 如果主设备写一组从设备的寄存器(功能代码 10 十六进制),数据域则指明了要写的起始寄存器以及要写的寄存器数量,数据域的数据字节数,要写入寄存器的数据。 如果没有错误发生,从从设备返回的数据域包含请求的数据。 如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 在某种消息中数据域可以是不存在的( 0 长度)。 例如,主设备要求从设备回应通信事件记录(功能代码 0B 十六进制),从设备不需任何附加的信息。 Modbus 错误检测域 标准的 Modbus 网络有两种错误检测方法。 错误检测域的内容视所选的检测方法而定。 ASCII 当选用 ASCII 模式作字符帧,错误检测域包含两个 ASCII 字符。 这是使用 LRC(纵向冗长检测)方法对消息内容计算得出的,不包括开始的冒号符及回车换行符。 LRC 字符附加在回车换行符前面。 RTU当选用 RTU 模式作字符帧,错误检测域包含一 16Bits 值 (用两个 8 位的字符来实现 )。 错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。 CRC 域附加在消息的最后,添加时先是低字节然后是高字节。 故 CRC 的高位字节是发送消息的最后一个字节。 Modbus 字符的连续传输 第 15 页 共 34页 当消息在标准的 Modbus 系列网络传输时,每个字符或字节以如下方式发送(从左到右):最低有效位 ...最高有效位 使用 ASCII 字符帧时,位的序列是:有奇偶校验(表 25)和无奇偶校验(表26) 表 25 ASCII 有奇偶校验表 启始位 1 2 3 4 5 6 7 奇偶位 停止位 表 26 ASCII 无奇偶校验表 启始位 1 2 3 4 5 6 7 停止位 停止位 使用 RTU 字符帧时,位的序列是:有奇偶校验(表 27)和无奇偶校验(表28) 表 27 RTU 有奇偶校验表 启始位 1 2 3 4 5 6 7 8 奇偶位 停止位 表 28 RTU 无奇偶校验表 启始位 1 2 3 4 5 6 7 8 停止位 停止位 第 16 页 共 34页 第 3 章 组态王与 MODBUS 仪表的通讯 组态王介绍 组态王软件是一款中国公司自己研发的工业组态软件,由于其价格便宜,操作方便,兼容性好,技术支持强等特点,在国内受到许多工程师的使用。 组态王软件内部集成 Modbus 驱动,可以方便利用组织 Modbus 总线网络。 Modbus 是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线。 在中国, Modbus 已经成为国家标准GB/T1958220xx。 据不完全统计:截止到 20xx 年, Modbus 的节点安装数量已 经超过了 1000 万个。 面对越来越多的基于 Modbus 接口的设备终端,如何在组态软件上进行 Modbus 组网是设计者需要掌握的一项技术。 本例程使用的硬件为OD2122 开发板,这是一款基于 OD2122 芯片的 Modbus 开发工具。 由于 OD2122内部集成 Modbus(RTU)协议,对于开发者来说,可以省 略繁琐的协议编写过程,直接组织建立 Modbus 网络。 Modbus 地址分配 Modbus 一共有四种地址类型,分别为离散输入( DI),例如我们检查开关是否闭合等;线圈( DO),例如控制继电器对灯光进行打开闭合操作;输入寄存器,例如检查压力传感器,温度传感器等连续输入量;保持寄存器,通常这种寄存器用于参数配置寄存器,或者模拟量输出,也有双向数据通讯采用这种寄存器地址。 根据 Modbus 协议约定,寄存器地址采用 16 位方式传输。 为了区分寄存器地址类型,一般在地址偏移量前面加一个数字表示这种数据类型。 比如 10005 代表离散输入地址寄存器为 5,其中最前面的 1 代表离散输入的意思。 具体数据属性如表31 所示。 表 31 数据属性表 数据类型 对象类型 属性 设备地址 离散输入 单个位 只读 10000 线圈 单个位 可读写 00000 输入寄存器 16 位字 只读 30000 保持寄存器 16 位字 可读写 40000 第 17 页 共 34页 组态王软件开发 本设计使用的是组态王 版本。 用户可以通过组态王官方网站进行下载试用版。 试用版有 2 个小时的时间限制,功能和收费版一样。 工程项目的建立 安装完组态王软件后 ,点击图标,打开组态王软件。 在菜单中点击文件 〉新建工程,打开如下图新建工程向导: 如图 31 所示。 图 31 工程向导图 点击下一步,在出现的对话框中选择保存工程的目录,然后点击下一步,进入工程名称设置对话框,如图 32 所示: 图 32 工程名称和描述图 第 18 页 共 34页 输入工程名称和描述后,点击完成,一个空项目就建立成功了。 这时,屏幕会出现 “是否将新建文件设置成当前文件 ”提示,选择是即可。 现在组态王软件的工程管理器将加入刚才建立好的工程列表,如下图所示:至此,一个名称为 PM800系列仪表的工程已经新建成功了 ,如 图 33 所示。 图 33 工程管理器图 驱动及通讯端口设置 双击新建的工程列表,将打开 PM800 系列仪表工程浏览器,如下图所示: 图 34 工程浏览器图 第 19 页 共 34页 在工程浏览器的左边树状列表中选择设备,在右边将出现图标,双击新建图标,将弹出设备配置向导对话框,如图 35 所示: 图 35 设备向导对话框图 在设备列表中选择 PLC〉莫迪康 〉 ModbusRTU〉 COM,点击下一步,进入设备名称对话框,如图 36 所示: 图 36 逻辑名称对话框图 第 20 页 共 34页 点击下一步,进入选择串口号对话框,选择开发 板要连接的串口号,如图 37所示: 图 37 串口号选择对话框图 点击下一步,设置 Modbus 地址,在开发板上,将地址选择波段开关拨到 0x01位置,并在对话框进行相应设置,如图 38 所示: 图 38 设备地址设置图 第 21 页 共 34页 点击下一步,设置恢复间隙,选择默认即可,如图 39 所示: 图 39 设备故障恢复对话框 点击下一步,完成设备变量的设置。 下一步,需要设置 COM 口的通讯参数,我们回到工程浏览器中,在左边列表中选择设备 〉 COM1,按照开发板波段开关进行相应设置,如下图所示点击完成,完成所有通讯接口 的设置 ,如图 310 所示。 图 310 信息总结图 第 22 页 共 34页 PM800 系列电力参数测量仪设置 对电力参数测量仪设置 ( 1)滚动第一级菜单列表直到看见 SETUP 选项。 ( 2)按下 SETUP。 ( 3)输入你的密码,默认的密码是 “0000”。 ( 4)保存之前,按 → 按钮,直到出现保存改动提示。 通讯设置 ( 1)按 → 按钮直到看见 COMMS。 ( 2)按 COMMS。 ( 3)选择通讯协议: MBUS( MODBUS)或者 JBUS。 ( 4)按 OK 按钮。 ( 5)设置 ADDR(地址)。 ( 6)按 OK 按钮。 ( 7)选择 BAUD(波特率): 9600,19200 或者 38400。 ( 8)按 OK 按钮。 ( 9)选择校验方式: ODD, EVEN, NONE。 ( 10)按 → 按钮返回 SETUP 设置界面 ,如图 311 所示。 图 311 PM800 仪表图 第 23 页 共 34页 第 4 章 数据报表系统的建立 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。 它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。 组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。 既可以制作实时报表又可以制作历史报表。 另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 实时数据报表 创建实时数据报表 实时数据报表创建过程如下: ( 1)新建一画面,名称为:实时数据报表画面。 ( 2)选择工具箱中的 T 工具,在画面上输入文字:实时数据报表。 ( 3)选择工具箱中的工具,在画面上绘制一 实时数据报表窗口,如图 41 所示: 图 41 报表窗口图 ( 4) “报表工具箱 ”会自动显示出来,双击窗口的灰色部分,弹出 “报表设计 ” 第 2。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。