分享

SINAMICS S120 MODBUS TCP 通讯概述

 阿明哥哥资料区 2020-03-31

01

 Modbus 通讯概述

Modbus 协议是一种基于控制器/设备结构的通讯协议。有以下三种传输模式:

  • Modbus ASCII -通过一个串行接口

数据采用的是ASCII码格式。数据流量比RTU模式低。

  • Modbus RTU- 通过一个串行接口

数据采用的是二进制格式。数据流量比ASCII高。

  • Modbus TCP-通过以太网

数据采用的是TCP/IP数据包格式。TCP端口502预留用于Modbus TCP。

SINAMICS S120只能使用“Modbus  TCP”传输模式。S120可用的控制单元及接口如下:

注:通过Modbus TCP始终会定位到驱动对象列表中的第一位控制驱动对象(p0978[0])。该参数中必须有一个伺服或矢量驱动对象。

  • 仅当p0978[0]中有一个Modbus TCP支持的驱动对象时,才会激活Modbus TCP。

  • 如果p0978[0]没有生效的驱动对象,则输出报警A08555(2)。


02

通过接口X150配置Modbus TCP

S120通过X150(CU320-2 PN或者CU310-2 PN)激活Modbus TCP。

  1. 在驱动对象DO1中设置p2030 =13(Modbus TCP);

  2. 通过p8921设置控制单元板载PROFINET接口的IP地址;

  3. 通过p8922设置标准网关;

  4. 通过p8923设置子网掩码;

  5. 通过p8924设置DHCP模式,此处将其设置为0(DHCP Off);

  6. 通过p8925=2将“激活并保存配置”设为接口配置;

  7. 在调试工具STARTER中检查驱动对象p0978的列表,确定和哪个驱动对象进行通讯,必要时可以通过报文配置修改驱动对象的顺序;

  8. 将设置保存到调试工具STARTER中并重新给系统上电。

通过以下参数在X150接口上设置Modbus TCP通讯:

表1-2   S120 Modbus TCP通讯参数设置

03

通过接口X1400配置Modbus TCP

通过X1400(CBE20)激活Modbus TCP

  1. 在驱动对象 DO1 中设置 p8835 = 5 (Modbus TCP);

  2. 通过 p8941 设置 CBE20 的 IP 地址;

  3. 通过p8942设置CBE20的标准网关;

  4. 通过p8943设置CBE20的子网掩码;

  5. 通过p8944设置CBE20的DHCP模式,此处将其设置为0(DHCP Off);

  6. 通过p8945=2将“激活并保存配置”设为接口配置;

  7. 在调试工具STARTER中检查驱动对象p0978的列表,确定和哪个驱动对象进行通讯,必要时可以通过报文配置修改驱动对象的顺序;

  8. 将设置保存到调试工具STARTER中并重新给系统上电。

通过以下参数在X1400接口上设置Modbus TCP通讯:

表1-3  S120 Modbus TCP通讯参数设置(CBE20)

04

映射表

控制单元中的Modbus寄存器和参数

  • 由于 Modbus 协议包含控制寄存器号或位号,进行存储器的寻址。因此您必须在设备一侧指定对应的控制字、状态字和参数。

  • 有效保持寄存器的地址范围为 40001 至 40722。访问超出该保持寄存器的范围会导致错误“异常码”。

  • 过程数据在寄存器范围 40100 至 40119 之间传输。

说明:

在“访问”列中的'R'、'W'、“R/W”分别表示“读(用 FC03读 )”、“写”(用FC06 写)、“读写(用FC03读/用FC06写)”。

表1-4  Modbus 寄存器和对应的参数-过程数据

表1-5  Modbus 寄存器和对应的参数-参数数据

1) 在 S120 伺服驱动上,参数 p1120 和 p1121 只可与扩展设定值通道同时存在和设置。

2) 直线电机上不支持这些寄存器,因为其单位和取值范围与普通旋转电机不同。

3) 仅当 STARTER 项目中的功能模块“工艺控制器”激活时,才可访问工艺控制器参数。

表1-6  通过DS47访问参数所对应的Modbus寄存器

说明:取值范围受限

Modbus TCP寄存器的最大宽度为16位。任何情况下,显示参数(r参数)的值都不可以显示16位显示。以下情况下会显示可显示的最大值。

  • Unsigned:65535

  • Signed min:-32768

  • Signed max:32767

05

功能代码的读写访问

在Modbus通讯中,控制器和设备之间的数据交换采用的是预定义的功能码。控制单元使用以下Modbus功能码:

  • FC 03:Holding Register,用于从变频器读取数据

  • FC 06:Write Single Register,用于单个寄存器的写入

  • FC 16:Write Multiple Register,用于多个寄存器的写入

Modbus TCP信息的结构

表1-7  结构组成包括Modbus Application Header(MBAP)和功能码

通过Modbus 功能代码03(F03)读任务、06(F06)写任务、16(FC16)写任务以及通过DS47通讯的结构此处不做说明,具体请参考《S120驱动功能手册》Modbus TCP通讯章节。

【西家传动原创】

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多