抖音粉丝群1
『7x24小时有问必答』

本文是Snap7软件包系列教程的第3篇。

在上一篇文章中,我们介绍了S7通信协议中有三种角色:客户端/服务器/伙伴;有两种通信模式:客户端/服务器(Client/Server)模式和伙伴/伙伴(Partner/Partner)模式,最常见的是客户端/服务器模式。

与S7通信中的角色类似,Snap7软件包中包括三个主要的

Snap7Client:S7通信的客户端角色;
Snap7Server:S7通信的服务器角色;
Snap7Partner:S7通信的伙伴角色;
①"类"是面向对象编程中的重要概念,它具有可定义的属性、方法和事件,具有继承性与多态性。类是对象的模板,类的实例就是对象变量。

1.png
本文及后续几篇文章都将介绍Snap7Client类,本文主要介绍如何使用Snap7Client与S7系列PLC建立连接,包括如下几个主题:
S7连接的参数;

Snap7Client可连接的对象;
S7-1200/1500连接的设置;

1、S7连接的条件

使用S7协议连接S7系列PLC需要明确三个参数:远程IP地址、本地TSAP和远程TSAP;
远程IP地址是指要连接的目标PLC的IP地址;
TSAP是"Transport Services Access Point"的缩写,中文翻译为"传输服务访问点"。它是传输层与会话层之间的访问接口,每一个TSAP可以唯一标识一个访问实例。具体来说,在一个传输连接中可能存在多个进程,TASP可以区分不同进程的数据传输,与TCP或UDP协议的端口号(Port)类似,在一些网络应用中可以使用<ip地址><端口号>的方式来表示TSAP。TSAP可以是数字或者字符串,在S7协议中,TSAP是一个16位的字。
从Snap7的1.1.0版本开始,为了支持LOGO!和S7-200系列PLC,Snap7Client允许在连接PLC之前先调用SetConnectionParams()方法来设置本地TSAP和远程TSAP。不过在很多时候,我们使用Snap7Client的ConnectTo方法,该方法只需要给出远程PLC的IP地址、机架号(Rack)和槽号(Slot);
②"方法"是类的函数,调用方法时就会执行该函数。更多内容可以查看“面向对象编程”的资料。

             Rack和Slot是Snap7Client连接的关键,不同类型的PLC其Rack和Slot的定义不同,详见下面的列表:
Snap7Client连接参数

PLC类型

Rack

Slot

备注

S7-300

0

2

S7-400/Win AC

不确定

不确定

见硬件组态

S7-1200/1500

0

0

或0,1

S7-200 SMART

0

1

CP343

0

0

或硬件组态

CP443

不确定

不确定

见硬件组态

Snap7Client的连接使用"ping"机制。
在尝试与远程PLC建立连接之前,Snap7Client首先ping一下对方的IP地址。如果得到回复,则发起S7连接请求;如果超时没有得到回复,则可以判断对方不在线(未通电或线路故障);由于ping机制的超时是固定的,因此可以节省TCP协议不确定的超时时间,使响应更加快速;
  2、Snap7Client可连接的对象

Snap7Client可以连接的对象包括:
S7-300/400 CPU;
S7-1200/1500 CPU;
S7-200/ 200 SMART CPU;
LOGO!CPU;

CP343/443;
WinAC;
SINAMICS变频器(比如G120系列);
Snap7Server;
3、S7-1200/1500连接的设置
由于S7-1200/1500系列PLC采用扩展的S7协议,而Snap7Client使用的是"基本"S7协议,因此在连接这类CPU时需要做一些设置,包括:
CPU的访问级别必须为"完全访问权限",如下图所示:

2.png
CPU的"连接机制"中要勾选"允许来自远程对象的PUT/GET通信访问", 如下图所示:

3.png
对数据块的访问仅限于全局数据块(Global DB),并且需要取消勾选"优化的块访问",如下图所示:

4.png
好了,关于Snap7Client的连接条件及相数设置就先介绍这么多。下一期文章我们介绍Snap7Client的三个方法:ConnectTo()、SetConnectionParams()和Disconnect()。
我最近开通了微信视频号,以视频的方式分享一些工控小知识,欢迎扫描下方的二维码观看:
5.png
</ip地址>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码