How do you download changed data blocks into the S7-1200/S7-1500 without putting the CPU in STOP and without affecting the values of the tags already loaded?
The CPU modules of the S7-1200/S7-1500 series behave differently to CPU modules of the S7-300/400 series when downloading software changes. For example, you have the option of downloading changes in STOP and in RUN without affecting the current values of tags already loaded. You can extend the interfaces of function blocks or data blocks in running operation and change operating STEP 7 programs that are already running error-free on a plant.
If you want to download the changes in global data blocks or function blocks with changed interfaces into the CPU without overwriting the current values, in the TIA Portal you must enable the memory reserve in the "Settings" for that block. All tags that you then declare are put in the memory reserve. When you then download, the values of tags already downloaded are not affected. The hardware and software requirements below must be fulfilled for the "Download without reinitialization" function:
- STEP 7 (TIA Portal) V12 (or higher)
- CPUs of the S7-1200 and S7-1500 series (V4 or higher)
- The blocks were created by the user (no supplied blocks from the library)
- Blocks with optimized access. (Default setting for newly created DBs from STEP 7 V12 onwards).
Set memory reserve block extensions
All FBs and DBs have a default memory reserve setting of 100 Byte in the non-retentive memory. The instance DBs receive this from the FBs. If required, you can change the size of the memory reserve or define a memory reserve in addition in the retentive memory.
- To set the size of the memory reserve for all newly created blocks in the project you select the menu command "Options > Settings".
- In the area navigation you open the "PLC programming" folder and click "General".
- Under "Download without reinitialization" you define the memory reserve for all the newly created function blocks and data blocks.
After downloading, the memory reserve for blocks is 100% in the main memory of each CPU even if the reserve is not being used. Even for the reserve in the retentive memory the set value is reserved 100% in the retentive memory. In the case of smaller CPU modules with less memory area you should be cautious when selecting this default value, because not all data blocks need a reserve of 500 bytes.
Enabling the memory reserve for single FBs/DBs and for retentive memory areas
- In the project navigation you right-click the FB/DB and open "Properties..." in the pop-up menu.
- Select the "Download without reinitialization" tab and enable the option "Enable download without reinitialization for retentive tags".
- Close the dialog again with OK.
- Save and compile your project.
- Open the block and enable the memory reserve by clicking the "Retain current values" button in the toolbar. Now you can store all the newly declared tags in the memory reserve and downloaded to the CPU without affecting the running process.
- Declare your tags in the block. In the "Retain" column you can only choose between enabling or disabling "Retain".
- In the project navigation you right-click the block folder (PLC1) and in the pop-up menu you select the command "Compile > Software (changes only)". With this compilation only the newly declared tags are added to the memory reserve.
- Then in the project navigation you right-click the block folder (PLC1) and in the pop-up menu you select the command "Download > Software (changes only)". With this download only the newly added tags with the defined start values are initialized. The tags already existing online are not reinitialized and the monitored values of the tags already existing online remain unchanged.
Downloading the program changes with reinitialization
If you want to download program changes once again with reinitialization, you must move the tags from the memory reserve once again into the regular memory area.
- Open the data block and in the toolbar you click the "Retain current values" button.
- Compile the data block and download the DB into the CPU. There are two different options for initializing the download.
- Only the blocks whose memory reserve has been disabled are initialized.
Disable the memory reserve and download the blocks into the CPU with the command "Software (changes only)".
All blocks with enabled memory reserve are initialized.
Execute the menu command "Compile > Software (reset memory reserve)" and download the blocks into the CPU with the command "Software (changes only)".
100 bytes per default setting are already reserved for each block. You can download without reinitialization even without these actions as long as you do not exceed the limit of 100 bytes.
More information is available in the TIA Portal Information System under
- Basics of downloading without reinitialization
- Set memory reserve block extensions
- Enable memory reserve
- Extend block interface or data block
- Disable memory reserve
- Reset memory reserve
The screens in this FAQ response were created with STEP 7 (TIA Portal) V15.