Labview软件在工控行业使用越来越广泛,且labview与西门子通讯的方式也有很多种,如可以用DSC模块直接与PLC进行通讯,也有用第三库(HSL,Snap)等进行通讯的。在网上可以找到不少视频。貌似采用西门子官方库与labview进行通讯的案例很少能找到;在这里我就来说说labview如何通过S7.net来与西门子PLC进行读写操作。
首先介绍一下S7.net如何下载吧,S7.net说明文档的第一段就有说明,下面将摘抄原文进行说明:
How to download s7.Net 如何下载 s7.Net
The official repository is on GitHub (https://github.com/killnine/s7netplus) , you can also download the library directly
from NuGet (https://www.nuget.org/packages/S7netplus/).
官 方 存 储 库 位 于 GitHub ( https://github.com/killnine/s7netplus ) 上 , 您 也 可 以 直 接 从 NuGet
(https://www.nuget.org/packages/S7netplus/)下载该库。
What is S7.Net
什么是 S7.Net
S7.Net is a plc driver that works only with Siemens PLC and only with Ethernet connection. This means that
your plc must have a Profinet CPU or a profinet external card (CPxxx card).
S7.Net is written entirely in C#, so you can debug it easily without having to go through native dlls.
S7.Net 是一个 plc 驱动程序,仅适用于 Siemens PLC 和以太网连接。 这意味着
您的 PLC 必须具有 Profinet CPU 或 Profinet 外部卡(CPxxx 卡)。
S7.Net 完全用 C#编写,因此您无需通过本机 dll 即可轻松调试它。
Supported PLC
支持的 PLC
S7.Net is compatible with S7-200, S7-300, S7-400, S7-1200, S7-1500.
S7.Net 与 S7-200,S7-300,S7-400,S7-1200 和 S7-1500 兼容。
具体的函数我在后面再挑几个我们常用的介绍一下。
那么用labview如何来调用这个库文件,并调用里面的函数呢?下面将按步骤图文介绍。
1、将S7.net库文件复制到VI同一个文件夹中;再在labview程序框图中,添加.net构造器节点,如下图所示:
2、放置构造器节点后;将弹出一个选择.net构造器的对话框,点击“浏览”按钮,选择S7.net.dll文件;如下图所示:
3、添加完构造节后后,可以选择所需要的PLC类型,IP地址,机架号,插槽号等。
4、打开连接,并判断PLC是否连接成功。这里需要用到一个Open()函数方法来打开连接,用到一个Isconnect属性来检查PLC是否连接成功。
4、通常情况下;建议在读取或写入的消息前先进行一次PLC链接成功的判断,如未成功,则再次调用一下Open()方法,如成功,则进行后续的操作。
5、调用ReadBytes(DataType dataType, int db, int startByteAdr, int count)函数读取PLC寄存器数据;值得注意的是;每次只能读取不超过200个字节的数据;如上图所示:将读取DB7中的byte0到byte13的数据。
6、如需写入数据,则可调用ReadBytes(DataType dataType, int db, int startByteAdr, int count),同样一次只能写入200个字节的数据
总结,S7.net库中还有一些函数,如可以单个读取和写入的操作。还有带解码的读取和写入等操作。 这里就不一一介绍了,望大家自己去总结和体会其中的用法。此库对西门子smart 200以上PLC都通用。大家可以根据自己的情况做好封装;方便以后调用。labview在退出程序时,别忘记调用Close()方法来结束连接。
本文暂时没有评论,来添加一个吧(●'◡'●)