1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# / VB / LabVIEW / VC / Python 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程 (Win/Linux)

C# / VB / LabVIEW / VC / Python 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程 (Win/Linux)

时间:2018-11-18 06:57:14

相关推荐

C# / VB / LabVIEW / VC / Python 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程 (Win/Linux)

现在越来越多的项目开始使用上位机了,在上位机实现数据存储、曲线绘制时,使用高级语言自行开发程序,比各种组态软件更加自由,更加强大。在进行上位机软件开发时,第一步就是要跟PLC取得通信,能够读写PLC内各数据区的变量值。

通常有两种办法来读写PLC内的变量:

1. OPC

OPC可以同时兼容不同品牌的PLC,但OPC的缺点也是显而易见的:由于使用了COM技术,开发难度加大,通信速率低;另外由于OPC架构的设计,上位机无法实现整块区域的读写,通信效率低;另外就是在部署上位机软件时,需要事先安装并配置OPC服务器,这是一个非常繁琐的工作,且项目投入运行后,如果OPC服务器的配置出现问题,维护起来也很麻烦。最重要的一点是,OPC服务器需要一笔授权的费用,增加了项目成本。

2. TCP/IP

既然PLC可以支持网口通信,那有没有办法不用OPC直接和PLC通信呢?答案当然是可以的。用TCP/IP协议通信,不需要在工控机部署任何第三方软件,仅需要一根网线即可通信,不论是从开发维护难度、通信速率和效率等角度看,都比OPC方式有了一个质的提升。

那么对于软件开发人员该怎么做呢?首先的工作就是要弄清楚PLC的通信协议。西门子的PLC使用的是S7-TCP协议,这个协议是西门子公司基于ISO/TCP修改而来的通信协议栈,是速率最快的通信方式。

对于基础不太好的同学,不建议自己进行协议栈开发,可以通过调用现有的通信库实现功能。这里给大家推荐一个很好的库:ButterflyS7。

这是一款标准DLL库,支持C# 、 VB 、VC、 LabVIEW、Delphi、Python.... 只要开发平台有调用DLL功能的,都可以使用。通信库封装了西门子的S7-TCP协议,支持全系列的西门子PLC,支持Windows/Linux系统。

工控的小伙伴们赶紧get起来吧,享受通信成功那一刻的快感!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。