单个S7-1200做客户端,和多个服务器做Modbus TCP通讯

已锁定

小尹先生

  • 帖子

    38
  • 精华

    2
  • 被关注

    12

论坛等级:侠客

注册时间:2012-04-07

普通 普通 如何晋级?

单个S7-1200做客户端,和多个服务器做Modbus TCP通讯

17534

6

2024-05-17 16:40:19

       以前看S7-1200的帮助手册,成功做了S7-1200做客户端(主站),和其他上位机做服务器(从站)的程序。但是最近碰到个用户提出来一个问题,就是使用同一个S7-1200的PLC,然后需要和多个上位机进行Modbus TCP通讯。我查了一下S7-1200的系统手册,这个好像是可行的。那么就实际编程测试一下。

       首先肯定也是要划分谁是主,谁是从。这里就规化S7-1200做客户端,使用客户端Client指令。其他上位机做服务器。因为这里我没那么多上位机和PLC。所以用了1台笔记本,使用Modbus Slave软件,通过切换IP的方式来实现多个服务器的模拟。

程序编写:

(1)编写多个客户端程序。这里以2个为例。编写Client1程序和Client2程序时,需要用到不同的DB块,可以使用【多重背景】功能。



     

(2)两个指令需要建立2个独立的TCON_IP_v4数据类型



程序调试:

(1)使用Modbus Slave调试助手,修改本地IP和Modbus Slave的参数。也可以使用多台电脑或多个虚拟机进行测试。

Client1测试时


Client2测试时



程序测试监控:

状态字显示16#7002,说明:通讯待机成功。

状态字显示16#7006,说明:与上位机建立连接成功,这个时候就可以读写字节,因为这里用的是客户端指令,所以程序里读,写命令用单独的Client指令,使用同一个DB,但是要使用“轮询”。



S7-1200系统手册参考内容:










单个S7-1200做客户端,和多个服务器做Modbus TCP通讯 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15468条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。