b7544a86aa0543746b6f23aaea42f546.png

对于自控或电气工程师来说,西门子PLC是每个人都非常熟悉的一款PLC品牌;而对于上位机开发工程师来说,Socket通信或TCP/IP协议也是必须要掌握的一种通信方式。相比较而言,西门子PLC对Socket通信的支持性是很不错的。如果你在使用西门子软件或者逛西门子论坛时,发现一个词叫做Open User Communication或开放式通信,没错,那其实就是我们说的Socket通信方式。关于这一点,我们可以从以下两张图中看出,分别为S7-200Smart编程软件Micro/Win Smart V2.5及博途TIA V15.1编程软件中关于通信库的部分截图:

fdc0f5de4db67c8bf2618d51454df389.png

我们可以看到无论是西门子的中高端PLC还是低端PLC,都是支持开放式TCP/UDP通信的,既然都支持,我们来看下如何实现。

众所周知,对于Socket通信来说,是可以支持TCP、UDP等多种通信方式,但是今天在这里,我们主要针对TCP这种通信方式。除此以外,大家都知道,Socket会存在服务器和客户端的说法,也就意味着,同样是使用Socket通信,我们仍然需要确定到底PLC是作为服务器还是作为客户端,因为不管对于PLC编程或者上位机开发来说,这两种方式都是完全不同的,下面做具体介绍。

fafbc9ee2729c947a37cc91fee95bcd3.png

85cdf075fe91e1204cb9aa8a7deefc14.png

e29966ec12c03c49a96bb3ad55be8784.png

d7383db7d989ef3f7c4285b0e9fd6e9e.png

70256bc4a6910c96e215663c83df1278.png

5094a79e640225dac7d9a4b5ebcd9081.png

66e5dbfaa17b1d3d290005fb2234ccdb.png

73f35cb1c2311bfc1bd0f2a2ce7d53ea.png

c5b7c8194b65adfea5030dd0ec86a6f3.png

10a00e39cae5212d6af4a8e1dd6bedd7.png

a9cd55de57fbfd458ac365f1fd8e85fb.png

推荐阅读:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐