将改变的DB/FB下载到PLC实现不重新初始化功能
对于S7-1200 V4 及以上和S7-1500CPU, 可以在运行模式下修改功能块和数据块的接口
S7-1200 /S7-1500系列的 CPU 模块与 S7-300/400 系列的 CPU 模块相比,在下载更改的软件时的行为是不同的。例如,可以选择在运行或者停止模式下载改变的部分而不会影响已经下载的变量的当前值。在运行模式时,可以增加功能块的接口或者数据块的变量 ,并且可以修改已经在设备中正在可靠运行的 STEP 7 程序。FB与DB类似,这里详细介绍DB.
如果想下载全局数据块改变的部分或者功能块的接口到 CPU 中,而且不想改变当前值,在 TIA 中必须先在块的“设置”选项卡中 '激活存储器预留' 功能。然后声明所有变量放到预留区域中,当再次下载的时候,已经下载的变量不会受到影响。为了满足“下载但不重新初始化”功能,下面的硬件和软件要求必须要满足:
- STEP 7 (TIA Portal) V12 版本及以上
- S7-1500 系列CPU和 S7-1200 系列 CPU (V4及以上)
- 用户创建的块 (不是库中提供的块)
- 优化的访问方式 (从 STEP 7 V12起,这是新创建的 DB 块默认的设置)
设置存储器预留区域
所有FB和DB在非保持寄存器中都有100个字节默认的存储器保留设置。实例DB遵从FB设置。如果需要,可以改变存储器预留的大小或者在保持寄存器中定义额外的存储器预留。
1.为了设置项目中所有新创建的块的存储器预留大小,选择菜单命令'选项 >设置。
2.在导航区打开'PLC 程序' 文件夹并点击'常规'。
3.在 '下载但不重新初始化' 下定义为所有新创建的功能块和数据块定义存储器预留区域。
全局设置
下载后,预留的存储空间会 100% 的占用 CPU 的主存储区。即使预留的存储没有被使用,甚至是在保持存储器中,预留的保持存储也会 100% 的占用。在使用小存储空间的 CPU 时,注意设置好预留存储的缺省值,因为不是所有的数据块都需要 100字节的预留值.
为单个FBs/DBs和保持存储器区域激活存储器预留功能
1.在项目导航中数据块上单击右键,在弹出的窗口中打开“属性”窗口。
2.选择“下载但不初始化” 标签并且激活“启用下载,但不重新初始化保持性变量”功能。
3. 点击 确定 关闭对话框然后打开数据块或者FB。
4.保存和编译下载项目设置.会初始化此DB/FB.
5.打开块通过在工具栏点击“保持实际值”按钮 激活存储器预留。现在可以将新声明的变量存储在预留存储器中,并且可以在不影响运行过程的情况下下载到CPU。
6.在块中声明变量。在“保持”列可以选择使能或不使能“保持”。
7.项目导航右击块文件夹(PLC1),在弹出菜单中选项命令“编译>软件(仅更改)”,通过编译后仅最新声明的变量加入到存储器预留中。
8. 然后在项目导航中右击块文件夹(PLC1),在弹出菜单中选项命令“下载>软件(仅更改)”,通过下载,带有定义的初始值的最新添加的变量被初始化。在线已经存在的变量不会重新初始化,已经存在的变量的在线监视值保持不变。
下载改变的程序并且重新初始化
如果想要重新下载改变的程序并且初始化,必须将变量从预留的保持存储区中移至常规存储区域中。
1. 打开数据块在工具栏中点击“保持当前值”按钮,取消使能.
2. 编辑数据块并下载进CPU,有两种不同的选项来初始化下载:
仅有存储器预留功能未使能的块被初始化,取消使能存储器预留并通过“软件(仅更改)” 命令将块下载进CPU。
所有使能了存储器预留的块都被初始化。执行菜单命令“编译 > 软件 (复位存储器预留)”,通过“软件(仅更改)” 命令将块下载进CPU。