标准块中,CPU需要2*16 位的方式来去读一个4字节的数据,所以需要调换字节顺序。优化块中是以32位的方式来存取一个4字节的数据。
2:优化块,每个位单独占据一个字节的内存,这样来加快存取速度。
3:优化块可以到达16M的大小
所以,西门子给出了以下建议
如果不需要使用间接寻址的情况下,仅使用优化块的访问方式;而且在S7-1500平台下,可以使用符号变量来实现间接寻址,比如(array [“index”]),以前在S7-300+STEP7 V5.x平台下只有SCL语言才能使用的语句,在STEP7 PORTAL 中LAD,STL等都可以这样来使用了。
避免,在标准块和优化块中拷贝和传递数据,因为存储数据方法的不同,系统会自动调整访问方式,但是需要占用更多的CPU资源。
在 标准块中,变量的“保持”属性不可单独设定,只能应用于整个数据块,而优化块可以单独设定变量的“保持”属性。
标准块和优化块的访问类型
让不少同行不习惯使用 优化块访问方式的是优化块不能使用“间接寻址”,在STEP7时代,使用STL的间接寻址功能,大家可以很方便灵活地编写出各种程序。
但是,不使用间接寻址就不能写出好程序了吗?当然不是,我最早接触指针的是在大学里的C语言中,但是目前的,随.NET 平台一起出现的C#语言不是一样不推荐使用指针了嘛(只能在非安全代码里使用指针,就像S7-1500可以在标准块里使用指针一样),但是C#依然可以做出好的程序。而VB.NET干脆没有指针的概念。
在CPU/CM接口间通信也可以使用优化数据块的数据,这一点,我当初也是怀疑,但是在一遍文档中找到了证据(其实还是有些怀疑在S7-1500和S7-300之间通信,在S7-1500测使用优化块的访问,会不会有些问题,有时间为会实践一下)