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

华南区-西门子代理

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

详细介绍

图片image-202406

西门子S7通信简介

S7通信

西门子的S7通信协议是一种专有的通信协议,主要用于西门子S7系列PLC之间的通信。这种协议是S7系列PLC内部集成的,主要用于将PLC连接到PC工作站,支持点对点和多点通信方式,能够实现PLC之间的数据传输和互相控制。S7通信协议一般由物理层、数据链路层、传输层和应用层组成,通常采用RS485和RS232两种物理层传输协议,也可以使用光纤和以太网等高速传输方式。

S7连接

S7连接是指建立在西门子S7通讯协议基础上的设备之间的互联。它可以通过各种接口(如以太网、串行口等)实现,使不同类型的设备(例如工控机、PLC、触摸屏等)能够相互通信和交换数据。在S7连接中,使用了特定的网络拓扑结构,例如Master-Slave或Peer-to-Peer等。这些拓扑结构可以根据实际应用需求进行调整,以满足不同场景下对系统效率、可靠性和安全性的要求。

通信方式

基于客户端(Client)/服务器(Server)的单边通信和基于伙伴(Partner)/伙伴(Partner)的双边通信。在实际应用中,多使用单边通讯(即PUT/GET)实现CPU与CPU之间数据通讯。

注:s7-1200仅支持S7单边通讯

s7通讯服务端与客户端的区别

在西门子S7通讯中,服务端(Server)与客户端(Client)的主要区别在于它们在通信过程中的角色和功能。以下是服务端与客户端的基本区别:

  1. 配置和编程
  2. 客户端:在S7单边通信中,通常需要在客户端一侧进行所有的配置和编程工作。客户端会主动发起通信,发送请求,并处理从服务端接收到的数据。
  3. 服务端:服务端通常不需要进行任何编程。它只需要准备好可以被访问的数据块,并允许客户端读取或写入这些数据。
  4. 数据流向
  5. 客户端:可以读取或写入服务端的数据。在单边通信中,数据流向通常是单向的,即从服务端到客户端或从客户端到服务端。
  6. 服务端:在单边通信中,服务端不会主动发送数据,也不会主动请求客户端的数据。它只是响应客户端的请求,提供数据或接收数据。
  7. 通信建立
  8. 客户端:负责发起通信连接。在程序中,客户端会使用特定的指令(如GET/PUT)来建立与服务端的连接。
  9. 服务端:不需要主动建立连接。它只是监听来自客户端的请求,并在接收到请求时响应。
  10. 资源占用
  11. 客户端:可能需要更多的CPU资源和内存来处理通信逻辑。
  12. 服务端:由于不需要执行复杂的通信逻辑,因此占用的资源相对较少。

在实际应用中,选择服务端和客户端的角色通常取决于具体的通信需求和应用场景。例如,如果一个PLC需要定期从另一个PLC获取数据,那么获取数据的PLC将会作为客户端,而提供数据的PLC则作为服务端。

s7-1200作客户端实现s7单边通讯

S7-1200 CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口可以做 S7 通信客户端。S7-1200 仅支持 S7  单边通信,做客户端仅需单边组态连接和编程,而做服务器端则只需准备好通信的数据即可。

s7-1200作客户端实现s7单边通讯,可以实现与s7系列产品CPU之间的通讯,如:s7-200,s7-200 smart,s7-1200,s7-1500,s7-300,s7-400; S7-1200 系统预留了 8 个可组态的 S7 连接资源,考虑上 6  个动态连接资源,Zui多可组态 14 个客户端的 S7 连接。

注:对于s7-200, s7-200 smart CPU来讲,由于不存在DB概念,因此在作s7通讯时,将V区寄存器认为是DB1;对于s7-200 或 s7-200 smart做客户端的s7通讯,通讯数据只能存储在DB1中;

本期内容通过两个s7-1200 CPU之间S7通讯,着重讲解如何实现s7-1200的s7通讯客户端配置

硬 件:

  1. CPU Client: CPU 1212C DC/DC/DC (IP:192.168.0.100)
  2. CPU Server: CPU 1214C DC/DC/DC (IP:192.168.0.101)

软件:

  1. TIA Portal V17

需要完成的通信任务:

  1. S7-1200 CPU Clinet 将通讯数据区 DB100 块中的 10 个字节的数据发送到 S7-1200 CPU server 的接收数据区 DB200  块中;
  2. S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区 DB200 块中的 10 个字节的数据读到 S7-1200 CPU  Clinet 的接收数据区 DB100 块中。

配置步骤如下:

  1. 创建s7-1200 CPU Client项目,并插入CPU模块,并激活系统和时钟存储器(过程不在赘述),

    图片image-202406图片image-202406
  2. 打开设备组态,CPU属性中“PROFINET 接口”修改IP地址;

    图片image-202406
  3. 在CPU属性防护与安全中“连接机制”激活“允许来自远程对象的PUT/GET通信访问” ;

    图片image-202406
  4. 在“设备组态”中 ,选择“网络视图”栏进行配置网络,点中左上角的“连接”图标,连接框中选择“S7连接”

    图片image-202406
  5. 然后选中CPU Client PLC(客户端),右键选择“添加新的连接”

    图片image-202406
  6. 在创建新连接对话框内,选择连接对象“未指定”

    图片image-202406
  7. 连接添加后, 在网络视图中会显示s7连接名称(可修改),在右侧"连接"条目中,也可以看到已经建立的“S7_连接_1”,点击该链接可以连接参数。在常规中,显示连接双方的设备,在伙伴方“站点”栏选择“未知”;在“地址”栏填写伙伴的IP地址192.168.0.101。

    图片image-202406
  8. 在本地ID中:显示通讯连接的ID 号,这里ID=W#16#100。一般不修改此值,默认即可;

    图片image-202406
  9. 在特殊连接属性中:建未指定的连接,建连接侧为主动连接,这里client是主动建立连接。

    图片image-202406
  10. 在地址详细信息中:定义伙伴侧的 TSAP  号(注意:S7-1200预留给S7连接两个TSAP地址:03.01和03.00),这里设置伙伴的  TSAP:03.00。

    图片image-202406

    注:关于TSAP,对于大部分人经常会有困惑,到底应该怎么选? 小编查阅资料发现了一个比较靠谱和容易理解的说明如下:

    TSAP由两部分组成,第一个字节标识访问的连接资源,01是PG,02是OP,03是S7单边(服务器模式),10(hex)及以上是S7双边通讯。第二个字节标识代表机架号和插槽号,可以是CPU槽号或者CP卡的槽号;

  11. 以上网络配置完成,下载完成后,可点击"转至在线"按钮,在“网络视图”的“连接”选项卡中查看连接状态;

    图片image-202406

    注:图中没有实际下载(仿真状态),因此状态显示为红色;


相关产品

联系方式

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