首页 理论教育 寻址设置及优化方法

寻址设置及优化方法

时间:2023-07-01 理论教育 版权反馈
【摘要】:图4-16 FB的访问方式L区访问设置S7-1200 CPU的所有OB都是优化访问的,FB/FC的访问方式在其“属性”中设置。表4-11 标准DB和优化DB对比3.Slice访问Slice访问支持I/Q/M/DB等地址区,使用符号方式对操作数按位、字节、字进行访问,而无需对访问的目标地址进行定义。

寻址设置及优化方法

1.IO访问

S7-1200 CPU提供两种IO访问方法:过程映像访问和直接物理访问,如图4-14所示。

978-7-111-58391-2-Chapter04-27.jpg

图4-14 IO访问

过程映象访问和直接物理访问说明如下:

①过程映像访问是使用地址标识符I/Q(不区分大小写)访问CPU的过程映像区。采用过程映像访问,可以保证在一个扫描周期内的信号一致性。

②直接物理访问是在I/O地址后附加“:P”,直接访问物理输入输出点。对于实时性要求高的输入输出地址访问可以采用直接物理访问。

不论过程映像访问还是直接物理访问,都可以按位、字节、字或双字进行IO访问。

IO点更新方式的设置,参考图3-11。组态的更新方式不同,则可以采用IO访问的方法也不同,见表4-10。

4-10 IO访问方法

978-7-111-58391-2-Chapter04-28.jpg

注意:

•过程映像是可读可写的。对过程映像I区的写访问可能会造成扫描周期内I区信号的不一致现象。

•I:P为只读访问,使用I:P访问不会影响存储在过程映像I区的相应值;Q:P为只写访问,使用Q:P访问会同时更新过程映像Q区的相应值。

2.存储区寻址

全局变量(I/Q/M/DB)可以在CPU内被所有的程序块使用。

局部变量(L)是程序块中的Temp变量,只能在该变量所属的程序块范围内使用。不能被其他程序块使用。局部变量的数据仅在这个块的当次调用中有效。

S7-1200CPU提供两种数据的访问方式:优化访问和标准访问。全局变量和局部变量都可以进行优化访问,只有DB和L区的变量可以进行优化访问或标准访问,这取决于相关块属性的设置。

(1)全局DB访问设置

数据块访问方式的设置,参考图4-28。不同访问方式的DB,内部变量的访问也不同,如图4-15所示。只读数据块只允许读访问。

978-7-111-58391-2-Chapter04-29.jpg

图4-15 标准DB和优化DB的变量访问

标准DB中的变量有偏移量,说明变量有绝对地址,既可以采用绝对地址访问,也可以采用符号访问。优化DB的变量没有绝对地址,仅能使用符号访问。

(2)背景DB访问设置

背景DB的访问方式由其所属的FB的访问方式决定:(www.xing528.com)

•如果FB为标准访问的,则其背景DB是标准DB;

•如果FB为优化访问的,则其背景DB是优化DB。

FB的访问方式在其“属性”的“常规>属性”中设置,如图4-16所示,选中“优化的块访问”则该FB块是优化访问的。

978-7-111-58391-2-Chapter04-30.jpg

图4-16 FB的访问方式

(3)L区访问设置

S7-1200 CPU的所有OB都是优化访问的,FB/FC的访问方式在其“属性”中设置。优化访问的程序块中的L区变量只能使用符号访问;标准访问的FB/FC中L区变量可以使用符号访问和绝对地址访问。SCL语言编辑的程序块中,只能使用符号访问。

(4)标准DB和优化DB对比

在TIA博途软件中,为S7-1200CPU添加一个DB块时,其默认属性为优化DB,优化DB与标准DB的整体对比,见表4-11。

4-11 标准DB和优化DB对比

978-7-111-58391-2-Chapter04-31.jpg

3.Slice访问(片段访问)

Slice访问支持I/Q/M/DB等地址区,使用符号方式对操作数按位、字节、字进行访问,而无需对访问的目标地址进行定义。

DB中变量“DWord-Variable”的数据类型是DWord,如图4-17所示,可以通过DWord_Variable.w1访问其第二字,可以通过DWord_Variable.x3访问其第四位。

4.AT访问

AT访问方式是在FB/FC的接口数据区用附加声明来覆盖已经声明的变量。其优势在于无需指令即可根据需要实现变量的拆分,拆分后的变量可在程序中直接使用。支持AT访问的变量如下:

•标准访问的FC/FB的接口数据区中的变量;

•优化访问的FB的接口数据区中保持性设置为“在IDB中设置”的变量。

978-7-111-58391-2-Chapter04-32.jpg

图4-17 Slice访问

当FB为标准访问或“在IDB中设置”时,如图4-18所示,在变量“My-word”下新建一行,在其数据类型中输入“AT”,譬如定义一个名为“AT_My-word”的Array[0..15]of Bool的数组。通过访问AT_Myword数组中的元素来对“Myword”变量的每一位进行寻址。

978-7-111-58391-2-Chapter04-33.jpg

图4-18 AT访问

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈