发布于 2013-03-28 11:52:41
46楼
刚刚看到这个讨论。
大家说的,怎么和我的理解不太一样啊!
我的理解是:S7通讯是西门子自己的、优化的、高效的通讯组件。它支持所有SIMATIC系列的PLC(包括 200、LOGO! 注意:这里只说了是PLC,不包括驱动)。而S7通讯的基础是 TSAP,就是说,它指明了通讯伙伴是在哪个机架,哪个槽;以及连接资源的状态。由此构成 如:10.03、03.02、...。在对时间无要求的情况下,报文交换甚至不需要什么指令。连接建立后,组态中的DB1就是默认的S7数据交换DB。
S7协议是可以在ProfiBus、ProfiNet下运行的,这些只是对S7报文再打包而已。我以为, 所有以 TSAP为基础的通讯都是S7通讯。如果网络中的通讯伙伴双方都是SIMATIC PLC,当然使用S7通讯最合适。
ProfiBus是个开放的组织,西门子只是这个组织的一个重要成员。既然是Bus(总线结构)你就不能接成星形连接,只能是线形或环形。在这里主要概念就是主站和从站。从站响应主站的指令。它的“寻址”是站号,方式是和计算机总线一致的。每个从站都能收到报文,只不过不是自己的就“丢弃”而已。
(额外,USS协议也是西门子根据ProfiBus精简的、针对西门子驱动的协议。只不过跑在485总线上。)
ProfiNet则不然。它是基于以太网的。它的“寻址”基础实际是MAC号。它的传输是可以以IP打包的形式,由网关、路由器传输的。重要的是,它的连接是可以作为星形连接(接成树形),如有必要,可以很方便的在多个局域网中通讯(甚至嵌入办公网络)。也可以同时TIA和PLC通讯、Starter和驱动通讯、其他软件和LOGO!通讯,打开浏览器和Web通讯。互不干扰。
尤其是PLC的Web服务,提供了便捷的控制手段。而PLC的Mail(SMTP)可以随时让用户获得装置状态信息。呵呵,说远了。。
说到TCP和 TCP/ISO协议的区别,似乎看不出太大的区别,主要是TCP协议是固定长度报文的。如果TCP协议是最大长度,那么两者是一样的。
说到TCP通讯指令的DONE所表示的含义,其实是很明确的。尽管以太网的速度要比PB网络快得多,但仍然是异步通讯。这个DONE信号必须置一(无错完成)才能进行下一个报文的通讯。
要说经常遇到的问题。可能是在ProfiNet下,如何组态网络的问题吧,也就是PG和PLC通讯不上?如何选择通讯伙伴所使用的协议?
这里牵扯的问题比较多,它不像PB网络,PB比较简单,比较“封闭”。PN网络牵扯到Windows本身(网络的设置、防火墙、防病毒软件),还包括 如何设置控制面板中的 PC/PG设置。也包括如何在TIA中如何设置通讯伙伴(伙伴关系)。
由于PN网络是可以树形的。要注意如何使用端口(RJ45)。注意;现在大多都是两个网口,它们是使用同一个MAC号,如果是仿PB网络则可以连接成线形(如同Bus)这时,每个端口的伙伴关系是明确的,包括终端端口(都要设置)。而树形则不然,它是通过交换机、路由器的。它可以只用一根通讯电缆,且伙伴关系可以是任意的。
说到Windows下的PC/PG设置,我的感觉,在TIA下,通常最好别设置,就选择“无”。呵呵。这时搜索装置时,当时选网卡(我的PC4个网卡)、选网络、子网。这时不但可以搜到PLC,连驱动都可以搜到。呵呵。
最后,我还是建议,如果是在PN的环境下,还是放弃主站、从站的概念可能比较好。改用服务器、客户端的概念。甚至采用对等的概念,可能更易于理解吧。
学而时习之,不亦说乎?温故而知新,不亦乐乎?