描述
在数据块的变量声明表中可以定义变量的名称、数据类型、注释和变量初始值。初始值为纯粹的组态值,当由UDT生成数据块或在全局数据块中生成新变量时,组态的初始值被用作为实际值。可以通过菜单命令 “View > Data view” 来查看实际值。n
初始值对于数据块或新声明的变量数据块来说,组态的有效次数仅为一次。如果变量已经存在,实际值将不会随着初始值的变化而发生改变。对于CPU来说,操作的数值为实际值,初始值虽也可以下载到CPU中并可在线监控,但不会被CPU采用。n
有以下两种方法可以将初始值传送给 CPU 作为实际值:n
- 切换到数据浏览状态 “View > Data view”,在“Actual value” 栏输入新的初始值。n
- 进入声明浏览状态 “View > Declaration view ”,在“Actual value” 栏输入新的初始值;然后,切换到“Data view” 状态,执行菜单命令 “Edit > Initialize Data Block”将所有“Intial value”栏的数值传送至“Actual value”栏。
然后将数据块下载至CPU中。n
由于初始值仅使用一次,因而没有必要将实际值装载至初始值, 如装载“Actual value”栏到“Initial value”栏。 STEP 7 中没有与之相关的菜单命令。 但是一些特殊应用需要将实际值保存为初始值。这一过程可通过 STL 源文件或 Excel 来实现,以下将分别介绍其操作步骤。n
在STL 源文件中,将数据块的实际值直接保存为初始值
当生成 STL 源文件后,实际值可以逐行拷贝至 STL 源程序中的声明语句中。
No. | 步骤 |
1 | 在 SIMATIC Manager选择菜单指令 "View > Online",在线打开要执行操作的数据块。选择菜单命令“File > Save” 或点击软盘图标保存该数据块。 |
2 | 通过菜单命令“File > Generate Source...”生成此数据块的源文件。 |
3 | 打开生成的源文件,该文件位于 SIMATIC Manager 的 Source 文件夹。 |
4 | 在 STL 源文件中,将位于“BEGIN”和 “END_DATA_BLOCK”语句之间的实际值逐行复制到相应的声明行(初始值)及相应的数据类型之中。 n
如图 01 所示,通配符“:=”也必须和实际值一起复制到初始值的声明行。以下是声明行定义的一个示例:n
|
5 | 保存编译 STL 源程序 n
此时,实际值被用作初始值 |
使用 Excel 将数据块的实际值保存为初始值(便利方法)
数据块的实际值也能在 Excel 中被存为初始值。当数据量较大时,推荐使用 Excel 进行操作,这是因为此时数据是逐块而不是逐行被复制到声明区域的。下述表格介绍了如何导入/导出 STL 源文件及将其保存在 Excel 中。
No. | 步骤 |
1 | 在 SIMATIC Manager选择菜单指令 "View > Online",在线打开要执行操作的数据块。选择菜单命令“File > Save” 或点击软盘图标保存该数据块。 |
2 | 通过菜单命令“File > Generate Source...”生成此数据块的源文件。 |
3 | Mark the generated source in the source in the SIMATIC Manager and right-click it. Then select the "Export Source..." command in the pop-up menu. |
4 | 在 “Export source”对话框中确定源文件导出文件加后,选择“STL source (*.awl)” 作为文件类型且文件名中必须包含扩展名“.AWL ”,例如 “Source_DB2.AWL”,然后点击“Save”按钮。 n
|
5 | 启动 Microsoft Excel,通过 “文件 > 打开...”打开刚才导出的 STL 源文件,出现“文本导入向导”对话框。 n
注意 |
6 | 在文本倒入向导第一步,使能“Delimited“格式选项。 n
然后单击 “Next” 按钮。 |
7 | 在下一个文本倒入向导的对话框中,选择"tab"或 "space" 作为分隔符。 n
然后单击 “Next” 按钮。 |
8 | 在第三步文本倒入向导中,选择”standard” 作为;栏数据格式。 n
然后单击“Finish”按钮。 转化的 STL源在Excel 中打开。 |
9 | 选中所有属于 STL source的单元格后点击右键。 在弹出菜单中选择“设置单元格格式...”。
|
10 | 在“对齐”页签中将水平对齐设置为“靠右”或“靠右(缩进)”点击确定。
|
11 | 选择位于“BEGIN”和“END_DATA_BLOCK”之间的实际值以及通配符“:=”,将数据复制到“STRUCT”和 “END_STRUCT”之间声明区域的相应数据类型之后,如图 08 所示。
|
12 | 复制完成后检查语法格式是否正确,例如: STRUCT
|
13 | 在 Excel 中保存文件,“文件 >另存为...” 并选择
注意 执行上述操作后,文件保存为“Source_DB2.AWL”。但是,如果文件以另一文件名保存,如“Source_DB20.AWL”,系统会将其保存为“Source_DB20.AWL.PRN”文件。 此文件需通过删除扩展文件名 PRN 将“Source_DB20.AWL.PRN”转换为“Source_DB20.AWL”。PRN 扩展名是系统自动添加的,这种情况发生在保存文件时已输入过一次以 AWL 结尾的文件名。 |
14 | 在 SIMATIC Manager中选择菜单命令 “Import > External Source...”将 Excel 中处理完成的 STL 源文件导入至 STEP 7 项目下的 source 文件夹。 |
15 | 选择导入的源文件后点击右键,在弹出菜单中选择 “Compile...”命令进行编译。编译完成后,实际值便保存为初始值。
|
注意
如果数据块中有 UDT 类型的数据,使用时有限制:不能将实际值附着在变量后作为初始值。虽然 UDT 可以被导出,但其初始值的改变将会影响到所有使用该 UDT的数据块,因此无法做到在不同数据块中的差别化应用。
关键词:
编成帮助,初始化,初始值,系统行为
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332863.html