Modbus RTU 主站

    Modbus RTU 主站指令库

    西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。


    图 1. 西门子标准指令库(STEP 7-Micro/WIN SMART)

     注意:

    1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对 CPU 集成的 RS 485 通讯口 和 CM 01 信号板有效。该指令库将设置通信口工作在自由口模式下。
    2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。
    3. Modbus RTU 主站指令库可以同时应用于CPU 集成的 RS 485 通讯口 和 CM01 信号板,此时集成的RS 485口使用Modbus RTU Master(v2.0)中指令,CM01信号板使用Modbus RTU Master2(v2.0)中指令,如果只有一个主站则不做区分。

    使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器。

    Modbus RTU 主站功能编程

    1. 调用 Modbus RTU 主站初始化和控制子程序

    使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制:


    图 2. 用 SM0.0 调用 Modbus RTU 主站初始化与控制子程序

    各参数意义如下:

    a.
    EN
    使能:
    必须保证每一扫描周期都被使能(使用 SM0.0)
    b.
    Mode
    模式:
    为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议
    c.
    Baud
    波特率:
    支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。
    d.
    Parity
    校验:
    校验方式选择
     
    0=无校验
    1=奇较验
    2=偶较验   
    e.
    Port
    端口号:
    0 = CPU 集成的 RS 485 通讯口 ; 1 = 可选 CM 01 信号板 。
    f.
    Timeout
    **时:
    主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
     
     注意: 这个值必须设置足够大以保证从站有时间响应。
    g.
    Done
    完成位:
    初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作(见例程)
    h.
    Error
    初始化错误代码(只有在 Done 位为1时有效):
     
    0= 无错误
    1= 校验选择非法
    2= 波特率选择非法
    3= **时无效
    4= 模式选择非法
    9= 端口无效
    10= 信号板端口 1 缺失或未组态

     

    2. 调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求;


    图 3. 调用Modbus RTU 主站读写子程序

    各参数意义如下:

    a.
    EN
    使能:
    同一时刻只能有一个读写功能(即 MBUS_MSG)使能
     
     注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行(见例程)。
    b.
    First
    读写请求位:
    每一个新的读写请求必须使用脉冲触发
    c.
    Slave
    从站地址:
    可选择的范围   1 - 247
    d.
    RW
    读写请求:
    0 = 读, 1 = 写
     
     注意:
    1. 数字量输出和保持寄存器支持读和写功能
    2. 数字量输入和模拟量输入只支持读功能
    e.
    Addr
    读写从站的
    选择读写的数据类型
    数据地址:
    00001 至 0xxxx - 数字量输出
     
    10001 至 1xxxx - 数字量输入
    30001 至 3xxxx - 模拟量输入
    40001 至 4xxxx - 保持寄存器
    f.
    Count
    数据个数
    通讯的数据个数(位或字的个数)
     
     注意: Modbus主站可读/写的较大数据量为120个字(是指每一个 MBUS_MSG 指令)
    g.
    DataPtr
    数据指针:
    1. 如果是读指令,读回的数据放到这个数据区中
     
    2. 如果是写指令,要写出的数据放到这个数据区中
    h.
    Done
    完成位
    读写功能完成位
    i.
    Error
    错误代码:
    只有在 Done 位为1时,错误代码才有效
     
    0 = 无错误
    1 = 响应校验错误
    2 = 未用
    3 = 接收**时(从站无响应)
    4 = 请求参数错误(slave address, Modbus address, count, RW)
    5 = Modbus/自由口未使能
    6 = Modbus正在忙于其它请求
    7 = 响应错误(响应不是请求的操作)
    8 = 响应CRC校验和错误
    -
    101 = 从站不支持请求的功能
    102 = 从站不支持数据地址
    103 = 从站不支持此种数据类型
    104 = 从站设备故障
    105 = 从站接受了信息,但是响应被延迟
    106 = 从站忙,拒绝了该信息
    107 = 从站拒绝了信息
    108 = 从站存储器奇偶错误

    常见的错误:

    如果多个 MBUS_MSG 指令同时使能会造成 6 号错误

    从站 delay 参数设的时间过长会造成主站 3 号错误

    从站掉电或不运行,网络故障都会造成主站 3 号错误

    3. 在 CPU 的 V 数据区中为库指令分配存储区(Library Memory)

    Modbus Master 指令库需要一个286个字节的全局 V 存储区。

    调用STEP 7 - Mciro/WIN SMART Instruction Library(指令库)需要分配库指令数据区(Library Memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。

    如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。

    操作步骤:

    1)在指令树的Project(项目)中,以鼠标右键单击Program Block(程序块),在弹出的快捷菜单中选择Library Memory。如图4所示:


    图4. “库存储器”按钮

    2)在弹出的选项卡中设置库指令数据区,如图5所示:


    图5. 缺省情况下是从VB0开始,但要保证该存储器使用地址范围与其他程序使用的地址不能有重叠。按“建议地址”按钮也可以自动分配。

     可以使用 “建议地址” 设置数据区,但要注意编程软件设置的数据区地址,只考虑到了其他一般寻址,而未考虑到诸如Modbus数据保持寄存器区等的设置。应当确保不与其他任何已使用的数据区重叠、冲突。不应重复按 “建议地址” 按钮,否则也会造成混乱。

    关于 Modbus RTU 主站协议库的补充说明

    Modbus 地址

    通常 Modbus 地址由 5 位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus Master 协议库把标准的 Modbus 地址映射为所谓 Modbus 功能号,读写从站的数据。Modbus Master 协议库支持如下地址:

    00001 - 09999:数字量输出( 线圈)

    10001 - 19999:数字量输入(触点)

    30001 - 39999:输入数据寄存器(通常为模拟量输入)

    40001 - 49999:数据保持寄存器

    Modbus Master 协议库支持的功能

    为了支持上述 Modbus 地址的读写,Modbus Master 协议库需要从站支持下列功能:

    表 1. 需要从站支持的功能

    Modbus 地址读/写Modbus 从站须支持的功能
    00001 - 09999
    数字量输出
    功能 1
    功能 5:写单输出点
    功能 15:写多输出点
    10001 - 19999
    数字量输入
    功能 2

    30001 - 39999
    输入寄存器

    功能 4
    40001 - 49999
    保持寄存器
    功能 3
    功能 6:写单寄存器单元
    功能 16:写多寄存器单元

    Modbus 地址和 S7-200 SMART 存储区地址的映射

    S7-200 SMART 通过 Modbus Master 和 Slave 协议库通信时,Modbus 地址和 S7-200 SMART CPU内存储区地址的 映射关系都类似。

    Modbus 保持寄存器地址映射举例:

    Modbus 保持寄存器地址

    40001

    12 34
    4000256 78
    400039A BC

    S7-200 SMART 存储区字寻址

    VW200

    12 34
    VW20256 78
    VW2049A BC

    S7-200 SMART 存储区字节寻址

    VB20012
    VB20134
    VB20256
    VB20378
    VB2049A
    VB205BC

    Modbus 数字量地址映射举例:

    位地址(0xxxx 和 1xxxx)数据总是以字节为单位打包读写。**个字节中的较低有效位对应 Modbus 地址的起始地址。如下图所示:


    图6 . 数字量地址映射举例

    Modbus RTU 主站例程

    为了更好地理解 Modbus 主站的编程,可参考下面的轮询例程。

     注意:

    1. 该例程使用 STEP 7-Micro/WIN SMART 编写,针对端口0。
    2. 该例程仅访问一个从站,多个MBUS_MSG指令轮询执行,若访问不同的从站,可通过改变从站地址来实现。


    上海腾希电气技术有限公司专注于西门子PLC,V90伺服,V20变频器等, 欢迎致电 13681875601

  • 词条

    词条说明

  • 定义 MAC 服务

    定义 MAC 服务如何访问该功能在全局安全功能中,选择条目“防火墙 > 服务 > 为 MAC 规则定义服务”(Firewall > Services > Define services for MAC rules)。含义使用 MAC 服务的定义,可以为特定服务定义简明而清晰的防火墙规则。用户只需要选择一个名称并为其分配服务参数。可以将通过此方式定义的服务分组到一个组名称下。

  • DB BasicData

    DB BasicData该数据块提供*数据管理。其包含必须为所有块集中维护的信息。此外,数据块包含用户记录和连接描述。DB BasicData 借助用户和连接所特有的数据,在所需的预设时间长度内自动生成,然后保存在 CPU 的块目录中。DB BasicData 在每个 CPU 内存在一次。提示DB BasicData 的编号在 TD7 库中,DB BasicData 的编号为 DB127,当此

  • MC-Transformation OB

    MC-Transformation OBDescriptionYou program the user transformation of the Cartesian coordinates and the axis-specific setpoints for the user-defined kinematics in the organization block MC‑T

  • 西门子1500冗余PLC在污水处理厂的应用

    本文介绍了一种基于西门子S7-1500冗余PLC的污水处理厂自动控制系统,介绍了该项目的软硬件设计、上位机WINCC的应用以及网络结构。一、项目简介随着我国经济的*发展,工业化进程越来越快再加上人们生活水品的提高,工业以及生活污水的排放日益增多,如何才能保护水资源让其循环利用达到节能减排,是目前急需解决的,正是污水处理项目对水资源的改善以及人民生活水平的提高有着重大的意义。而冗余的控制系统可以减

联系方式 联系我时,请告知来自八方资源网!

公司名: 上海腾希电气技术有限公司

联系人: 田礼科

电 话: 021-37660026

手 机: 13681875601

微 信: 13681875601

地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼

邮 编:

网 址: shtxjd.cn.b2b168.com

八方资源网提醒您:
1、本信息由八方资源网用户发布,八方资源网不介入任何交易过程,请自行甄别其真实性及合法性;
2、跟进信息之前,请仔细核验对方资质,所有预付定金或付款至个人账户的行为,均存在诈骗风险,请提高警惕!
    联系方式

公司名: 上海腾希电气技术有限公司

联系人: 田礼科

手 机: 13681875601

电 话: 021-37660026

地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼

邮 编:

网 址: shtxjd.cn.b2b168.com

    相关企业
    商家产品系列
  • 产品推荐
  • 资讯推荐
关于八方 | 八方币 | 招商合作 | 网站地图 | 免费注册 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式 | 商务洽谈室 | 投诉举报
粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594
著作权登记:2013SR134025
Copyright © 2004 - 2025 b2b168.com All Rights Reserved