今天做试验,修改了DB块里的初始值,但是实际值始终读出来的不是规定的初始值,初始值修改了好几次值,并且已经下载进去了的,实际值读出来都为0,新手刚上路,望高手指点一二!
在网上终于搜到答案了,可能西门子的资料上也有,但不知在那本资料上。
描述:
在数据块的变量声明表中可以定义变量的名称、数据类型、注释和变量初始值。初始值为组态值,当由UDT生成数据块或在全局数据块中生成新变量时,组态的初始值被用作为实际值。 可以通过菜单命令 “View > Data view” 来查看实际值。
初始值对于数据块或新声明的变量数据块来说,组态的有效次数仅为一次。如果变量已经存在,实际值将不会随着初始值的变化而发生改变。对于CPU来说,操作的数值为实际值,初始值虽也可以下载到CPU中并可在线监控,但不会被CPU采用。
有以下 2 种方法可以将初始值传送给 CPU 作为实际值:
1、切换到数据浏览状态 “View > Data view”,在“Actual value” 栏输入新的初始值,下载数据块至CPU中。
2、首先进入声明浏览状态 “View > Declaration view ”,在“Actual value” 栏输入新的初始值;其次,切换到“Data view” 状态,执行菜单命令 “Edit > Initialize Data Block”将所有“Intial value”栏的数值传送至“Actual value”栏;最后,将数据块下载至CPU中。
由于初始值仅使用一次,因而没有必要将实际值装载至初始值,STEP 7 中也没有与之相关的菜单命令。但是一些特殊应用需要将实际值保存为初始值。这一过程可通过 STL 源文件或 Excel 来实现。