西门子ET200S Modbus模块作为主站与其他的Modbus从站设备通讯 点击:5742 | 回复:4



西门子工控技术

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 124回
  • 年度积分:0
  • 历史总积分:886
  • 注册:2010年5月26日
发表于:2012-08-26 10:29:49
楼主

我们通过西门子ET200S Modbus模块作为主站与Modbus从站设备进行通讯,通过实践很好地解决了实际问题.

1. 在西门子的ET200S 的Modbus模块中,设置参数如下: 波特率为19200, 数据位固定为8为,校验为even校验,停止位为1位;

2. 在Modbus从站设备中通讯参数的设置与ET200S的Modbus主站参数设置要一致即可;

3. 在西门子Step 7 软件中,安装Modbus通讯的软件插件,安装完成后,在程序编辑器中会有ET200Ssi的功能库;

4. 开始编写程序;

    我们主要用到了FB2和FB3(即接收和发送功能块)来进行编写通讯程序.

        CALL  "S_SEND_SI" , DB100
       REQ    :=
       R      :=
       LADDR  :=
       DB_NO  :=
       DBB_NO :=
       LEN    :=
       DONE   :=
       ERROR  :=
       STATUS :=
       COM_RST:=

      CALL  "S_RECV_SI" , 101
       EN_R   :=
       R      :=
       LADDR  :=
       DB_NO  :=
       DBB_NO :=
       NDR    :=
       ERROR  :=
       LEN    :=
       STATUS :=
       COM_RST:=
    通过这两个功能块就可以往Modbus模块的串口发送和接收数据.

 

5. Modbus的功能号:

    A. 功能号01,可以从从站中读取位数据,格式为: 从站地址 功能号 始起地址 读取的位数 数据长度6

            比如读取从站01站的从64开始的16个位: B#16#01 B#16#01 W#16#0040 16   06

            即可

            返回的数据格式是:    数据(一个WORD)字.

 

    B. 功能号03, 从从站中读取数据存储器的内容.格式为: 从站地址 功能号 始起地址 读取的寄存器数 数据长度

 

    等等这些信息,这里就不一一介绍,可以参考相关的书籍和杂志.




余 辉

  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3350帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2012-08-26 13:41:27
1楼
学习鸟    本人是菜鸟    来学习

shenhaiyu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 182回
  • 年度积分:0
  • 历史总积分:331
  • 注册:2012年7月31日
发表于:2013-02-22 14:33:54
2楼
楼主好人啊 !学习了,没试验过ET200S的modbus通讯模块,现在要做这方面的通讯!怎么联系你楼主?

西门子工控技术

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 124回
  • 年度积分:0
  • 历史总积分:886
  • 注册:2010年5月26日
发表于:2013-03-30 10:02:59
3楼

联系QQ:  438169323

看星星的鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2015年1月23日
发表于:2016-03-24 03:07:25
4楼

要是不用Modbus,选择自由口,是不是就不用FB2-FB3了


热门招聘
相关主题

官方公众号

智造工程师