两台西门子 SMART 如何进行MODBUS TCP通信(附程序)?

Modbus TCP通信结合了TCP通信和Modbus RTU通信的优点,西门子编程软件提供了免费的通信库,使Modbus TCP通信变得超级简单方便。

本文给大家介绍两台西门子SMART ST30进行modbus tcp以太网通信程序的编写。

要求如下:

1、将客户端的VW100开始的10个字写到服务器的VW50开始的十个字中。

2、将服务器的VW100开始的10个字中的数据读取到客户端的VW50开始的10个字中。

第一编写客户端的程序,以太网通信属于全双工通信模式,通信双方都可以发送数据和接收数据,而且发送和接收都可以同时进行,在本例中,发送数据程序和读取数据程序写到一个PLC中。

两台西门子 SMART 如何进行MODBUS TCP通信(附程序)?

两台西门子 SMART 如何进行MODBUS TCP通信(附程序)?

在MODBUS_CLIENT程序中,

EN:使能;

Req:发送通信请求,ON允许通信,OFF禁止通信;

Connect:建立连接,ON连接,OFF断开;

IPAddr1-4设置的是服务器的IP地址;

IP_PORT指的是客户端尝试连接、且随后使用 Modbus TCP 进行通信的服务器的端口号;

RW指示该操作是读还是写;

Addr指的是要读或者是写的服务器的起始地址;

COUNT:个数;

DataPtr指客户端的起始地址。

二、服务器程序如下:

两台西门子 SMART 如何进行MODBUS TCP通信(附程序)?

IP_Port:服务器物理端口号;

MaxIQ:开放可访问IQ点数量;

MaxAI:开放可访问AI数量;

MaxHold:开放可访问V区字数,不能与库存储区分配地址产生重叠;

HoldStart:V区开放起始地址。

Holdstart:保持区起始地址。即MODBUS地址40001对应的VW地址。&VB0则表明40001代表VW0,&VB100则表明40001代表VW100。

注意:一台服务器不能连接多台客户端,但是服务器又可以作为客户端与其它服务器通信。每台服务器只能定义一个端口,不同服务器的端口可以一样。

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

© 版权声明

相关文章

7 条评论

  • 头像
    宁婉清 读者

    modbus tcp

    无记录
    回复
  • 头像
    超级小妄- 读者

    485的有库没

    无记录
    回复
  • 头像
    开衫人参几度重生 读者

    smart 200 直接用put /get 指令就行了 不用这么复杂 几十台plc 都很方便的

    无记录
    回复
  • 头像
    元气桃园 读者

    技成

    无记录
    回复
  • 头像
    导购的 读者

    这个要轮询吧

    无记录
    回复
  • 头像
    七七旧时光 读者

    继续加油💪

    无记录
    回复
  • 头像
    竞圈瓜瓜乐 投稿者

    收藏了,感谢分享

    无记录
    回复