• 开放的MODBUS TCP(三)


    2007年11月22日 13:48:00
    导读:
      1 MBAP报文头(MBAP: ModbusApplication Protocol,Modbus应用协议)
      分四个域,共7个字节,见表1。
      表1
       长度 描述 客户端 服务器端
      传输标志 2字节 标志某个Modbus
      询问/应答的传输
      由客户端生成 应答时复制该值
      协议标志 2字节 0=Modbus协议
      1=UNI-TE协议
      由客户端生成 应答时复制该值
      长度 2字节 后续字节计数 由客户端生成 应答时由服务器
      端重新生成
      单元标志 1字节 定义连接于目的
      节点的其它设备
      由客户端生成 应答时复制该值
      
      2 Modbus功能代码
      共有三种类型分别为:
      · 公共功能代码 已定义好的功能码,保证其唯一性,由Modbus.org认可。
      · 用户自定义功能代码 有两组,分别为65~72和100~110,不需要认可,但不保证代码使用的唯一性,如想变为公共代码,需要RFC认可。
      · 保留的功能代码 由某些公司使用在某些传统设备的代码,不可作为公共用途。
      常用公共功能代码见表2。
      表2 常用公共功能代码
      常用公共功能代码 功能码
      十进码 子码 十六进制
      位
      操
      作
      开关量输入 读输入点 02 02
      内部位或开关量输出 读线圈 01 01
      写单个线圈 05 05
      写多个线圈 15 0F
      16
      位
      操
      作
      模拟量输入 读输入寄存器 04 04
      内部寄存器或输出寄存器(模拟量输出) 读多个寄存器 03 03
      写单个寄存器 06 06
      写多个寄存器 16 10
      读/写多个寄存器 23 17
      屏蔽写寄存器 22 16
      文件记录 读文件记录 20 6 14
      封装接口 写文件记录 21 6 15
      读设备标识 43 14 2B
      功能代码划按应用深浅分,可分为三个类别:
      (1) 类别0,对于客户机/服务器最小的可用子集。
      · 读多个保持寄存器(fc.3);
      · 写多个保持寄存器(fc.16)。
      (2) 类别1,可实现基本互易操作的常用代码。
      · 读线圈(fc.1);
      · 读开关量输入(fc.2);
      · 读输入寄存器(fc.4);
      · 写线圈(fc.5);
      · 写单一寄存器(fc.6)。
      (3) 类别2,用于人机界面、监控系统的例行操作和数据传送功能。
      · 强制多个线圈(fc.15);
      · 读通用寄存器(fc.20);
      · 写通用寄存器(fc.21);
      · 屏蔽写寄存器(fc.22);
      · 读写寄存器(fc.23)。
      3 Modbus应用举例:读寄存器
      请求 功能码 1字节 0x03
      起始地址 2字节 0x0000到0xFFFF
      寄存器数 2字节 1到125(0x7D)
      应答 功能码 1字节 0x03
      字节数 1字节 2 x N
      寄存器的值 N x 2字节
      (N为寄存器的数量)
      出错 出错码 1字节 0x83
      例外码 1字节 01或02或03或04
      4 ModbusTCP 请求报文举例,见表3。
      表3
      描述 大小(字节) 示例 备注
      MBAP 传输标志Hi 1 0x15 传输标志用于和应答配合使用
      传输标志Lo 1 0x01 每对传输使用唯一的标志
      协议标志 2 0x0000 该域可用作寻址Modbus/
      Modbus+子网络的路由,这
      时,此值含有目的设备的地址
      长度 2 0x0006
      单元标志 2 0xFF
      Modbus
      请求
      功能代码 1 0x03 读寄存器
      起始地址 2 0x0005
      寄存器数 2 0x0001

    本文转自
    http://www.fieldbuses.com/n1016c45.aspx

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1897724


  • 相关阅读:
    17、静态链表
    16、约瑟夫问题
    15、循环链表
    9、插入排序
    14、企业链表
    13、单向链表
    12、顺序表的顺序存储结构
    11、归并排序
    10、快速排序
    原型模式
  • 原文地址:https://www.cnblogs.com/feisky/p/1586620.html
Copyright © 2020-2023  润新知