共享数据块(Share DB)可以作为所有程序使用的全局变量,在CPU允许的条件下,一个程序中可以自由创建多个数据块,每个数据块最高可以存储64KB数据。共享数据块必须事先定义才可以在程序中使用,在SIMATIC Manager界面下点击“S7 Program”→“Blocks”插入一个数据块,选择数据块为“Share DB”(默认设置),如图7-19所示。
图7-19 创建共享DB块
打开数据块在“STRUCT”与“END_STRUCT”中间定义数据块的空间(通过数组变量可以简单定义DB的空间),例如定义数据块的空间为4KB,如图7-20所示。
图7-20 定义共享DB块空间
图7-20中使用数组定义DB的空间,数组的元素为字节,可以以任何数据类型使用,例如DB2.DBW2可以在整数相加指令中作为一个整数使用(使用M数据区,如果在符号表中定义数据类型为字,则在整数相加指令中不能作为一个整数使用)。用户也可以根据应用分别插入不同数据类型的变量。(www.xing528.com)
注意:
如果访问DB的地址超出DB定义的空间,CPU调用OB121(编程错误),如果没有下传OB121,CPU停机。
默认条件下,共享数据块存储的数据掉电保持,下载到CPU中既占用CPU的装载存储区又占用工作存储区(便于数据的快速访问),通过DB的属性可以修改这些特性,点击某一个DB,右键选择“Open Properties”,打开DB的属性界面如图7-21所示。
如果选择“Non Retain”选项,这个DB存储的数据掉电后丢失,如果选择“Unlinked”选项,DB下载后只存储于CPU的装载存储区,如果程序需要访问DB的数据,通过调用SFC20(S7-400系列PLC)或SFC83、SFC84(以MMC作为装载存储区的CPU)将装载存储区的数据复制到工作存储区中。打开DB,点击“File”→“store read only”可以将DB作为只读属性存储,“block Read-only”属性在DB的属性界面中只能显示而不能进行设置。
图7-21 DB属性界面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。