quote:以下是引用四书五经在2013-03-06 21:34:21的发言:quote:以下是引用凡烨在2013-03-06 16:54:23的发言:quote:以下是引用四书五经在2013-03-06 14:18:20的发言:
CP卡本身肯定有自己的处理器、RAM等,因为处理器的速度,RAM的大小不一样,能提供的资源数量也不一样。CP卡的优势是对于协议(TCP/IP,PROFINET,PROFIBUS 等)的处理不再需要CPU的处理器去处理,这样就可以减轻CPU的运算负担,但对于应用层S7协议的处理是在CP侧完成,还是在CPU侧完成现在还不是很清楚,这点还需要凡烨老师解释一下。对于“数据”来说,最终还是需要到达CPU,也就是说数据的端点是CPU,而不是CP,在CP和CPU之间也是需要通讯的,CPU的资源限制这时候又起作用了。这也是为什么在使用CP卡时却在WINCC的连接配置中需要设置CPU的槽号的原因。当然对于不同的通讯协议,CP卡的处理也是不同的,比如说WINCC、OP、单边S7、双边S7、多路复用等。
例如在屏和PLC采用多路复用方式通讯时,在连接配置中却需要设置CP的槽号。
回答很好,有些问题我们需要澄清一下:
1,为什么400CP不支持多路复用?
2,300CP是S7通信的终点End point,而不是CPU,为什么?(组态Netpro,S7 connection--property--address details--end point)
快捷贴了,我们抓紧讨论了~
最主要的原因是不是S7300 CPU与CP之间的通讯方式区别于S7400CPU和CP之前的通讯方式?
S7300与CP之前的通讯采用的并不是S7协议,而是SFC58/59(SFB52/53)进行读写 。而S7400在CPU与CP之前仍然是S7协议。
S7400不支持多路复用的原因也应该如上所述。既然400中每个S7连接都都占用一个CP的S7资源和CPU的S7资源,那么就不存在多路复用的概念了。
请教凡烨老师,对于S5兼容、FDL,FMS等协议,S7400如何通写CP中的信息,还是CPU与CP之间也是采用S7连接的方式?
最后一次回帖了,感谢大家的积极参与!想想也是可能问题较难,大家都是不知道如何讨论,的确,大多数的技术知识在手册中是找不到的。所以这也是我们在网上“讨论”的重要原因。
吧CP卡的事情好好和大家交代一下,四书五经的理解已经很不错了,我再和大家呈请一下,
首先,多路复用的功能是S7所独有的,其它协议都没有,那么就有必要聊一聊S7协议的处理。引用四书五经的“S7300与CP之前的通讯采用的并不是S7协议,而是SFC58/59(SFB52/53)进行读写 。”这个很正确!300CPU和CP的数据交换是通过SFC58/59来实现的,你可以打开所有的300的S7通信的功能块的属性,会见到它们都调用了SFC58/59,数据记录读写,这也很正常,但是大家看到的是300CPU和300CP卡交换的数据不是S7的数据,大家会很惊讶,我来解释一下,300CPU和300CP卡加换的数据是大家定义的用户数据(,对呀,本来就是嘛,)不过,我的意思是指300CP卡把S7的数据全部解析出来,300CPU就直接读写即可。如果从深层次说,就是300CP卡做了S7通信的ISO/OSI模型的全部7层的协议数据处理。这也是我说为什么300CP是S7的通信终点,也为什么“屏和PLC采用多路复用方式通讯时,在连接配置中却需要设置CP的槽号”(引用四书五经的),因为CP卡是S7通信的全部载体,所以资源都在300CP卡内部进行了分配,(即切换)所以300CP支持多路复用。
回头说400CP,引用四书五经的“而S7400在CPU与CP之前仍然是S7协议。”这个也依然正确!怎么理解呢?就是无论怎么看400的S7通信的功能块的属性,都见不到它们都调用了SFC58/59,这个原因大家会觉得很牵强,是吧?但是他使用了SFB12/SFB13,这个大家都知道了,不过大家是否理解SFB中的S的含义,对,就是系统的意思,这里就是S7协议的就集成在操作系统中,这个不难理解,大家都使用过PUT/GET,服务器从来不编写任何的程序,照样进行通信,原因就是这个。那么CP卡的作用就是ISO/OSI模型4层Gateway的作用,其它的S7协议数据的解析,全部在CPU中。这就是四书五经想要的答案,就是S7通信,400CP卡并未起到重要的作用,其它有400CPU来实现。但需要强调的是,无论300CP还是400CP的任何其它应用都会“CP卡本身肯定有自己的处理器、RAM等,因为处理器的速度,RAM的大小不一样,能提供的资源数量也不一样。CP卡的优势是对于协议(TCP/IP,PROFINET,PROFIBUS 等)的处理不再需要CPU的处理器去处理,这样就可以减轻CPU的运算负担,”(引入四书五经的)
对于S5兼容、FDL,FMS等协议,S7400如何通写CP中的信息,还是CPU与CP之间也是采用S7连接的方式?这个问题需要分开来说,S5与TCP一样,所有协议数据解析在CP可以看见AG_SEND和AG_REV中的SFC58/59。
FDL和FMS,说实在的FMS我不熟,但是我相信同在所有的协议数据解析在CP卡中,方法如上,看功能块
是否有调用。
这次我们主要讨论模块的本身,其实我们所讨论的全部资源话题也可以看作是通信的话题,微观上说,任何的数据交换都是通信,对于实际的通信例如S7,TCP,S5,PB,PN,还有很多需要讨论,例如PN的链接资源和任务资源是啥? 数据一致性怎么保证,S7的数据一致性的长度是否是300的为240B,400的为480B,等等。我们应该始终抱着一种怀疑的眼光去看待技术的细节,这样我们的技术会突飞猛进哦~~~
对于宏观的通信大家可以转战到
http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=7&a_id=1054389&s_id=0&num=2#anch在深入了解。
再见了,亲们:)希望我们会再见。