欢迎添加工控笔记微信公众号和站长微信,交流讨论,共同进步!
正文
S7通信介绍:
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。 经过测试发现S7-300/400通过集成的PN口或CP343-1/CP443-1与S7-200 SMART PLC 之间的S7通信也是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令。
注意: 1.S7-200 SMART CPU 与S7-300/400 CPU 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担! 2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。 3. S7-300/400若采用CP通信时,则需要采用Standard或Advanced类型通信模块,CP343-1 Lean模块不支持。 4.本文仅介绍S7-300集成PN口与S7-200 SMART CPU S7通信。
本笔记采用的是S7-315CPU+CP343-1模块与SMART进行S7以太网通信
型号:
S7-300:315-2DP
CP模块:CP 343-1 IP地址:192.168.0.202
S7-200MART:SR20 IP地址:192.168.0.30
注:只需要在STEP7中编写程序,SMART中不需编写任何程序。
STEP7中组态网络设置,
项目界面中,点击“组态网络”
选中CPU,然后再下弹出的链接栏中右键“插入新连接”
选择“未指定”“S7连接”,然后点击“应用”
设置本地ID号(默认为1),伙伴(S7-200SMART)的IP地址
点击“地址详细信息” 设置伙伴的TSAP号为“03.01”(此项经过测试,其他号码未测试)
设置完成,编辑
编辑完成无错误后,下载配置(会重启CPU)
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。 S7-300/400通过以太网接口与S7-200 SMART PLC 之间的S7通讯经过测试是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令。
S7-400 | S7-300 | 描述 | 简要描述 |
SFB 14 | FB 14 | 读数据 | 单边编程读访问。 |
SFB 15 | FB 15 | 写数据 | 单边编程写访问。 |
FB14参数说明
参数 | 描述 | 数据类型 | 存储区 | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿触发调用功能块 |
ID | INPUT | WORD | M、D、常数 | 地址参数ID |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 为1时,接收数据成功 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 接收到新数据 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代码 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D
I、Q、M、D、 T、C |
从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。 |
S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站接收数据地址 |
FB15参数说明
参数 | 描述 | 数据类型 | 存储区 | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿触发调用功能块 |
ID | INPUT | WORD | M、D、常数 | 地址参数 |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 为1时,发送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 为1时,有故障发生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代码 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D
I、Q、M、D、 T、C |
从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。 |
S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D
S7-400 I、Q、 M、D、T、C |
本站发送数据地址 |
此笔记测试的是CP343,故选择“SIMATIC_NET_CP”—FB14/FB15
按照如下编写程序
注:对应的发送接收DB块需要提前配置足够的地址。
测试
写入SMART中VB0“1” VB9“2”
会自动将数据读取到DB3.DBB0及DB3.DBB9
再分别写入“1”到DB3.DBB10与DB3.DBB19中
查看SMART中数据