07 chapter03 05_siemens_tags_memory_structure_fa14

18
Supplement to Chapter 03 Siemens – S7-1200 Tags, Memory Structure and Addressing

Upload: john-todora

Post on 21-May-2015

362 views

Category:

Engineering


2 download

DESCRIPTION

Chapter 03 Introduction to PLC Programming Slide set 05

TRANSCRIPT

Page 1: 07 chapter03 05_siemens_tags_memory_structure_fa14

Supplement to Chapter 03Siemens – S7-1200

Tags, Memory Structure and Addressing

Page 2: 07 chapter03 05_siemens_tags_memory_structure_fa14

Siemens Memory Structure

Load Memory Memory area for the user program,

data storage and configuration. This area is non-volatile storage.

Work Memory Memory area that stores some

elements of a user project that are needed while the user program is executing. This area is volatile.

Retentive Memory Memory area that stores a limited

quantity of work memory values. This area is non-volatile storage.

LoadMemory

WorkMemory

RetentiveMemory

Page 3: 07 chapter03 05_siemens_tags_memory_structure_fa14

Memory Map

The memory is divided into several data files.

Each data file consists of an operand and tag, a byte and optionally a bit.

File Types

Input I

Output Q

Bit M

“Temp” L

Data Block DB

Page 4: 07 chapter03 05_siemens_tags_memory_structure_fa14

Memory Map

Memory Area Description

IProcess Image Input

At the beginning of the scan cycle, the CPU records the status of the input field devices to ‘I’ memory .

QProcess Image Output

At the third step in the scan cycle, the CPU copies the state that the output field devices should be in to ‘Q’ memory.

MBit Memory

A user program can read or write the data stored in the ‘M’ memory. Any code block can access ‘M’ memory. ‘M’ memory can be configured to retain the stored values after a power cycle.

L“Temp” Memory

The CPU allocates the temporary, or local memory whenever a code block is called to store data during the execution of the block. When block execution has completed, the CPU reallocates the local memory for the execution of other code blocks.

DBData Block

The DB memory is used to store various types of data, including intermediate status of an operation or other information parameters for Function Blocks (FB) and data structures required for many instructions such as Timers and Counters. DB’s can be configured to be read only, write only or read/write. The data can be accessed by bit, bytes, words or double words.

Page 5: 07 chapter03 05_siemens_tags_memory_structure_fa14

Address Types

The processor can access address types as shown in the table.

Following is an example of an output address.

Address Type

Inputs (I)

Outputs (Q)

Bit Memory (M)

Timers (DB)

Counters (DB)

Temporary (L)

Data Block (DB)

Peripheral Inputs (PI)

Peripheral Outputs (PQ)

Q1.2

Output Byte 1 Bit 2

Siemens uses Byte level addressing. More on this later.

Page 6: 07 chapter03 05_siemens_tags_memory_structure_fa14

Tag Based Memory

Tag based memory structure Tag based memory structures are used in most

PLC/PAC platforms produced in the last 10-plus-years. A tag is a friendly name for a memory address. In

languages such as C/C++, VB.NET, java and many others, the term ‘variable’ is used. The control industry calls these ‘variable’s’, tags. As an example: Instead of addressing an input device as

%I5.5, a tag named ‘manualControl’ could be used and then assigned the data type of BOOL.

A tag is still assigned an address and in the Siemens controllers the end user can either allow the address to be automatically assigned or it can be change to suit the needs of the program.

Page 7: 07 chapter03 05_siemens_tags_memory_structure_fa14

Tag Naming - Siemens

Tag names should describe the function or purpose of the tag. The name can be anything you want as long as the name follows these rules:

Tag names can contain numbers, letters, spaces and a single underscore and are not case sensitive.

Tag names can be hundreds of characters long; however, the names should be kept short and to the point.

Tag names must begin with a letter or a single underscore. They can not end with an underscore or begin with a number.

Mixed case is used for ease of reading such as: Conveyor_2 or Conveyor2 and not CONVEYOR_2 OR CONVEYOR2.

When viewing tags in the TIA-Portal software the tags are displayed in a spreadsheet similar to Microsoft Excel. The columns in the sheet can be sorted in any method the user desires.

Page 8: 07 chapter03 05_siemens_tags_memory_structure_fa14

Invalid Tag Names

The following tag names are invalid: Conveyor2_motor_

This tag is invalid because a tag name cannot end with an underscore.

2Conveyor_motor This tag is invalid because a tag name cannot start

with a number.

Page 9: 07 chapter03 05_siemens_tags_memory_structure_fa14

Viewing/Sorting Tags

When viewing tags in the TIA Portal software the tags can be displayed in alphabetical order. Use this to your advantage when naming tags. Using the same word to start tag names from the same process areas will keep them grouped together. As an example: Conveyor2_endOfConveyor Conveyor2_inputSensor Conveyor2_motor

Would keep all the tags associated with Conveyor2 grouped together.

However, TIA Portal also allows the creation of more than one tag table. Therefore, tag tables can be created for the various sections and/or functions of a machine or process.

Page 10: 07 chapter03 05_siemens_tags_memory_structure_fa14

Tag Data Types

When a tag is created it must be assigned a data type. The data type is assigned based on the type of data that will be stored in the tag.

There are many different data types. The five basic data types are:

Bool (Bit) Bit level data (0 or 1) Sint (Byte) 8-bit integer data (Single Integer) Int 16-bit integer data Dint 32-bit integer data (Double Integer) Real 32-bit floating point data

Page 11: 07 chapter03 05_siemens_tags_memory_structure_fa14

Basic Data Types

Data Type Bits

31 16

15 8

7 1

0

Bool (1-bit) Not used Not used Not used 0 or 1

Sint (Byte) (8-bits)

Not used Not used -128 to 127

Int (16-bits) Not used -32,768 to 32,767

Dint (32-bits) -2,147,483,648 to 2,147,483,647

Real-3.40282347E38 to -1.17549435E-38 (negative values)

01.17549435E-38 to 3.40282347E38 (positive values)

Page 12: 07 chapter03 05_siemens_tags_memory_structure_fa14

Memory/Project Organization

Memory and projects are organized in code blocks: Organizational Blocks (OB) Functions (FC) Function Blocks (FB) Data Blocks (DB)

Page 13: 07 chapter03 05_siemens_tags_memory_structure_fa14

Organizational Block (OB)

Organizational Blocks define the structure of a program. There are several types of OB’s: Program Cycle – Repeatedly executes while the

processor is in Run Mode. OB1 is the default block. Startup – Executes one time when the processor

mode is changed from Stop to Run; OB100. Time Delay – Executes at specific time intervals,

specified after an event is configured by the start interrupt (SRT-DINT) instruction. (Will not be covered).

Cyclic Interrupt – Executes at user defined time intervals that interrupt cyclic program execution. (Will not be covered).

Page 14: 07 chapter03 05_siemens_tags_memory_structure_fa14

Function (FC)

Functions are code blocks that do not retain memory values after execution.

Any data stored in tags during execution will be lost when execution leaves the function.

Page 15: 07 chapter03 05_siemens_tags_memory_structure_fa14

Function Block (FB)

Function blocks are code blocks that retain memory values after execution.

Function blocks behave similar to subroutines and can be “called” whenever and where ever their functionality is required.

Page 16: 07 chapter03 05_siemens_tags_memory_structure_fa14

Project Structure

Siemens projects consist of: OB – Organizational Block FB – Function Block FC – Functions DB – Data Block

Page 17: 07 chapter03 05_siemens_tags_memory_structure_fa14

Siemens Portal Project

Project and Processor

Object Blocks (OB)

Function (FC)

Function Block (FB)

Data Block (DB)

PLC Tags

Page 18: 07 chapter03 05_siemens_tags_memory_structure_fa14

Intro Portal Step 7 Lab

The next lab can be an instructor led or a self-paced introduction to TIA Portal Step 7 and will cover: Starting a new project Configuring the hardware Configuring communications Entering ladder logic Creating tags, assigning addresses and data

types Downloading the project and running the

program.