首页 理论教育 全局数据块在S7 Basic中的实际应用及设置方法介绍

全局数据块在S7 Basic中的实际应用及设置方法介绍

时间:2023-06-21 理论教育 版权反馈
【摘要】:在本书4.1.4节介绍了生成全局数据块和在数据块中生成数组的方法,此处以实例方式来介绍全局数据块在S7 Basic中的使用。在5.1.1所述的FB FC实例项目中生成一个名为GlobalDB1的全局数据块DB5,如图5-20所示,然后再定义一个名为INC100ms的无符号整数变量。图5-20 在线的全局数据块在DB5中还生成了一个名为“发电机”的结构和一个名为“功率”的数组。图5-21 设置数据块的属性再选中右边的复选框“在设备中写保护数据块”,可以使数据块具有写保护(只读)功能。

全局数据块在S7 Basic中的实际应用及设置方法介绍

数据块(DB)是用于存放执行代码块时所需的数据区。与代码块不同,数据块没有指令,STEP 7 Basic会根据数据生成的顺序自动地为数据块中的变量分配地址。数据块的类型有两种:一是全局数据块,它保存着供所有代码块使用的数据,所有的OB、FB和FC都可以访问它们;另一种是背景数据块,它存储的数据供特定的FB使用。背景数据块中保存的是对应的FB的Input(输入)、Output(输出)、InOut(输入输出)参数和Static(静态)变量。FB的临时数据(Temp)没有用背景数据块保存。

在本书4.1.4节介绍了生成全局数据块和在数据块中生成数组的方法,此处以实例方式来介绍全局数据块在S7 Basic中的使用。

【例5-4】全局数据块的使用。

在5.1.1所述的FB FC实例项目中生成一个名为GlobalDB1的全局数据块DB5,如图5-20所示,然后再定义一个名为INC100ms的无符号整数变量。

在设置CPU的属性时,令MB0为时钟存储器字节,在OB1中用M0.0产生的10Hz的时钟脉冲,使变量INC100ms每100ms加1。

978-7-111-47789-1-Chapter05-24.jpg

图5-20 在线的全局数据块

在DB5中还生成了一个名为“发电机”的结构和一个名为“功率”的数组(见图5-20)。结构和数组的“偏移量”列是它们在数据块中的起始地址。结构的元素的“偏移量”列是它们在结构中的地址偏移量,可以看出结构“发电机”占8B。(www.xing528.com)

单击数据块窗口的工具栏上的978-7-111-47789-1-Chapter05-25.jpg按钮,在选中的变量的下面增加一个空白行,单击工具栏上的978-7-111-47789-1-Chapter05-26.jpg按钮,在选中的变量的上面增加一个空白行。单击978-7-111-47789-1-Chapter05-27.jpg按钮,可以切换到扩展模式,将显示或隐藏“初始值”列,同时自动显示或隐藏结构和数组的元素。

选中项目树中的PLC_1,将PLC的组态数据和用户程序下载到CPU,将CPU切换到RUN模式。打开DB5后,单击工具栏上的978-7-111-47789-1-Chapter05-28.jpg按钮,启动监视功能,出现“监视值”列(见图5-20),可以看到变量INC 100ms的值在不断地增大。

用鼠标右键单击项目树中的DB5,执行出现的快捷菜单中的“属性”命令,选中打开的对话框左边的“属性”组,如图5-21所示。

978-7-111-47789-1-Chapter05-29.jpg

图5-21 设置数据块的属性

再选中右边的复选框“在设备中写保护数据块”,可以使数据块具有写保护(只读)功能。数据块可以按位(例如DBX3.5)、字节(DBB)、字(DBW)和双字(DBD)来访问。在访问数据块中的数据时,应指明数据块的名称,例如DB1.DBW20。

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

我要反馈