加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684

广东西门子一级总代理PLC

更新时间
2024-10-18 08:00:00
价格
请来电询价
西门子PLC
西门子触摸屏
西门子伺服电机
西门子变频器
西门子直流调速器
西门子电缆
联系电话
13922889745
联系手机
18475208684
联系人
向小姐
立即询价

详细介绍

前面两期内容,我们详细介绍了如何使用西门子 s7-1200 T-block(TCON,TSEND,TRCV)指令实现CPU与CPU之间的TCP通讯。在实际应用中,我们往往需要与第三方设备或者软件(例如:MES)等通讯,西门子s7-1200/1500均支持标准TCP协议,可以作为客户端和服务器与其他设备或软件进行TCP通信,同样是通过T-block指令实现。本期内容将分享使用网络调试助手在PC上模拟实现与s7-1200/1500 建立TCP通讯,实现TCP简单调试;

TCP客户端和服务端的区别

TCP客户端(TCP Client)和TCP服务端(TCP Server)是网络通信中的两个基本角色,它们在网络通信中扮演不同的角色,并具有不同的行为和功能。以下是它们之间的主要区别:

  1. 连接的发起者:
  2. TCP客户端:是连接的发起者。它会主动向服务器发起连接请求。
  3. TCP服务端:等待来自客户端的连接请求。在收到请求后,它会接受连接并开始与客户端通信。
  4. 端口号:
  5. TCP客户端:通常使用临时端口号,这些端口号由操作系统随机分配。
  6. TCP服务端:使用预先定义的端口号(熟知端口号),以便客户端知道连接到哪个端口。例如,HTTP服务通常监听80端口,FTP服务监听21端口。
  7. 通信模式:
  8. TCP客户端:在需要与服务器通信时发起连接,通信完成后断开连接。
  9. TCP服务端:持续监听指定的端口,等待客户端的连接,可以同时与多个客户端通信。
  10. 设计和实现:
  11. TCP客户端:通常实现较为简单,因为它只需要知道服务器的IP地址和端口号,然后发起连接。
  12. TCP服务端:实现较为复杂,需要处理来自客户端的连接请求,管理多个并发连接,以及可能的并发控制。
  13. 状态
  14. TCP客户端:在通信过程中,客户端通常处于较短的活动状态,一旦通信完成,客户端可能会关闭连接。
  15. TCP服务端:通常处于长时间运行的状态,以便不断地接受新的客户端连接。
  16. 资源消耗:
  17. TCP客户端:通常消耗较少的资源,因为它只需要在发起连接时消耗资源。
  18. TCP服务端:可能需要更多的资源,因为它需要持续监听端口,并可能同时处理多个连接。
测试环境说明

硬 件:

  1. CPU 1515-2 PN,固件版本V 2.9.4((S7-1200使用一致)(手头没有实物1200,使用1500测试)(IP:192.168.0.80)

软件:

  1. TIA Portal V17
  2. TCP/UDP Socket调试工具 或 NetAssist(网络调试助手)(IP:192.168.0.64)

需要完成的通信任务:

  1. S7-1500作为客户端和调试助手进行数据通信
  2. S7-1500作为服务器和调试助手进行数据通信
S7-1500作为客户端和调试助手进行数据通信

s7-1500作客户端程序配置,需要使用TCON,TSEND,TRCV三条指令,配置方式可参见上两篇内容(本处不再赘述),配置结果如下:

  1. 调用TCON指令,并配置CONNECT参数,及状态参数;

    图片vmware_a97WAwK8j3

    注:客户端,即主动发起连接一侧,因此需要PLC勾选“建立主动连接”

  2. 调用TSEND指令,并配置接口参数

    图片image-20240613164000001

    注:程序中使用1HZ脉冲发送数据(REQ),实际应用中根据需求发送;

  3. 调用TRCV指令,并配置接口参数

    图片image-20240613164055520

    注:一般TRCV中EN_R接口时钟置一,随时接收服务端数据,也可根据需求使用;

  4. 打开NetAssist软件,配置TCP Server,并点击开始监听;

    图片image-20240613165042483
  5. TCP Server配置完成后,在TIA Portal中触发TCON请求,建立通讯连接;在TSEND激活数据发送,NetAssist中即可接收PLC数据;

    图片image-20240613165343026

    注:NetAssit中显示数值以ASCII和16进制两种类型显示;

  6. 从NetAssist中发送数据,并监控TRCV中数据存储区的值;

    图片image-20240613170616205

    注:细心的朋友可能会发现,发送出去的字节与接收到的字节存在错位,小编没搞懂什么原因,有知道的朋友可以留言;

  7. S7-1500作为客户端和调试助手进行数据通信,配置及测试完成;

S7-1500作为服务端和调试助手进行数据通信

s7-1500作服务端程序配置,需要使用TCON,TSEND,TRCV三条指令,配置方式可参见s7-1500作客户端程序配置;只需要将主动连接修改为被动连接即可;

  1. 调用TCON指令,并配置CONNECT参数,及状态参数;

    图片image-20240613171916021

    注:同一项目中不能有相同的连接ID,因此本处连接ID修改为2,同理TSEND和TRCV同样修改为2;

  2. 激活TCON中REQ请求,打开NetAssist并配置TCP 客户端,建立通讯连接如下:

    图片vmware_nHTldUvrIw
  3. 激活TSEND(REQ上升沿触发)发送数据,NetAssist接收区接收数据如下所示:

    图片
  4. 激活TRCV(EN_R=1)接收收据,并再NetAssist发送数据,结果如下所示:

    图片


相关产品

联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684