赞
踩
如果你对西门子PLC通信或者上位机开发稍微有一点研究的话,应该对Snap7有所耳闻。
Snap7是一个基于以太网与西门子S7系列PLC通信的开源库,在世界领域应用很广。但也许是因为资料比较少,而且很多都是纯英文,在国内反而没有大规模的应用。
作为一个技术开发人员,所有未知领域的事物都是值得探索的。于是花了一些时间,对Snap7做了一些研究,借此机会,给大家做一些分享,希望可以给对工作或学习中有这块需要的人,提供一些借鉴。
图表 2 建立PLC连接
图表 3 断开PLC连接
图表 4 存储区读取
图表 5存储区写入
图表 6读取多变量
图表 7写入多变量
但是这个snap7.net类封装的风格有些老外的风格,会导致我们使用起来很麻烦,于是我便对这个snap7.net做了进一步的封装:
图表 8建立及断开连接
图表 9读取及写入多个字节
图表 10读取及写入多个通信组
图表 11读取及写入多个通信变量
图表 12读取及写入单个变量
通过这些封装,会将snap7.net里晦涩难懂的方法变成我们自己熟悉的方式,这样,我们自己做开发的时候,会更加方便和高效,这里值得注意的是西门子S7协议通信会有PDU及通信组数量的限制,一般来说PDU限制是220个字节,通信组数量限制是20个,也就意味着一次性只能读取220个字节,并且最多只能同时读取20个通信组。
公众号:thinger_net
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。