北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章530 浏览8067495

谈谈S7-1200/1500系列PLC的优化块访问

西门子S7-1200/1500系列PLC支持优化的块访问(Optimized  block  access),通常理解的是数据块(DB)具有这个功能。其实除了数据块,组织块、函数块和函数也都有这个功能。在博途环境下新建这四类程序组织单元,其属性都默认勾选“优化的块访问”。今天这篇文章,我们来详细谈谈这个功能。

cover.png

1、数据块(DB)

博途环境下新建数据块,在其属性中可以看到已勾选“优化的块访问”,如下图所示:

DB_optimize.png

优化的数据块具有如下一些特点:

①数据块中的变量只能以符号的方式访问(不支持绝对地址访问)。比如,某优化的数据块名称为“optDB”,其内部有一个start变量,则访问的语法为:


    "optDB".start


注:optDB两边的双引号是自动添加的,表示这是一个全局变量;如果添加的是井号(#),则表示是局部变量;

为了说明标准数据块与优化的数据块之间存储策略的差别,我们来举个例子。假设有变量按如下顺序存储:

  • start:布尔型;

  • speed:实数型;

  • stop:布尔型;

对于标准数据块,使用绝对地址存储变量(以字节为单位),第一个布尔型变量占用一个字节(B0,虽然它实际只使用了其中一位)。第二个变量为实数,从偶数地址开始存放,因此其起始地址为B2,占用4个字节(B2~B5);第三个变量为布尔型,占用一个字节(B6)。可见,在这种存储策略下,这三个变量占用了7个字节存储空间。当然,如果将顺序调整一下,两个布尔型变量放到一起,会节省一个字节的空间,不过这要求编程人员熟悉其存储策略才行。在有多种数据类型的情况下,人工优化存储往往费神费力,很难达到理想的效果。

而优化的数据块帮我们解决了这个问题。它会自动将同类型的变量存储到一起,从而最大限度的利用存储空间。两者的对比如下图所示:

compare.png

②优化的数据块可以对其中的变量单独设置保持属性,而标准数据块要么全部保持,要么全部取消保持;

③对于S7-1200,优化的数据块采取存储优先的策略(由于其数据空间相对较小);对于S7-1500,优化的数据块采取访问优先的策略(由于其数据空间相对较大,为了提高访问速率);

2、组织块(OB)

优化了启动信息。

优化后的组织块只有很少几条启动信息,比如Startup组织块优化后仅有两条启动信息,如下图所示:

OB_optimize.png

3、函数块(FB)

①对其背景数据块进行优化,类似数据块的优化;

②对复杂变量可通过符号寻址;

4、函数(FC)

①优化临时变量的使用,每次块调用前会对其进行初始化;

②对复杂变量可通过符号寻址;

好了,关于西门子S7-1200/1500优化的块访问就先介绍到这里。

下面是PLC基础入门的文章归档链接:

》》PLC基础入门文章归档《《

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以扫描下面的二维码查看:

谈谈S7-1200/1500系列PLC的优化块访问

来源:本站|   大小:1178 KB|   下载次数:252次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论