故事作者:HuYudian

最近创作

看看TA的故事

1200与200smart通过以太网通讯

已锁定

HuYudian

西门子1847工业学习平台

  • 帖子

    25
  • 精华

    0
  • 被关注

    1

论坛等级:游侠

注册时间:2018-12-23

普通 普通 如何晋级?

1200与200smart通过以太网通讯

2191

2

2021-10-21 11:06:46

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-1200与S7-200 SMART PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。

注意:
1.S7-200 SMART CPU 与S7-1200 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。
3.本文只介绍了S7-1200侧调用PUT/GET指令编程方式(S7-200 SMART CPU作为服务器方,无需编程),未介绍S7-200 SMART侧编程调用PUT/GET方式

本文以采用1个CPU1215C(6ES7215-1AG40-0AB0),1个S7-200 SMART PLC为例,介绍它们之间的S7通信。
硬件:
① S7-1200 CPU
② S7-200 SMART CPU (固件V2.0)
③ PC (带以太网卡)
④ TP以太网电缆
软件:
① STEP7 V15.1
② STEP 7 Micro/WIN SMART V2.1
所完成的通信任务:
① S7-1200 将通信数据区 DB2 中的11 个字发送到 S7-200 SMART的VB 数据区。
② S7-1200 读取 S7-200 SMART中的VB数据区9个字存储到S7-1200 的数据区DB7 。

 

1.      使用TIA V15 软件新建一个项目,添加1个S7-1200站点并为其分配网络和IP地址 ,如图1.所示。

网络视图中点击连接,选择S7连接使得CPU高亮,反键点击添加新连接,

选择未指定点击添加。

单机右侧连接,S7连接,属性,如下图,填写200s的IP

TSAP如下图

 

编程

1 .创建发送数据块DB1(接收区数据块DB2类似),数据块定义为200个字节的数组且数据块的属性中需要取消"优化的块访问"选项

注意:S7-200 SMART中V区对应于DB1,即在PUT指令中使用的通信伙伴数据区ADDR_1=P#DB1.DBX0.0 BYTE 200在S7-200 SMAR中对于为VB0~VB199。
本文档中S7-200 SMART 做S7通讯的服务器,占用S7-200 SMART PLC 的服务器连接资源,S7-200 SMART PLC 本身不需要编写通讯程序。
S7-1200 与S7-200 SMART S7 通讯的另外一种方法是S7-200 SAMRT PLC做客服端,S7-1200做服务器。该方式需要S7-200 SMART调用PUT/GET指令,S7-1200侧不需要编写通讯程序。

地址起始可以不一致,但长度需要一致,而且该长度的数据应该在数据块中建立方可在语句中调用。

1.    连接状态监控
S7连接成功的建立是调用PUT/GET指令的基础,S7连接成功建立后,方能正确执行PUT/GET指令。
在TIA 软件的网络视图中,将软件切换到在线模式,可以监控S7连接状态,

表1.PUT 指令参数说明

CALL   “PUT”

   

, %DB3

   

//调用 PUT,使用背景DB块:DB3

   

REQ

   

:=%M0.0

   

//上升沿触发程序块的调用

   

ID

   

:=W#16#0100

   

//连接号,要与连接配置中一致,创建连接时的连接号,即本地ID

   

DONE

   

:=%M2.0

   

// 为1时,发送完成

   

ERROR

   

:=%M2.1

   

// 为1时,有故障发生

   

STATUS

   

:=%MW4

   

// 状态代码

   

ADDR_1

   

:=P#DB1.DBX0.0   BYTE 200

   

// 发送到通信伙伴数据区的地址,对应S7-200 SMART VB0-VB199

   

SD_1

   

:=P#DB1.DBX0.0   BYTE 200

   

// 本地发送数据区

   

表2.GET指令参数说明

CALL   “GET”

   

, %DB4

   

//调用 GET,使用背景DB块:DB4

   

REQ 

   

:=%M0.1

   

//系统时钟 2秒脉冲

   

ID

   

:=W#16#0100

   

//连接号,要与连接配置中一致,创建连接时的连接号,即本地ID

   

NDR

   

:=%M2.2

   

//为1时,接收到新数据

   

ERROR

   

:=%M2.3

   

//为1时,有故障发生

   

STATUS

   

:=%MW6

   

//状态代码

   

ADDR_1

   

:=P#DB1.DBX200.0   BYTE 200

   

//从通信伙伴数据区读取数据的地址,对应S7-200 SMART VB200-VB399

   

RD_1

   

:=P#DB2.DBX0.0   BYTE 200

   

//本地接收数据地址

   


1200与200smart通过以太网通讯 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3364条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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