修改DB块的初始值.docx
《修改DB块的初始值.docx》由会员分享,可在线阅读,更多相关《修改DB块的初始值.docx(11页珍藏版)》请在冰豆网上搜索。
修改DB块的初始值
数据块初始值与实际值的含义
描述
在数据块的变量声明表中可以定义变量的名称、数据类型、注释和变量初始值。
初始值为纯粹的组态值,当由UDT生成数据块或在全局数据块中生成新变量时,组态的初始值被用作为实际值。
可以通过菜单命令“视图>数据视图”来查看实际值。
初始值对于数据块或新声明的变量数据块来说,组态的有效次数仅为一次。
如果变量已经存在,实际值将不会随着初始值的变化而发生改变。
对于CPU来说,操作的数值为实际值,初始值虽也可以下载到CPU中并可在线监控,但不会被CPU采用。
有以下的1、2两种方法可以将初始值传送给CPU作为实际值,然后执行后面的3、4步:
1.切换到数据浏览状态“视图>数据视图”,在“初始值”栏输入新的初始值。
2.进入声明浏览状态“视图>声明视图”,在“初始值”栏输入新的初始值;
3.然后,切换到“数据视图”状态,执行菜单命令“编辑>初始化数据块”将所有“初始值”栏的数值传送至“实际值”栏。
4.然后将数据块下载至CPU中。
由于初始值仅使用一次,因而没有必要将实际值装载至初始值,如装载“初始值”栏到“Initialvalue”栏。
STEP7中没有与之相关的菜单命令。
但是一些特殊应用需要将实际值保存为初始值。
这一过程可通过STL源文件或Excel来实现,以下将分别介绍其操作步骤。
在STL源文件中,将数据块的实际值直接保存为初始值
当生成STL源文件后,实际值可以逐行拷贝至STL源程序中的声明语句中。
No.
步骤
1
在SIMATICManager选择菜单指令"View>Online",在线打开要执行操作的数据块。
选择菜单命令“File>Save”或点击软盘图标保存该数据块。
2
通过菜单命令“File>GenerateSource...”生成此数据块的源文件。
3
打开生成的源文件,该文件位于SIMATICManager的Source文件夹。
4
在STL源文件中,将位于“BEGIN”和“END_DATA_BLOCK”语句之间的实际值逐行复制到相应的声明行(初始值)及相应的数据类型之中。
图01
如图01所示,通配符“:
=”也必须和实际值一起复制到初始值的声明行。
以下是声明行定义的一个示例:
∙Data_1:
BYTE:
=B#16#AA;
5
保存编译STL源程序
∙File>Save
∙File>Compile
此时,实际值被用作初始值
使用Excel将数据块的实际值保存为初始值(便利方法)
数据块的实际值也能在Excel中被存为初始值。
当数据量较大时,推荐使用Excel进行操作,这是因为此时数据是逐块而不是逐行被复制到声明区域的。
下述表格介绍了如何导入/导出STL源文件及将其保存在Excel中。
No.
步骤
1
在SIMATICManager选择菜单指令"View>Online",在线打开要执行操作的数据块。
选择菜单命令“File>Save”或点击软盘图标保存该数据块。
2
通过菜单命令“File>GenerateSource...”生成此数据块的源文件。
3
MarkthegeneratedsourceinthesourceintheSIMATICManagerandright-clickit.Thenselectthe"ExportSource..."commandinthepop-upmenu.
4
在“Exportsource”对话框中确定源文件导出文件加后,选择“STLsource(*.awl)”作为文件类型且文件名中必须包含扩展名“.AWL”,例如“”,然后点击“Save”按钮。
图02
5
启动MicrosoftExcel,通过“文件>打开...”打开刚才导出的STL源文件,出现“文本导入向导”对话框。
注意
为了保证在“Open”对话框中可以找到该STL源文件,需要选择“Allfiles(*.*)”作为打开文件类型。
6
在文本倒入向导第一步,使能“Delimited“格式选项。
图03
然后单击“Next”按钮。
7
在下一个文本倒入向导的对话框中,选择"tab"或"space"作为分隔符。
图04
然后单击“Next”按钮。
8
在第三步文本倒入向导中,选择”standard”作为;栏数据格式。
图05
然后单击“Finish”按钮。
转化的STL源在Excel中打开。
9
选中所有属于STLsource的单元格后点击右键。
在弹出菜单中选择“设置单元格格式...”。
图06
10
在“对齐”页签中将水平对齐设置为“靠右”或“靠右(缩进)”点击确定。
图07
11
选择位于“BEGIN”和“END_DATA_BLOCK”之间的实际值以及通配符“:
=”,将数据复制到“STRUCT”和“END_STRUCT”之间声明区域的相应数据类型之后,如图08所示。
图08
12
复制完成后检查语法格式是否正确,例如:
STRUCT
Data_1:
BYTE:
=B#16#AA;
...
END_STRUCT;
图09
13
在Excel中保存文件,“文件>另存为...”并选择
∙带格式文本文件(空格分隔)(*.prn)作为文件类型。
.
注意
14
在SIMATICManager中选择菜单命令“Import>ExternalSource...”将Excel中处理完成的STL源文件导入至STEP7项目下的source文件夹。
15
选择导入的源文件后点击右键,在弹出菜单中选择“Compile...”命令进行编译。
编译完成后,实际值便保存为初始值。
图10
注意
如果数据块中有UDT类型的数据,使用时有限制:
不能将实际值附着在变量后作为初始值。
虽然UDT可以被导出,但其初始值的改变将会影响到所有使用该UDT的数据块,因此无法做到在不同数据块中的差别化应用。