恭喜,你发布的帖子
发布于 2018-10-25 11:47:15
1楼
问题1:如果被动端不组态,则不能使用PUT和GET。有个很明显的要点就是PUT和GET需要填写连接ID,而这个连接没有组态就没有ID。
详细的讲一下这个S7通讯:
通常我们在做相同项目下两个CPU的S7通讯都是建立指定连接,这种情况下都会在连接表格出现两条连接,一条是PLC_1到PLC_2的连接,一条是PLC_2到PLC_1的连接,这种情况称之为双边连接。对于S7-1200来说,虽然支持双边连接,但是不支持S7-300/400/1500的BSEND和BRECV这种双边通讯块,只能使用PUT和GET,这种情况下可以两边互相PUTGET对方,占用的资源是各自PLC的1个S7资源。
当然,我们在相同项目下的两个CPU的S7通讯,也可以建立未指定连接,这种情况下只会在连接表格出现一条,比如PLC_1到PLC_2的连接,这种情况如果不做任何修改称之为单边连接,对于这种情况,只能在PLC_1这边编程PUTGET PLC_2,占用的资源是PLC_1占用S7资源,PLC_2占用动态资源。如果希望PLC_2也能PUT GET PLC_1,那样还需要建立PLC_2的一个未指定连接,这样的话,PLC_1和PLC_2就各自用了一个S7资源和一个动态资源,当然这种情况不太划算,但是理论上是可以这么做。
如果我们将地址详细信息的TSAP进行修改一下,例如PLC_1本地10.01伙伴11.01,PLC_2本地11.01伙伴10.01,也就是本地和对方伙伴相同,然后在特殊连接属性的主动建立连接处,2个CPU选择一个激活该功能,一个不激活该功能,这样也称之为双边连接,这样的话不仅可以互相PUTGET对方,占用资源是各自PLC的1个S7资源。
对于不同项目的两个CPU的S7通讯,只能建立未指定连接,这就和上面这个相同了,就不多说了。
问题2:接收缓冲区满了也不会报错。ADHOC和查询缓冲区数据无关,只有EN_R激活才查询
问题3:和S7意思一样,开放式通讯在不在一个项目都无所谓,无非就是伙伴方是指定还是未指定,关心的其实只是对方IP地址端口号,建指定连接的好处是顺便给伙伴CPU的连接数据建了而已.同样在一个项目下,伙伴方也可以是未指定。
问题4:硬件标识符只是S7-1200/S7-1500为了给某些高级功能,例如通讯、诊断、工艺功能的程序与硬件组态关联在一起。
而端口号是以太网的一个概念,简单的说,CPU一个IP地址,可以有很多端口,每个端口可以独立处理各种功能,例如有些端口进行TCP,102端口进行S7...
问题5:您问的是ET200SP的白色底板吧,做电位组不耽误做IO模块
问题6:以太网都使用超5类以太网电缆就好了。连接的ID只在本机有关,2个CPU之间的ID没有关系。它只是在一个CPU的内部区分它的不同连接。但是对于一个连接的发送接收,或者一个连接的PUTGET,那这两个指令的ID肯定是相同的。和硬件标示符的功能类似,关联您的程序和硬件组态。
请填写推广理由:
分享
只看
楼主