V90代理商1FL6042-2AF21-1MB1
  • V90代理商1FL6042-2AF21-1MB1
  • V90代理商1FL6042-2AF21-1MB1
  • V90代理商1FL6042-2AF21-1MB1

产品描述

产品规格222.00 x 382.00 x 250.00包装说明全新原装颜色深灰 产品别名S7-1200 用途工业自动化控制

V90代理商1FL6042-2AF21-1MB1      V90代理商1FL6042-2AF21-1MB1        V90代理商1FL6042-2AF21-1MB1


Profinet IO的刷新时间和CPU的循环周期时间是不同步的,各自有各自的周期时间。如果编写的用户程序过大,那么CPU的循环周期自然会变长,假设100ms,但是如果此时想快速的刷新IO设备,例如8ms,此时的程序是不能做到真正按照8ms来刷新IO的,因为CPU的循环周期是100ms。

 

        那如何来解决呢?除了瘦身程序外,首先想到的是使用指令PIW/PQW这样的指令,并在循环的组织块,例如OB35,循环周期8ms中调用,这样就能够实现真正按照8ms来刷新IO设备。

 

        而对于PIW/PQW指令,它真的像很多工程师想象的那样,这个指令去直接访问分布式IO设备上的IO数据吗?这真的是一个误区,而且这样认为的人还是大有人在。通过Wireshark抓包,可以看见并没有因为该指令的出现而出现一些特殊的读写IO数据的报文,仍旧是周期性的循环数据帧。

 

        那么既然PIW/PQW这样的指令不是直接访问分布式IO的IO数据,那么也就说明它们访问的CPU内部的缓冲区,是哪个数据缓冲区呢?就是前面我所给大家定义的外设IO区,此区域是数据随着PN IO的刷新周期而变化,PIW/PQW就是访问于此,能够直接和外设IO区进行数据交换,从而达到真正按照8ms刷新时间去刷新分布式IO。

 

        理解了PIW/PQW的工作原理,那么在使用它们的时候,尤其在编程时,需要注意的是因为它们直接访问外设IO区,那么在CPU的循环周期内是不一致的,如果在编程时,多次使用并访问相同的IO地址区时,需要特别注意,因为有可能前面的结果被后面的程序执行所覆盖。上述原理同样适用于S7-1500使用:P指令的操作。

 

        至此,我把PII/PIQ以及使用PIW/PQW指令的背后的原理和概念全部弄清楚了。这些概念同样也适用Profibus DP,那么作为CPU循环周期中的较后两个拼图PII/PIQ对于通信的作用是什么呢?

 

        前面提到了时间片和CCP,例如S7-400与PG进行通信时,数据通信发生在时间片,而300PLC发生在CCP。结合的这个测试,说明也不是所有的通信都发生在时间片或CCP,例如PN IO和PB DP,这两种通信是独立存在的,也就是说20%参数的调整不能改善任何关于这两个通信的性能。这里为了归类和好理解,我把 PN IO和PB DP的通信,归结到PII/PIQ,这样一个完整的CPU的循环周期,能在各个部分PII/PIQ/AP/CCP中看到各种各样的通信服务,也说明在CPU周期中通信无处不在!(需要特别说明的是当使用S7-1500CPU的X2端口时,进行的PN IO通信却不是这样的,后面再给大家说明。)

 

        此外,回过头再看300/400PLC中属性中的循环部分,默认的PII/PIQ大小一般是256字节,这说明刷新PII和PIQ的时间不能被忽略,较起码它会影响CPU的循环周期时间,也就是说如果该区域设置过大,那么CPU就要消耗更多的时间进行扫描,交换数据,自然CPU的循环周期会延长。而再看如今的1500CPU时,默认都是过程影响区,这就说明1500性能真的强大,*优化这些参数来降低CPU的循环周期。

 

        20%的谜题基本上解开了,即20%的参数只能优化发生在时间片上的通信服务,对于发生在CCP,PII/PIQ上的通信服务无能为力。

 

        整个CPU循环对于通信服务的操作和背后原理的总结,在探索通信原理的道路上终于前进了一大步,对于笔记本中所记载的哪些问题,我只能说,前进吧!



http://shtxjd.cn.b2b168.com

产品推荐