本节重点:DB数据块的优化访问与非优化访问的区别
对于DB块,相对于其他数据类型,多了一个特殊的功能:优先的块访问功能。
选择数据块-鼠标右键-点击属性,在弹出的属性窗口上就可以找到优化的块访问。
当然这个是一个默认的勾选状态,那如果我们不勾选这类属性的话。
去掉了优化的块访问之后,重新打开DB数据块,你就会发现,在数据块的地址上就会多出一列【偏移量】
什么是非优化访问,跟优化访问有什么区别?
用两张图来说明一下:
假设我们建立三个DB变量
如果变成了非优化的情况下,此时,设置了对应的偏移量之后,例如第一个start对应的偏移量为0.0;start1对应的偏移量为0.1;weight对应的偏移量为2.0,那么它们对应在DB的地址分别为DB0的第一位0;DB0的第二位1;还有DB2 DB3一个字。
特点:非优化的DB块编码方式与CPU不同,当对变量访问读/写值时,CPU需要先颠倒变量的高低字节或字占用CPU 大量时间,访问速度慢
如果变成了优化的情况下,此时,设置了对应的偏移量之后,例如第一个start对应的偏移量为0.0;start1对应的偏移量为0.1;weight对应的偏移量为2.0,那么它们对应在DB的地址分别为DB2的第一位0;DB3的第一位0;还有DB1 DB0一个字。
特点:优化的DB块编码方式与CPU 相同当对变量访问读/写值时,CPU无需要颠倒变量的高低字节或字,访问速度快。对优化DB块中的位访问时,CPU直接访问存储该位的字节,访问速度快。
那既然优化访问这么强,为什么还需要非优化访问?
在正常情况下我们都会选择优化访问功能,而在特定的应用中,必须使用非优化的 DB 块
1、与其它CPU建立S7单边通信时 (PUT/GET),用于存储发送区数据和接收区数据的 DB块与Wincc V7.2 进行HMI连接时Wincc V7.2访问的S7-1200/S7-1500 CPU的DB 块只能是标准的 DB 块;
2、使用Simatic Net V8.2与S7-1200/S7-1500 PLC进行OPC 连接时,OPC 服务器访问 S71200/S7-1500 CPU的DB 块只能是标准的 DB 块。