[西门子] 西门子S7-1200 s7通信

[复制链接]
查看176 | 回复0 | 2024-4-30 14:32:54 | 显示全部楼层 |阅读模式
点击“PLC免费学习”
关注我哟
☀定期推送帐号行业相关资讯,设备操作问题分析,初入行业学习方法等诸多优质内容,关注我们妥妥没错!
(详情咨询工业帮-马老师,QQ:2903518374 咨询电话:17771449329)


1. S7通讯特点
1) S7协议是西门子专有协议,广泛用于各种通讯服务,例如:PG通讯,OP通讯,S7通讯等;
2) S7协议独立于西门子各种通讯总线,可以在MPI,PROFIBUS,Ethernet上运行;
3) S7协议是由多种应用层协议组成,或者说S7协议是一个多种协议的集合;
4) S7通讯在以太网上的底层协议根据应用的不同使用ISO或ISO on TCP。

2. S7-1200 S7 连接资源
软件:
1) PORTAL V10.5软件,只支持 S7 通信的服务器(Sever)端。
2) TIA PORTAIL V11软件,支持 S7 通信的服务器与客户端。
3) TIA PORTAIL V12软件,支持 S7 通信的服务器与客户端。
硬件
1) 硬件版本 V1.0,3个用于 S7 通信的服务器端连接。
2) 硬件版本 V2.0或更高,支持3个用于 S7 通信的服务器端连接,8个用于S7 通信的客户端连接。  

3. 关于TSAP
        当建立了一个连接时,模块中专用于连接的资源会分配给该连接。 该分配要求连接资源可以被寻址。 TSAP(Transport Service Access Point,传输服务访问点 ) 是通过连接资源或(在使用固件版本为 V2.0 或更高的 S7-1200 CPU 的情况下)SIMATIC-ACC(SIMATIC Application Controlled Communication,SIMATIC 应用控制通信) 而形成的资源的地址。
        S7-1200 CPU的TSAP组态取决于相关固件和远程连接伙伴。当S7-1200 CPU与S7-200/300/400 CPU进行连接时,S7-1200 CPU也会使用一个包含连接资源的TSAP组态。

4. S7通信编程
1) 使用 STEP7 V11/V12,S7-1200的PROFINET 通信口仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
2) S7-1200 CPU的S7通信使用PUT, GET指令
3) S7-1200 CPU 不能访问远程 S7-1200 CPU 的优化 DB 中的DB 变量。
4) 必须确保PUT, GET指令的ADDR_x与RD_x或SD_x参数的长度和数据类型相匹配。

5. PUT/GET指令
1) 对于 GET: 从下次扫描开始,远程 CPU 会将请求的数据返回接收区 (RD_x)。 当读操作顺利完成时,NDR 参数设置为 1。只有在完成前一个操作后,才能开始新的操作。
2) 对于 PUT: 本地 CPU 开始将数据发送 (SD_x) 到远程 CPU 中的存储位置(ADDR_x)。 写操作顺利完成后,远程 CPU 返回执行确认。 然后,PUT 指令的DONE 参数设置为 1。只有在完成前一个操作后,才能开始新的写操作。
注意:
1) 从以上可以看出S7通讯与TCP通信的不同, TCP通信如果接收方没有正常接收,发送方DONE位仍会置1,即发送方不知道通信是否真正成功,这也是为什么说S7通信比TCP通信安全的原因。
2) 为确保数据的一致性,应始终在访问数据或启动另一读/写操作前评估已经完成的操作(对于 GET 评估 NDR = 1;对于 PUT 评估 DONE = 1)。

6. S7-1200之间S7通信故障测试
        如果访问远程优化的DB块,指令执行后会报错,状态位故障代码8。如果是不存在的DB块或者如果远程1200的DB块有效长度不满足本地ADD_R引脚定义,也报同样故障。

7. S7-1200 S7 通讯数据长度
        通过GET指令可接收的字节总数或者通过PUT指令可发送的字节总数有一定的限制。







点击下方“阅读原文”查看更多↓↓↓




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则