技术论坛

使用SNAP7开源库验证与LOGO!0BA8 PLC的连接

作者 主题
游侠

经验值: 395
发帖数: 28
精华帖: 2
主题:【分享】使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
精华帖精华帖星级3级 推荐帖


只看楼主 只看精华 楼主 2018-05-16 11:05:52

SNAP7是个开源的、32/64位的、多平台的以太网通讯库,用于本地连接西门子S7 PLC。它的设计是为了用于在工业设施中传输大量高速数据时克服OPC服务器的局限性。支持1200/1500CPU,S7 200,LOGO!0BA7/0BA8和部分支持SINAMICS Drives。

主要特点:

本地多架构设计(32/64位)。

多CPU支持:Intel和AMD i386 / x86_64,ARM,Sun Sparc,Mips。

独立于平台,目前支持Windows(从NT 4.0到Windows 8),Linux,BSD,Oracle Solaris 11,Apple OSX。

从刀片服务器一直到树莓派的PI板,都是完全可扩展的。

不依赖任何第三方库,无需安装,零配置。

用于性能优化的三种不同的本地线程模型:Win32线程/ Posix线程/ Solaris 11线程。

两种数据传输模式:经典同步和异步。

两种数据流模型:轮询和未经请求(PLC在需要时传输数据)。

两个专用端口:Settimino和Moka7允许你使用Arduino或Android手机与S7 PLC进行通信。

软件兼容性

SNAP7已成功通过60个操作系统/版本的测试。软件包装有:

Pascal (snap7.pas)、

Basic(Snap7-VB6)

C#(snap7.net.cs)、

C++ (snap7.cpp/snap7.h)、

C (snap7.h)、

LabVIEW (lv_snap7.dll / snap7.lvlib)、

Python(python-snap7)、

Node.js、

Java(Moka7 )、

ARDUINO(Settimino ).


使用SNAP7开源库验证与LOGO!0BA8 PLC的连接

 

快速起见python-snap7接口:

  1.  python3.6安装,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.6对应的64位安装程序或32位安装程序,然后,运行下载的EXE安装包:

特别要注意勾上Add Python 3.6 to PATH,然后点“Install Now”即可完成安装。

CMD命令行下输入”python”,回车:

出现以上画面即python编程语言命令行交互环境,简单的集成开发环境安装成功。使用python-snap7你需要安装snap7库。

2. snap7库安装,从https://sourceforge.net/projects/snap7/files/下载snap7-full-1.4.2 .7z,解压后拷贝snap7-full-1.4.2\release\Windows<Win64/Win32>*.*到你的系统路径,例如,C:\Windows\System32,或者,可以将文件拷贝到你文件系统的某处再设置系统环境变量PATH。

3. 最后,python-snap7安装,python3.6集成了pip软件包管理,所以在CMD命令行下运行:pip install python-snap7即可

LOGO!8作为服务器在LOGO!Soft Comfort V8.2中的设置

我们可以读/写的LOGO!8存储器是V区,这个区由所有HMI(或Snap7)看到是DB 1,在其中按位,字节或字组织映射所有LOGO!8资源。

现在在Windows中,python命令行交互环境下,测试连接LOGO!8 PLC,读取PLC中VM985起始的日期与时间


仅仅只需要四五条语句!最后说一下拓展,Eric6可以做PyQt5的极速 GUI 开发,也就是python做与LOGO!8的通讯,QT5做GUI界面。



 
精华帖版主置评: 感谢楼主的分享。提供又一种连接的方法。 -yming
分享帖版主置评: 感谢楼主的分享! (推荐人:慧星)
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1481079&b_id=28&s_id=0&num=17

版主

经验值: 18057
发帖数: 5621
精华帖: 36
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 1楼 2018-05-16 16:28:43

 要装的软件不少啊


sgpg
以下网友喜欢您的帖子:

  
游侠

经验值: 395
发帖数: 28
精华帖: 2
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 楼主 2楼 2018-05-16 16:42:09

发布版的二进制库文件其实是很小的两个文件,如图




 
以下网友喜欢您的帖子:

  
游侠

经验值: 395
发帖数: 28
精华帖: 2
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 楼主 3楼 2018-05-16 17:01:05

 python3.6是python编程语言的集成开发环境软件,相对于C、C++、C#和Java的集成开发环境软件要小多了,可效率却很高,利用Snap7开源库做与西门子PLCs的通讯只要数条语句。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 127331
发帖数: 22001
精华帖: 824
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 4楼 2018-05-16 17:38:20

帖子是很不错的帖子!又一种链接的方法。

高速?

就想知道循环读取,可以是多快的速度?

10毫秒?100毫秒?500毫秒?


学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
至圣

经验值: 35146
发帖数: 3237
精华帖: 96
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 5楼 2018-05-16 22:51:57

这是自己做界面吗?snap还是第一次见,看不太明白啊,大开眼界了,赞!赞!


http://blog.163.com/xiuzhang_2000/
以下网友喜欢您的帖子:

  
至圣

经验值: 18407
发帖数: 2409
精华帖: 1
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 6楼 2018-05-17 09:23:19


高手,学习了!


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8561
发帖数: 3432
精华帖: 56
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 7楼 2018-05-17 15:08:59

归根结底是TCP通信而已,没有以太网端口的你试试


If anything can go wrong, it will.
以下网友喜欢您的帖子:

  
奇侠

经验值: 9046
发帖数: 375
精华帖: 0
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 8楼 2018-05-17 19:15:38


学习了!!


随心所欲
以下网友喜欢您的帖子:

  
至圣

经验值: 18294
发帖数: 2654
精华帖: 14
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
推荐帖


只看楼主 只看精华 9楼 2018-05-18 08:33:43


,见识了另外一种途径


sometimes you have to be your own hero!
以下网友喜欢您的帖子:

  
至圣

经验值: 13075
发帖数: 1081
精华帖: 8
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 10楼 2018-05-18 08:44:07


,看了文章,自己需要努力了


做最好的自己!活出自我!
以下网友喜欢您的帖子:

  
游侠

经验值: 395
发帖数: 28
精华帖: 2
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 楼主 11楼 2018-05-18 09:31:16

感觉到PLC与当今AI技术应用的联系


 
以下网友喜欢您的帖子:

  
至圣

经验值: 18067
发帖数: 1524
精华帖: 2
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 12楼 2018-05-18 11:27:08

不错的尝试,谢谢分享。


我回来了!继续努力!
以下网友喜欢您的帖子:

  
新手

经验值: 23
发帖数: 1
精华帖: 0
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 13楼 2018-05-23 17:14:45

平时偶尔看看帖子,没想到今天在这里看到关于python的帖子了。

其实python与plc的应用早就已经有了。有兴趣的童鞋们可以google一下,有很多对工业系统进行的渗透测试脚本都是使用python写的。比如s7-1200的暴力破解、modbus-tcp的在线扫描,二进制数据上传等。


 
以下网友喜欢您的帖子:

  
新手

经验值: -6
发帖数: 3
精华帖: 0
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 14楼 2018-07-07 11:17:26

使用Snap7确实很方便,如果要提高效率,可以使用多进程或者多线程来操作。同时,还有个OpenOPC的库可以很方便的连接到各种PLC或者硬件协议兼容的设备。


 
以下网友喜欢您的帖子:

  
新手

经验值: 22
发帖数: 6
精华帖: 0
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 15楼 2018-08-13 17:27:57


  太棒了,用Python简单太多啦


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1170
发帖数: 1
精华帖: 0
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 16楼 2018-08-14 09:58:39


nice niece


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:使用SNAP7开源库验证与LOGO!0BA8 PLC的连接


只看楼主 只看精华 17楼 2018-08-14 12:57:04
LOGO的外部通讯是Modbus TCP/IP,这协议是最简单的开放标准,高级语言编程软件基本都可以写通讯例程的,真心没必要搞一开源还要附带一大堆组件的IDE。
 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
使用SNAP7开源库验证与LOGO!0BA8 PLC的连接
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。