北岛夜话
原创工业智能控制领域(PLC、单片机、嵌入式、机器人、通信)的技术及经验分享。
文章306 浏览2022180

基于Snap7使用C#编程访问西门子PLC系列教程(4)-Snap7Client连接函数

本文是Snap7软件包系列教程的第4篇,我们来介绍下Snap7Client用于连接S7服务器的五个方法

  1. ConnectTo();

  2. SetConnectionType();

  3. SetConnectionParams();

  4. Connect();

  5. Disconnect();

①方法是面向对象编程的概念,是对象的行为,可以理解为面向过程编程中的函数。

cover.png

1、Snap7Client.ConnectTo()

Snap7Client的ConnectTo()方法用来连接S7服务器(S7 Server),它有三个参数,分别是:Address、Rack和Slot,其中:

  • Address:字符串类型,要连接的S7服务器的IP地址;

  • Rack:整数,要连接的S7服务器的机架号;

  • Slot:整数,要连接S7服务器的槽号;

如下表所示:

Snap7Client.ConnectTo()
名称
数据类型
说明
Address
字符串
要连接S7服务器的IP地址
Rack
整数
要连接的S7服务器的机架号
Slot
整数
要连接S7服务器的槽号

该方法的返回值为整数,当成功建立连接时返回0;如果返回值为非零整数则代表某种错误,需要查看错误列表来确定具体的错误。

注:不同S7系列CPU和CP模块的Rack/Slot号请参考上一篇文章:基于Snap7使用C#编程访问西门子PLC系列教程(3)-Snap7Client(建立连接)

该方法的函数原型如下图所示:

ConnectTo-函数原型.PNG

2、Snap7Client.SetConnectionType()

Snap7Client的SetConnectionType()方法用来设置连接的属性,它有一个参数:ConnectionType,为16位无符号整数,取值见下面表格:

Snap7Client.SetConnectionType()
ConnectionType

PG
0x01,默认值
OP
0x02
S7 Basic
0x03~0x10

SetConnectionType()并不是必须要调用的,默认情况下连接的属性为PG(编程器)。如果想要修改连接属性必须在调用ConnectTo方法之前调用SetConnectionType()方法,并设置参数ConnectionType的值。

正常情况下SetConnectionType()方法返回值为0;若返回值为非零整数则表示参数错误。

SetConnectionType()方法函数原型如下图所示:

setConnectionType-函数原型.PNG

3、Snap7Client.SetConnectionParams()
当连接LOGO!0BA7时,要使用Snap7Client的SetConnectionParams()方法设置连接参数。该方法包括三个参数:IP地址、本地TSAP和远程TASP;具体见下面的表格:

Snap7Client.SetConnectionParams()
名称
数据类型
说明
Address
字符串
S7服务器的IP地址
LocalTASP
16位无符号整数
本地TSAP
RemTSAP
16位无符号整数
远程TSAP

本地TSAP和远程TSAP是对应的。

客户端的本地TSAP是服务器的远程TSAP,客户端的远程TSAP是服务器的本地TSAP;反之亦然;

该方法仅设置用于连接的内部参数,之后还需要调用Snap7Client的Connect()方法。

另外需要注意,调用SetConnectionParams()方法后不能再调用SetConnectionType()方法,因为SetConnectionType()方法会改变远程TSAP的高字节位。

SetConnectionParams()方法的返回值为整数:0表示设置成功,非零值表示参数错误;其函数原型如下图所示:

setConnectionParms-函数原型.PNG

4、Snap7Client.Connect()
Snap7Client的Connect()方法用于与Snap7服务器建立连接。方法本身不需要任何参数,因为在调用该方法前需要首先调用SetConnectionParams()方法设置内部参数。

函数原型如下图:

Connect-函数原型.PNG

该方法返回值为整数:0表示成功建立连接;如果返回值为非零整数则代表某种错误,需要查看错误列表来确定具体的错误。

5、SnapClient.Disconect()

Snap7Client的Disconnect()方法用于断开与Snap7服务器的连接,方法本身不需要任何参数。

该方法返回值为整数:0表示成功断开连接;如果返回值为非零整数则代表某种错误,需要查看错误列表来确定具体的错误。

函数原型如下图:

Disconnect-函数原型.PNG

好了,关于Snap7Client用于连接的相关函数就先介绍到这里。系列教程的下一篇介绍用于IO读取的方法/函数。

我的微信视频号已经开通,分享一些工控小知识,欢迎扫描下方的二维码体验:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论