专家大讲堂《PLC通信原理探秘》系列视频:https://www.ad.siemens.com.cn/service/elearning/series/288.html
最新更新:
连载之十一: 【PLC通信原理探秘】大讲堂幕后彩蛋之搁浅
连载之十二: 【PLC通信原理探秘】大讲堂幕后彩蛋之有谁
连载之十三: 【PLC通信原理探秘】大讲堂幕后彩蛋之头疼
连载之十四: 【PLC通信原理探秘】大讲堂幕后彩蛋之求助
连载之十五: 【PLC通信原理探秘】大讲堂幕后彩蛋之苦大
通信资源的概念是我自己定义的,概念应该没有问题,问题是名字可能存在歧义。因为我总是觉得连接资源和任务资源,合体所代表的一种表象资源,只不过使用通信资源这个概念更加通俗易懂一些。
回到前面的非常痛苦的问题。我仍旧进行了大量的测试,去否定或者证实我的一些猜想。
诸如:既然CP343-1是S7协议处理的主体,那么CP343-1占用S7的连接资源就不难理解,而CPU就不应该占用S7连接资源了,那既然试验结果看到CPU也占用一个S7连接资源,那么难道SFC58/59读取的是S7 PDU而不是纯粹的数据?然后CPU在做进一步处理,通过S7协议解析出用户数据,这样就说的通了,然而通过前面所描述的测试,否定我的猜想,因为SFC58/59读写的是纯粹的用户数据。
还有400CPU做了S7通信协议处理的主体,同样很好理解它占用S7的连接资源,那CP443-1的占用,难道是由于400PLC的S7的数据一致性是480B,CP443-1把收到300的S7 PDU数据重新封装成400PLC的数据一致性长度,即240B整合成480B,这样CP443-1占用S7连接资源也就容易理解了。然而测试结果表明400PLC接收的数据一致性长度就是300PLC的数据一致性长度,所以说CP443-1并没有做相应的处理。试验再次否定了我的猜测。
那它们300CPU和CP443-1为什么还要占用相应的连接资源呢?愁!愁上心头!
痛定思痛,还是把连接资源的概念好好想一想,从头想!查看300CPU属性中的通信标签页,在这里可以定义预留的S7资源给谁,给多少。类似的400PLC和1500PLC都有,只不过不能像300PLC那样去设置预留数量。那么这一点仍然看出,就像我前面所描述的,300PLC的参数开放更多的是为了优化其性能,或者说它的性能确实比400PLC和1500PLC要低。
到了400CPU这里,相应的资源不再只是局限于S7资源,相关的Open IE的连接资源也会出现在全部的资源中,例如64中。那么对比300CPU来说,指示资源的概念发生了变化,从单一的连接资源过渡到混合的连接资源。不过全局的资源数量提高了很多。这实际上又透漏了一个信息,就是资源放在那里,64个,除了预留的资源,无论使用S7还是TCP的通信服务,都可以占用剩余的这些资源,换句话说这些资源是共享的。
再看1500PLC,相关的连接资源的数量有上升了一个新的台阶,数量显著提升。并且可以通过CP卡扩展相应的连接资源,这时可以看到全部资源的融合,这再次印证了资源是公共的,可以被任意一种通信服务所占用。而且这些资源都是发生在CPU循环时间片和CCP相关的通信。
这时从上述的这些猜想,结合前面所说的大量试验,说明通信资源本质是一种逻辑的,物理存在的,数据缓冲区域。当发生通信服务时,哪个协议通信占用了这个“资源”,就发生了通信服务,外在表现为占用了相应的一个连接资源。
应该是这样的,一定是这样的!看看这样的概念理解可以解释什么现象或者应用。
在这里也要特别感谢我的同事,专家冯学卫先生,是他不断地否定我的各种假设,并提出质疑,给予我打击,哈哈,让我最终找到这一切的答案!
----------未完待续----------
连载之十七: 【PLC通信原理探秘】大讲堂幕后彩蛋之砥砺
连 载 汇 总: 【PLC通信原理探秘】系列连载故事汇总