zoukankan      html  css  js  c++  java
  • pfofinet和S7

    只要我还干工控上位机这行,通信这个随笔分类我会持续更新,本人才疏学浅如有不当之处欢迎指正感激不尽!

    本文关于S7的理解和介绍转载于:

    https://new.qq.com/omn/20181218/20181218A047RE.html

    关于profinet与S7区别转载于:

    http://wap.siemens.com.cn/service/answer/solved/202247.html

    后续如果有机会会继续介绍关于profinet协议相关知识

    刚接到一个项目,然后甲方要求使用pfofinet协议,最后谈妥使用S7协议。数学系在读的我很是懵逼这两者之间的关系,特地开此帖来记录这两者。

    下面是西门子论坛的官方答复:

    pfofinet是总线的一种,S7通信是属于第七层的通信协议,不是一回事情。

    很明显,之前部分同事认为的profinet和S7之间的包含关系是错误的。

    S7协议可以是Profinet,MPI,Profibus,ISO等,范围比较大,不限定于物理接口,可以是485,也可以是工业以太网。是西门子内部协议不公开。profinet是通用的总线协议,物理接口为以太网,属于国际通用的协议,是公开的。

    这样说还是很抽象,但是我学长跟我介绍如果使用profinet协议那么在PC端是有一张通信板卡的,而S7是没有的。

    简单介绍一下S7:

     S7通信支持两种方式:

      1)基于客户端(Client)/服务器(Server)的单边通信;

      2)基于伙伴(Partner)/伙伴(Partner)的双边通信;

      客户端(Client)/服务器(Server)模式是最常用的通信方式,也称作S7单边通信。在该模式中,只需要在客户端一侧进行配置和编程;服务器一侧只需要准备好需要被访问的数据,不需要任何编程(服务器的“服务”功能是硬件提供的,不需要用户软件的任何设置)。

      什么是客户端(Client)呢?

      客户端其实是在S7通信中的一个角色,它是资源的索取者;而服务器则是资源的提供者。服务器(Server)通常是S7-PLC的CPU,它的资源就是其内部的变量/数据等。客户端通过S7通信协议,对服务器的数据进行读取或写入的操作。

    其实,很多基于S7通信的软件都是在扮演者客户端的角色。比如OPC Server,虽然它的名字中有Server。但在S7通信中,它其实是客户端的角色。

      客户端/服务器模式的数据流动是单向的。也就是说,只有客户端能操作服务器的数据,而服务器不能对客户端的数据进行操作。

      有时候,我们需要双向的数据操作,这就要使用伙伴(Partner)/伙伴(Partner)通信模式。

      伙伴(Partner)/伙伴(Partner)通信模式也称为S7双边通信,也有人称其为客户端(Client)—客户端(Client)模式。不管是什么名字,该通信方式有如下几个特点:

      1)通信双方都需要进行配置和编程;

      2)通信需要先建立连接。主动请求建立连接的是主动伙伴(Active Partner),被动等待建立连接的是被动伙伴(Passive Partner);

      3)当通信建立后,通信双方都可以发送或接受数据;

      在S7-300中,使用FB12(BSend)/FB13(BRecv)进行发送和接收。当一方调用发送指令时,另一方必须同时调用接收指令才能完成数据的传输。

  • 相关阅读:
    服务级后门自己做——创建服务
    使用Win32创建串口通讯程序
    LoadImage with resource 出现未定义
    direct path write等待事件
    enq: TX row lock/index contention、allocate ITL等待事件
    enq: TT contention等待事件
    enq: TM contention等待事件
    enq: RO fast object reuse等待事件
    direct path write temp等待事件
    enq: US contention等待事件
  • 原文地址:https://www.cnblogs.com/jyj666/p/12550890.html
Copyright © 2011-2022 走看看