西门子S7-200SMART的GET/PUT通信 点击:109 | 回复:2



大连德嘉工控

    
  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1072帖 | 1340回
  • 年度积分:436
  • 历史总积分:8496
  • 注册:2009年2月24日
发表于:2023-08-29 13:24:28
楼主

200SMART的GET/PUT通信支持固件版本V2.0及以上,通常用于西门子控制器之间的通信, 200SMART与200SMART/S7-1200/S7-1500;与S7-300/400通信时只能作为服务器。GET/PUT通信固定占用102端口。

200SMART作为客户端时,使用GET/PUT指令或者向导进行编程;作为服务器时不需要进行编程。

使用GET/PUT指令编程通信时,GET指令最大传输222个字节,PUT指令最大传输212个字节;而使用向导进行通信时GET/PUT最大传输都为200个字节。

下面将介绍将以两台200SMARRT进行GET/PUT通信为例,用指令和向导两种方法讲解程序编写。

1、首先介绍用通信指令进行GET/PUT通信

第一步在通信指令中找到PUT和GET指令,如图:

指令通过参数表定义通信参数,在TABLE引脚填写参数表的一个起始字节

具体参数如下表所示:

其中D代表完成;A代表激活(进行中);E代表错误(完成且有错误)

当ERROR为1时可以在错误代码中查看对于错误编号,具体编号对应的错误可以在软件帮助中查看。

以下题为例:本地站IP地址为192.168.0.100;远程站IP地址为192.168.0.101,将本地站从VB200开始的10个字节发送到远程站的VB100开始的10个字节。

首先我们在系统块中设置本地站和远程站的IP地址

然后调用PUT指令

接着定义参数表

最后触发PUT指令即可完成通信,GET指令调用与其相同。

GET/PUT指令同时激活最多16条指令,调用GET/PUT指令占用8个客户端资源,同一IP地址的伙伴设备占用同一资源,同一资源上可以同时PUT和GET。

2、使用向导进行编程

首先打开向导,如图两种方式都可

然后添加操作条目,可以对操作进行一些备注

仍以上题为例,设置操作条目

接着分配存储器地址,点击生成项目组件即可。

最后调用NET.EXE程序块(以下两种方法都可以)

使用SM0.0导通程序块,超时一般选择0,在周期和错误上都先填写一个位,正常情况下周期会在0和1之间变化,错误位为0。

如图所示,数据成功发送,通讯成功。




楼主最近还看过

Dreams_wxg

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:56
  • 历史总积分:56
  • 注册:2023年9月12日
发表于:2023-09-14 09:04:21
1楼

图片都显示不出来


LBX112233

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 722回
  • 年度积分:221
  • 历史总积分:608
  • 注册:2012年5月10日
发表于:2023-09-15 12:07:05
2楼

谢谢分享!学习学习!


热门招聘
相关主题

官方公众号

智造工程师