您现在的位置是:首页 > PLC技术 > PLC技术
STEP 7中数据块的访问技术方法
来源:艾特贸易2017-08-13
简介在用户程序中可能存在多个数据块,而每个数据块的数据结构并不完全相同,因此在访问数据块时,必须指明数据块的编号、数据类型与位置。如果访问不存在数据单元或数据块,而且
在用户程序中可能存在多个数据块,而每个数据块的数据结构并不完全相同,因此在访问数据块时,必须指明数据块的编号、数据类型与位置。如果访问不存在数据单元或数据块,而且没有编写错误处理OB块,CPU将进入STOP模式。
1.寻址数据块
与位存储器相似,数据块中的数据单元按字节进行寻址,S7-300的最大块长度是8 KB。可以装载数据字节、数据字或数据双字。当使用数据字时,需要指定第一个字节地址(如L DBW 2),按该地址装入两个字节。使用双字时,按该地址装入4个字节。
2.访问数据块
访问数据块时需要明确数据块的编号和数据块中的数据类型及位置,在STEP 7中可以采用传统访问方式,即先打开后访问,也可以采用完全表示的直接访问方式。
(1)先打开后访问
可用指令“OPN DB…”打开共享数据块(自动关闭之前打开的共享数据块),或用指令“OPN DI…”打开背景数据块(自动关闭之前打开的背景数据块)。如果在创建数据块时,给数据块定义了符号名,如Motor_DB,也可以使用指令OPN“Motor_DB”打开数据块。
如果DB已经打开,则可用装入(L)或传送(T)指令访问数据块。
【例5-1】 打开并访问共享数据块
OPN“Motor_DB1” 说明:打开数据块DB1,作为共享数据块
LDBW2 将DB1的数据字DBW2装入累加器1的低字中
TMW0 将累加器低字中的内容传送到存储字MW0
TDBW4 将累加器1低字中的内容传送到DB1的数据字DBW4
OPN DB2 打开数据块DB2,作为共享数据块,同时关闭数据块DB1
LDB10 装入共享数据块DB2的长度
LMD10 将MD10装入累加器
<D 比较数据块DB2的长度是否足够长
JC ERRO 如果长度小于存储双字MD10中的数值,则跳转到ERRO
【例5-2】 打开并访问背景数据块
OPN DB1 说明:打开数据块DB1,作为共享数据块
LDBW2 将DB1的数据字DBW2装入累加器1的低字中
TW0 将累加器低字中的内容传送到存储字MW0
TDBW4 将累加器1低字中的内容传送到DB1的数据字DBW4
OPN DB2 打开数据块DB2,作为背景数据块
LDBB2 将DB2的数据字节DBB2装入累加器1低字的低字节中
TDBB10 将累加器1低字低字节的内容传送到DB2的数据字节DBB10
(2)直接访问数据块
直接访问数据块,就是在指令中间同时给出数据块的编号和数据块中的地址。可以用绝对地址,也可以用符号地址直接访问数据块。使用绝对地址访问数据块,必须手动定位程序中的数据块单元,采用符号就可以很容易地用源程序调整。数据块中的存储单元的地址由两部分组成,如DB1. DBW2则表示数据块DB1的第二个数据字表示。
用绝对地址直接访问数据块如下:
LDB1.DBW2 说明:打开数据块DB1,并装入地址为2的字数据单元
TDB1.DBW4 将数据传送到数据块DB1的数据字单元DBW4
要用符号地址直接访问数据块,必须在符号表中为DB分配一个符号名,同时为数据块中的数据单元用LAD/STL/FBD S7程序编辑器分配符号名,如下所示:
L“Motor_DB”.V1 说明:打开符号名为“Motor_DB的数据块,并装入名为“V1”的数据单元
点击排行
