电力-ModBus_RTU通讯规约1

      最后更新:2022-04-24 03:39:59 手机定位技术交流文章

      目录:
      一、简介
      1、简介
      2. 对ModBus通信议定书的基本知识
      3. 表1和表2中的词语定义
      二、传播信息的过程
      1.1 地址码
      1.2 功能码
      1.3 数据区
      三. 功能性机动车辆代码
      三.1函数代码“02”:改为输入的一个或多个电路开关 状态
      3.2 函数代码“01”:读出一个或多个电路开关的输出状态。
      功能代码"03"读数 注册输入。
      3.4.4 函数代码“ 05” : 输入 1 电路开关输出( 遥控)
      函数代码"06": 创建一个单电路登记册 。
      3.06 函数代码10:创建多路发送器
      函数代码 "03" : 读事件日志
      四. 误差核对(《儿童权利公约》检查)
      五、讨论信息错误和通信数据
      -------------------------------------------------------
      “Modbus - 国家标准 - 完整版本, Modbus_ RTU 特制通信示例,以及 Modbus TCP_IP Protocol Guidelines”, 是我的100度网络磁盘的适当参考搜索。
      --------------------------------------------------------------------------------------------------------------
      一、简介
      1、简介
      《ModBus通信法》允许在PDM系列仪器/传送器和编程序列控制器、RTU、SCADA、DCS或ModBus兼容监测系统之间交流信息和数据转让,这些系统来自各种国际知名制造商,包括Schneider、Siemens、AB和GE。
      在PDM系列仪器/传送器中只增加了一个基于计算机(或工程控制)的监测程序。(例如,集团国王、Intouch、Fix、synall等。 )可能是电子监视系统
      根据《ModBus宪章》,数据传输有两种方法:HEX代码和ASCII代码。使用了ModBus-RTU和ModBus-ASCII协议。前者为数据传送,后者必须先将数据转换为ASCII,然后再发送。因此,ModBus-RTU协议提高了通信效率。处理简单,使用得更多。
      ModBus TCP/IP是以ModBus Ethernet为基础的RTU模型扩展。

      ----------------------------
      广泛的系统集成:
      PDM系列仪器/传送器支持工业标准RS-485/422通信界面和ModBus通信协议,在国内外广泛使用。系统整合的要求包括电力、工业和监管部门。
      ----------------------------
      通信数据类型和格式:
      主要台站与该台站之间传送的通讯信息为11位数,以文字格式交换。主要台站与该台站之间传送的通讯信息为11位数:
      字格式(串行数据)
      11位二进制
      起始位
      1位
      数据位
      8位
      奇偶校验位
      第一位置:奇迹校准/否:无奇数校准
      停止位
      1个奇迹校准点,2个无奇迹校准点,2个无奇迹校准点
      通信数据格式(信息框架)
      数据格式:
      地址码
      功能码
      数据区
      错误校检
      数据长度:
      1字节
      1字节
      N字节
      CRC 代码(冗余循环代码) 16 位元的 CRC 代码(冗余循环代码)
      1) 1字节由8位数二进制组成(均为8位数)
      2) ModBus是Modicon注册商标。
      3) 在本案文中,“机器产生的”指PDM和PDM。
      ----------------------------
      用于确定 Modbus 数据框架结尾的技术: Modbus 协议基于 3. 您是否在五个字符内接收数据, 以确定是否接受在 RTU 方法下完成 。
      序列数据一般为11位数格式,然后是3:5个字符为3.5*11=38:5。如果没有校验,请使用10位数的单词格式,然后是3:5个字符为..
      3.5*10 = 35 个位。
      波特率的定义是每秒的二进制位数,例如,每秒9,600bps. 9,600个位置,然后是38.5个二进制位数的延迟时间:
      Modbus_RTU需要一个数据框架,从开始到结束至少三次(385/9.6=4.0104167 mS)。
      给定时器3.5个字符(如可行则更多),然后在接收中断服务程序的序列中,为计时器的计时器登记簿零,然后重新打开。
      如果在开始时没有收到最后一个字节, 当下一个字节到来时, 计时器将被重置为零 。
      定时器的到来将使定时器破入定时器,表明数据收集工作已经完成。
      -------------------------------------------------------
      2. 对ModBus通信议定书的基本知识

      以下是代码01 16 100 1234ABCD的含义:
      在100地址,写1234 到地址01控制器。
      地址领域:来自空间站的地址,例如仪器,这是其通信地址;
      这就是你要做的,函数代码。因为连接的目的是读写数据, 只有两个 ModBus 函数代码通常被我们使用。就是读和
      写。读 函数代码为 03, 函数代码为 16 。 必须指出, 这里的所有读数和写法都是 16 个位置, 即 WORD (包括数据地址和数据) 。
      功能码如表2。
      ----------------------------
      表1显示了ModBus的功能代码。
      功能码 名称 作用
      1 0x01 读取线圈状态 确定一组逻辑coils (ON/OFF) 的当前状态 。
      2 0x02 读取输入状态 确定一组开关输入的当前状态(ON/OFF)。
      3 0x03 读取保持寄存器 从一个或多个文件夹获取当前二进制值 。
      4 0x04 读取输入寄存器 从一个或多个输入库获取最新的二进制值 。
      5 0x05 强置单线圈 延长逻辑卷圈断裂状态
      6 0x06 预置单寄存器 装入带有适当二进制值的持有登记簿 。
      7 0x07 读取异常状态 用户逻辑可以建立8个内部圈的断裂状态,其地址由控制器选择,以表明该简短信息可以被快速读取。
      8 0x08 回送诊断校验 设备发送诊断核查报告,供检查,以便进行通信处理。
      9 0x09 (484)(484)(484) 主机程序程序员被调动起来 电脑机的逻辑被改变
      10 0x0A 问题(484) 主机将能够与机器进行中的长期程序工作连接,以确定机器是否完成了其日常工作,只有在发出含有功能代码9的信息后,才能提供该功能代码。
      11 0x0B 读取事件计数 主机可提出单一查询,以确定操作是否成功,特别是如果命令或其他答复造成通信错误。
      12 0x0C 读取通信事件记录 另一方面,主机从每个ModBus服务处获得通信事件记录(例如,发送53条信息),如果处理问题,记录包含有关的错误。
      13 0x0D (184/384 484 584) 使主机能够模仿程序员功能,以便使用机器逻辑改变个人电脑。
      14 0x0E 索取资料的请求(184/384,484,584) 主机将能够与当前操作员联系,并询问程序是否定期完成,该函数代码只有在含有函数13的电文后才能发送。
      15 0x0F 强置多线圈 连续连续的逻辑循环被拉长。
      16 0x10 预置多寄存器 将单一的二进制值装入连续持有记录器链。
      17 0x11 报告从机标识 安装的种类及其运行信号的状态将由主机决定。
      18 0x12 密克罗84(884和84) 然后主机可以模仿编程功能 并调整PC状态逻辑
      19 0x13 重置通信链路 发生不可更改的错误后,您将处于已知状态,可以重置顺序字节。
      20 0x14 检查通用参数(584L)。 显示扩展内存文件中的数据信息 。
      21 0x15 584L 通用参数书写 将共同参数添加或编辑到扩展存储文件 。
      22~64 保留作扩展功能备用
      65~72 只保留用户功能。 更广泛的用户功能编码
      73~119 非法功能
      120~127 保留 留作内部作用
      128~255 保留 用于异常应答
      ----------------------------
      表2列出了ModBus的功能代码和数据类型。
      代码 功能 数据类型
      1
      2
      3 整型、 字符型 状态字 浮点型
      4 整数、状态和浮动点数据类型
      5
      6 整数、 字符、 状态和浮点数
      8 N/A “回馈反馈”的讯息反复重复。
      15
      16 整型、 字符型、 状态字、浮点型
      ----------------------------
      表3、Modbus寄存器
      寄存器种类 说明 PLC类比 举例说明
      离散输入
      状态DI
      输入端口。 使用外部设置更改输入状态, 外部设置可读但不可写入 。 DI数字量输入 面板键、开关状态和断电状态
      线圈状态DO 输出端口。 您可以配置港口的输出状态, 读取港口的输出状态, 并将其分为两个单独的执行状态, 如保留类型或边界触发类型 。 DO数字量
      输出
      电源关闭控制信号电磁阀门输出
      LED显示等
      保持
      寄存器AO
      部分输出参数或维护参数是随着控制器的运行而设定的。
      可读可写
      AO模拟量 可模拟PID运行参数和质量输出设定值。
      输入
      寄存器AI
      当控制器在操作时,请输入从外部设备中收集的参数。
      可读但不可写
      AI模拟量输入 模拟量输入
      摩布斯协议具体规定了四种基本数据类型:只读位数据DI 可读写位数据DO 只读16位数据AI AO 16 位读/写数据 这些数据分别被称为输入状态 线圈状态 输入寄存器 保持寄存器
      DI 数字输入、离散输入、带有数据位置的地址,用户只能读而不是编辑。
      比如面板键、开关状态和断电状态
      DO 用户可以查找、重置和读取数字输出、卷圈输出和带有数据空格的地址。
      例如电磁阀输出、电源关闭控制信号、LED显示等等。
      AI 模拟输入, 输入登记器, 16 位地址, 仅使用用户, 不可修改, 例如, 电压读取
      AO 模拟输出, 保存一个登记册, 一个 16 位地址, 用户可以输入或读回信息, 如控制变压器的当前值 。
      无论对象的名称是什么,其内容是一样的;进入该对象的信号用户只能看到它不能修改,但控制输出的信号用户可以读回它。离散的
      只有一个数据点和16个模拟数据点。
      ----------------------------
      数据是我们传递的信息, 对我们来说,这是故事的结束。我们正在发送的信息, 我们要告诉电台的信息, 是100,1234, 这是..
      分两部分:地址和内容。当一个站点与大楼的地址区域作比较时,号码是大楼的号码,数据中的地址是大楼的房间号码。
      这是变压器的参数地址。 所以这个框架可以理解: 通知第 01, 1234号大楼的100个房间, 将100个参数写到 1 1, 1234 的变压器上。 错误检查 :
      在我们的实际应用中,双方商定的许多计算方法提供了防止错误的保障,即附带核查、奇点核查、停止地点等等。
      ABCD是胡思乱想的,这是无法理解的
      -------------------------------------------------------
      3. 表1和表2中的词语定义
      1)功能码含义
      读:
      01_ DI: 读取内部位元输出状态, 例如 。 提醒、 异常、 故障、 奇异等
      02_DO: 读取外部开关输入的状态, 例如。 相片组合输入、 中继输入等等 。
      03_AO:读取内部输出内存,例如配置参数、值读数等等。
      04_AI:阅读外部输入登记册; 例如,模拟温度和湿度等外部电压模拟模拟。
      功能代码01和02结合使用8字节阅读,也可与功能代码04一并阅读; coil 可以直接定义为一个变量的位数或一个变量的位数 。
      写:
      函数代码 05: 显示内部个体开关的状况; 例如, 相片组合输出、 中继输出等等 。
      函数代码 06: 写入内部个人登记册的价值; 例如, 更改配置设置、 固定值等
      函数代码 15: 记录内部多开关的状态, 如 05 。
      函数代码 16: 与 06 一样, 写几个内部仓库的值 。现在是时候使用此函数代码来写一个以上的注册簿了。
      12: 通信超时或错误查询
      13:对机器故障和不合规定之处的调查
      ----------------------------
      2)关于实现
      创建一个可变区域,例如 Quint modbus_data [50],然后是维护和输入登记册的人,具体如下:
      维护登记册:M3001-M30022//保存设置的参数,读3和写16。
      插入登记册:M4001-M40028/ 保存实时数据,例如启动、运行和停止 4:00读取备用代码和误差代码。

      #define M30001  modbus_data[0]
      #define M30002  modbus_data[1]

      …………

      #define M30021  modbus_data[20]

      #define M30022  modbus_data[21]

      #define M40001  modbus_data[22]

      #define M40002  modbus_data[23]

      …………

      #define M400021  modbus_data[48]
      #define M400028  modbus_data[49]
      对不起,Amobbs.Com/thread-339982-2-1.html提供更详细的信息。
      --------------------------------------------------------------------------------------------------------------
      二、传播信息的过程
      当发件人(主机)向接收装置(机器)发送通信指令时,相应的地址代码从机器接收该指令,并读取基于功能代码和相关要求的信息,如果核实CRC准确无误,则开展适当的工作,并将执行结果(数据)送交接收人。返回的信息包含地址代码、功能代码、执行后数据以及《儿童权利公约》核查代码;如果发生错误,则不返回任何信息。
      1.1地址码
      地址代码是每个通信信息框架的第一个字节( 8 位元), 范围从 0 到 255 。 这个字节表示主机发送的信息将由服务器在用户指定地址接收 。每个计算机必须有一个独特的地址代码, 只有一台符合地址代码的机器才能对返回信息作出反应。主机提供的地址代码表示发送信息的地址,而从飞机上返回的地址代码则显示信息发送的地址代码。相应的地址编号显示信息来源。
      -------------------------------------------------------
      1.2功能码
      在每个通信框架传输过程中,功能代码是第二个字节。《ModBus通讯法》允许对职能守则的定义从1至127不等。仅使用了PDM系列仪器/传送器功能代码的一个子集。作为主机请求发送,指示机器使用函数代码执行什么操作 。作为从机响应,机器提供的函数代码与主机给出的代码相同。它还表明,计算机对主机作出了反应,有关程序已经完成。
      Modbus 部分函数代码(表1)
      功能码
      定 义
      操 作(二进制)
      0x02
      读开关量输入
      输入数据,读取电路开关的全部或一个子集。
      0x01
      读开关量输出
      读取电路开关的全部或一个子集的输出状态数据。
      0x03
      读寄存器数据
      从一个或多个仓库读取信息 。
      0x05
      写开关量输出
      它管制所有继电器的输出。
      0x06
      写单路寄存器
      将二进制数据的收集放入单一的登记册。
      0x10
      写多路寄存器
      将多个二进制文件放入不同的仓库 。
      -------------------------------------------------------
      1.3数据区
      数据区域具体说明飞机将归还何种类型的信息以及将采取哪些行动。这些资料可以是数据(例如,交换输入/产出、模拟体积输入/产出、登记等),参考地址等等。例如,函数 03 指示主机从服务器上返回内存( 起始地址是读取登记册和读取登记册的长度) 。,返回的数据包括登记册的数据长度和内容。对于不同的从机,地址和数据细节不匹配(应提供电文表)。
      PDM系列的仪器/传送器使用摩布斯通讯议定书。使用主机(PLC、RTU、PC、DCS等)通信命令(职能03)其数据记录可随时查看(附录中载有更完整的数据信息表)。PDM系列仪器和发射机可持有数百个电池(例如电流、电压、电、0-31校准等)而且是16位二进制的一次(就不同种类能源的数量而言)可读登记注册人数最多的是50人。
      PDM 响应的指令格式由机器地址、 功能代码、 数据区和 CRC 代码组成。 数据区的数据为两字节长( 除电能外 ) 。
      注:
      1. PDM-820AC/ACM/ACM/ACR和PDM-800AC/ACM,功能代码为“03”、“06”和“10”;
      2. 如果PDM通过MODBUS ASCII协议进行通信,通信数据格式如下:7个数据位置,1个停止位,选择检查。
      --------------------------------------------------------------------------------------------------------------
      三. 功能性机动车辆代码
      3.1 函数代码“02”:读作一个或多个电路开关的输入状态。
      例如,主机主机应改为地址01,开关应改为输入状态DI1-DI4。读取 警告,正向变化, 故障,异常等等。
      机器数据登记册的地址和数据如下:
      起始位地址
      DI 登记册的数据(以十六进制)
      备 注
      0000
      0B
      在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/22793.html

            热门文章

            文章分类