Background and system description 03/2014 Programming Guideline for S7-1200/1500 STEP 7 (TIA Portal) http://support.automation.siemens.
Warranty and liability Warranty and liability Note The Application Examples are not binding and do not claim to be complete regarding the circuits shown, equipping and any eventuality. The Application Examples do not represent customer-specific solutions. They are only intended to provide support for typical applications. You are responsible for ensuring that the described products are used correctly.
Table of contents Table of contents Siemens AG 2014 All rights reserved Warranty and liability................................................................................................... 2 1 Preface ................................................................................................................ 5 2 S7-1200/1500 Innovations ................................................................................. 6 2.1 2.2 2.3 2.4 2.5 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7 2.8 2.8.1 2.8.
Table of contents 3.7 3.7.1 3.7.2 3.7.3 3.7.4 3.8 3.9 3.10 3.10.1 3.10.2 3.10.3 3.10.4 3.10.5 3.10.6 3.10.7 3.10.8 4 Hardware-Independent Programming ........................................................... 69 4.1 4.2 4.3 Siemens AG 2014 All rights reserved Libraries .............................................................................................. 54 Types of libraries and library elements .............................................. 54 Type concept .....................................
1 Preface 1 Preface Aims for the development of the new SIMATIC control generation An engineering framework for all automation components (controller, HMI, drives, etc.
2 S7-1200/1500 Innovations 2.1 Introduction 2 S7-1200/1500 Innovations 2.1 Introduction In general, the programming of SIMATIC controllers has stayed the same from S7300/400 to S7-1500. There are the familiar programming languages such as LAD, FBD, STL, SCL or graph and blocks such as organization blocks (OBs), function blocks (FBs), functions (FCs) or data blocks (DBs). I.e.
2 S7-1200/1500 Innovations 2.2 Terms Figure 2-2: Terms associated with tags and parameters Global DB 2 FC / FB 1 3 4 Table 2-1: Terms associated with tags and parameters Copyright Siemens AG 2014 All rights reserved Term Note Description 1. Tag Tags are reserved memory areas for values in the controller. Tags are always defined with a certain data type (Bool, Integer, etc.): PLC tags Single tags in data blocks Complete data blocks 2. Tag value Tag values are values stored in a tag (e.g.
2 S7-1200/1500 Innovations 2.3 Programming languages 2.3 Programming languages For the programming of a user program, various different programming languages are available. Each language has its own advantages, which can be variably used, depending on the application. Every block in the user program can therefore be created in any programming language.
2 S7-1200/1500 Innovations 2.5 Block creation Figure 2-3: Machine code generation with S7-300/400/WinAC and S7-1200/1500 S7-1200/1500 S7-300/400/WinAC SCL LAD FBD SCL LAD FBD STL (only S7-1500) STL Machine code S7-300/400/WinAC Machine code S7-1200/1500 Copyright Siemens AG 2014 All rights reserved For S7-300/400/WinAC controllers LAD and FBD programs are first of all compiled in STL before the machine code is created.
2 S7-1200/1500 Innovations 2.6 Optimized blocks 2.6 Optimized blocks S7-1200/1500 controllers have optimized data storage. In optimized blocks, all tags are automatically sorted by their data type. The sorting ensures that data gaps between the tags are minimized and that the tags are stored access-optimized for the processor. Non-optimized blocks only exist for reasons of compatibility in S7-1200/1500.
2 S7-1200/1500 Innovations 2.6 Optimized blocks 2.6.
2 S7-1200/1500 Innovations 2.6 Optimized blocks Optimized blocks have a memory reserves for reloading in running operation (see chapter 3.2.7 Downloading without reinitialization). Only the symbolic access exists for optimized blocks. 2.6.3 Best possible data storage in the processor on S7-1500 For reasons of compatibility to the first SIMATIC controllers the “Big-Endian” principle of data storage was adopted in the S7-300/400 controllers.
2 S7-1200/1500 Innovations 2.6 Optimized blocks Recommendation Always only use optimized blocks. – They do not require absolute addressing and can always be addressed with symbolic data (object related). Indirect addressing is also possible with symbolic data (see chapter 3.6.2 ARRAY data type and indirect field accesses). – The processing of optimized blocks in the controller is much faster than with standard blocks. Avoid the copying/assigning of data between optimized and non-optimized blocks.
2 S7-1200/1500 Innovations 2.6 Optimized blocks Step 3. Instruction This is where you see all blocks in the program and whether they are optimized or not. In this overview the “Optimized block access” status can be conveniently changed. Note: Instance data blocks (here “Function_block_1_DB”) inherit the “optimized” status from the respective FB. This is why the “optimized” setting can only be changed on the FB. After the compilation of the project the DB accepts the status depending on the respective FB.
2 S7-1200/1500 Innovations 2.6 Optimized blocks The retentivity of tags of a global DB is defined directly in the global DB. The default setting is non-retentive. The retentivity of tags of one instance is defined in the function block (not in the instance DB).These settings then apply to all instances of this FB. Access types for optimized and non-optimized blocks The following table displays all access types to blocks.
2 S7-1200/1500 Innovations 2.6 Optimized blocks 2.6.5 Communication with optimized data The interface (CPU, CM) transfers the data as they are arranged (no matter if optimized or not).
2 S7-1200/1500 Innovations 2.7 Block sizes 2.7 Block sizes For S7-1200/1500 controllers the maximum size of blocks was significantly increased in the main memory. Table 2-7: Block sizes Max. size and number (regardless of the main memory size) S7 -300/400 S7-1200 S7-1500 Max. size 64 kB 64 kB 64 kB (non-optimized) 16 MB (optimized) Max. number 16.000 59.999 59.999 Max. size 64 kB 64 kB 512 kB Max. number 7.999 65.535 65.535 Max. number 4.096 (CPU319) 6.000 (CPU412) 1.024 6.
2 S7-1200/1500 Innovations 2.8 New data types for S7-1200/1500 Table 2-9: Floating-point decimal data types Type Size Value range Real 32 bit (1 bit signs, 8 bit exponent, 23 bit mantissa), -3.40e+38 .. 3.40e+38 accurate to 7 decimal places LReal 2.8.2 64 bit (1 bit signs, 11 bit exponent, 52 bit mantissa), accurate to 15 decimal places -1.79e+308 .. 1.
2 S7-1200/1500 Innovations 2.8 New data types for S7-1200/1500 Figure 2-12: VARIANT data type as input parameter for the TSEND_C instruction VARIANT In this case includes the check of the structure TCON_IP_v4 Advantages Integrated type test Copyright Siemens AG 2014 All rights reserved Symbolic addressing for optimized blocks Recommendation Use the VARIANT data type instead of the ANY pointer.
2 S7-1200/1500 Innovations 2.9 Instructions 2.9 Instructions 2.9.1 CALCULATE With the CALCULATE instruction you can carry out mathematical calculations (e.g. (IN1 + IN2) * IN3) that are independent from the data type. The mathematical formula is programmed in the formula editor of the instruction. Figure 2-13: CALCULATE instruction with formula editor Copyright Siemens AG 2014 All rights reserved Note For more information refer to the Online Help of the TIA Portal with the “CALCULATE” instruction.
2 S7-1200/1500 Innovations 2.9 Instructions Table 2-11:Move instructions Note Copyright Siemens AG 2014 All rights reserved Instruction Usage Properties MOVE Copy value Copies the content of the parameter at the IN input to the parameter of the OUT output. The parameters at the input and output must be of the same data type. The parameters can also be structured tags (PLC data types). MOVE_BLK Copy array Copies the content of an array to another array.
2 S7-1200/1500 Innovations 2.10 Symbolic and comments 2.10 Symbolic and comments Advantages You can make the code easy to understand and readable for your colleagues with the use of symbolic names and comments in your program. The complete symbolic is saved together with the program code during the download to the controller and allows fast maintenance of the plant when no offline project is at hand. Recommendation Use the comments in the programs in order to improve readability.
2 S7-1200/1500 Innovations 2.11 System constants Example Filling level:= Radius * Radius * PI * height; // calculation of the filling level for medium tank 2.11 System constants For S7-300/400 controllers the identification of hardware and software components is performed by logic address or diagnostic addresses. For S7-1200/1500 the identification is by system constants. All hardware and software components (e.g. interfaces, modules, OBs, ...
2 S7-1200/1500 Innovations 2.12 Internal reference ID for controller and HMI tags 1. System constants of a controller can be found in the “PLC tags – Default tag table” folder. 2. The system constants are in a separate tab in the “Default tag table”. 3. In this example the symbolic name “Robot_arm_left” was assigned for a DI module. You can also find the module under this name in the system constant tab. In the user program “Robot_arm_left” is interconnected with the “GET_DIAG” diagnostic block.
2 S7-1200/1500 Innovations 2.13 STOP mode in the event of errors Advantages You can rewire tags without changing internal relations. The communication between controller, HMI and drive also remains unchanged. The length of the symbolic name does not have an influence on the communication load between controller and HMI. Properties If you change addresses of PLC tags, you only have to reload the controller.
2 S7-1200/1500 Innovations 2.13 STOP mode in the event of errors Error OBs: OB80 “Time error interrupt” is called by the operating system when the maximum cycle time of the controller is exceeded. OB121 “Programming error” is called by the operating system when an error occurs during program execution. For every error, in addition, an entry is automatically created in the diagnostic buffer.
3 General Programming 3.1 Operating system and user program 3 General Programming 3.1 Operating system and user program SIMATIC controllers consist of operating system and user program. The operating system organizes all functions and sequences of the controller that are not connected with a specific control task (e.g. handling of restart, updating of process image, calling the user program, error handling, memory management, etc.). The operating system is an integral part of the controller.
3 General Programming 3.2 Program blocks You project or your plant becomes more transparent. Error states in a plant can be more easily detected, analyzed and removed. The maintainability of your plant becomes easier. This is also the case for errors in programming. Recommendation Structure your automation task. Divide the entire function of your plant into individual areas and form subfunction units. Divide these sub function units again into smaller units and functions.
3 General Programming 3.2 Program blocks Depending on the controller a number of different OB types are available. Properties OBs are called by the operating system of the controller Several Main OBs can be created in a program. The OBs are processed sequentially by OB number.
3 General Programming 3.2 Program blocks Figure 3-4: Storing program parts in order in the project library Note You will find further information in the following entry: Which organization blocks can be used in STEP 7 (TIA Portal)? http://support.automation.siemens.com/WW/view/en/58235745 3.2.2 Copyright Siemens AG 2014 All rights reserved For further information, please refer to chapter 3.7 Libraries.
3 General Programming 3.2 Program blocks Temporary and out tags are undefined when called in non-optimized blocks. In optimized blocks, the values are always preset to the default value (S7-1500 and S7-1200 Firmware V4). Thus, the resulting behavior is not accidental but reproducible. In order to permanently save the data of an FC, the functions of the global data blocks are available. FCs can have several outputs. The function value can be directly reused in SCL in a formula.
3 General Programming 3.2 Program blocks 3.2.3 Function blocks (FB) Figure 3-6: “Add new block” dialog (FB) FBs are blocks with cyclic data storage, in which values are permanently stored. The cyclic data storage is realized in an instance DB. Siemens AG 2014 All rights reserved Figure 3-7: Calling a function block Instance DB Copyright Call of a function block in the block editor Properties FBs are blocks with cyclic data storage.
3 General Programming 3.2 Program blocks 3.2.4 Instances The call of a function block is called instance. The data with which the instance is working is saved in an instance DB. Instance DBs are always created according to the specifications in the FB interface and can therefore not be changed in the instance DB. Figure 3-8: Structure of the interfaces of an FB Instance Input Output InOut The instance DB consists of a permanent memory with the interfaces input, output, InOut and static.
3 General Programming 3.2 Program blocks Figure 3-9: Multi-instances FB Multi-instance DB Switch-on delay call FB Parameter FB Statics TOF_TIME Advantages Reusability Multiple calls are possible Simple copying of programs Good options for structuring during programming Properties Multi-instances are memory areas within instance DBs.
3 General Programming 3.2 Program blocks Figure 3-10: Library of the IEC Timer Copyright Siemens AG 2014 All rights reserved Note You will find further information in the following entry: How do you declare the timers and counters for the S7-1500 in STEP 7 (TIA Portal) V12? http://support.automation.siemens.com/WW/view/en/67585220 3.2.6 Global data blocks (DB) Figure 3-11: “Add new block” dialog (DB Variable data is located in data blocks that are available to the entire user program.
3 General Programming 3.2 Program blocks Figure 3-12: Global DB as central data memory FC OB DB FB Local Advantages Well structured memory area High access speed Properties All blocks in the user program can access global DBs. Global DBs are either created via the program editor or according to a previously created “user-defined PLC data type" (see chapter 3.6.3 STRUCT data type and PLC data types). Recommendation Use the global DBs when data is used in different program parts or blocks.
3 General Programming 3.2 Program blocks Figure 3-13: Downloading without reinitialization Block in project Block in the controller Name Name Tag1 Tag1 3.4 Tag2 451 Tag3 23 Tag4 Tag4 0 Tag5 Tag5 0 Name Value Tag1 3.4 Tag2 451 Tag2 Tag3 23 Tag3 1 Block in the controller 3 Value 2 Execute the following steps whilst the controller is in RUN mode. 1. Enable “Downloading without reinitialization” 2.
3 General Programming 3.2 Program blocks Example: Setting memory reserve in block The following table describes how you can set the memory reserve for the downloading without reinitializing. Table 3-3: Setting memory reserve Step Siemens AG 2014 All rights reserved 1. Instruction Right-click any optimized block in the project navigator and select “Properties”. 2. Copyright 2 1 3 1. 2. 3. Note Click “Download without reinitialization”. Enter the desired memory reserve for “Memory reserve”.
3 General Programming 3.2 Program blocks Example: Downloading without reinitialization In the following example it is displayed how to download without reinitialization. Table 3-4 Downloading without reinitialization Copyright Siemens AG 2014 All rights reserved Step Note Instruction 1. Requirement: a memory reserve has to be set (see above) 2. Open, e.g. an optimized global DB. 3. Click the “Download without reinitialization” button and confirm the dialog with “OK” 4.
3 General Programming 3.3 Block interface types When every block receives an independent task, a clear and well-structured user program is automatically created. There are clearly fewer sources of errors Simple error diagnostic possible. Recommendation If you want to reuse the block, please note the following recommendations: Always look at blocks as encapsulated functions. I.e. each block represents a completed partial task within of the entire user program.
3 General Programming 3.4 Storage concept Figure 3-15: Copying of the value to the input parameter „My_int“ value: 31 FC / FB IN value: 31 Properties Each block displays the same behavior with connected parameters Values are copied when calling the block 3.3.
3 General Programming 3.4 Storage concept Advantages Program can be made up modularly from ready blocks with partial tasks. Program is easy to expand and maintain. Program code is easier to read since there are no hidden cross accesses. Recommendation If possible, only use the local tags. This is how the blocks can be used universally and modularly. Use the data exchange via the block interfaces (In, Out, InOut), to ensure the reusability of blocks.
3 General Programming 3.4 Storage concept Advantages User programs can be used universally and independent from the hardware. The user program can be structured modularly without dividing bit memory address areas for different users. Optimized global DBs are clearly more powerful than the bit memory address area that is not optimized for reasons of compatibility. Recommendation Do not use any bit memory and use global DBs instead.
3 General Programming 3.4 Storage concept 3.4.4 Access speed of memory areas STEP 7 offers different options of memory accesses. For system-related reasons there are faster and slower accesses to different memory areas.
3 General Programming 3.5 Retentivity 3.5 Retentivity In the event of a failure of the power supply, the controller copies the retentive data with its buffer energy from the controller’s work memory to a non-volatile memory. After restarting the controller, the program processing is resumed with the retentive data. Depending on the controller, the data volume for retentivity has different sizes.
3 General Programming 3.5 Retentivity Figure 3-21: Program editor (Functions block interfaces) Example: Retentive of PLC tags The setting of the retentive data is performed in the tables of the PLC tags, function blocks and data blocks. Figure 3-23: Setting of the retentive tags in the table of PLC tags Copyright Siemens AG 2014 All rights reserved Figure 3-22: Program editor (Data block) Retentivity can be set from address 0 onward! e.g.
3 General Programming 3.6 Symbolic addressing Figure 3-24: Retentive counter as multi-instance Copyright Siemens AG 2014 All rights reserved NOTE If the retentive memory on the PLC is not sufficient, it is possible to store data in the form of data blocks that are only located in the load memory of the PLC. The following entry is described by taking the example of an S7-1200. This programming also works for S7-1500.
3 General Programming 3.6 Symbolic addressing Recommendation “Don’t bother about the organization of the data storage“ “Think” symbolically. Enter the “descriptive” name for each function, tag or data, such as, for example, Pump_boiler_1, heater_room_4, etc. This is how a generated program can easily be read without requiring many comments. Give all the tags used a direct symbolic name and define it afterwards with a right-click.
3 General Programming 3.6 Symbolic addressing Step 4. Instruction Define the tag. There is an elegant method to save time, if you want to define several tags in a network. Assign all tag names first of all. Then define all tags at the same time with the dialog of step 4. Copyright Siemens AG 2014 All rights reserved Note You will find further information in the following entry: Why is universal definition and utilization of symbols in STEP 7 (TIA Portal) V12 obligatory for the S7-1500? http://support.
3 General Programming 3.6 Symbolic addressing Figure 3-26: Indirect field access LAD / FBD: SCL: Advantages Simple access since the data type of the ARRAY elements is irrelevant for the access.
3 General Programming 3.6 Symbolic addressing 3.6.3 STRUCT data type and PLC data types The STRUCT data type represents a data structure which is made up of elements of different data types. The declaration of a structure is performed in the respective block. Figure 3-27: Structure with elements with different data types Siemens AG 2014 All rights reserved In comparison to structures, PLC data types are defined across the controller in the TIA Portal and can be centrally changed.
3 General Programming 3.6 Symbolic addressing Note You will find further information in the following entries: How do you initialize structures into optimized memory areas for the S7-1500 STEP 7 (TIA Portal)? http://support.automation.siemens.com/WW/view/en/78678761 How do you create a PLC data type for an S7-1500 controller? http://support.automation.siemens.com/WW/view/en/67599090 In STEP 7 (TIA Portal) V12, how do you apply your own data types (UDT)? http://support.automation.siemens.
3 General Programming 3.6 Symbolic addressing Advantages High programming efficiency Easy multiple usability thanks to PLC data types Recommendation Use PLC data types for access to I/O areas, for example, to symbolically receive and send drive telegrams. 3.6.5 Slice access For S7-1200/1500 controllers, you can access the memory area of tags of the Byte, Word, DWord or LWord data type. The division of a memory area (e.g. byte or word) into a smaller memory area (e.g. Bool) is also called slice.
3 General Programming 3.7 Libraries 3.7 Libraries With the TIA Portal you can create independent libraries from different project elements that can be easily reused. Advantages Simple storage for the data configured in the TIA Portal: – Complete devices (controller, HMI, drive, etc.) – Controller programs, blocks, tags, monitoring tables – HMI image, HMI tags, scripts, etc.
3 General Programming 3.7 Libraries Figure 3-31: Libraries in the TIA Portal 1 3 4 Copyright Siemens AG 2014 All rights reserved 2 (1) "Project library" – Integrated in the project and managed with the project – Allows the reusability within the project (2) "Global library" – Independent library – Use within several projects possible A library includes two different types of storage of library elements: (3) "Master copies" – Copy of configuration elements in the library (e.g.
3 General Programming 3.7 Libraries 3.7.2 Type concept The type concept allows the creation of standardized automation functions that you can use in several plants or machines. The type concept supports you with versioning and updating functions. You can use types from the library in the user program. This offers the following advantages: Advantages Central update of all usage locations in the project Unwanted modifications of usage locations of types are not possible.
3 General Programming 3.7 Libraries Further information on the handling of libraries can be found in the following example. 3.7.4 Versioning of a block Example: Creating a type The following example shows you how the basic functions of the libraries are used with types. Table 3-9: Creating a type Instruction 1. Create a new PLC data type with “Add new data type” and create some tags. Later on this is the subordinate type. 2. Create a new function block with “Add new Block”.
3 General Programming 3.7 Libraries Step Instruction Optionally assign: Type name, version, author and comment and confirm the dialog with “OK”. 6. The subordinate PLC data type is automatically also stored in the library. Copyright Siemens AG 2014 All rights reserved 5. Example: Changing a type Table 3-10: Changing a type Step 1. Instruction Right-click the block in the “Project library” and select “Edit type” Programming Guideline for S7-1200/1500 V1.
3 General Programming 3.7 Libraries Step 2. Instruction Select which controller is to be used as test environment and confirm the dialog with “OK”. 3. The library view opens. A new version of the block has been created and is now marked with “in test”. 4. Add another input tag. Copyright Siemens AG 2014 All rights reserved If several controllers in the project use the selected block, a controller has to be selected as test environment.
3 General Programming 3.7 Libraries Step Instruction Click the “Release version” button. 6. A dialog box opens. Here you can store a version-related comment. Confirm the dialog with “OK”. Siemens AG 2014 All rights reserved 5. Copyright If there are several usage locations of the block in different controllers of the project, you can update them all at the same time: “Update instances in the project”.
3 General Programming 3.8 Process interrupts 3.8 Process interrupts The processing of the user program can be influenced by events such as process interrupts. When you need a fast response of the controller to hardware events (e.g. a rising edge of a channel of a digital input module), configure a process interrupt. For each process interrupt a separate OB can be programmed. This OB is called by the operating system of the controller in the event of a process interrupt.
3 General Programming 3.8 Process interrupts Recommendation Use the process interrupts in order to program fast responses to hardware events. If the system responses are not fast enough despite programming a process interrupt, you can still accelerate the responses. Set as small an “Input delay” as possible in the module. A response to an event can always only occur if the input delay has lapsed.
3 General Programming 3.9 Other performance recommendations 3.9 Other performance recommendations Here you can find some general recommendations that enable faster program processing of the controller. Recommendation Note the following recommendations for programming S7-1200/1500 controllers in order to achieve a high performance: LAD/FBD: Disable “generate ENO” for blocks. This avoids tests at runtime.
3 General Programming 3.10 SCL programming language: Tips and tricks 3.10 SCL programming language: Tips and tricks 3.10.1 Using call templates Many instructions of the programming languages offer a call template with a list of existing formal parameters. Example Table 3-11: Easy expanding of the call template Instruction 1. Drag an instruction from the library into the SCL program. The editor shows the complete call template. 2.
3 General Programming 3.10 SCL programming language: Tips and tricks 3.10.2 What instruction parameters are mandatory? If you are expanding the call template, the color coding will show you straight away what formal parameters of an instruction are optional and which ones are not. Mandatory parameters are marked dark. 3.10.3 Drag & drop with entire tag names In the SCL editor you can also use drag & drop functions. For tag names you are additionally supported.
3 General Programming 3.10 SCL programming language: Tips and tricks 3.10.4 Efficiently inserting CASE instruction With the CASE instruction in SCL, it will be exactly jumped to the selected CASE block condition. After executing the CASE block the instruction is finished. This allows you, for example, to check frequently required value ranges more specifically and easily. Example CASE #myVar OF 5: FC5(#myParam); 10,12: FC10(#myParam); 15: FC15(#myParam); 0..
3 General Programming 3.10 SCL programming language: Tips and tricks 3.10.6 FOR loop backwards In SCL you can also increment the index of FOR loops backwards or in another step width. For this, use the optional “BY” key word in the loop head. Example FOR #var := #upper TO #lower BY -2 DO END_FOR; If you are defining “BY” as “-2”, as in the example, the counter is lowered by 2 in every iteration. If you omit “BY”, the default setting for “BY” is 1 3.10.
3 General Programming 3.
4 Hardware-Independent Programming 4.1 Data types of S7-300/400 and S7-1200/1500 4 Hardware-Independent Programming To make sure that a block can be used on all controllers without any further adjustments, it is important not use hardware-dependent functions and properties. 4.1 Data types of S7-300/400 and S7-1200/1500 Below is a list of all elementary data types and data groups. Recommendation Only use the data types that are supported by the controllers on which the program is to run.
4 Hardware-Independent Programming 4.
4 Hardware-Independent Programming 4.3 Programming of "clock bits" 4.3 Programming of "clock bits" Recommendation For the programming of clock memory bits, the hardware configuration always has to be correct. Use a programmed block as clock generator. Below, you can find a programming example for a clock generator in the SCL programming language. Example The programmed block has the following functions. A desired frequency is specified.
5 The Most Important Recommendations 5 The Most Important Recommendations Use optimized blocks – Chapter 2.6 Optimized blocks Structuring the program clearly and well – Chapter 3.2 Organization blocks (OB) Inserting instructions as multi-instance (TON, TOF ..) – Chapter 3.2.5 Multi-instances Reusable programming of blocks – Chapter 3.2.8 Reusability of blocks Symbolic programming – Chapter 3.6 Symbolic addressing When handling data, work with ARRAY – Chapter 3.6.
6 Related Literature 6 Related Literature Table 6-1 Siemens AG 2014 All rights reserved Topic Title \1\ Siemens Industry Online Support http://support.automation.siemens.com \2\ Download page of the entry http://support.automation.siemens.com/WW /view/en/81318674 \3\ TIA Portal - An Overview of the Most Important Documents and Links http://support.automation.siemens.com/WW /view/en/65601780 \4\ STEP 7 (TIA Portal) manuals http://support.automation.siemens.
7 History 7 History Table 7-1 Date V1.0 09/2013 First version V1.1 10/2013 Corrections in the following chapters: 2.6.3 Best possible data storage in the processor on S7-1500 2.12 Internal reference ID for controller and HMI tags 3.2.2 Functions (FC) 3.2.3 Function blocks (FB) 3.4.3 Local memory V1.2 03/2014 New chapter: 2.6.4 Conversion between optimized and non-optimized tags 2.6.5 Communication with optimized data 2.9.2 MOVE instructions 2.9.3 RUNTIME 3.6.