数据块初始值与实际值的含义

描述
在数据块的变量声明表中可以定义变量的名称、数据类型、注释和变量初始值。初始值为纯粹的组态值,当由UDT生成数据块或在全局数据块中生成新变量时,组态的初始值被用作为实际值。可以通过菜单命令 “View > Data view” 来查看实际值。n

初始值对于数据块或新声明的变量数据块来说,组态的有效次数仅为一次。如果变量已经存在,实际值将不会随着初始值的变化而发生改变。对于CPU来说,操作的数值为实际值,初始值虽也可以下载到CPU中并可在线监控,但不会被CPU采用。n

有以下两种方法可以将初始值传送给 CPU 作为实际值:n

  1. 切换到数据浏览状态 “View > Data view”,在“Actual value” 栏输入新的初始值。n
  2. 进入声明浏览状态 “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

数据块初始值与实际值的含义
图01n

如图 01 所示,通配符“:=”也必须和实际值一起复制到初始值的声明行。以下是声明行定义的一个示例:n

  • Data_1 : BYTE := B#16#AA;
5 保存编译 STL 源程序 n

  • File > Saven
  • File > Compile

此时,实际值被用作初始值

使用 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

数据块初始值与实际值的含义
图02

5启动 Microsoft Excel,通过 “文件 > 打开...”打开刚才导出的 STL 源文件,出现“文本导入向导”对话框。 n

注意
为了保证在“Open”对话框中可以找到该 STL 源文件,需要选择“All files (*.*)”作为打开文件类型。

6在文本倒入向导第一步,使能“Delimited“格式选项。 n

数据块初始值与实际值的含义
图03n

然后单击 “Next” 按钮。

7在下一个文本倒入向导的对话框中,选择"tab"或 "space" 作为分隔符。 n

数据块初始值与实际值的含义
图 04n

然后单击 “Next” 按钮。

8在第三步文本倒入向导中,选择”standard” 作为;栏数据格式。 n

数据块初始值与实际值的含义
图05n

然后单击“Finish”按钮。 转化的 STL源在Excel 中打开。

9选中所有属于 STL source的单元格后点击右键。 在弹出菜单中选择“设置单元格格式...”。

数据块初始值与实际值的含义
图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) 作为文件类型。.

注意

执行上述操作后,文件保存为“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...”命令进行编译。编译完成后,实际值便保存为初始值。

数据块初始值与实际值的含义
图10

注意
如果数据块中有 UDT 类型的数据,使用时有限制:不能将实际值附着在变量后作为初始值。虽然 UDT 可以被导出,但其初始值的改变将会影响到所有使用该 UDT的数据块,因此无法做到在不同数据块中的差别化应用。

关键词:
编成帮助,初始化,初始值,系统行为

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论