【专家大讲堂直播答疑】20220712 PLC通信原理终极大揭秘!
直播时间:2021年7月12日 19:30-20:30
主讲专家 : 赵欣
课程主要内容如下:
回顾PLC以时间片和CCP为基础的通信概念,逐步揭开CPU在PLC通信中的秘密;对前两个PLC通信原理探秘系列课程的小结,揭开CPU在PLC通信中所发挥的秘密作用。
直播回看链接:
https://www.ad.siemens.com.cn/1847/Video/VideoPlay?courseId=4660
答疑精选汇总:
Q1:都是CPU每个循环周期内推送数据,为什么时间片方式速度上优于CCP?
A1:一个CPU的循环周期包括四个部分,而应用程序是由若干个时间片组成的,那么若干个时间片必然存在多个时间片的通讯部分,也就是说,一个应用程序的时间部分会包含多个时间片,而一个时间片会包含一个通讯部分,这就意味着一个应用程序的时间部分会包括多个通讯的部分,那么若干个时间片必然存在多个时间片的通讯部分,通讯如果是通过时间片来实现的,那么多个时间片就会完成多次通讯,那么必然这个多次通讯在效率上就会比CCP的通讯要高,比如说CPU的循环周期是十毫秒,如果通讯是通过CCP来完成的,那就意味着每隔十毫秒才能通讯一次,而对于时间片通信,每隔十毫秒去执行一次CPU的循环,那么应用程序在十毫秒之内可以执行多个时间片,也就执行了多次通讯,所以时间片的通讯的效率要高于CCP。
Q2:PN的X2接口发生的特殊注意是指所有的通讯吗?
A2:PN的X2接口发生的特殊注意并不是指所有的通讯,仅对X2接口PROFINET通讯的时候需要特别关注的,所以指的不是所有的通讯,指的仅仅是PN通讯,所以大家在使用运动控制的时候,它的优先级级是比26还高,而26是我可以设置的,比手动的设置还高,是系统自动保留的为了保证PN的应用通讯的优先级,所以它可能会中断你的其他的任何一部分。
Q3: S7-1200没有BSEND,能否使用TCPIP来代替?
A3: S7通讯能不能用TCPIP来代替取决于通讯的对象是否支持S7通讯,S7通讯的通讯速度没有TCPIP快,因为TCPIP是4层的协议,S7协议是CPU应用层的协议,而CPU要参与处理数据的打包和解包,所以S7的速度就会比较慢,如果做TCPIP通讯的话,最大传输的是1460个字节,也就是说1000多个字节做TCPIP的通讯,那对于S7通讯来说,看不到大于1000的数据,主要的原因就是用CPU参与数据的打包和解包,所以就会比较慢。
Q4:怎样识别通讯中断?
A4:用TCPIP通信的时候,用协议来去判断通讯中断,如果默认的话,当你通讯中断了,可能会经过30秒才会告诉你通讯有错误,这是默认Keepalive的参数决定的。所以这时候就要把Keepalive调小,或者认为编程,例如心跳信号去判断通讯故障是否中断。此外对于I7通讯来说,如果是禁止的Keeplive那就是一个灾难,无法判断通讯中断。
Q5:S7-1500 PLC通讯可以使用CCP吗?
A5:不能用CCP,因为所有的通讯都是通过时间片来完成。
Q6:通过设置最小循环周期能够将通讯的负载提高到50%以上吗?
A6:可以。这个问题大家可以关注“西门子1847工业学习平台的“大咖专栏”,赵老师会有专门的章节来介绍这一部分。
Q7:CCP执行多长时间会有上限?
A7:手册中没有关于其执行时间上限的说明,但是手册中有关于其一次最大传输字节的说明。
Q8:CP卡会受通讯负载的影响吗?
A8:这取决于这个通讯是不是通过时间片来完成。比如说S7-300、通过CP卡做TCPIP通讯,那么所有的都是通过SLC58/59做数据记录传输的完成的,而通过数据记录的传输是不会通过时间片来影响的,实际上是程序来完成,所以就不会影响通讯负载,这是程序所造成的负载,所以跟通讯负载没关系。
Q9:PROFINET的RT和IRT的区别是什么?
A9: 大家可以关注“西门子1847工业学习平台”的PROFINET大咖专栏,里面会有相关知识的详细讲解。
Q10:PLC用的TCPIP协议和互联网的一样吗?
A10:如果单纯说TCPIP协议是一样的,只是有些特殊的地方,比如说互联网没有使用单纯的TCPIP通讯,例如:通过网页通信通过HTTP或者HTTPS,但是底层是TCPIP协议。而做PLC通讯的时候是用单纯的TCPIP通讯,与一般的以太网的TCPIP通讯来比还是有差别的,比如说正常的TCP采用4次挥手中断,而PLC的则不是。大家可以观看1847工业学习平台的“TCP/IP通信原理探秘系列讲座”。
Q11:时间片通讯会不会造成接触的数据一部分是通讯之前已经被复制的另一部分是通讯之后没有被复制的数据而没有被执行到?
A11: 这是典型的数据一致性的问题,比如说我要做S7数据通讯,我要保证我的数据一致性,那么我就要看DONE信号,保证我的数据一致性的传输,让前后发送的数据能够是一致的,然后我们才能去改变这个数据,否则我们不能去改变这个数据,这样就会变成不一致。
敬请关注官方微信公众号-西门子工业1847俱乐部,了解更多相关信息。