全国服务热线 15021292620

Modbus 库指令

发布:2023-02-16 17:32,更新:2023-11-04 06:00

Modbus 库指令

Modbus 通信概述

Modbus 库功能

安装 STEP 7-Micro/WIN SMART 的同时,还应安装 Siemens Modbus 库。Modbus 库包 含专为 Modbus RTU 通信设计的预组态子例程和中断例程,这使得与 Modbus RTU 主站 和从站设备的通信更为简单。 主站和从站设备都支持通过 RS-485(集成端口 0 和可选信号板端口 1)和 RS-232(仅 限可选信号板端口 1)进行 Modbus 通信。 Modbus 主站指令可组态 S7-200 SMART,使其作为 Modbus RTU 主站设备运行并与一 个或多个 Modbus RTU 从站设备通信。 Modbus 从站指令可用于组态 S7-200 SMART,使其作为 Modbus RTU 从站设备运行并 与 Modbus RTU 主站设备进行通信。 请打开项目树指令分支中的库文件夹来访问 Modbus 指令。在程序中放置 Modbus 指令 时,会在项目中自动添加一个或多个相关的 POU。

Modbus RTU 主站协议


Modbus 主站指令使用以下 CPU 资源: ● 执行 MBUS_CTRL 会初始化 Modbus 主站协议,并使分配的 CPU 端口(0 或 1)专 用于 Modbus 主站通信。 CPU 端口用于 Modbus 通信时,无法再将其用于任何其它用途,包括与 HMI 的通 信。 ● Modbus 主站指令会影响所有与由 MBUS_CTRL 指令分配的端口上的自由端口通信相 关联的 SM 位置。 ● Modbus 主站指令使用中断执行某些功能。 用户程序不得禁用这些中断。 ● Modbus 主站指令程序大小 – 3 个子例程和 1 个中断例程 – 1942 个字节的程序空间用于存储两个主站指令和支持例程 – Modbus 主站指令的变量需要 286 个字节的 V 存储器块。该区域的起始地址由用户 指定,保留给 Modbus 变量。

说明 

要将 CPU 通信端口从 Modbus 改回 PPI,以便可与 HMI 设备通信,应将 MBUS_CTRL 指令的模式参数设置为零 (0)。

Modbus RTU 从站协议

Modbus 从站协议指令使用以下 CPU 资源: ● MBUS_INIT 指令会初始化 Modbus 从站协议,并使分配的 CPU 端口(0 或 1)专用 于 Modbus 从站通信。 CPU 端口用于 Modbus 通信时,无法再将其用于任何其它用途,包括与 HMI 的通 信。 ● Modbus 从站指令会影响所有与由 MBUS_INIT 指令分配的端口上的自由端口通信相 关联的 SM 位置。 ● Modbus 从站指令程序大小 – Modbus 从站指令使用 3 个子例程和 2 个中断。 – Modbus 从站指令需要 2113 个字节的程序空间来存储两个从站指令和支持例程。 – Modbus 从站指令的变量需要 786 个字节的 V 存储器块。该区域的起始地址由用户 指定,保留给 Modbus 变量。

说明

要将 CPU 通信端口从 Modbus 改回 PPI,以便可与 HMI 设备通信,应将 MBUS_INIT 指令的模式参数设置为零 (0)。


Modbus 协议的初始化和执行时间

Modbus RTU 主站协议:主站协议在每次扫描时都需要少量时间来执行 MBUS_CTRL  指令。 MBUS_CTRL 初始化 Modbus 主站(扫描)时,该时间约为 0.2 毫秒,在 后续扫描时约为 0.1 毫秒。

MBUS_MSG 指令执行请求时,扫描时间将延长。 大多数时间用于计算请求和响应的 Modbus CRC。 CRC(循环冗余校验)确保通信消息的完整性。 对于请求和响应中的 每个字,PLC 扫描时间会延长约 86 微秒。 大请求/响应(读取或写入 120 个字)使 扫描时间延长约 10.3 毫秒。 读请求主要是在从从站接收响应时延长扫描时间,在发送 请求时扫描时间延长得较少。 写请求主要是在向从站发送数据时延长扫描时间,在接 收响应时扫描时间延长得较少。


Modbus RTU 从站协议: Modbus 通信使用 CRC(循环冗余验校)确保通信消息的 完整性。 Modbus 从站协议使用预先计算的数值表来减少处理消息所需的时间。 初始 化该 CRC 表大约需要 11.3 毫秒。 初始化在 MBUS_INIT 指令中完成,通常在进入 RUN 模式后扫描用户程序时完成。 如果 MBUS_INIT 指令和任何其他用户初始化 操作所需时间超过了 500 毫秒的扫描看门狗时间,则需要复位看门狗定时器。 输出模 块看门狗定时器通过向模块的输出中执行写入操作来复位。 MBUS_SLAVE 子例程处理请求时,扫描时间会延长。由于多数时间用于计算 Modbus  CRC,所以对于请求和响应中的每个字节,扫描时间会延长约 40 微秒。 大请求/响 应(读取或写入 120 个字)使扫描时间延长约 4.8 毫秒。

Modbus 寻址

通常以 5 个字符值的形式写入 Modbus 地址,其中包含数据类型和偏移量。 个字符 决定数据类型,后四个字符包含值。

Modbus 主站寻址

Modbus 主站指令将地址映射至正确功能,以发送到从站设备。 Modbus 主站指令支持下 列 Modbus 地址: ● 00001 至 09999 是离散量输出(线圈) ● 10001 至 19999 是离散量输入(触点) ● 30001 至 39999 是输入寄存器(通常是模拟量输入) ● (40001 至 49999)和(400001 至 465535)是保持寄存器 所有 Modbus 地址均从 1 开始,也就是说个数据值从地址 1 开始。 实际有效地址范 围取决于从站设备。 不同的从站设备支持不同的数据类型和地址范围。

Modbus 从站寻址

Modbus 主站设备将地址映射至正确的功能。 Modbus 从站指令支持下列地址: ● 00001 至 00256 是映射到 Q0.0 - Q31.7 的离散量输出 ● 10001 至 10256 是映射到 I0.0 - I31.7 的离散量输入 ● 30001 至 30056 是映射到 AIW0 - AIW110 的模拟量输入寄存器 ● 40001 至 49999 和 400001 至 465535 是映射到 V 存储器的保持寄存器。

将 Modbus 地址映射到 CPU 地址

所有 Modbus 地址均从 1 开始。


MBUS_INIT 参数,限制从站可访问性

Modbus 从站协议允许您限制 Modbus 主站可访问的输入、输出、模拟量输入和保持寄存 器(V 存储器)的数目。 ● MaxIQ 指定允许 Modbus 主站访问的离散量输入或输出(I 或 Q)的大数目。 ● MaxAI 指定允许 Modbus 主站访问的输入寄存器 (AIW) 的大数目。 ● MaxHold 指定允许 Modbus 主站访问的保持寄存器(V 存储器字)的大数目。 有关为 Modbus 从站设置存储器限制的详细信息,请参见 MBUS_INIT 指令说明。

浔之漫智控技术上海有限公司在经营活动中精益求精,具备如下业务优势:

 SIEMENS 可编程控制器

  1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-200

  2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等

  3、 SITOP直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A可并联.

4、HMI  触摸屏TD200 TD400C K-TP OP177 TP177,MP277 MP377,

  SIEMENS 交、直流传动装置

联系方式

  • 地址:上海 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 电话:15021292620
  • 销售:颜娟
  • 手机:15021292620
  • 传真:021-33556143
  • 微信:X15021292620
  • QQ:2799536152
  • Email:2799536152@qq.com
产品分类