Pro1 11e Obs

14
SITRAIN Training for Automation and Industrial Solutions ST-PRO1 Organization Blocks (1) Page 1 Date: 18.09.2009 File: PRO1_13E.1 SIMATIC S7 Siemens AG 2008. All rights reserved. SITRAIN Training for Automation and Industrial Solutions Organization Blocks (1) Operating system OB1 FC FB SFC SFB Other OBs FC FB System Functions System Function Blocks Contents Page Objectives ..................................................................................................................................... 2 Overview of the Organization Blocks ....................................................................................... 3 Types of S7 Startup ………………………………………………….................................................. 4 Interrupting the Cyclic Program ………....................................................................................... 5 Time-of-Day Interrupt (OB 10) ..................................................................................................... 6 Cyclic Interrupt (OB 35) ................................................................................................................ 7 Hardware Interrupt (OB 40) .......................................................................................................... 8 OB Start Information using OB100 as an Example ...................................................................... 9 Exercise 1: Displaying the Startup Type (OB100) and Acknowledging It ..................................... 10 If You Want to Know More ........................................................................................................... 11 Handling Asynchronous Errors ......................................................................................................... 12 Diagnostic Interrupt (OB 82) ............................................................................................... 13 Handling Synchronous Errors .................................................................................................. 14

Transcript of Pro1 11e Obs

Page 1: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 1

Date: 18.09.2009File: PRO1_13E.1

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Organization Blocks (1)

Operatingsystem

OB1

FC

FB

SFC

SFB

OtherOBs

FC

FB

System Functions

System FunctionBlocks

Contents Page

Objectives ..................................................................................................................................... 2Overview of the Organization Blocks …....................................................................................... 3Types of S7 Startup ………………………………………………….................................................. 4Interrupting the Cyclic Program ………....................................................................................... 5Time-of-Day Interrupt (OB 10) ..................................................................................................... 6Cyclic Interrupt (OB 35) ................................................................................................................ 7Hardware Interrupt (OB 40) .......................................................................................................... 8OB Start Information using OB100 as an Example ...................................................................... 9Exercise 1: Displaying the Startup Type (OB100) and Acknowledging It ..................................... 10If You Want to Know More ........................................................................................................... 11Handling Asynchronous Errors ......................................................................................................... 12Diagnostic Interrupt (OB 82) …............................................................................................... 13Handling Synchronous Errors .................................................................................................. 14

Page 2: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 2

Date: 18.09.2009File: PRO1_13E.2

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Objectives

Upon completion of the chapter the participant will ...

... understand the difference between "Warm Restart", "Hot Restart" and "Cold Restart"

... be able to explain the principle of interrupt processing

... know the "Time-of-day Interrupt", "Cyclic Interrupt", "Hardware Interrupt" and "Diagnostic Interrupt"

... know and be able to use the error OBs

... be able to interpret the OB start information

Page 3: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 3

Date: 18.09.2009File: PRO1_13E.3

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

OB 10 to 17(Time-of-day interrupts)

OB 80 to 87(Asynchronous errors)

OB 20 to 23(Time-delay interrupts)

Overview of the Organization Blocks

Periodicprogramexecution

OB 30 to 38(Cyclic interrupts)

Event-drivenprogramexecution

OB 40 to 47(Hardware interrupts)

Startup

OB 102

OB 100

OB 101

Cyclicprogramexecution

OB 1

OB 121, 122(Synchronous errors)

Interrupt OBs Error OBs

Backgroundprogramexecution

OB 90

Startup Program A startup program is carried out before the cyclic program execution after a power recovery, or a change of operating mode (through the CPU‘s mode selector or by the PG). In the startup OBs you can, for example, preset the communications connections.

Cyclic Program The program stored in OB 1 is executed cyclically. That is, after completeExecution execution, a new cycle begins once more. With this cyclic program execution,

the response time is the total of the execution time for the CPU’s operating system and the execution times for the instructions. The response time, that is, how quickly an output can be switched dependent on an input signal, is a minimum of 1 x the cycle time and a maximum 2 x the cycle time.

Periodic Program With periodic program execution, you can interrupt the cyclic programExecution execution at fixed intervals. With cyclic interrupts, an organization block (such

as, OB 35) is executed after a preset timing code (every 100 ms, for example) has run out. Control-loop blocks with their sampling interval are called, for example, in these blocks.With time-of-day interrupts, an OB is executed at a specific time, for example every day at 17:00 hours (5:00 p.m.), to save the data.

Event-driven The hardware interrupt can be used to respond quickly to a process event. Program After the event occurs, the cycle is immediately interrupted and an interruptExecution program is carried out.

With time-delay interrupts, you can respond after a delayed time period to a freely definable event. With the error OBs you can determine how the system is to behave in case of failure.

Background Several S7 CPUs allow you do define a minimum scan cycle time. If the Program sum of the execution time for system activities, OB1 programs and all interruptExecution programs is less than the defined minimum scan cycle time, the background

OB program is executed in the remaining time. With CPUs that do not support this OB, the operating system delays the next call of OB1.

Page 4: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 4

Date: 18.09.2009File: PRO1_13E.4

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Types of S7 StartupCPU in STOP state or Power OFF: All digital outputs are switched off (safe state)

Read in PII

Execute OB1

Output PIQ

Deletion ofprocess images,non-retentive M, T, C

Execution of OB 100

Output PIQEnable outputs

CYCLE

Warm Restart (all CPUs)

automatic(w. Power ON,

HW Config)

manual(per CPU op.-switch or PG)

Read in PII

Execute OB1

Output PIQ

Deletion of process images,all M, T, C and

initialization of DBs

Execution of OB 102

Output PIQEnable outputs

CYCLE

Cold Restart (only S7-400)

automatic(w. Power ON,

HW Config)manual

(only per PG)

Output PIQEnable outputs

STOPyes

no

Monitoring timefor hot restartexceeded?

Delete PIQ (parameter-assignable)

Process residual scan cycle

Execution of OB 101

Output PIQ

Hot Restart (only S7-400)

Execute OB1

Read in PIICYCLE

automatic(w. Power ON HW Config)

manual(only per PG)

General With the three different types of startup, that is, through the three different startup OBs available, you have the opportunity to program different controller behaviors for different startup situations. If the associated OB is not programmed for a startup type, the routines shown in the slide are executed just the same. Only the execution of that OB is dispensed with.

Warm Restart The warm restart type of startup deletes the process images (PII, PIQ) and all non-retentive bit memories, timers and counters. Retentive bit memories, timers and counters as well as the data blocks‘ current values are retained (only with battery backup. With the S7-300 even without battery backup if an EPROM is used and the CPU‘s retentive behavior has been parameterized). The program stored in OB 100 is executed once and then cyclic program execution begins.

Hot Restart In addition to the warm restart, the S7-400 CPUs and the "large" S7-300 CPUs also have the hot restart type of startup. The hot restart type of startup retains the states of all addresses (bit memories, timers, counters, process images, the data blocks‘ current values) and the OB 101 program is executed once. Then, the "residual cycle time" is executed. That is, the user program execution resumes from the point where the interruption occurred through power OFF or CPU STOP.

Cold Restart In addition to the warm restart, the S7-400 CPUs and the "large" S7-300 CPUs also have the cold restart type of startup. The only difference between a cold restart and a warm restart is that in addition to the process images, all bit memories, timers and counters (even the retentive ones!) are deleted. As well, the data blocks‘ current values are overwritten with the current values stored in the load memory or with those that were originally downloaded with the data blocks to the CPU.

Page 5: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 5

OB Calls Organization blocks (OBs) are the interface between the CPU’s operating system and the user program. The operating system calls the organization blocks exclusively. There are various start events (time-of-day interrupts, hardware interrupts - see slide) that each lead to the start of their associated organization block.

Interrupting When the operating system calls another OB, it interrupts the cyclic programthe Cyclic Program execution because OB1 has the lowest priority. Any other OB can therefore

interrupt the main program and execute its own program. Afterwards, OB1 resumes execution at the point of interruption.If an OB with a higher priority than the one currently being executed is called, the lower priority OB is interrupted after the current statement has been completed. The operating system then saves the entire register stack for the interrupted block. This register information is restored when the operating system resumes execution of the interrupted block.

Priorities Every OB program execution can be interrupted by a higher priority event (OB) at command boundaries. Priorities are graduated from 0 to 28, whereby 0 has the lowest priority and 28 has the highest priority.OB 82 either has the priority 26 when, for example, it occurs during the execution of OB1 or the priority 28 during a startup. OBs of the same priority do not interrupt each other, but are started one after the other in the sequence they are recognized.

Date: 18.09.2009File: PRO1_13E.5

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Such as OB82 (Prio.26) = Errorhandling. Executed inevent of wire break atanalog input PIW 352

Such as OB10 (Prio.2) = Time-of-day interrupt.Executed once aminute from 9:30

OB1isexecutedcontinu-ously .....

OB 1

3Time-of-day interrupt

Cyclic interrupt

1

16Error handling

Cyclic Program

Time-delay interrupt

Hardware interrupt

2

12

26 / 28

OB 20

OB 40

OB 10

OB 35

OB 82

OB No. OB Type Priority

Such as OB20 (Prio.3) = Time-delay interrupt.Execution starts 3.25 seconds after a part isdetected.

Interrupting the Cyclic Program

...... until it is interruptedby another OB

Page 6: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 6

Date: 18.09.2009File: PRO1_13E.6

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Time-of-Day Interrupt (OB 10)

Time-of-Day Time-of-day interrupts are used for executing a certain program called in OB 10 Interrupts (as an example) either once only at a certain time or periodically (once a

minute, hourly, daily, weekly, monthly, yearly) starting at that time.Time-of-day interrupts are configured with the "Hardware Configuration" tool. To select when and how OB10 is to be activated choose the menu options CPU Object Properties “Time-of-Day Interrupts" tab.

Active If you check the "Active" checkbox, the time-of-day interrupt OB is executed on every warm restart of the CPU.

Note System functions, at runtime, can also control time-of-day interrupts. The following system functions are available:• SFC 28 "SET_TINT" Set starting date, time and period• SFC 29 "CAN_TINT" Cancel time-of-day interrupt• SFC 30 "ACT_TINT" Activate time-of-day interrupt • SFC 31 "QRY_TINT" Query time-of-day interrupt.

Page 7: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 7

Cyclic Interrupt Cyclic (watchdog) interrupts are used for executing blocks at fixed intervals. The cyclic interrupt OB for the S7-300 is OB 35. The default call interval for OB 35 is 100ms. You can change this to a value within the permitted range of 1ms to 1 minute.

Interval You must make sure that the interval you specify is longer than the time required for execution. The operating system calls OB35 at the specified time. If OB35 is still active at this time, the operating system calls OB80 (cyclic interrupt error OB).

Note System functions at run time cannot control cyclic interrupts.

Date: 18.09.2009File: PRO1_13E.7

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Cyclic Interrupt (OB 35)

RUN OB35 OB35 OB35Interval

OOB1 B1OB1 OB1 OB1 OB1 OB1 O B1 Prio 1

Prio 12Interval Interval

Page 8: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 8

Hardware Interrupt The program in a hardware interrupt OB (OB40) is executed as soon as a certain event occurs. Various module-specific signals can trigger hardware interrupts:• For parameter-assignable signal modules (DI, DO, AI, AO) you use the

"Hardware Configuration" tool to specify the signal that is to trigger a hardware interrupt.

• In the case of CPs and FMs, you specify the interrupt characteristics using the configuration software for the module concerned.

Example In the example above, suitable limit values have been configured for an analog input module. If the measured value exceeds the limit, OB40 is called.This has the same effect as including a comparison operation in OB1 which causes an FB or FC to be called when the upper limit is reached. However, if you use OB40 you don't need to write a program in another block.You can use the program in OB40 for interrupt generation or for process control.

Date: 18.09.2009File: PRO1_13E.8

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Hardware Interrupt (OB 40)

Upper limit valueLower limit value

Hardware Configuration

Analog input properties

+27648

0

CPUproperties

Analog input module

Page 9: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 9

Date: 18.09.2009File: PRO1_13E.9

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

OB Start Information using OB100 as an Example

4 / 56 / 78 / 9

10 / 11

ReservedNumber of the event that caused the CPU to go into STOP

Additional information on the current startup

Address0 / 12 / 3

Start eventPriority

Start-up requestOB No.

12 / 1314 / 1516 / 1718 / 19

YearDayMinutes1/10 seconds, 1/100 seconds

MonthHoursSeconds1 /1000 seconds, weekday

Start Information You have a uniform system start information in the local data stack available when the operating system calls an organization block. This start information has a length of 20 bytes and is available after the OB starts execution.

Variables The meanings of the variables are explained to you in the online help.

Note To prevent errors, you must not change the structure of the standard declaration table. You can, however, declare additional temporary variables in connection with the standard declaration table.

Page 10: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 10

Notes The OB 100 startup block is executed once for manual (CPU STOP RUN) as well as also for automatic warm restart (power recovery).By evaluating the start information of the OB 100 you can determine the type of restart in the program. You can find information on the OB-specific start information in the online help.

Task A manual warm restart is to be displayed via the simulator LED "L_Restart_man" (Q 4.5) and an automatic warm restart via the simulator LED "L_Restart_aut" (Q 4.6).Both LEDs are to be turned off when "L_SYSTEM" (Q 4.1) is turned on.

What to Do • Program the setting of the simulator LEDs in OB 100 (see slide) and the resetting in FC 15 ("FC_Mode").

Note In order to input the program as it is shown in the slide, you must switch off the "Type Check of Addresses". You can make the necessary settings in the LAD/FBD/STL Editor usingOptions Customize LAD/FBD Type Check of Addresses

Date: 18.09.2009File: PRO1_13E.10

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Exercise 1: Displaying the Startup Type (OB100) and Acknowledging It

DI

I 0.1

I 0.2

I 0.3

I 0.4

I 0.5

L_SYSTEM

L_MAN

L_AUTO

Q 4.1

Q 4.2

Q 4.3

I 0.0

T_Ackn_Fault

S_Fault1

S_Fault2

L_Fault1

L_Fault2

I 1.0

I 1.1

I 1.2

Q 5.1

Q 5.2

DO

S_Fault3 L_Fault3I 1.3 Q 5.3

L_Restart_manL_Restart_aut

Q 4.5Q 4.6

L_Conv_Fault Q 5.0

Page 11: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 11

Date: 18.09.2009File: PRO1_13E.11

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Wenn Sie noch mehr wissen wollen

Hinweis Die folgenden Seiten sind entweder weiterführende Informationen bzw. dienen zum Nachschlagen zur Vervollständigung eines Themas.

Page 12: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 12

Introduction The slide lists the asynchronous error events. These errors are not assigned to a certain program position.

Time Error The scan cycle monitoring time has a default setting of 150 ms. The system recognizes a time error if the duration of the cycle is longer than 150 ms. If the error occurs twice in the same cycle, the CPU goes into the Stop state.

Power Supply Occurs with the failure of a missing backup battery and in addition with S7-Error 400 with the failure of the 24 V supply in the central or expansion rack.

Unlike the other types of errors, the CPU, without an existing error OB, remains in the Run state and a red error LED lights up on the CPU.

Diagnostic Diagnostic-capable modules, such as analog modules, can trigger a diagnosticInterrupt interrupt in the case of an error. The modules must be assigned parameters in such

a way that the diagnostic interrupt is enabled.

Remove/Insert Is triggered by inserting or removing modules in the S7-400 PLC system. WhenInterrupt inserting the modules, the operating system checks if the correct module type was

inserted. This function makes it possible to remove and insert modules during the program cycle.

CPU-HW Error In the S7-400, errors are recognized on the MPI interface at the K-Bus or at the interface module for distributed I/O.

Program Results from I/O access errors in updating the process image or for example,Sequence Error from a missing OB for a parameterized time-of-day interrupt.

Rack Failure Is recognized when a rack, a subnet in networked PLC systems, or a station of a distributed I/O fails.

Communications An incorrect message identifier exists in the receiving of global data in theError S7-300, or the data block is too short for storing the status information. In the S7-

400 there are further causes, for example, the sending of synchronization messages is not possible.

Date: 18.09.2009File: PRO1_13E.12

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Handling of Asynchronous Errors

Type of error Example OB

Time error Maximum scan cycle time exceeded OB80

26 / 28

Priority

26

Power supply fault Backup battery failure OB81

Diagnostic interrupt Wirebreak at input of diagnostics-capablemodule OB82

Insert / removeinterrupt

Removal of a signal module during operationof an S7-400 OB83

CPU hardware fault Incorrect signal level at theMPI interface OB84

Program execution error Error in updating the process image(module defective) OB85

Rack fault Failure of an expansion device or a DP slave OB86

Communication error Error in reading message frame OB87

Page 13: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 13

Diagnostic Interrupt When a diagnostics capable module – in our training unit the analog module –detects an error, the operating system calls OB 82. OB 82 is called not only when the error occurs but also when it has been eliminated. If no OB 82 exists in the CPU, the CPU goes into the STOP state.

Example Asynchronous error interrupt OB82 is called in the following situations, for example:• wire break on a module with diagnostic capability• failure of the power supply to an analog input module• measuring range of an analog input module exceeded, etc.

Date: 18.09.2009File: PRO1_13E.13

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Wirebreak

+27648

0

Diagnostic Interrupt (OB 82)Hardware Configuration:

Analog inputproperties

CPUproperties

Analog input module

Page 14: Pro1 11e Obs

SITRAIN Training forAutomation and Industrial Solutions

ST-PRO1Organization Blocks (1)Page 14

Synchronous Errors The CPU’s operating system generates a synchronous fault when an error occurs in immediate connection with the program processing.OB121 is called when there is a programming error. OB122 is called when there is an I/O access error. If a synchronous error OB is not loaded into the CPU, the CPU switches into the STOP mode when a synchronous fault occurs.A synchronous error OB has the same priority as the block in which the error occurred. For that reason, the registers of the interrupted block can be accessed in the synchronous error OB. That is why the program in the synchronous error OB can also return the registers (if necessary with changed contents) to the interrupted block.

Exception: Manipulation of the ACCU 1 contents by means of SFC44.

Date: 18.09.2009File: PRO1_13E.14

SIMATIC S7Siemens AG 2008. All rights reserved.

SITRAIN Training forAutomation and Industrial Solutions

Handling of Synchronous Errors

Type of Error Example OB Priority

Same as thatof the OBinterruptedas a result ofthe error

Programming error A block that is not present in the CPU is called in the program OB121

Access errorA module that is either defectiveor not present is addressed in theprogram (such as direct access to a non-existent I/O module)

OB122

Normal Case: CPU STOP when no error OB is loaded