Step7的DB块中的变量的值可分为初始值和实际值,初始值也称为默认值,在现场有时候我们在设备调试完毕之后,希望能把调试好的值保存成默认值,以方便以后的使用。但变量的默认值在DB块的数据视图中是灰色的,不允许修改。这篇文章我们就来谈谈如何通过修改源文件来修改DB块变量的默认值。
首先用Step7创建一个DB块,新建三个变量,"DB_INT1"的数据类型为"INT",DBB0的数据类型为"BOOL","DB_User"的数据类型为用户自定义类型"UDT_TEST",如下图:
在每个变量的右侧,有一栏"初始值(Intitial value)",这个值是声明变量时给变量的默认值;点击菜单"View"-"Data View",可以从声明视图切换成数据视图,
在数据视图中可以看到在"初始值"的右边多出一栏"实际值 Actual value",这个值是下载数据块时下载到CPU中的值。
现在我们来看看三个概念:DB块数据视图中变量的初始值、变量的实际值和DB块在线后显示的变量的实际值。
首先,变量的初始值是在创建DB块变量时需要给变量赋的默认值,这个值相当于C语言中如下语句:int a =100;编译器根据变量的类型来给变量分配地址,根据变量的默认值来初始化该地址的值。程序运行过程中该变量的值发生变化时,初始值(默认值)将被实际值取代。变量的初始值在DB块中是灰色的,不能直接修改。
离线状态DB块数据视图中变量的实际值:是用来下载到CPU中的变量的预设值。当修改该值并下载DB块后,CPU中的值将被该值代替。
在线状态DB块数据视图中变量的实际值:是CPU运行过程中该变量的真实值,会根据程序的运行而发生变化。
下面来看看如何修改变量的初始值:假设在上图中我们需要把变量"DB_INT1"的值从"0"改成"10",直接在数据视图中是无法修改的,我们通过修改源文件的方法来修改;
首先关闭已经打开的DB1,然后点击"File"-"GenerateSource",出现保存源文件对话框,给文件起个名字,比如"DB1",然后保存:
在出现的对话框中选择你要生产源文件的块,点击"OK":
然后再点击"File"-"Open",打开系统生产的源文件"DB1",如下图:
在"STRUCT"与"END_STRUCT"之间是变量的默认值,"BEGIN"之后是离线变量的实际值,我们做如下修改:
然后,点击"File"-"Compile",重新编译生成DB1,完成后打开DB1,可以看到变量"DB_INT1"的初始值和离线显示的实际值都发生了变化,如下图:
这个方法不但可以修改DB块的初始值,还可以修改UDT的默认值,怎么样,赶紧动手试试吧?
扫描下面的二维码,关注“方正智芯”的原创文章,提供工业控制领域(PLC、单片机、通信)的技术和经验的分享,持续关注,持续进步。
点击这里下载本文的PDF版本:
发表评论