safety considerations guide tricon v9 6

136
Tricon Version 9 Safety Considerations Guide Triconex Corporation An Invensys company

Upload: somucdm6023

Post on 26-Oct-2014

254 views

Category:

Documents


16 download

TRANSCRIPT

Page 1: Safety Considerations Guide Tricon v9 6

TriconVersion 9

Safety Considerations Guide

Triconex CorporationAn Invensys company

Page 2: Safety Considerations Guide Tricon v9 6

Information in this document is subject to change without notice. Companies, names and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Triconex Corporation.

©2001 Triconex Corporation. All Rights Reserved.

Microsoft, Windows, and Windows NT are registered trademarks of Microsoft Corporation.

Modbus is a registered trademark of Modicon Corporation.

Triconex is a registered trademark of Triconex Corporation in the USA and other countries.

TriStation 1131 and Tricon are trademarks of Triconex Corporation in the USA and other countries.

All other brands or product names may be trademarks or registered trademarks of their respective owners.

Document No. 9720078-002

Printed in the United States of America.

Page 3: Safety Considerations Guide Tricon v9 6

AcknowledgementTriconex acknowledges the generous assistance of TÜV Rheinland/Berlin-Brandenburg in the development of this guide. In addition, their efforts have contributed to the overall quality and integrity of the Tricon system.

TÜV Rheinland/Berlin-Brandenburg aims to “shape technology so that it does not put people and the environment at risk but is of the greatest benefit to them.” To achieve this aim, TÜV offers support during the complete life cycle of a product, from concept through development and testing to certification.

Page 4: Safety Considerations Guide Tricon v9 6
Page 5: Safety Considerations Guide Tricon v9 6

About This Guide

This manual provides information about safety concepts and standards that apply to the Tricon controller.

How This Guide Is OrganizedThis manual is organized as follows:

• Chapter 1, “Safety Concepts”—Describes safety issues, safety standards, and implementation of safety measures.

• Chapter 2, “Application Guidelines”—Provides information on industry guidelines and recommendations.

• Chapter 3, “Fault Management”—Discusses fault tolerance and fault detection.

• Chapter 4, “Application Development”—Discusses methods for developing applications properly to avoid application faults

• Appendix A, “Peer-to-Peer Communication”—Describes the function blocks intended for use in safety-critical applications and shows their Structured Text code.

Tricon Safety Considerations Guide

Page 6: Safety Considerations Guide Tricon v9 6

vi Related Documents

Related DocumentsThe following manuals contain information that is relevant to the use of the system.

• Advanced Communication Module User's Guide

• Enhanced Intelligent Communication Module User's Manual

• Hiway Interface Module User's Guide

• Network Communication Module User's Guide

• Safety Manager Module User's Guide

• Tricon DDE Server User's Guide

• Tricon System Access Application Programmer's Reference

• Tricon System Aliases Reference Manual

• Tricon Planning & Installation Guide

• TriStation 1131 Developer's Guide for Tricon Systems

• TriStation 1131 Getting Started for Tricon Users

• TriStation 1131 Triconex Libraries

Tricon Safety Considerations Guide

Page 7: Safety Considerations Guide Tricon v9 6

Abbreviations Used vii

Abbreviations UsedThe controller is hereafter called Tricon, except in cases where the full name must be used to ensure clarity. The TriStation 1131 Developer’s Workbench is hereafter called TriStation.

The following list provides full names for abbreviations of safety terms used in this guide.

BPCS Basic process control system

ESD Emergency shutdown

HAZOP Hazard and operability study

MOC Management of change

MTBF Mean time between failure

PES Programmable electronic system

PFD Probability to fail on demand

PHA Process hazard analysis

PSM Process safety management

RMP Risk management program

RRF Risk reduction factor

SIL Safety integrity level

SIS Safety-instrumented system

SOV Solenoid-operated valve

SRS Safety requirements specification

SV Safety (relief) valve

Page 8: Safety Considerations Guide Tricon v9 6

viii How to Contact Triconex

How to Contact TriconexYou can obtain sales information and technical support for Triconex products from any regional customer center or from corporate headquarters. To locate regional centers, go to which displays the Global Locator page on the Triconex web site at: http://www.triconex.com.

Requesting Technical SupportYou can obtain technical support from any regional center and from offices in Irvine, California and Houston, Texas. If you require emergency or immediate response and are not a participant in the System Maintenance Program (SMP), you may incur a charge. After-hours technical support is billed at the rate specified in the current Customer Satisfaction Price List.

Requests for support are prioritized as follows:

• Emergency requests are given the highest priority.

• Requests from SMP participants and customers with purchase order or charge card authorization are given next priority.

• All other requests are handled on a time-available basis.

Gathering Supporting Documentation

Before contacting corporate technical support, please try to solve the problem by referring to the Triconex documentation. If you are unable to solve the problem, obtain the following information:

• Error messages and other indications of the problem

• Sequence of actions leading to the problem

• Actions taken after the problem occurred

• If the problem involves a Triconex controller, obtain the model numbers and revision levels for all affected items. This information can be found on the modules, in the System Log Book, or on the TriStation Diagnostic Panel.

• If the problem involves software, obtain the product version number by selecting the About topic from the Help menu.

Tricon Safety Considerations Guide

Page 9: Safety Considerations Guide Tricon v9 6

Requesting Technical Support ix

Contacting Triconex Technical Support

If possible, you should contact your regional customer center for assistance. If you cannot contact your regional center, contact technical support for the type of system you are using, either ESD systems or Turbomachinery systems.

Please include the following information in your message:

• Your name and your company name.

• Your location (city, state, and country).

• Your phone number (area code and country code, if applicable).

• The time you called.

• Whether this is an emergency.

Note If you require emergency support and are not an SMP participant, please have a purchase order or credit card available for billing.

For ESD Systems

For ESD systems, contact the Customer Response Center in Irvine, California. Normal business hours are 8:00 A.M. to 5:00 P.M. (Pacific time), Monday through Friday.You can leave a message at any time.

Emergency calls are responded to on a 24-hour daily basis.

Telephone

Phone: Toll-free at 866-TMR-CALL (866-867-2255), or949-885-0800

Fax

Send your request to the Technical Support Manager.

Fax: Toll-free at 800-325-2134, or949-753-9101

Page 10: Safety Considerations Guide Tricon v9 6

x Training

For Turbomachinery Systems

For turbomachinery systems, contact the Customer Response Center in Houston, Texas. Normal business hours are 8:00 A.M. to 5:00 P.M. (Central time), Monday through Friday. You can leave a message at any time.

Emergency calls are responded to on a 24-hour daily basis.

Telephone

Phone: Toll-free at 866-TMC-HELP (866-862-4357), or281-709-1200

Fax

Send your request to the Technical Support Manager.

Fax: 281-709-0015

TrainingIn addition to this documentation, Triconex offers in-house and on-site training. For information on available courses, please contact your regional customer center.

Tricon Safety Considerations Guide

Page 11: Safety Considerations Guide Tricon v9 6

xi

Page 12: Safety Considerations Guide Tricon v9 6

xii

Tricon Safety Considerations Guide

Page 13: Safety Considerations Guide Tricon v9 6

xi

CONTENTS

About This Guide .................................................................................................... vHow This Guide Is Organized ........................................................................ v

Related Documents ....................................................................................... vi

Abbreviations Used ...................................................................................... vii

How to Contact Triconex ............................................................................. viii

Requesting Technical Support ................................................................... viiiGathering Supporting Documentation ...................................................... viiiContacting Triconex Technical Support .................................................... ix

For ESD Systems ............................................................................... ixFor Turbomachinery Systems ............................................................. x

Training ........................................................................................................... x

Chapter 1 Safety Concepts ........................................................................... 1Safety Overview .............................................................................................. 2

Protection Layers ....................................................................................... 3SIS Factors ................................................................................................ 4SIL Factors ................................................................................................. 4

Hazard and Risk Analysis .............................................................................. 5Safety Integrity Levels ................................................................................ 6

Determining a Safety Integrity Level ................................................... 6Example SIL Calculation ............................................................................ 8Safety Life Cycle Model ........................................................................... 10

Safety Standards .......................................................................................... 15General Safety Standards ........................................................................ 15

DIN V 19250 ...................................................................................... 15DIN V VDE 0801 ............................................................................... 15IEC 61508, Parts 1–7 ........................................................................ 16ANSI/ISA S84.01 ............................................................................... 16Draft IEC 61511, parts 1–3 ................................................................ 16

Application-Specific Standards ................................................................ 17DIN VDE 0116 ................................................................................... 17EN 54, Part 3 ..................................................................................... 17NFPA 72 ............................................................................................ 17NFPA 8501 ........................................................................................ 17

Tricon Safety Considerations Guide

Page 14: Safety Considerations Guide Tricon v9 6

xii

NFPA 8502 ....................................................................................... 17CSA C22.2 NO 199 ........................................................................... 17

Chapter 2 Application Guidelines .............................................................. 19TÜV Rheinland Certification ....................................................................... 20

General Guidelines ...................................................................................... 20All Safety Systems .................................................................................. 20Emergency Shutdown Systems .............................................................. 21Burner Management Systems ................................................................. 21Fire and Gas Systems ............................................................................. 22

Guidelines for Tricon Controllers ............................................................... 23Safety-Critical Modules ........................................................................... 24Safety-Shutdown ..................................................................................... 24Response Time and Scan Time .............................................................. 24Disabled Points Alarm ............................................................................. 24Disabled Output Voter Diagnostic ........................................................... 25Download All at Completion of Project .................................................... 25Modbus Master Functions ....................................................................... 25Peer-to-Peer Communication .................................................................. 25

Sending Node ................................................................................... 25Receiving Node ................................................................................. 26

SIL3/AK5 Guidelines ............................................................................... 27Additional Fire and Gas Guidelines .................................................. 28

SIL3/AK6 Guidelines ............................................................................... 29Additional Fire and Gas Guidelines .................................................. 30

Project Change and Control .................................................................... 30Maintenance Overrides ........................................................................... 32

Using Serial Communication ............................................................. 32Additional Recommendations .................................................................. 35

Chapter 3 Fault Management ..................................................................... 37System Architecture .................................................................................... 38

System Diagnostics ..................................................................................... 39

Types of Faults ............................................................................................. 40External Faults ........................................................................................ 40Internal Faults .......................................................................................... 40

Operating Modes .......................................................................................... 41

Module Diagnostics ..................................................................................... 43Digital Input Modules ............................................................................... 43

Digital Input Module Alarms .............................................................. 43Digital Output Modules ............................................................................ 43

Digital Output Module Alarms ........................................................... 43Analog Input Modules .............................................................................. 44

Tricon Safety Considerations Guide

Page 15: Safety Considerations Guide Tricon v9 6

xiii

Analog Input Module Alarms ............................................................. 44Analog Output Modules ........................................................................... 44

Analog Output Module Field Alarms .................................................. 44Relay Output Modules ............................................................................. 45

Relay Output Module Alarms ............................................................ 45Input/Output Processing .......................................................................... 45

I/O Module Alarms ............................................................................. 45Main Processor and TriBus ...................................................................... 46External Communication .......................................................................... 46

Semaphore Flags .............................................................................. 46System Attributes .............................................................................. 47

Chapter 4 Application Development .......................................................... 49Development Guidelines ............................................................................. 50

TriStation Install Check ......................................................................... 50

Important TriStation Commands ................................................................ 51Download Change ................................................................................... 51Upload and Verify .................................................................................... 52Compare to Last Download ..................................................................... 52

Setting Scan Time ........................................................................................ 53Scan Time ................................................................................................ 53Scan Surplus ............................................................................................ 53

Scan Overruns .................................................................................. 54

Sample Safety-Shutdown Programs .......................................................... 55All I/O Modules Safety-Critical ................................................................. 55

Program EX01_SHUTDOWN ............................................................ 56Some I/O Modules Safety-Critical ............................................................ 60

Program EX02_SHUTDOWN ............................................................ 61Defining Function Blocks ......................................................................... 65Partitioned Processes .............................................................................. 66

Program EX03_SHUTDOWN ............................................................ 67

Alarm Usage ................................................................................................. 68Programming Permitted Alarm ................................................................. 68Remote Access Alarm ............................................................................. 68Response Time and Scan Time ............................................................... 68Disabled Points Alarm .............................................................................. 68

Appendix A Peer-to-Peer Communication .................................................... 69Data Transfer Time ....................................................................................... 70

Tricon Safety Considerations Guide

Page 16: Safety Considerations Guide Tricon v9 6

xiv

Examples of Peer-to-Peer Applications ..................................................... 72Fast Send to One Triconex Node ............................................................ 72Sending Data Every Second to One Node .............................................. 72Controlled Use of TR_USEND/TR_URCV Function Blocks .................... 73Using TR_USEND/TR_URCV Function Blocks for Safety-Critical Data . 73

Sending Node #1 Parameters: ....................................................... 73Receiving Node #3 Parameters: .................................................... 73

TR_CRITICAL_IO Function Block ............................................................... 75Instructions for Use ................................................................................. 75Structured Text ........................................................................................ 79

TR_SHUTDOWN Function Block ................................................................ 82Structured Text ........................................................................................ 86

TR_VOTE_MODE Function Block ............................................................... 90Structured Text ........................................................................................ 92

Appendix B Shutdown Function Blocks ...................................................... 95TR_CRITICAL_IO Function Block ............................................................... 96

Instructions for Use ................................................................................. 96Structured Text ...................................................................................... 100

TR_SHUTDOWN Function Block .............................................................. 103Structured Text ...................................................................................... 107

TR_VOTE_MODE Function Block ............................................................. 111Structured Text ...................................................................................... 113

Index .................................................................................................................... 115

Tricon Safety Considerations Guide

Page 17: Safety Considerations Guide Tricon v9 6

C H A P T E R 1

Safety Concepts

This chapter describes background information about safety concepts and standards.

Topics include:

“Safety Overview” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

“Hazard and Risk Analysis” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

“Safety Standards” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

“Application-Specific Standards” . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Tricon Safety Considerations Guide

Page 18: Safety Considerations Guide Tricon v9 6

2 Safety Overview

Safety OverviewModern industrial processes tend to be technically complex, involve substantial energies, and have the potential to inflict serious harm to persons or property during a mishap.

The IEC 61508 standard defines safety as “freedom from unacceptable risk.” In other words, absolute safety can never be achieved; risk can only be reduced to an acceptable level.

Safety methods to mitigate harm and reduce risk include:

• Changing the process or mechanical design, including plant or equipment layout

• Increasing the mechanical integrity of equipment

• Improving the basic process control system (BPCS)

• Developing additional or more detailed training procedures for operations and maintenance

• Increasing the testing frequency of critical components

• Using a safety-instrumented system (SIS)

• Installing mitigating equipment to reduce harmful consequences; for example, explosion walls, foams, impoundments, and pressure relief systems

Methods that provide layers of protection should be:

• Independent

• Verifiable

• Dependable

• Designed for the specific safety risk

Tricon Safety Considerations Guide

Page 19: Safety Considerations Guide Tricon v9 6

Safety Overview 3

Protection Layers

The figure below shows how layers of protection can be used to reduce unacceptable risk to an acceptable level. The amount of risk reduction for each layer is dependent on the specific nature of the safety risk and the impact of the layer on the risk. Economic analysis should be used to determine the appropriate combination of layers for mitigating safety risks.

When an SIS is required, one of the following should be determined:

• Level of risk reduction assigned to the SIS

• Safety integrity level (SIL) of the SIS

Typically, a determination is made according to the requirements of the ANSI/ISA S84.01 or IEC 61508 standards during a process hazard analysis (PHA). A process demand is defined as the occurrence of a process deviation that causes an SIS to transition a process to a safe state.

Effect of Protection Layers on Process Risk

Lower Risk Higher Risk

Acceptable Risk Level

Inherent Process Risk

Mechanical Integrity

0

Process

SIS SV BPCS*

SV–Safety (relief) valve

* BPCS–Basic process control system SIS–Safety-instrumented system

Chapter 1 Safety Concepts

Page 20: Safety Considerations Guide Tricon v9 6

4 Safety Overview

SIS Factors

According to the ANSI/ISA S84.01 and IEC 61508 standards, the scope of an SIS is restricted to the instrumentation or controls that are responsible for bringing a process to a safe state in the event of a failure. The availability of an SIS is dependent upon:

• Failure rates and modes of components

• Installed instrumentation

• Redundancy

• Voting

• Diagnostic coverage

• Testing frequency

SIL Factors

A SIL can be considered a statistical representation of the availability of an SIS at the time of a process demand. A SIL is the litmus test of acceptable SIS design and includes the following factors:

• Device integrity

• Diagnostics

• Systematic and common cause failures

• Testing

• Operation

• Maintenance

In modern applications, a programmable electronic system (PES) is used as the core of a SIS. The Triconex controller is a state-of-the-art PES optimized for safety-critical applications.

Tricon Safety Considerations Guide

Page 21: Safety Considerations Guide Tricon v9 6

Hazard and Risk Analysis 5

Hazard and Risk AnalysisIn the United States, OSHA Process Safety Management (PSM) and EPA Risk Management Program (RMP) regulations dictate that a PHA be used to identify potential hazards in the operation of a chemical process and to determine the protective measures necessary to protect workers, the community, and the environment. The scope of a PHA may range from a very simple screening analysis to a complex hazard and operability study (HAZOP).

A HAZOP is a systematic, methodical examination of a process design that uses a multi-disciplinary team to identify hazards or operability problems that could result in an accident. A HAZOP provides a prioritized basis for the implementation of risk mitigation strategies, such as SISs or ESDs.

If a PHA determines that the mechanical integrity of a process and the process control are insufficient to mitigate the potential hazard, an SIS is required. An SIS consists of the instrumentation or controls that are installed for the purpose of mitigating a hazard or bringing a process to a safe state in the event of a process upset.

A compliant program incorporates “good engineering practice.” This means that the program follows the codes and standards published by such organizations as the American Society of Mechanical Engineers, American Petroleum Institute, American National Standards Institute, National Fire Protection Association, American Society for Testing and Materials, and National Board of Boiler and Pressure Vessel Inspectors. Other countries have similar requirements.

Chapter 1 Safety Concepts

Page 22: Safety Considerations Guide Tricon v9 6

6 Hazard and Risk Analysis

Safety Integrity Levels

The figure below shows the relationship of DIN V 19250 classes and safety integrity levels (SILs). As a required SIL increases, SIS integrity increases as measured by:

• System availability (expressed as a percentage)

• Average probability-to-fail-on-demand (PFDavg)

• Risk reduction factor (RRF, reciprocal of PFDavg)

The relationship between AK class and SIL is extremely important and should not be overlooked. These designations were developed in response to serious incidents that resulted in the loss of life, and are intended to serve as a foundation for the effective selection and appropriate design of safety-instrumented systems.

Determining a Safety Integrity Level

If a PHA concludes that an SIS is required, ANSI/ISA S84.01 and IEC 61508 require that a target SIL be assigned. The assignment of a SIL is a corporate decision based on risk management and risk tolerance philosophy. Safety regulations require that the assignment of SILs should be carefully performed and thoroughly documented.

Standards and Risk Measures

Risk Measures

Risk

ReductIon

99.999

99.99

99.90

99.00

90.00

0.00001

0.0001

0.001

0.01

0.1

>10,000

10,000–1,000

1,000–100

100–10

PercentAvailability

PFDavg RRF

Risk Standards

SIL 3

SIL 4

SIL 1

SIL 3

SIL 1

SIL 2 SIL 2

AK 8

AK 6AK 5

AK 4AK 3

AK 2AK 1

ANSI/ISAS84.01

IEC61508

DIN V19250

AK 7

Tricon Safety Considerations Guide

Page 23: Safety Considerations Guide Tricon v9 6

Hazard and Risk Analysis 7

Completion of a HAZOP determines the severity and probability of the risks associated with a process. Risk severity is based on a measure of the anticipated impact or consequences, including:

• On-site consequences

• Worker injury or death

• Equipment damage

• Off-site consequences

• Community exposure, including injury and death

• Property damage

• Environmental impact

• Emission of hazardous chemicals

• Contamination of air, soil, and water supplies

• Damage to environmentally sensitive areas

A risk probability is an estimate of the likelihood that an expected event will occur. A risk probability is classified as high, medium, or low, and is often based on a company’s or a competitor’s operating experience.

Several methods of converting HAZOP data into SILs are used. Methods range from making a corporate decision on all safety system installations to more complex techniques, such as an IEC 61508 risk graph.

Chapter 1 Safety Concepts

Page 24: Safety Considerations Guide Tricon v9 6

8 Hazard and Risk Analysis

Example SIL Calculation

As a PES, the controller is designed to minimize its contribution to the SIL, thereby allowing greater flexibility in the SIS design.

* Tricon controller failure rates have been independently calculated by Factory Mutual System. A copy of Factory Mutual Technical Report, “An Estimation of the Failure Rates for Modules Used in the Triconex Tricon 9 System,” FMRC J.I. 003003840, is available upon request.

Comparison of Percent Availability and PFD

Risk Measures

Risk

ReductIon

99.999 0.00001

99.9999 0.000001

99.99 0.0001

99.00 0.01

90.00 0.1

PercentAvailability

PFD

99.90 0.001 SIL 3 SIS

Tricon PES*

Simplified Diagram of Key Elements

3 PressureTransmitters (2oo3)

3 TemperatureTransmitters (2oo3)

Sensors

TMR Controller(2oo3)

PES/Logic Solver

2 Block Valvesin Series (1oo2)

Final Elements

Safety Integrated System

Tricon Safety Considerations Guide

Page 25: Safety Considerations Guide Tricon v9 6

Hazard and Risk Analysis 9

Equation for Calculating PFDavg for Sensors

The following simplified equation may be used to calculate PFDavg for sensors (2oo3):

PFDavg = (λDU*TI)2

where the following variables are supplied by the manufacturer:

λ = failure rateDU = dangerous, undetected failure rateTI = test interval in hours

Equation for Calculating PFDavg for Block Valves

The following simplified equation may be used to calculate PFDavg for block valves (1oo2) in series (final elements):

PFDavg = 1/3(λDU*TI)2

where the following variables are supplied by the manufacturer:λ = failure rateDU = dangerous, undetected failure rateTI = test interval in hours

Equation for Calculating PFDavg for System

The following simplified equation may be used to calculate PFDavg for a system.

System PFDavg = Sensors PFDavg + Block Valves PFDavg + Controller PFDavg

Chapter 1 Safety Concepts

Page 26: Safety Considerations Guide Tricon v9 6

10 Hazard and Risk Analysis

Using the Equations

To determine the SIL, compare the calculated PFDavg to the figure on page 8. In this example, the system is acceptable as an SIS for use in SIL3 applications.

Safety Life Cycle Model

The necessary steps for designing an SIS from conception through decommissioning are described in the safety life cycle.

Before the safety life cycle model is implemented, the following requirements should be met:

• Hazard and operability study has been completed

• SIS requirement has been determined

• Target SIL has been determined

λDU TI PFD Result

Pressure Transmitters (2oo3) 2.28E-06 4380 1.00E-04

Temperature Transmitters (2oo3) 2.85E-06 4380 1.56E-04

Total for Sensors 2.56E-04

Block Valves (1oo2) 2.28E-06 4380 3.33E-05

Total for Block Valves 3.33E-05

Tricon Controller 2.00E-05

PFDavg for System 3.09 E-04

Tricon Safety Considerations Guide

Page 27: Safety Considerations Guide Tricon v9 6

Hazard and Risk Analysis 11

Flowchart of Safety Life Cycle

Start

Design conceptual process

Perform SISdetail design

Perform processhazard analysisand risk assessment

Perform SISconceptualdesign and verifyit meets the SRS

SIS installation,commissioning,and pre-startupacceptance test

Develop safetyrequirementsdocument

Apply non-SISprotection layers toprevent identifiedhazards or reducerisk

SIS required?No

Define target SIL

Yes

SISdecommissioning

Pre-start-upsafety reviewassessment

Establish operationand maintenanceprocedure

SIS start-up operation,maintenance, periodic functionaltesting

Modify ordecommission

SIS?

Decommission

Conceptual process design

S84.01 Concern

Modify

Exit

Chapter 1 Safety Concepts

Page 28: Safety Considerations Guide Tricon v9 6

12 Hazard and Risk Analysis

� PES Steps in a Safety Life Cycle:

1 Develop a safety requirement specification.

An SRS consists of safety functional requirements and safety integrity requirements. An SRS can be a collection of documents or information.

Safety functional requirements specify the logic and actions to be performed by an SIS and the process conditions under which actions are initiated. These requirements include such items as consideration for manual shutdown, loss of energy source, etc.

Safety integrity requirements specify a SIL and the performance required for executing SIS functions. Safety integrity requirements include:

• Required SIL for each safety function

• Requirements for diagnostics

• Requirements for maintenance and testing

• Reliability requirements if the spurious trips are hazardous

2 For conceptual design, an engineer should:

• Define the SIS architecture to ensure the SIL is met; e.g. voting 1oo1, 1oo2, 2oo2, 2oo3

• Define the logic solver to meet the highest SIL if different SIL levels are required in a single logic solver

• Select a functional test interval to achieve the SIL

• Verify the conceptual design against the SRS

3 Develop a detail design including:

• General requirements

• SIS logic solver

• Field devices

• Interfaces

• Energy sources

• System environment

• Application logic requirements

• Maintenance or testing requirements

Tricon Safety Considerations Guide

Page 29: Safety Considerations Guide Tricon v9 6

Hazard and Risk Analysis 13

Some key ANSI/ISA S84.01 requirements are:

• The logic solver shall be separated from the basic process control system

• Sensors for SIS shall be separated from the sensors for the BPCS

• The logic system vendor shall provide:

– MTTF data

– Covert failure listing

– Frequency of occurrence of identified covert failures

• Each individual field device shall have its own dedicated wiring to the system I/O. Using a field bus is not allowed!

• A control valve from the BPCS shall not be used as a single final element for SIL3

• The operator interface may not be allowed to change the SIS application software

• Forcing shall not be used as a part of application software or operating procedures

• When on-line testing is required, test facilities shall be an integral part of the SIS design

4 Develop a pre-start-up acceptance test procedure that provides a fully functional test of the SIS to verify conformance with the SRS.

5 Before startup, establish operational and maintenance procedures to ensure that the SIS functions comply with the SRS throughout the SIS operational life, including:

• Training

• Documentation

• Operating procedures

• Maintenance program

• Testing and preventive maintenance

• Functional testing

• Documentation of functional testing

6 Before start-up, complete a safety review.

Chapter 1 Safety Concepts

Page 30: Safety Considerations Guide Tricon v9 6

14 Hazard and Risk Analysis

7 Define procedures for the following:

• Start-up

• Operations

• Maintenance, including administrative controls and written procedures that ensure safety if a process is hazardous while an SIS function is being bypassed

• Training that complies with national regulations (e.g., OSHA 29 CFR 1910.119)

• Functional testing to detect covert faults that prevent the SIS from operating according to the SRS

• SIS testing, including:

– Sensors

– Logic solver

– Final elements (e.g., shutdown valves, motors, etc.)

8 To ensure that no unauthorized changes are made to an application program, as mandated by OSHA 29 CFR 1910.119, follow management of change (MOC) procedures.

9 To ensure proper review, decommission an SIS before its permanent retirement from active service.

Tricon Safety Considerations Guide

Page 31: Safety Considerations Guide Tricon v9 6

Safety Standards 15

Safety StandardsOver the past several years, there has been rapid movement in many countries to develop standards and regulations to minimize the impact of industrial accidents on citizens. The standards described below apply to typical applications.

General Safety Standards

DIN V 19250

In Germany, the methodology of defining the risk to individuals is established in DIN V 19250, “Control Technology; Fundamental Safety Aspects To Be Considered for Measurement and Control Equipment.” DIN V 19250 establishes the concept that safety systems should be designed to meet designated classes, Class 1 (AK1) through Class 8 (AK8). The choice of the class is dependent on the level of risk posed by the process. DIN V 19250 attempts to force users to consider the hazards involved in their processes and to determine the integrity of the required safety-related system.

DIN V VDE 0801

As the use of programmable electronic systems in safety system designs has become prevalent, it is necessary to determine whether the design of a PES is sufficiently rigorous for the application and for the DIN V 19250 class. DIN V VDE 0801, “Principles for Computers in Safety-Related Systems,” sets forth the following specific measures to be used in evaluating a PES:

• Design

• Coding (system level)

• Implementation and integration

• Validation

Each measure is divided into specific techniques that can be thoroughly tested and documented by independent persons. Thus, DIN V VDE 0801 provides a means of determining if a PES meets certain DIN V 19250 classes.

Chapter 1 Safety Concepts

Page 32: Safety Considerations Guide Tricon v9 6

16 Safety Standards

IEC 61508, Parts 1–7

The IEC 61508 standard, “Functional Safety: Safety Related Systems,” is an international standard designed to address a complete SIS for the process, transit, and medical industries. The standard introduces the concept of a safety life cycle model (see the flowchart on page 11) to illustrate that the integrity of an SIS is not limited to device integrity, but is also a function of design, operation, testing, and maintenance.

The standard includes 4 SILs that are indexed to a specific probability-to-fail-on-demand (PFD) (see figure on page 6). A SIL assignment is based on the required risk reduction as determined by a PHA.

ANSI/ISA S84.01

ANSI/ISA S84.01-1996 is the United States standard for safety systems in the process industry. The SIL classes from IEC 61508 are used and the DIN V 19250 relationships are maintained. ANSI/ISA S84.01-1996 does not include the highest SIL class, SIL 4. The S84 Committee determined that SIL 4 is applicable for medical and transit systems in which the only layer of protection is the safety-instrumented layer. In contrast, the process industry can integrate many layers of protection in the process design. The overall risk reduction from these layers of protection is equal to or greater than that of other industries.

Draft IEC 61511, parts 1–3

The IEC 61511 standard, “Functional Safety: Safety Instrumented Systems for the Process Industry Sector,” is an international standard designed to be used as a companion to IEC 61508. IEC 61508 is intended primarily for manufacturers and suppliers of devices. IEC 61511 is intended for SIS designers, integrators, and users in the process-control industry.

Tricon Safety Considerations Guide

Page 33: Safety Considerations Guide Tricon v9 6

Safety Standards 17

Application-Specific Standards

DIN VDE 0116

DIN VDE 0116 “Electrical Equipment Of Furnaces,” outlines the German requirements for burner management applications.

EN 54, Part 3

EN 54, Part 3, “Components of Automatic Fire Detection System: Control and Indicating Equipment,” outlines the European requirements for fire detection systems.

NFPA 72

NFPA 72, “National Fire Alarm Code,” outlines the United States requirements for fire alarm systems.

NFPA 8501

NFPA 8501, Standard for Single Burner Boiler Operation,” outlines the United States requirements for operations using single burner boilers.

NFPA 8502

NFPA 8502, Standard for the Prevention of Furnace Explosions/Implosions in Multiple Burner Boilers,” outlines the United States requirements for operations using multiple burner boilers.

CSA C22.2 NO 199

CSA C22.2 NO 199, “Combustion Safety Controls and Solid-State Igniters for Gas and Oil-Burning Equipment,” outlines the Canadian requirements for burner management applications.

Chapter 1 Safety Concepts

Page 34: Safety Considerations Guide Tricon v9 6

18 Safety Standards

Tricon Safety Considerations Guide

Page 35: Safety Considerations Guide Tricon v9 6

Tricon Safety Considerations Guide

C H A P T E R 2

Application Guidelines

This chapter provides information on industry guidelines.

Topics include:

“TÜV Rheinland Certification” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

“General Guidelines” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

“Guidelines for Tricon Controllers” . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 36: Safety Considerations Guide Tricon v9 6

20 TÜV Rheinland Certification

Tricon Safety Considerations Guide

TÜV Rheinland CertificationWhen used as a PES in an SIS, the Tricon controller and its companion programming workstation, the TriStation 1131 Developer’s Workbench, have been certified by TÜV Rheinland/Berlin-Brandenburg to meet the requirements of DIN 19250 AK5-AK6 and IEC 61508 SIL3. If these standards apply to your application, compliance with the guidelines described in this chapter is highly recommended.

General GuidelinesThis section describes standard industry guidelines that apply to:

• All safety systems

• Emergency shutdown (ESD) systems

• Fire and gas systems

• Burner management systems

All Safety Systems

The following general guidelines apply to all user-written safety application programs and procedures:

• Functional testing is recommended to verify the correct design and operation.

• After a safety system is commissioned, no changes to the system software (operating system, I/O drivers, diagnostics, etc.) are allowed without type approval and re-commissioning. Any changes to the application or the control program should be made under strict change-control procedures. For more information on change-control procedures, see section “Project Change and Control” on page 30. All changes should be thoroughly reviewed, audited, and approved by a safety change control committee or group. After an approved change is made, it should be archived.

• In addition to printed documentation of the application program, two copies of the program should be archived on an electronic medium which is write-protected to avoid accidental changes.

Page 37: Safety Considerations Guide Tricon v9 6

General Guidelines 21

Chapter 2 Application Guidelines

• Under certain conditions, a PES may be run in a mode which allows an external computer or operator station to write to system attributes. This is normally done by means of a communication link. The following guidelines apply to writes of this type:

– Serial communication should use Modbus or another approved protocol with CRC checks.

– Serial communication should not be allowed to write directly to output points.

– For information about writes to safety-related variables that result in disabling safety action, see section “Module Diagnostics” on page 43.

• PID and other control algorithms should not be used for safety-related functions. Each control function should be checked to verify that it does not provide a safety-related function.

• An SIS PES should be wired and grounded according to the procedures defined by the manufacturer.

Emergency Shutdown Systems

The safe state of the plant should be a de-energized or low (0) state.

For ESD functions, it is recommended that the hardware devices connected to PES outputs should be made of fail-safe components or should have two separate, independent shutdown paths which are periodically inspected.

Burner Management Systems

The safe state of the plant should be a de-energized or low (0) state.

When a safety system is required to conform with the DIN 0116 standard for electrical equipment in furnaces, PES throughput time should ensure that a safe shutdown can be performed within one second after a problem in the process is detected.

Page 38: Safety Considerations Guide Tricon v9 6

22 General Guidelines

Tricon Safety Considerations Guide

Fire and Gas Systems

Fire and gas applications typically do not have a safe state and should operate continuously to provide protection. The following industry guidelines apply:

• If inputs and outputs are energized to mitigate a problem, a PES system should detect and alarm open and short circuits in the wiring between the PES and the field devices.

• An entire PES system should have redundant power supplies. Also, the power supplies that are required to activate critical outputs and read safety-critical inputs should be redundant. All power supplies should be monitored for proper operation.

• De-energized outputs may be used for normal operation. To initiate action to mitigate a problem, the outputs are energized. This type of system should monitor the critical output circuits to ensure that they are properly connected to the end devices.

Page 39: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 23

Chapter 2 Application Guidelines

Guidelines for Tricon ControllersThe following topics relate to industry guidelines that are specific to Tricon controllers when used as a PES in an SIS:

• Safety-critical modules

• Safe shutdown

• Programming lockout alarm

• Remote access alarm

• Scan time and response time alarm

• Disabled points alarm

• Disabled output voters

• Download all

• Use of Peer-to-Peer functions

• Modbus master functions

• SIL3/AK5 guidelines

• SIL3/AK5 fire and gas guidelines

• SIL3/AK6 guidelines

• SIL3/AK6 fire and gas guidelines

• Project change and control

Page 40: Safety Considerations Guide Tricon v9 6

24 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

Safety-Critical Modules

It is recommended that only the following modules be used for safety-critical applications:

• Main Processor Modules, all models

• Communication Modules, all models

• Digital Input Modules, all models

• Digital Output Modules, all models

• Analog Input Modules, all models

• Analog Output Module, Model #3805 only

• Pulse Totalizer Input Module

The Relay Output Module is recommended for non-safety-critical points only.

Safety-Shutdown

A safety application should include a network that initiates a safe shutdown of the process being controlled when a controller operates in a degraded mode for a specified maximum time.

The Triconex Library provides two function blocks to simplify programming a safety-shutdown application: TR_SHUTDOWN and TR_CRITICAL_IO. To see the Structured Text code for these function blocks, see Appendix A, “Peer-to-Peer Communication.” For more information on safety-shutdown networks, see section “Sample Safety-Shutdown Programs” on page 55.

Response Time and Scan Time

Scan time must be set below 50% of the required response time. If scan time is greater than 50%, an alarm should be available.

Disabled Points Alarm

A project should not contain disabled points unless there is a specific reason for disabling them, such as initial testing. An alarm should be available to alert the operator that a point is disabled.

Page 41: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 25

Chapter 2 Application Guidelines

Disabled Output Voter Diagnostic

A safety application may not disable the output voter diagnostic.

Download All at Completion of Project

When development and testing of a safety application is completed, use the Download All command on the Control Panel to completely re-load the application to the controller.

Modbus Master Functions

Modbus Master functions are designed for use with non-critical I/O points only. These functions should not be used for safety-critical I/O points or for transferring safety-critical data using the MBREAD and MBWRITE functions.

Peer-to-Peer Communication

Peer-to-Peer communication enables Triconex controllers (also referred to as nodes) to send and receive information. If a node sends critical data to another node that makes safety-related decisions, you must ensure that the application on the receiving node can determine whether it has received new data.

If new data is not received within the time-out period (equal to half of the processing-tolerance time), the application on the receiving node should be able to determine the action to take. The actions may include one or more of the following:

• Use the last data received for safety-related decisions in the application.

• Use default values for safety-related decisions in the application.

• Monitor the status of the TR_URCV and TR_PORT_STATUS functions to determine whether there is a network problem that requires operator intervention.

The specific actions that an application should take depends on the unique safety requirements of your particular process. The sections that follow summarize the main types of actions entailed in the use of Peer-to-Peer send and receive functions.

Sending Node

The actions required in the logic of the sending application are:

Page 42: Safety Considerations Guide Tricon v9 6

26 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

• The sending node must set the SENDFLG parameter in the send call to true (1) so that the sending node sends new data as soon as the acknowledgment for the last data is received from the receiving node.

• The TR_USEND function block must include a diagnostic integer variable that is incremented with each new send initiation so that the receiving node can check this variable for changes every time it receives new data. This new variable should have a range of 1 to 65,565 where the value 1 is sent with the first sample of data. When this variable reaches the limit of 65,565, the sending node should set this variable back to 1 for the next data transfer. This diagnostic variable is required because the communication path is not triplicated like the I/O system.

• The number of TR_USEND functions in an application must be less than or equal to five because the controller only initiates five TR_USEND functions per scan. To send data as fast as possible, the TR_USEND function must be initiated as soon as the acknowledgment for the last data is received from the receiving node.

• The sending application must monitor the status of the TR_URCV and TR_PORT_STATUS functions to determine whether there is a network problem that requires operator intervention.

Receiving Node

The types of actions required in the logic of the receiving application are:

• To transfer safety-critical data, the basic rule is that the receiving node must receive at least one sample of new data within the maximum time-out limit. If this does not happen, the application for the receiving node must take one or more of the following actions, depending on requirements:

– Use the last data received for safety-related decisions.

– Use default values for safety-related decisions in the application.

– Check the status of the TR_URCV and TR_PORT_STATUS functions to see whether there is a network problem that requires operator intervention.

• The receiving node must monitor the diagnostic integer variable every time it receives new data to determine whether this variable has changed from last time.

• The receiving program must monitor the status of the TR_URCV and TR_PORT_STATUS functions to determine if there is a network problem that requires operator intervention.

Page 43: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 27

Chapter 2 Application Guidelines

For information on data transfer time and examples of how to use Peer-to-Peer functions to transfer safety-critical data, see Appendix A, “Peer-to-Peer Communication”.

SIL3/AK5 Guidelines

For SIL3/AK5 applications, the following guidelines should be followed:

• If non-approved modules are used, the inputs and outputs should be checked to verify that they do not affect safety-critical functions of the controller.

• Two modes control write operations from external hosts:

– Remote Mode—When the keyswitch setting is REMOTE, external hosts, such as Modbus master, DCS, etc., can write to aliased variables in the controller. When false, writes are prohibited.

– Program Mode—When the keyswitch setting is PROGRAM, TriStation can make program changes, including operations that modify the behavior of the programs currently running. (For example, Download All, Download Change, declaring variables, enabling/disabling variables, changing values of variables and scan time, etc.)

Remote mode and program mode are independent of each other. In safety applications, operation in these modes is not recommended. In other words, write operations to the controller from external hosts should be prohibited. If remote mode or program mode becomes true, the application program should include the following safeguards:

– When remote mode is true:

• A program should turn on an alarm. For example, if using the TR_SHUTDOWN function block, the ALARM_REMOTE_ACCESS output could be used.

• Aliased variables should be checked for adherence to the guidelines described in section “Maintenance Overrides” on page 32.

– When program mode is true:

• A program should turn on an alarm. For example, if using the TR_SHUTDOWN function block, the ALARM_PROGRAMMING_PERMITTED output could be used.

• Wiring and grounding procedures outlined in the Tricon Planning & Installation Guide should be followed.

Page 44: Safety Considerations Guide Tricon v9 6

28 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

• Maintenance instructions outlined in the Tricon Planning & Installation Guide should be followed.

• If degradation to dual mode occurs, continued operation without repair should be limited to 1500 hours (two months).

• If degradation to single mode occurs, continued operation without repair should be limited to 72 hours (three days).

• The GATENB function allows external hosts to write selected aliased variables even when the remote mode is false. A network using the GATENB function should be thoroughly validated to ensure that only the intended aliased variable range is used.

• Remote Peer-to-Peer connections must be programmed according to the recommendations in the section “Peer-to-Peer Communication” on page 25.

Additional Fire and Gas Guidelines

• Analog input cards with current loop terminations should be used to read digital inputs. Opens and shorts in the wiring to the field devices should be detectable. The Triconex library function, LINEMNTR, should be used to simplify program development.

• A controller should be powered by two independent sources.

• If outputs are normally de-energized, a Supervised Digital Output Module should be used to verify proper connection to the final control element and to check the load and the wiring for potential shorts.

• If degradation to dual mode or single mode occurs, repairs should be timely and limits for maximum time in degraded mode should not be imposed to ensure maximum availability.

Page 45: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 29

Chapter 2 Application Guidelines

SIL3/AK6 Guidelines

For SIL3/ AK6 applications, the following guidelines should be followed:

• DIN V VDE 19250/AK6 applications that require continued operation after detecting an output failure must have a secondary means of operating the output. A secondary means may be an external group relay or a single point on an independent output module that controls a group of outputs. If a relay is used, it should be checked at least every six months, manually or automatically.

• If non-approved modules are used, the inputs and outputs should be checked to verify that they do not affect safety-critical functions of the controller.

• Two modes control write operations from external hosts:

– Remote Mode—When the keyswitch setting is REMOTE, external hosts, such as Modbus master, DCS, etc., can write aliased data in the controller. When false, writes are prohibited.

– Program Mode—When the keyswitch setting is PROGRAM, TriStation can make program changes, including operations that modify the behavior of the programs currently running. (For example, Download All, Download Change, declaring variables, enabling/disabling variables, changing values of variables and scan time, etc.)

Remote mode and program mode are independent of each other. In safety application, operation in these modes is not recommended. In other words, write operations to the controller from external hosts should be prohibited. If remote mode or program mode becomes true, the application program should include the following safeguards:

– When remote mode is true:

• A program should turn on an alarm. For example, if using the TR_SHUTDOWN function block, the ALARM_REMOTE_ACCESS output could be used.

• Aliased variables should be checked for adherence to the guidelines described in section “Maintenance Overrides” on page 32.

– When program mode is true:

• A program should turn on an alarm. For example, if using the TR_SHUTDOWN function block, the ALARM_PROGRAMMING_PERMITTED output could be used.

• Wiring and grounding procedures outlined in the Tricon Planning & Installation Guide should be followed.

Page 46: Safety Considerations Guide Tricon v9 6

30 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

• Maintenance instructions outlined in the Tricon Planning & Installation Guide should be followed.

• If degradation to dual mode occurs, continued operation without repair should be limited to 1500 hours (two months).

• If degradation to single mode occurs, continued operation without repair should be limited to one hour.

• The GATENB function allows external hosts to write selected aliased variables even when the remote mode is false. A network using the GATENB function should be thoroughly validated to ensure that only the intended aliased variable range is used.

Additional Fire and Gas Guidelines

• Analog input cards with current loop terminations should be used to read digital inputs. Opens and shorts in the wiring to the field devices should be detectable. The Triconex library function, LINEMNTR, should be used to simplify program development.

• A controller should be powered by two independent sources.

• If outputs are normally de-energized, a Supervised Digital Output Module should be used to verify proper connection to the final control element and to check the load and the wiring for potential shorts.

• If degradation to dual mode or single mode occurs, repairs should be timely and limits for maximum time in degraded mode should not be imposed to ensure maximum availability.

Project Change and Control

A change to a project, however minor, should comply with the guidelines of your organization’s change control committee. The following steps are recommended:

1 Generate a change request defining all changes and reasons for changes, then obtain approval for the changes from the Safety Change Control Committee (SCCC).

2 Develop a specification for changes, including a test specification, then obtain approval for the specification from the SCCC.

3 Make the appropriate changes to the project, including those related to design, operation, or maintenance documentation.

Page 47: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 31

Chapter 2 Application Guidelines

4 To verify that the configuration in the controller matches the last downloaded configuration, use the Upload and Verify command on the Control Panel. For details, see section “Upload and Verify” in the TriStation 1131 Developer's Guide for Tricon Systems.

5 Compare the configuration in your project with the configuration that was last downloaded to the controller by printing the Configuration Differences report from the Configuration editor. For details, see section “Compare to Last Download” in the TriStation 1131 Developer's Guide for Tricon Systems.

6 Print all logic elements and verify that the changes to networks within each element do not affect other sections of the application.

7 Test the changes according to the test specification by using the Emulator Control Panel.

8 Write a test report.

9 Review and audit all changes and test results with the SCCC.

10 When approved by the SCCC, download the changes to the controller.

• You may make minor changes on-line only if the changes are absolutely necessary and are tested thoroughly.

• To enable a Download Change command, select the Enable Programming option in the Set Programming Mode dialog box on the Control Panel if it is not already selected.

Note Changing the operating mode to PROGRAM should generate an alarm to remind the operator to return the operating mode to run as soon as possible after the Download Change. For more information, see section “Programming Permitted Alarm” on page 68.

11 Save the downloaded project in TriStation and back up the project.

12 Archive two copies of the project file and all associated documentation.

Page 48: Safety Considerations Guide Tricon v9 6

32 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

Maintenance Overrides

Three methods can be used to check safety-critical devices connected to controllers:

• Special switches are connected to inputs to a controller that deactivate the actuators and sensors undergoing maintenance. The maintenance condition is handled in the logic of the control program.

• Sensors and actuators are electrically disconnected from a controller and manually checked using special measures.

• Serial communication to a controller activates the maintenance override condition. This method is useful when space is limited and the maintenance console should be integrated with the operator display.

Using Serial Communication

For maintenance overrides, two options for serial connection are available:

• DCS connection using Modbus RTU protocol (or another approved serial protocol)

• TriStation PC connection, which requires additional, industry-standard safety measures in a controller to prevent downloading a program change during maintenance intervals. For more information on TriStation, see section “Alarm Usage” on page 68.

Page 49: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 33

Chapter 2 Application Guidelines

Design Requirements

The following table describes design requirements for handling maintenance overrides when using serial communication.

Design RequirementsResponsible Person

DCS TriStation

Control program logic and the controller configuration determine whether the desired signal can be overridden.

Project Engineer, Commissioner

Project Engineer, Commissioner

Control program logic and/or system configuration specify whether simultaneous overriding in independent parts of the application is acceptable.

Project Engineer Project Engineer,Type Approval

Controller activates the override. The operator should confirm the override condition.

Operator,Maintenance Engineer

Maintenance Engineer,Type Approval

Direct overrides on inputs and outputs are not allowed, but should be checked and implemented in relation to the application. Multiple overrides in a controller are allowed as long as only one override applies to each safety-critical group. The controller alarm should not be overridden.

Project Engineer Project Engineer,Type Approval

DCS warns the operator about an override condition. The operator continues to receive warnings until the override is removed.

Project Engineer, Commissioner

N/A

A second way to remove the maintenance override condition should be available

Project Engineer

If urgent, a maintenance engineer may remove the override using a hard-wired switch.

Maintenance Engineer,Type Approval

Page 50: Safety Considerations Guide Tricon v9 6

34 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

Operating Requirements

The following table describes operating requirements for handling maintenance overrides when using serial communication.

During an override, proper operating measures should be implemented. The time span for overriding should be limited to one shift (typically no longer than 8 hours). A maintenance override switch (MOS) light on the operator console should be provided (one per a controller or process unit).

Project Engineer, Commissioner, DCS, TriStation

Operating RequirementsResponsible Person

DCS TriStation

Maintenance overrides are enabled for an entire controller or for a subsystem (process unit).

Operator,

Maintenance Engineer

Maintenance Engineer, Type Approval

Controller activates an override. The operator should confirm the override condition.

Operator,

Maintenance Engineer

Maintenance Engineer, Type Approval

Controller removes an override. Operator,

Maintenance Engineer

Maintenance Engineer

Design RequirementsResponsible Person

DCS TriStation

Page 51: Safety Considerations Guide Tricon v9 6

Guidelines for Tricon Controllers 35

Chapter 2 Application Guidelines

Additional Recommendations

The following procedures are recommended in addition to the recommendations described in the tables on page 33 and page 34:

• A DCS program should regularly verify that no discrepancies exist between the override command signals issued by a DCS and override-activated signals received by a DCS from a PES. The following diagram depicts this procedure:

• Use of the maintenance override capability should be documented in a DCS or TriStation log. The documentation should include:

– Begin- and end-time stamps of the maintenance override.

– Identification of the maintenance engineer or operator who activates a maintenance override. If the information cannot be printed, it should be entered in a work-permit or maintenance log.

– Tag Name of the signal being overridden.

– Communication packages that are different from a type-approved Modbus should include CRC, address check, and check of the communication time frame.

– Loss of communication should lead to a warning to the operator and maintenance engineer. After loss of communication, a time-delayed removal of the override should occur after a warning to the operator.

PES Block Diagram

SafeguardingApplicationProgram

Controller

Sensors Actuators

OperatorWarning

DistributedControl System

Inputs

EngineeringWorkstation

MaintenanceOverride Handling

(Application Program)

Hard-WiredSwitch

Safety-Instrumented System

Page 52: Safety Considerations Guide Tricon v9 6

36 Guidelines for Tricon Controllers

Tricon Safety Considerations Guide

Page 53: Safety Considerations Guide Tricon v9 6

C H A P T E R 3

Fault Management

This chapter discusses system architecture and diagnostics, types of faults, operating modes, and module diagnostics.

Topics include:

“System Architecture” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

“System Diagnostics” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

“Types of Faults” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

“Operating Modes” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

“Module Diagnostics” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Tricon Safety Considerations Guide

Page 54: Safety Considerations Guide Tricon v9 6

38 System Architecture

System ArchitectureThe controller has been designed from its inception with self-diagnostics as a primary feature. Triple-Modular Redundant (TMR) architecture (shown below) ensures fault tolerance and provides error-free, uninterrupted control in the event of hard failures of components or transient faults from internal or external sources.

Each I/O module houses the circuitry for three independent channels. Each channel on the input modules reads the process data and passes that information to its respective main processor. The three Main Processor (MP) Modules communicate with each other using a proprietary, high-speed bus system called the TriBus.

Fault information is available to an application. It is critical that an application properly manage fault information to avoid an unnecessary shutdown of a process or plant.

Typical Tricon System

Input Channel

A

Input Channel

B

Input Channel

C

Output Channel

A

Output Channel

B

Output Channel

C

Main Processor

C

Main Processor

B

I/O Bus

I/O Bus

I/O Bus

TriBus

TriBus

TriBus

Voter

Main Processor

A

Input Termination

Output Termination

Auto Spare Auto Spare

Tricon Safety Considerations Guide

Page 55: Safety Considerations Guide Tricon v9 6

System Diagnostics 39

System DiagnosticsTo improve system availability and safety, a safety system must be able to detect failures and provide the means for managing failures properly. The controller’s diagnostics may be categorized as:

• Reference diagnostics—comparing an operating value to a predetermined reference, such as a system specification

• Comparison diagnostics—comparing one component to another, such as one independent channel with two other independent channels

• Field device diagnostics—diagnostics are extended to a system’s field devices and wiring

Chapter 3 Fault Management

Page 56: Safety Considerations Guide Tricon v9 6

40 Types of Faults

Types of FaultsA controller is subject to external faults and internal faults, which are reported by the:

• Status indicators on a module’s front panels

• Diagnostic Panel in TriStation

• System attributes on the Control Panel in TriStation

External Faults

A controller may experience the following types of external faults:

• Logic power faults

• Field power faults

• Load or fuse faults

When an external fault occurs, the controller asserts an alarms. How the alarm is communicated is module-specific. In some cases, a yellow alarm indicator is provided on the module. For example, a Load/Fuse alarm is provided on digital output modules. In most cases, the System alarm is asserted, and the System alarm indicators on the Main Chassis Power Modules are lit. The Diagnostic Panel in TriStation identifies the faulting module by displaying a red frame around it. For instructions on responding to specific alarm conditions, see the Tricon Planning and Installation Guide.

Internal Faults

Internal faults are usually isolated to one of the controller’s three channels (A, B or C). When an internal fault occurs on one of the three channels, the remaining two healthy channels maintain full control. Depending on the type of fault, the controller either remains in TMR mode or degrades to dual mode for the system component that is affected by the fault. For more information of on operating modes, see “Operating Modes” on page 41.

When an internal fault occurs, the controller lights the red Fault indicator on the faulting module and the System alarm on the Main Chassis Power Modules to alert the operator to replace the faulting module.

Tricon Safety Considerations Guide

Page 57: Safety Considerations Guide Tricon v9 6

Operating Modes 41

Operating ModesEach input or output point is considered to operate in Triple Modular Redundant, dual, or single mode.The current mode indicates the number of channels controlling a point; in other words, the number of channels controlling the output or having confidence in the input. System variables summarize the status of input and output points. For safety reasons, system mode is defined as the mode of the point controlled by the fewest number of channels. When a safety-critical point is in dual or single mode, the application may need to shut down the controlled process within a pre-determined time.

A user can further simplify and customize shutdown logic using special function blocks provided by Triconex. By considering only faults in safety-critical modules, system availability can be improved. For more information, see Appendix A, “Peer-to-Peer Communication.”

While operating in TMR mode, the process is protected each scan from the effect of a single safety-critical system fault. The system can also tolerate multiple faults and continue to operate correctly unless the combined effects of multiple faults affects the same point on multiple channels. If a system fault occurs, the loss of redundancy causes an increased probability-of-failure-on-demand. To keep the PFD within industry-acceptable guidelines, adherence with the recommended maximum operating period of 1500 hours in dual mode and 72 hours (SIL3/AK5) or 1 hour (SIL3/AK6) in single mode should be observed.

A safety-critical fault is defined as a fault that can affect the ability of the system to correctly control outputs, including:

• Inability to detect a change of state on a digital input point.

• Inability to detect a change of value on an analog input point.

• Inability to change the state of a digital output point.

• Inability of the system to:

– Read each input point

– Vote the correct value of each input

– Execute the control program

– Determine the state of each output point correctly

Chapter 3 Fault Management

Page 58: Safety Considerations Guide Tricon v9 6

42 Operating Modes

Also, during each execution of the control program, each channel independently verifies the:

• Integrity of the data path between the MPs

• Proper voting of all input values

• Proper evaluation of the control program

• Calculated value of each output point

Tricon Safety Considerations Guide

Page 59: Safety Considerations Guide Tricon v9 6

Module Diagnostics 43

Module DiagnosticsEach system component detects and reports operational faults.

Digital Input Modules

Digital Input Module points typically use a combination of comparison and force-to-value diagnostics (FVD). Under system control, each channel is independently compared against the measured value of all channels. If a mismatch is found, an alarm is set. Using the integral FVD capability, each point can be independently verified for its ability to accurately detect a transition to the opposite state. A channel that has detected a fault on a digital input point votes that point to be de-energized. These diagnostics are executed independently by each channel, thus assuring nearly 100% fault coverage and fail-safe operation under all single-fault, and most common, multiple-fault scenarios.

Digital Input Module Alarms

Digital Input Module faults are reported to the control program, and these alarms can be used to increase availability during specific multiple fault conditions. Loss of logic power is reported to the control program.

Digital Output Modules

Digital Output Modules use output voter diagnostics (OVD). Under system control, each output point is commanded sequentially to both the energized and de-energized states and the forced state is maintained until the value is detected by the system or a time-out occurs (500 microseconds, typical; 2 milliseconds, worst case). Using the integral OVD capability, each point can be independently verified for its ability to a transition to either state. The OVD is executed in TMR mode, thus assuring nearly 100% fault coverage and fail-safe operation under all single-fault scenarios.

Digital Output Module Alarms

Digital Output Module faults are reported to the control program and can be used to increase availability during specific multiple fault conditions. Loss of field power or logic power is reported to the control program.

The inability of a Digital Output Module to control an output point is reported to the control program as a Load/Fuse alarm. This condition can result from a loss of

Chapter 3 Fault Management

Page 60: Safety Considerations Guide Tricon v9 6

44 Module Diagnostics

field power or a field short condition. The alarm can be used to modify the control strategy or direct effective maintenance action.

Analog Input Modules

Analog Input Module points use a combination of comparison and reference diagnostics. Under system control, each channel is independently compared against the measured value of all channels. If a mismatch if found, an alarm is set. Each channel’s measured values are also compared its against internal references. A channel that has detected a fault on an analog input point votes that point to be zero. Using these diagnostics, each channel can be verified independently, thus assuring near 100% fault coverage and fail-safe operation under all single-fault, and most common, multiple-fault scenarios.

Analog Input Module Alarms

Analog Input Module faults are reported to the control program. These alarms can be used to increase availability during specific multiple fault conditions. Loss of logic power is reported to the control program.

Analog Output Modules

Analog Output Modules use a combination of comparison and reference diagnostics. Under system control, each channel is given control of the output sequentially using the 2oo3 voting mechanism. Each channel independently measures the actual state of an output value by comparing it with the commanded value. If the values do not match, a channel switch is forced by voting another channel. Each channel also compares its measured values against internal references. Using these diagnostics, each channel can be independently verified for its ability to control the analog output value, thus assuring nearly 100% fault coverage and fail-safe operation under all single-fault, and most common, multiple-fault scenarios.

Analog Output Module Field Alarms

Analog Output Module faults are reported to the control program. These alarms can be used to increase availability during specific multiple-fault conditions. Loss of field power or logic power is reported to the control program.

Tricon Safety Considerations Guide

Page 61: Safety Considerations Guide Tricon v9 6

Module Diagnostics 45

Relay Output Modules

Relay Output Module points are not intended for safety-critical applications. The diagnostics used by the relay output points cannot detect faults in the relay contacts.

Relay Output Module Alarms

Detectable Relay Output Module faults are reported to the control program.

Input/Output Processing

Each processor on an I/O module is protected by an independent watchdog that verifies the timely execution of the I/O module firmware and diagnostics. If an I/O processor fails to execute correctly, the I/O processor enters the fail-safe state. The I/O bus transceiver and all outputs for the faulting channel are disabled, leaving all outputs under control of the remaining healthy channels.

The integrity of the I/O bus is continuously monitored and verified independently by each channel of the system. A catastrophic bus fault results in affected I/O module channels reverting to the fail-safe state in less than 50 milliseconds, worst case.

• Each digital input point is reported to the control program as de-energized.

• Each analog input point is reported to the control program as zero.

• Each digital output point goes to the de-energized state.

• Each analog output point goes to 0.0 mA.

• Each relay output point goes to the normally open (NO) position.

I/O Module Alarms

Loss of communication with an I/O module is reported to the control program and can be used to increase availability during specific multiple-fault conditions.

Chapter 3 Fault Management

Page 62: Safety Considerations Guide Tricon v9 6

46 Module Diagnostics

Main Processor and TriBus

Each Main Processor (MP) Module uses memory data comparison between itself and the other MPs to ensure that the control program executes correctly on each scan. Each MP transfers its input point data to the other two MPs via the TriBus during each scan. Each MP then votes the input data and provides voted data to the control program. The results of the control program (outputs), including all internal variables, are transferred by the TriBus. If a mis-compare is detected, special algorithms are used to isolate the faulting MP. The faulting MP enters the fail-safe state and is ignored by the remaining MPs. Background diagnostics test MP memory and compare control program instructions and internal status.

The integrity of the TriBus is continuously monitored and verified independently by each MP. All TriBus faults are detected within the scan associated with the TriBus transfer. Fault isolation hardware and firmware causes the MP with the faulting TriBus to enter the fail-safe state.

An independent watchdog ensures that the control program and diagnostics execute within 500 milliseconds seconds (the watchdog period). If an MP fails to execute the scan, the watchdog forces the MP to the fail-safe state. The I/O processor adds a sequential element to the MP watchdog. If an MP fails to report the proper sequence of execution, the I/O processor causes the MP to enter the fail-safe state.

External Communication

Loss of external communication is not indicated by a system alarm. However, alarms can be generated by using:

• Semaphore flags

• System attributes

! CAUTIONExternal communications are intended for transporting non-safety-critical data. The guidelines outlined in section “Using Serial Communication” on page 32 should be followed in SIS applications.

Semaphore Flags

Establish a semaphore between a controller and an external device by using a timer function block to evaluate the changing state of semaphore flags.

Tricon Safety Considerations Guide

Page 63: Safety Considerations Guide Tricon v9 6

Module Diagnostics 47

System Attributes

System attributes can be used to generate an alarm when a communication link is lost.

For more information about communication alarms, see the TriStation 1131 Developer’s Guide for Tricon Systems. See also the following relevant manuals:

• Advanced Communication Module User's Guide

• Enhanced Intelligent Communication Modules User's Manual

• Hiway Interface Module User's Guide

• Network Communication Module User's Guide

• Safety Manager Module User's Guide

• Tricon DDE Server User's Guide

• Tricon System Access Application Programmer's Reference

• Tricon System Aliases Reference Manual

• Tricon Planning & Installation Guide

• TriStation 1131 Triconex Libraries

Chapter 3 Fault Management

Page 64: Safety Considerations Guide Tricon v9 6

48 Module Diagnostics

Tricon Safety Considerations Guide

Page 65: Safety Considerations Guide Tricon v9 6

C H A P T E R 4

Application Development

This chapter discusses methods for developing applications to avoid application faults.

Topics include:

“Development Guidelines” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

“Important TriStation Commands” . . . . . . . . . . . . . . . . . . . . . . . . . . 51

“Setting Scan Time” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

“Sample Safety-Shutdown Programs” . . . . . . . . . . . . . . . . . . . . . . . 55

“Alarm Usage” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Tricon Safety Considerations Guide

Page 66: Safety Considerations Guide Tricon v9 6

50 Development Guidelines

Development GuidelinesWhile developing an application, you should:

• Use a dedicated PC that is not connected to a network.

• Use a good virus checker.

• Verify proper installation of TriStation 1131 using TriStation Install Check.

TriStation Install Check

You should run the TriStation Install Check program to verify that TriStation is correctly installed on your PC and that no associated files are corrupted. This is especially helpful if applications besides TriStation 1131 reside on your PC. For more information on the TriStation Install Check program, see the TriStation 1131 Developer's Guide.

Tricon Safety Considerations Guide

Page 67: Safety Considerations Guide Tricon v9 6

Important TriStation Commands 51

Important TriStation CommandsSeveral commands in TriStation 1131 Developer’s Workbench are of special interest when developing a safety application:

• Download Change

• Upload and Verify

• Compare to Last Download

Download Change

The Download Change command is a convenient means of making simple modifications to an off-line system during application development.

! WARNINGDownload Change is intended for off-line use during application development. If you use Download Change to modify a safety-critical application that is running on-line, you must exercise extreme caution because an error in the modified application or system configuration may cause a trip or unpredictable behavior.

If you must make on-line changes to a controller, you should always follow the guidelines provided in TriStation 1131 Developer's Guide and fully understand the risks you are taking by using the Download Change command.

Before a Download Change, use the Diagnostic Panel to verify that Scan Surplus is sufficient for the application and changes being made. As a rule, the value for Scan Surplus should be at least 10% of Scan Time to accommodate newly added elements. For more information on scan time, see “Setting Scan Time” on page 53.

! CAUTIONDo not attempt a Download Change if you have a negative Scan Surplus. First, adjust Scan Time to make the surplus value greater than or equal to zero.

For more information on the Download Change command, see the TriStation 1131 Developer's Guide.

Chapter 4 Application Development

Page 68: Safety Considerations Guide Tricon v9 6

52 Important TriStation Commands

Upload and Verify

Before you make changes to a project in TriStation, you should run the Upload and Verify command to verify that the project in TriStation matches the project running in the controller. (The Upload and Verify command is on the Commands menu on the Control Panel in TriStation.) This command compares the current project running in the controller to a record of the last downloaded project. To use the Upload and Verify command, you must be able to connect your application to the controller using the Connect command on the Control panel in TriStation.

For more information on the Upload and Verify command, see the TriStation 1131 Developer's Guide.

Compare to Last Download

After you have run the Upload and Verify command, make the desired changes to the project. Use the Compare to Last Download command to verify that the changes to the project are only the intended changes. (The Compare to Last Download command is on the Commands menu of the Configuration editor in TriStation.) To test the changes, use the Emulator Control Panel in TriStation.

Tricon Safety Considerations Guide

Page 69: Safety Considerations Guide Tricon v9 6

Setting Scan Time 53

Setting Scan TimeSetting appropriate scan time for the project is essential to avoid improper controller behavior. When changing a project running in an on-line system, special precautions should be exercised to avoid scan time overruns, which could result in unexpected controller behavior.

Scan Time

Scan time is the interval required for evaluations (in other words, scans) of an application as it executes in the controller. The time it actually takes to do an evaluation may be less than the requested scan time. To prevent scan-time overruns, a scan time must be set that includes sufficient time for all executable elements in an application—including print statements, conditional statements, and future download changes.

Use the Scan Time parameter in the TriStation Configuration editor to suggest the desired scan time before downloading an application. Upon downloading, the controller determines the minimum and maximum allowable scan times for your application and uses your suggested scan time if it falls within the acceptable limits. The default scan time is 200 milliseconds. The maximum allowable scan time is 500 milliseconds and the minimum allowable scan time is 25 milliseconds.

Requested Scan Time is a system parameter that is set using the Configuration editor.

Actual scan time is the actual time of the last scan. Actual scan time is always equal to or greater than the requested scan time.

Scan Surplus

Scan surplus is the scan time remaining after application elements have been executed. Scan Surplus must be positive—if it is negative, the Scan Time parameter must be adjusted using the Set Scan Time command on the Control Panel to set the surplus value to greater than or equal to zero. The Scan Time parameter in the TriStation Configuration editor applies only when you do a Download All.

Chapter 4 Application Development

Page 70: Safety Considerations Guide Tricon v9 6

54 Setting Scan Time

Scan Overruns

If Scan Surplus becomes negative and a scan overrun occurs, the relevant status attributes are set as follows:

• SCAN_OVERRUNS is incremented once for each time that a longer scan time is needed.

• SURPLUS_SCAN is set to a negative number to indicate the additional time period used by a scan overrun.

For more information, see the TriStation 1131 Developer's Guide and the Triconex Libraries Manual.

SCAN_STATUS

TR_SCAN_STATUS

CO

POWERUP

FIRSTSCAN

SCANREQUEST

SCANSURPLUS

SCANDELTA

DELTAT

SCANOVERRUN

KEYSWITCH001

SCAN_OVERRUNS

SCAN_SURPLUS

1 C1

Tricon Safety Considerations Guide

Page 71: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 55

Sample Safety-Shutdown ProgramsThe following section describes sample programs and methods for implementing safety-shutdown networks.

All I/O Modules Safety-Critical

The sample program, PROGRAM EX01_SHUTDOWN, shows one way to verify that the safety system is operating properly when every module in the safety system is safety-critical. The example uses an instance of the Triconex Library function block TR_SHUTDOWN named CRITICAL_MODULES. (The sample program is an element of project ExTUV.pt2 found on the TriStation CD. The default location of the project is C:\Program Files\Triconex\TS1131\_Tricon\Examples.)

When the output CRITICAL_MODULES_OPERATING is true, all safety-critical modules are operating properly. The input MAX_TIME_DUAL specifies the maximum time allowed with two channels operating (with no connection defaults to 40000 days). The input MAX_TIME_SINGLE specifies the maximum time allowed with one channel operating (3 days in the example).

Note In typical applications, continued operation in dual mode is restricted to 1500 hours (two months).

Continued operation in single mode is restricted to 72 hours for SIL/AK5 and one hour for SIL/AK6 guidelines.

When CRITICAL_MODULES_OPERATING is false, the time in degraded operation exceeds the specified limits; therefore, the control program should shut down the process under safety control.

! CAUTIONThe sample program called EX01_SHUTDOWN does not handle detected field faults, rare combinations of faults detected as field faults, or output voter faults hidden by field faults. The application program, not the TR_SHUTDOWN function block, must read the NO_FLD_FLTS module status or FLD_OK point status to provide the required application-specific action.

For information on improving availability using external, power-disconnect relays and advanced programming techniques, see the sample program called EX02_SHUTDOWN.

Chapter 4 Application Development

Page 72: Safety Considerations Guide Tricon v9 6

56 Sample Safety-Shutdown Programs

Program EX01_SHUTDOWN

CO false indicates a programming error; for example, MAX_TIME_SINGLE greater than MAX_TIME_DUAL. The error number shows more detail.

CRITICAL_MODULES

TR_SHUTDOWN

CI

IO_CO

IO_TMR

IO_GE_DUAL

IO_GE_SINGLE

IO_NO_VOTER_FLTS

IO_ERROR

MAX_TIME_DUAL

MAX_TIME_SINGLE

MAX_SCAN_TIME

CO

OPERATIING

TMR

DUAL

SINGL

ZERO

TIMER_RUNNING

TIME_LEFT

ALARM_PROGRAMMING_PERMITTED

ALARM_REMOTE_ACCESS

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ERROR

T#400ms

T#3d

CRITICAL_MODULES_OPERATING

ALARM_PROGRAMMING_PERMITTED

ALARM_RESPONSE_TIMEALARM_DISABLED_POINTS

ALARM_REMOTE_ACCESS

001

T#1500h

Tricon Safety Considerations Guide

Page 73: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 57

Input Parameters

The table below describes the input parameters for the TR_SHUTDOWN function block.

Parameter Description

CI Do not connect when all I/O modules are system-critical

IO_CO Do not connect when all I/O modules are system-critical

IO_TMR Do not connect when all I/O modules are system-critical

IO_GE_DUAL Do not connect when all I/O modules are system-critical

IO_GE_SINGLE Do not connect when all I/O modules are system-critical

IO_NO_VOTER_FLTS Do not connect when all I/O modules are system-critical

IO_ERROR Do not connect when all I/O modules are system-critical

MAX_TIME_DUAL Maximum time with only two channels operating

MAX_TIME_SINGLE Maximum time with only one channel operating

MAX_SCAN_TIME 50% of the maximum response time

Chapter 4 Application Development

Page 74: Safety Considerations Guide Tricon v9 6

58 Sample Safety-Shutdown Programs

Output Parameters

The table below describes the output parameters for the TR_SHUTDOWN function block.

Parameter Description

CO Control out

OPERATING When OPERATING is true, all safety-critical modules are operating properly

When OPERATING is false, the time in degraded operation exceeds the specified limits; therefore, the control program should shut down the process

TMR System is operating in triple modular redundant mode

DUAL At least one safety-critical point is controlled by two channels

SINGL At least one safety-critical point is controlled by one channel

ZERO At least one safety-critical point is not controlled by any channel

TIMER_RUNNING Time left to shutdown is decreasing

TIME_LEFT Time remaining before shutdown

ALARM_PROGRAMMING_PERMITTED True if application changes are permitted

ALARM_REMOTE_ACCESS True if remote-host writes are enabled

ALARM_RESPONSE_TIME True if actual scan time is greater than MAX_SCAN_TIME

ALARM_DISABLED_POINTS True if one or more points are disabled.

ERROR_NUM Error Number:

0 = No error

1 = Error in maximum time

2 = I/O function block error—IO_ERROR is non-zero

3 = Function block error—system status or MP Status

Tricon Safety Considerations Guide

Page 75: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 59

Alarm Output Operation

The table below describes how the alarm output parameters operate.

Parameter Description

ALARM_PROGRAMMING_PERMITTED To remind the operator to lock out programming changes after a download change, or for applications in which download changes are not allowed, connect the ALARM_PROGRAMMING_PERMITTED Output to an alarm

ALARM_REMOTE_ACCESS For applications in which remote changes are not allowed, connect the ALARM_REMOTE_ACCESS Output to an alarm

ALARM_RESPONSE_TIME Total response time depends primarily on the actual scan time. To meet the required response time of the process, set the MAX_SCAN_TIME Input to less than 50% of the required response time. When the actual scan time exceeds the MAX_SCAN_TIME value, the ALARM_RESPONSE_TIME output becomes true

ALARM_DISABLED_POINTS A project should not contain disabled points unless there is a specific reason for disabling them, such as initial testing or maintenance. To remind an operator that some points are disabled, connect the ALARM_DISABLED_POINTS output to an alarm

Chapter 4 Application Development

Page 76: Safety Considerations Guide Tricon v9 6

60 Sample Safety-Shutdown Programs

Some I/O Modules Safety-Critical

For some applications, not all modules may be critical to a process. For example, an output module that interfaces to the status indicators on a local panel is usually not critical to a process.

The EX02_SHUTDOWN sample program shows how to increase system availability by detecting the status of safety-critical modules.The user-defined function block CRITICAL_IO checks the safety-critical I/O modules. The CRITICAL_IO Outputs are connected to the inputs of the CRITICAL_MODULES function block. (The sample program is an element of project ExTUV.pt2 found on the TriStation CD. The default location of the project is C:\Program Files\Triconex\TS1131\_Tricon\Examples.)

When the output CRITICAL_MODULES_OPERATING is true, all critical modules are operating properly. The input MAX_TIME_DUAL specifies the maximum time allowed with two channels operating (with no connection defaults to 40000 days). The input MAX_TIME_SINGLE Specifies the maximum time allowed with one channel operating (3 days in the example).

Note In typical applications, continued operation in dual mode is restricted to 1500 hours (two months).

Continued operation in single mode is restricted to 72 hours for SIL/AK5 and one hour for SIL/AK6 guidelines.

When CRITICAL_MODULES_OPERATING is false, the time in degraded operation exceeds the specified limits; therefore, the control program should shut down the plant.

! CAUTIONThe EX02_SHUTDOWN sample program does not handle detected field faults, rare combinations of faults detected as field faults, or output voter faults hidden by field faults. The application program, not the TR_SHUTDOWN function block, must read the NO_FLD_FLTS module status or FLD_OK point status to provide the required application-specific action.

Tricon Safety Considerations Guide

Page 77: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 61

Program EX02_SHUTDOWN

CRITICAL_MODULES

TR_SHUTDOWN

CI

IO_CO

IO_TMR

IO_GE_DUAL

IO_GE_SINGLE

IO_NO_VOTER_FLTS

IO_ERROR

MAX_TIME_DUAL

MAX_TIME_SINGLE

MAX_SCAN_TIME

CO

OPERATIING

TMR

DUAL

SINGL

ZERO

TIMER_RUNNING

TIME_LEFT

ALARM_PROGRAMMING_PERMITTED

ALARM_REMOTE_ACCESS

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ERROR

T#400ms

T#3d

CRITICAL_IO

EX02_CRITICAL_IO

CI

RELAY1_OK

CO

TMR

GE_DUAL

GE_SINGLE

NO_VOTER_FLTS

ERROR001

002

CRITICAL_MODULES_OPERATING

ALARM_PROGRAMMING_PERMITTED

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ALARM_REMOTE_ACCESS

T#1500h

Chapter 4 Application Development

Page 78: Safety Considerations Guide Tricon v9 6

62 Sample Safety-Shutdown Programs

Input Parameters

The table below describes the input parameters for the TR_SHUTDOWN function block.

Parameter Description

CI Control in

If CI is false, then CO is false—no change in the output value

If CI is true and ERROR_NUM is 0, then CO is true

IO_CO Critical I/O control out

IO_TMR All critical I/O points are operating in triple modular redundant mode

IO_GE_DUAL All critical I/O points are operating are operating in dual or TMR mode

IO_GE_SINGLE All critical I/O points are operating are operating in single, dual, or TMR mode

IO_NO_VOTER_FLTS If true, then no voter faults exist on a critical I/O module

If false, then a voter fault exists on a critical I/O module

IO_ERROR Error number—zero indicates no error. Non-zero indicates a programming or configuration error

MAX_TIME_DUAL Maximum time with only two channels operating

MAX_TIME_SINGLE Maximum time with only one channel operating

MAX_SCAN_TIME 50% of the maximum response time

Tricon Safety Considerations Guide

Page 79: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 63

Output Parameters

The table below describes the output parameters for the TR_SHUTDOWN function block.

Parameter Description

CO Control out

OPERATING When OPERATING is true, all safety-critical modules are operating properly

When OPERATING is false, the time in degraded operation exceeds the specified limits; therefore, the control program should shut down the process

TMR System is operating in triple modular redundant mode

DUAL At least one safety-critical point is controlled by two channels

SINGL At least one safety-critical point is controlled by one channel

ZERO At least one safety-critical point is not controlled by any channel

TIMER_RUNNING Time left to shutdown is decreasing

TIME_LEFT Time remaining before shutdown

ALARM_PROGRAMMING_PERMITTED True if application changes are permitted

ALARM_REMOTE_ACCESS True if remote-host writes are enabled

ALARM_RESPONSE_TIME True if actual scan time is greater than MAX_SCAN_TIME

ALARM_DISABLED_POINTS True if one or more points are disabled

ERROR_NUM Error Number:

0 = No error

1 = Error in maximum time

2 = I/O function block error—IO_ERROR is non-zero

3 = Function block error—system status or MP Status

Chapter 4 Application Development

Page 80: Safety Considerations Guide Tricon v9 6

64 Sample Safety-Shutdown Programs

Alarm Output Operation

The table below describes how the alarm output parameters operate.

Parameter Description

ALARM_PROGRAMMING_PERMITTED To remind the operator to lock out programming changes after a download change, or for applications in which download changes are not allowed, connect the ALARM_PROGRAMMING_PERMITTED output to an alarm

ALARM_REMOTE_ACCESS For applications in which remote changes are not allowed, connect the ALARM_REMOTE_ACCESS output to an alarm

ALARM_RESPONSE_TIME Total response time depends primarily on the actual scan time. To meet the required response time of the process, set the MAX_SCAN_TIME input to less than 50% of the required response time. When the actual scan time exceeds the MAX_SCAN_TIME value, the ALARM_RESPONSE_TIME output becomes true

ALARM_DISABLED_POINTS A project should not contain disabled points unless there is a specific reason for disabling them, such as initial testing or maintenance. To remind an operator that some points are disabled, connect the ALARM_DISABLED_POINTS output to an alarm

Tricon Safety Considerations Guide

Page 81: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 65

Defining Function Blocks

� To create a user-defined function block for a safety-critical module:

1 Copy the example EX02_CRITICAL_IO in the ExTUV.pt2 sample project provided with the TriStation 1131 Developer’s Workbench.

2 Edit the lines following the comment “Include all safety-critical I/O modules here.”

Each line calls the safety-critical I/O (SCIO) function block for one safety-critical I/O module.

Example

**************************************************************)(* Include here all safety-critical I/O modules: *)

SCIO( CHASSIS:=1,SLOT:=1,APP:=DE_ENERGIZED,RELAY_OK:=FALSE ): (*DI*)SCIO( CHASSIS:=1,SLOT:=2,APP:=RELAY, RELAY_OK:=RELAY1_OK ); (*DO*)SCIO( CHASSIS:=1,SLOT:=3,APP:=RELAY, RELAY_OK:=RELAY1_OK ); (*DO*)(* ( CHASSIS:=1,SLOT:=4,NOT CRITICAL) *) (*RO*)(

3 (Enter the correct CHASSIS number, SLOT number, APP (application), and RELAY_OK parameters for the safety-critical I/O module.

Application Type (App)

Relay_OK Parameter Description

RELAY (de-energized to trip with relay)

True A voter fault degrades the mode to dual. The relay provides a third channel for shutdown so that if an output voter fails, there remain two independent channels (the relay and other output voter channel) that can de-energize the output.

RELAY (de-energized to trip with relay)

False

A voter fault degrades the mode to single. A non-voter fault degrades the mode to dual.DE-ENERGIZED

(de-energized to trip with no relay)

Chapter 4 Application Development

Page 82: Safety Considerations Guide Tricon v9 6

66 Sample Safety-Shutdown Programs

Partitioned Processes

You can achieve greater system availability if you can allocate modules to processes that do not affect each other. For example, you could have two processes with:

• Outputs for one process on one DO module

• Outputs for another process on a second DO module

• Inputs from a shared DI module

� To partition processes:

1 Partition the safety-critical I/O modules into three function blocks:

• SHARED_IO for the shared safety-critical I/O modules.

• PROCESS_1_IO for safety-critical I/O modules that do not affect process 2.

• PROCESS_2_IO for safety-critical I/O modules that do not affect process 1.

2 Connect the function blocks as shown in the EX03_SHUTDOWN example on page 67.

! CAUTIONThe EX03_SHUTDOWN sample program does not handle detected field faults, rare combinations of faults detected as field faults, or output voter faults hidden by field faults. The application program, not the TR_SHUTDOWN function block, must read the NO_FLD_FLTS module status or FLD_OK point status to provide the required application-specific action.

Tricon Safety Considerations Guide

Page 83: Safety Considerations Guide Tricon v9 6

Sample Safety-Shutdown Programs 67

Program EX03_SHUTDOWN

SHARED

TR_SHUTDOWN

CI

IO_CO

IO_TMR

IO_GE_DUAL

IO_GE_SINGLE

IO_NO_VOTER_FLTS

IO_ERROR

MAX_TIME_DUAL

MAX_TIME_SINGLE

MAX_SCAN_TIME

CO

OPERATIING

TMR

DUAL

SINGL

ZERO

TIMER_RUNNING

TIME_LEFT

ALARM_PROGRAMMING_PERMITTED

ALARM_REMOTE_ACCESS

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ERROR

SHARED_IO

EX03_SHARED_IO

CI

RELAY1_OK

CO

TMR

GE_DUAL

GE_SINGLE

NO_VOTER_FLTS

ERROR

ALARM_PROGRAMMING_PERMITTED

PROCESS_1_OPERATING

001

002

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ALARM_REMOTE_ACCESS

PROCESS_1

TR_SHUTDOWN

CI

IO_CO

IO_TMR

IO_GE_DUAL

IO_GE_SINGLE

IO_NO_VOTER_FLTS

IO_ERROR

MAX_TIME_DUAL

MAX_TIME_SINGLE

MAX_SCAN_TIME

CO

OPERATIING

TMR

DUAL

SINGL

ZERO

TIMER_RUNNING

TIME_LEFT

ALARM_PROGRAMMING_PERMITTED

ALARM_REMOTE_ACCESS

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ERROR

PROCESS_1_IO

EX03_PROCESS_1_IO

CI

RELAY1_OK

CO

TMR

GE_DUAL

GE_SINGLE

NO_VOTER_FLTS

ERROR003

004

PROCESS_2

TR_SHUTDOWN

CI

IO_CO

IO_TMR

IO_GE_DUAL

IO_GE_SINGLE

IO_NO_VOTER_FLTS

IO_ERROR

MAX_TIME_DUAL

MAX_TIME_SINGLE

MAX_SCAN_TIME

CO

OPERATIING

TMR

DUAL

SINGL

ZERO

TIMER_RUNNING

TIME_LEFT

ALARM_PROGRAMMING_PERMITTED

ALARM_REMOTE_ACCESS

ALARM_RESPONSE_TIME

ALARM_DISABLED_POINTS

ERROR

T#400ms

T#1500h

T#400ms

T#3d

T#1500h

T#1500h

T#3d

PROCESS_2_IO

EX03_PROCESS_2_IO

CI

RELAY1_OK

CO

TMR

GE_DUAL

GE_SINGLE

NO_VOTER_FLTS

ERROR005

006

AND005

AND006

PROCESS_2_OPERATING

T#400ms

T#3d

If PROCESS_1_OPERATING = FALSE, shut down process 1 because the time in degraded mode exceeds the specified limit for safety-critical modules that affect process 1.

If PROCESS_2_OPERATING = FALSE, shut down process 2 because the time in degraded mode exceeds the specified limit for safety-critical modules that affect process 2.

Chapter 4 Application Development

Page 84: Safety Considerations Guide Tricon v9 6

68 Alarm Usage

Alarm UsageTo implement the guidelines, the alarms described below are provided with TriStation 1131 Developer’s Workbench.

Programming Permitted Alarm

To remind the operator to lock out programming changes after a download change, or for applications in which download changes are prohibited, connect the ALARM_KEYINPROGRAM output to an alarm.

Remote Access Alarm

In applications for which remote changes are not allowed, connect the ALARM_KEYINREMOTE output to an alarm.

Response Time and Scan Time

Response time refers to the maximum time allocated for the controller to detect a change on an input point and to change the state of an output point. Response time is primarily determined by scan time (the rate at which the program is run), but is also affected by process time (how fast the process can react to a change). The response time of the controller must be equal to or faster than the process time. The scan time must be at least two times faster than the response time. To meet the required response time of the process, set the MAX_SCAN_TIME input to less than 50% of the required response time. When the actual scan time as measured by the firmware exceeds the MAX_SCAN_TIME value, the ALARM_RESPONSE_TIME output becomes true.

Disabled Points Alarm

A project should not contain disabled points unless there is a specific reason for disabling them, such as initial testing. An alarm is available to alert the operation that a point is disabled.

Tricon Safety Considerations Guide

Page 85: Safety Considerations Guide Tricon v9 6

A P P E N D I X A

Peer-to-Peer Communication

This appendix provides information about data transfer time, and examples of Peer-to-Peer applications.

Topics include:

“Data Transfer Time” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

“Examples of Peer-to-Peer Applications” . . . . . . . . . . . . . . . . . . . . . 72

Tricon Safety Considerations Guide

Page 86: Safety Considerations Guide Tricon v9 6

70 Data Transfer Time

Data Transfer TimeThe Peer-to-Peer function blocks require multiple scans to transfer data from the sending node to the receiving node. The time it takes to transfer data depends on the following parameters of the sending and receiving nodes:

• Scan time

• Configuration size

• Amount of aliased data

• Number of TR_USEND function blocks, TR_URCV function blocks, print function blocks, and Modbus master function blocks

• Number of nodes on the peer-to-peer network

To estimate the data transfer time, first calculate the number of bytes for aliased variables according to the instructions that follow.

� To calculate the number of bytes for aliased variables:

1 On the Tricon menu, select Edit Configuration. This will display the configuration tree.

2 Click Memory Allocation under Tricon System Configuration on the configuration tree.

This will display the Memory Allocation dialog box to the right of the configuration tree. The display gives the allocation for Unaliased, Read Aliased, and Read/Write Aliased Memory points, and if you scroll down you can see the allocation for Input points and Output points. For each data type (BOOLs, DINTs, and REALs), you can see the Maximum, Allocated, Forecast, and Current number of variables. The number you need is Allocated.

3 Total the number of allocated “Aliased” BOOLs, DINTs and REALs.

4 The number of bytes for aliased variables is 376 + BOOLs/8 + DINTs*4 + REALs*4.

The basic formula for estimating the data transfer time is as follows:

Data transfer time in milliseconds =

2 * (larger of TS or SS) + 2 * (larger of TR or SR)

Tricon Safety Considerations Guide

Page 87: Safety Considerations Guide Tricon v9 6

Data Transfer Time 71

As a general rule, the data transfer time is 1 second to 2 seconds. So when you use Peer-to-Peer function blocks to transfer safety-critical data, you must set the maximum time-out limit to at least 2 seconds. This means that the process-tolerance time of the receiving node must be greater than 4 seconds.

See “Using TR_USEND/TR_URCV Function Blocks for Safety-Critical Data” on page 73 for an example that shows how to measure the maximum data transfer time and use TR_USEND/TR_URCV function blocks to transfer-safety critical data. You should measure the actual maximum time it takes to transfer data while testing your system to ensure the validity of your calculations and the general rules given here.

As the table shows, it takes from 2 to 30 seconds to detect and report time-out and communication errors. This is why a receiving node that uses the received data to make safety-critical decisions must include logic to check that new data is received within the specified time period. If the data is not received within the specified process-tolerance time, then the application must take appropriate actions depending on requirements.

Refer to “Using TR_USEND/TR_URCV Function Blocks for Safety-Critical Data” on page 73 for an example that shows how to use TR_USEND and TR_URCV function blocks for transferring safety critical data.

Parameter Description

TS = Time for sending node to transfer Aliased data over the communication bus in milliseconds =

(Number of aliased variables in bytes ÷ 20000) * 1000

SS = Scan time of sending node in milliseconds

TR = Time for receiving node to transfer Aliased data over the communication bus in milliseconds =

(Number of aliased variables in bytes ÷ 20000) * 1000

SR = Scan time of receiving node in milliseconds

Appendix A Peer-to-Peer Communication

Page 88: Safety Considerations Guide Tricon v9 6

72 Examples of Peer-to-Peer Applications

Examples of Peer-to-Peer ApplicationsPeer-to-Peer function blocks are designed to transfer limited amounts of data between two applications. Therefore you should use these function blocks sparingly in your applications. Ideally, you should control the execution of each TR_USEND function block in such a way that each TR_USEND is initiated only when the acknowledgment for the last TR_USEND is received and new data is available for sending. You can do this through effective use of the SENDFLG parameter in the TR_USEND function block and the STATUS output of the TR_USEND function block, as shown in Examples 2 and 3.

The examples described below can be found in the Expeer.pt2 project on the TriStation CD.

Fast Send to One Triconex Node

This is a simple example of sending data as fast as possible from Node #2 to Node #3. Scan time in both controllers is set to 100 milliseconds.

The example uses the following project elements:

• PEER_EX1_SEND_FBD (for sending Node #2)

• PEER_EX1_RCV_FBD (for receiving Node #3)

Sending Data Every Second to One Node

This is a simple example of sending data every second from Node #2 to Node #3. Scan time in both controllers is set to 100 milliseconds.

The example uses the following project elements:

• PEER_EX2_SEND_FBD (for sending Node #2)

• PEER_EX2_RCV_FBD (for receiving Node #3)

Tricon Safety Considerations Guide

Page 89: Safety Considerations Guide Tricon v9 6

Examples of Peer-to-Peer Applications 73

Controlled Use of TR_USEND/TR_URCV Function Blocks

The networks in this example show how to use TR_USEND/TR_URCV function blocks correctly, in a controlled way, so that a limited amount of important data can be transferred between two applications when new data is ready to be sent.

This example uses the following project elements:

• PEER_EX3_SEND_FBD (for sending Node #2)

• PEER_EX3_RCV_FBD (for receiving Node #3)

Using TR_USEND/TR_URCV Function Blocks for Safety-Critical Data

This example shows how to use TR_USEND/TR_URCV function blocks for transferring a limited amount of safety-critical data between the two applications as fast as possible. It also shows how to measure the actual maximum time for transferring data from the sending node to the receiving node. Because this is safety-critical data, each controller must have two NCMs and two peer-to-peer networks connected.

Sending Node #1 Parameters:

• Scan time (SS) = 150 milliseconds

• Number of aliased variables in bytes = 2000

• Time to transfer alias data over the communication bus in milliseconds (TS) = (2000/20000) * 1000 = 100 milliseconds

• The sending controller has only one TR_USEND function block in the application, meeting the requirement to have five or fewer TR_USEND function blocks. The sendflag is on in the TR_USEND function block so that, as soon as the last TR_USEND is acknowledged by the receiving controller, the sending controller initiates another TR_USEND

Receiving Node #3 Parameters:

• Scan time (SR) = 200 milliseconds

• Number of aliased variables in bytes = 5000

• Time to transfer aliased data over the communication bus in milliseconds (TR) = (5000/20000) * 1000 = 250 milliseconds

• Process tolerance time = 4 seconds

Appendix A Peer-to-Peer Communication

Page 90: Safety Considerations Guide Tricon v9 6

74 Examples of Peer-to-Peer Applications

If the sending controller does not receive acknowledgment from the receiving controller in 1 second, then it automatically retries the last TR_USEND message. Assume that once in a while (due to network collisions, communication bus loading, etc.) the sending controller has to retry one time to get the message to the receiving node. This is why the general rule for data transfer time is 1 to 2 seconds, even though the estimated time is 800 milliseconds. The receiving node also has a network to measure the actual time so that you can validate the assumed 2-second maximum transfer time. Since the process-tolerance time of the receiving node is 4 seconds, the maximum time-out limit is set to 2 seconds (half the process tolerance time). The receiving node should get at least one sample of new data within the maximum time-out limit. Using this criteria satisfies the basic requirement for using peer-to-peer to transfer safety critical data.

This example packs 32 BOOL values into a DWORD and sends the DWORD and a diagnostic variable to a receiving node as fast as possible by setting the sendflag parameter to 1 all the time. The diagnostic variable is incremented every time a new TR_USEND is initiated. The receiving node checks the diagnostic variable to see that it has changed from the previous value received. The receiving node also checks whether it has received at least one sample of new data within the process-tolerance time. If not, the application takes appropriate action such as using the last data received or using default data to make safety-critical decisions.

This example uses the following project elements:

• PEER_EX4_SEND_FBD (for sending Node #1)

• PEER_EX4_RCV_FBD (for receiving Node #3)

Tricon Safety Considerations Guide

Page 91: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 75

TR_CRITICAL_IO Function Block

Accumulates Status of Critical I/O Modules

The TR_CRITICAL_IO function block provides an easy way to accumulate the status of all safety-critical I/O modules in a Tricon system.

Instructions for Use

The following instructions for using the TR_CRITICAL_IO function block apply to the Structured Text (ST) language.

� To obtain the accumulated status of critical I/O modules:

1 Initialize TR_CRITICAL_IO by invoking it once with INIT := TRUE.

SCIO( INIT := TRUE );

where SCIO is the function block instance name

2 To complete initialization, invoke TR_CRITICAL_IO again as follows:

SCIO( INIT := FALSE, CI := TRUE, APP:=DE_ENERGIZED, RELAY_OK:=FALSE );

where SCIO is the function block instance name

3 To get the status of all safety-critical I/O modules, invoke each module by specifying these input values:

• CHASSIS

• SLOT

• APP

• RELAY_OK

If CHASSIS 1 SLOT 1 is a critical DI module, and CHASSIS 1 SLOT 2 is a critical DO module with a relay, then the following example applies. SCIO is the function block instance name:

SCIO(CHASSIS:=1,SLOT:=1,APP:=DE-ENERGIZED,RELAY_OK:=FALSE);

SCIO(CHASSIS:=1,SLOT:=2,APP:=RELAY,RELAY_OK:=RELAY1_OK);

Appendix A Peer-to-Peer Communication

Page 92: Safety Considerations Guide Tricon v9 6

76 TR_CRITICAL_IO Function Block

4 Read the output values:

– CO

– TMR

– GE_DUAL

– GE_SINGLE

– NO_VOTER_FAULTS

The output values are an accumulation of the status of all critical I/O modules. For example, the output called TMR is true if all of the critical modules in the system are in TMR mode.

Parameter Type Description

Inputs CI BOOL Control In—enables operation

INIT BOOL Initialize

CHASSIS DINT Chassis number (1–15)

SLOT DINT Physical slot number must be odd (1, 3...15)

APP DINT Application number (1–2)

RELAY_OK BOOL Relay is energized and not stuck

Outputs CO BOOL Critical I/O Control Out

TMR BOOL Three channels are operating without faults on every critical I/O module

GE_DUAL BOOL At least two channels are operating without faults on every critical I/O module

GE_SINGLE BOOL At least one channel is operating without faults on every critical I/O module

NO_VOTER_FLTS BOOL No voter faults on critical I/O modules

Tricon Safety Considerations Guide

Page 93: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 77

Note If there is a programming error, then CO is false and the error number is non-zero. For more information, see ERROR above.

LibraryTricon

Outputs ERROR DINT Error Number:0 = No error

-1 = Slot is not odd or not numbered 1–15

-2 = Invalid chassis or slot-3 = Module not configured-4 = Reserved (not used)-5 = Invalid application

number-6 = Not initialized

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

App Relay_OK Description

RELAY True A single fault (even a voter fault) degrades the mode to dual. The relay provides a third channel for shutdown so that if an output voter fails, there remain two independent channels (the relay and other output voter channel) that can de-energize the output.

RELAY False A voter fault degrades the mode to single. A non-voter fault degrades the mode to dual.

DE-ENERGIZED —

Attribute Usage

Application Type Safety, Control

Programming Usage N/A

CEM Feature N/A

Parameter Type Description

Appendix A Peer-to-Peer Communication

Page 94: Safety Considerations Guide Tricon v9 6

78 TR_CRITICAL_IO Function Block

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SHUTDOWNTR_SLOT_STATUSTR_VOTE_MODE

Tricon Safety Considerations Guide

Page 95: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 79

Structured TextFUNCTION_BLOCK TR_CRITICAL_IOVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) INIT : BOOL ; (* Initialize *) CHASSIS : DINT ; (* Chassis number 1-15 *) SLOT : DINT ; (* Physical SLOT odd number 1,3..15 *) APP : DINT ; (* Application number 1-2 *) RELAY_OK : BOOL := TRUE ; (* Relay is energized and not stuck. *)END_VARVAR_OUTPUT CO : BOOL ; (* Critical IO Control out. *) TMR : BOOL := TRUE ; (* Critical IO 3 channels operating. *) GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *) GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *) NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *) ERROR : DINT ; (* Error number. *) (* * Error number: * 0 = No error. * -1 = Slot is not odd or not in 1..15. * -2 = Chassis or slot is invalid. * -3 = Module not configured. * -4 = Reserved (not used). * -5 = Application number is invalid. * -6 = Not initialized. *)END_VARVAR PREVIOUS_INIT : BOOL ; (* INIT on previous evaluation. *) MP : TR_MP_STATUS ; (* MP status. *) LEFT_SLOT : TR_SLOT_STATUS ; (* Left slot status. *) RIGHT_SLOT : TR_SLOT_STATUS ; (* Right slot status. *) RELAY : DINT := 1 ; (* De-energized to trip with relay *) DE_ENERGIZED : DINT := 2 ; (* De-energized to trip with no relay *) U : BOOL ; (* Unused value. *) LEFT_GE_SINGLE : BOOL ; (* Left slot, mode >= single. *) LEFT_GE_DUAL : BOOL ; (* Left slot, mode >= dual. *) LEFT_TMR : BOOL ; (* Left slot, mode = tmr. *) RIGHT_GE_SINGLE : BOOL ; (* Right slot, mode >= single. *) RIGHT_GE_DUAL : BOOL ; (* Right slot, mode >= dual. *) RIGHT_TMR : BOOL ; (* Right slot, mode = tmr. *) VOTER_FAULT : BOOL ; (* Voter fault on either slot. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_CRITICAL_IO * Purpose: Calculate status of critical IO modules. * * Return: none * * Remarks: * Usage * 1. Invoke once with INIT := TRUE, to initialize. * 2. Invoke again with INIT := FALSE, CI := TRUE, APP := DE_ENERGIZED, and

Appendix A Peer-to-Peer Communication

Page 96: Safety Considerations Guide Tricon v9 6

80 TR_CRITICAL_IO Function Block

* RELAY_OK := FALSE to complete initialization. * 3. Invoke repeatedly, once for each critical IO module. * 4. Read outputs CO, TMR, GE_DUAL, and GE_SINGLE for safety critical results. * * In step 3, invoke with the CHASSIS and SLOT of the critical IO module, * the module application, and the relay status. * For example, if CHASSIS 1 SLOT 5 is a critical DO module with a relay, * and SCIO is the function block instance name: * SCIO( CHASSIS:=1, SLOT:= 5, APP:=RELAY, RELAY_OK:=RELAY1_OK ); * * Slot Number * Each logical IO slot consists of two physical slots, * a left slot and a right slot. By convention, * the physical slot number of the left slot is always odd. * The SLOT parameter is the physical slot number of the left slot. * * Application * The APP parameter for a module selects the effect of a fault * on the vote mode outputs of the shutdown function blocks. * APP:=RELAY with RELAY_OK:=true * A sinlge fault (even a voter fault) degrades the mode to DUAL. * The relay provides a third channel for shutdown, * so if an output voter fails, there are still * two independent channels that can de-energize the output, * i.e., the relay and the other output voter channel. * APP:=RELAY with RELAY_OK:=false, or * APP:=DE_ENERGIZED * A voter fault degrades the mode to SINGLE. * A non-voter fault degrades the mode to DUAL. * * Runtime Errors * EBADPARAM Bad parameter * CO=FALSE indicates a programming error. * See ERROR number parameter for details. *=F=============================================================================== *)

IF INIT THEN MP( CI := TRUE ) ; CO := MP.CO ; TMR := TRUE ; GE_DUAL := TRUE ; GE_SINGLE := TRUE ; NO_VOTER_FLTS := TRUE ; ELSIF PREVIOUS_INIT THEN ; (* No operation. *) ELSIF CI AND CO THEN IF (DINT_TO_DWORD(SLOT) AND 1) <> 1 OR SLOT<1 OR 15<SLOT THEN ERROR := -1 ; (* Slot is not odd or not in 1..15. *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; IF CO THEN LEFT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT ) ; RIGHT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT+1 ) ; IF NOT (LEFT_SLOT.CO AND RIGHT_SLOT.CO) THEN ERROR := -2 ; (* Chassis or slot is invalid. *) U := ReportBadParam(0) ;

Tricon Safety Considerations Guide

Page 97: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 81

CO := FALSE ; END_IF ; END_IF ; IF CO THEN IF NOT ( LEFT_SLOT.PASS OR LEFT_SLOT.FAIL OR LEFT_SLOT.ACTIVE OR LEFT_SLOT.INSTALLED OR RIGHT_SLOT.PASS OR RIGHT_SLOT.FAIL OR RIGHT_SLOT.ACTIVE OR RIGHT_SLOT.INSTALLED ) THEN ERROR := -3 ; (* Module not configured. *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; END_IF ; IF CO THEN

LEFT_GE_SINGLE := LEFT_SLOT.INSTALLED AND LEFT_SLOT.ACTIVE ; LEFT_GE_DUAL := LEFT_GE_SINGLE AND NOT LEFT_SLOT.NOGOOD ; LEFT_TMR := LEFT_GE_DUAL AND LEFT_SLOT.PASS AND NOT LEFT_SLOT.FAIL ; RIGHT_GE_SINGLE := RIGHT_SLOT.INSTALLED AND RIGHT_SLOT.ACTIVE ; RIGHT_GE_DUAL := RIGHT_GE_SINGLE AND NOT RIGHT_SLOT.NOGOOD ; RIGHT_TMR := RIGHT_GE_DUAL AND RIGHT_SLOT.PASS AND NOT RIGHT_SLOT.FAIL ; VOTER_FAULT := LEFT_SLOT.VOTER_FAULT OR RIGHT_SLOT.VOTER_FAULT ; TMR := TMR AND (LEFT_TMR OR RIGHT_TMR) ; GE_DUAL := GE_DUAL AND (LEFT_GE_DUAL OR RIGHT_GE_DUAL) ; GE_SINGLE := GE_SINGLE AND (LEFT_GE_SINGLE OR RIGHT_GE_SINGLE) ; NO_VOTER_FLTS := NO_VOTER_FLTS AND NOT VOTER_FAULT ; IF APP = RELAY AND RELAY_OK THEN TMR := TMR AND NOT VOTER_FAULT ; ELSIF APP = DE_ENERGIZED OR APP = RELAY AND NOT RELAY_OK THEN TMR := TMR AND NOT VOTER_FAULT ; GE_DUAL := GE_DUAL AND NOT VOTER_FAULT ; ELSE ERROR := -5 ; (* Application number is invalid *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; END_IF ; END_IF ; IF ERROR = 0 AND NOT CO THEN ERROR := -6 ; (* Not initialized *) U := ReportBadParam(0) ; END_IF ; IF NOT CO THEN TMR := FALSE ; GE_DUAL := FALSE ; GE_SINGLE := FALSE ; NO_VOTER_FLTS := FALSE ; END_IF ; PREVIOUS_INIT := INIT ;

END_FUNCTION_BLOCK

Appendix A Peer-to-Peer Communication

Page 98: Safety Considerations Guide Tricon v9 6

82 TR_SHUTDOWN Function Block

TR_SHUTDOWN Function Block

Enable System Shutdown

The TR_SHUTDOWN function block provides an easy way to enable system shutdown according to industry guidelines.

Parameter Type Description

Inputs CI BOOL Control In—enables operation

If CI=FALSE, then CO=FALSE—there is no change in the output value

If CI=TRUE and ERROR_NUM=0, then CO=TRUE

IO_CO BOOL Critical I/O Control Out—True indicates that a user-defined function block provides the status for critical I/O modules

IO_TMR BOOL Three channels are operating without faults on every critical I/O module

IO_GE_DUAL BOOL At least two channels are operating without faults on every critical I/O module

IO_GE_SINGLE BOOL At least one channel is operating without faults on every critical I/O module

IO_NO_VOTER_FLTS BOOL No voter faults exist on critical I/O modules

IO_ERROR DINT Zero means no error—non-zero means there is a programming error or a configuration error

Tricon Safety Considerations Guide

Page 99: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 83

Inputs MAX_TIME_DUAL TIME Maximum time of continuous operation in dual mode (with only two channels)

MAX_TIME_SINGLE TIME Maximum time of continuous operation in single mode (with only one channel)

MAX_SCAN_TIME TIME 50% of the maximum response time

Outputs CO BOOL Control Out

OPERATING BOOL Shutdown if FALSE

TMR BOOL Three channels operating

DUAL BOOL Dual mode

SINGL BOOL Single mode

ZERO BOOL Zero mode

TIMER_RUNNING BOOL Shutdown timer is running

TIME_LEFT TIME Time remaining to shutdown

ALARM_PROGRAMMING_PERMITTED

BOOL True if application changes are permitted

ALARM_REMOTE_ACCESS BOOL True if remote-host writes are enabled

ALARM_RESPONSE_TIME BOOL True if actual scan time ≥ MAX_SCAN_TIME

ALARM_DISABLED_POINTS BOOL True if one or more points are disabled

Parameter Type Description

Appendix A Peer-to-Peer Communication

Page 100: Safety Considerations Guide Tricon v9 6

84 TR_SHUTDOWN Function Block

Note If there is a programming error, then CO is false and the error number is non-zero. For more information, see ERROR_NUM.

LibraryTricon

Outputs ERROR_NUM DINT Error Number:

0 = No error1 = Error in maximum time2 = Error in I/O function

block (IO_ERROR input is non-zero)

3 = Error in status function block

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

Attribute Usage

Application Type Safety, Control

Programming Usage N/A

CEM Feature N/A

Parameter Type Description

Tricon Safety Considerations Guide

Page 101: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 85

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_CRITICAL_IOTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SLOT_STATUSTR_VOTE_MODE

Appendix A Peer-to-Peer Communication

Page 102: Safety Considerations Guide Tricon v9 6

86 TR_SHUTDOWN Function Block

Structured TextFUNCTION_BLOCK TR_SHUTDOWNVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) IO_CO : BOOL ; (* Critical IO Control out. *) IO_TMR : BOOL ; (* Critical IO 3 channels operating. *) IO_GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *) IO_GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *) IO_NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *) IO_ERROR : DINT ; (* Error number, 0 = no error. *) MAX_TIME_DUAL : TIME := T#40000d ; (* Max Time with only 2 channels. *) MAX_TIME_SINGLE : TIME := T#40000d ; (* Max Time with only 1 channel. *) MAX_SCAN_TIME : TIME := T#400ms ; (* 50% of Max Response Time. *)END_VARVAR_OUTPUT CO : BOOL ; (* Control out. *) OPERATING : BOOL ; (* Shutdown if OPERATING=FALSE. *) TMR : BOOL ; (* Three channels operating. *) DUAL : BOOL ; (* Dual mode. *) SINGL : BOOL ; (* Single mode. *) ZERO : BOOL ; (* Zero mode. *) TIMER_RUNNING : BOOL ; (* Shutdown timer is running. *) TIME_LEFT : TIME ; (* Time remaining to shutdown. *) ALARM_PROGRAMMING_PERMITTED : BOOL ; (* Alarm -- download change. *) ALARM_REMOTE_ACCESS : BOOL ; (* Alarm -- remote host writes. *) ALARM_RESPONSE_TIME : BOOL ; (* Alarm -- exceed response time. *) ALARM_DISABLED_POINTS : BOOL ; (* Alarm -- some points disabled. *) ERROR : DINT ; (* Error number. *) (* * Error number: * 0 = No error. * 1 = Error in maximum time. * 2 = IO function block error - IO_ERROR is non-zero. * 3 = Status function block error. *)END_VARVAR GE_DUAL : BOOL ; (* Two or more channels operating. *) GE_SINGLE : BOOL ; (* One or more channels operating. *) MP : TR_MP_STATUS ; (* MP status. *) PROG : TR_PROGRAM_STATUS ; (* Program status. *) SCAN : TR_SCAN_STATUS ; (* Scan status. *) DUAL_TIME : TON ; (* Dual mode timer. *) SINGLE_TIME : TON ; (* Single mode timer. *) U : BOOL ; (* Unused Value. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_SHUTDOWN * Purpose: Implement TUV restrictions. * * Return: none * * Remarks: *

Tricon Safety Considerations Guide

Page 103: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 87

* Example EX01_SHUTDOWN shows one way to check that * the safety system is operating within spec when * every module in the safety system is safety critical. * The example uses the Tricon Library function block * TR_SHUTDOWN - one instance named CRITICAL_MODULES. * The output CRITICAL_MODULES.OPERATING indicates * that all safety critical modules are operating * within spec. Input MAX_TIME_DUAL specifies the * maximum time allowed with two channels operating * (for example, 1500 hours). * Input MAX_TIME_SINGLE specifies the maximum time allowed * with only one channel operating (for example, 72 hours). * When CRITICAL_MODULES.OPERATING is FALSE, * the time in degraded operation exceeds the * specified limits -- therefore the control program * should shutdown the plant. * * Excluding output voter faults and field faults -- TMR implies * three channels with no detected fatal errors, GE_DUAL implies * at least two channels with no detected fatal errors, * and GE_SINGLE implies at least one channel * with no detected fatal errors -- for every path * from a safety critical input to a safety critical output. * Detected output voter faults reduce TMR or GE_DUAL to GE_SINGLE. * (See example EX02_SHUTDOWN to improve availability * using relays and advanced programming techniques.) * * The "TMR" output indicates TMR. * The "DUAL" output indicates GE_DUAL but not TMR. * The "SINGL" output indicates GE_SINGLE but not GE_DUAL. * The "ZERO" output indicates not GE_SINGLE. * The "TIMER_RUNNING" output indicates that * the time left to shutdown is decrementing. * The "TIME_LEFT" output indicates the time remaining before shutdown. * * WARNING - the TR_SHUTDOWN function block * does not use detected field faults or * combinations of faults reported as field faults. * It is the responsibility of the application program * to use system variable NoFieldFault or FieldOK * to detect and respond to such faults. * * To see how to create a user-defined function block * to improve availability, see the examples * in the help topic for TR_SHUTDOWN. * * NOTE -- If IO_CO is false (for example, if you do not provide * a user-defined function block like the one in example EX02_SHUTDOWN), * then losing all three legs of an active IO module results in * a transition to "SINGL", not "ZERO". * * Runtime Errors * EBADPARAM Bad parameter * CO=FALSE indicates a programming error. * See ERROR number parameter for details. *=F=============================================================================== *)

Appendix A Peer-to-Peer Communication

Page 104: Safety Considerations Guide Tricon v9 6

88 TR_SHUTDOWN Function Block

IF CI THEN (* Get Status *) MP( CI := TRUE ) ; PROG( CI := TRUE ) ; SCAN( CI := TRUE ) ; (* Check for programming errors. *) ERROR := 0 ; IF MAX_TIME_DUAL < MAX_TIME_SINGLE OR MAX_TIME_DUAL < T#0S OR MAX_TIME_SINGLE < T#0S OR MAX_SCAN_TIME < T#0S THEN ERROR := 1 ; ELSIF IO_ERROR <> 0 THEN ERROR := 2 ; ELSIF NOT (MP.CO AND PROG.CO AND SCAN.CO) THEN ERROR := 3 ; END_IF ;

CO := ERROR = 0 ; IF CO THEN (* Summarize redundancy. *) TMR := NOT MP.MPMAIN AND ( NOT IO_CO AND NOT MP.IOMAIN OR IO_CO AND IO_TMR ); GE_DUAL := NOT MP.MPBAD AND ( NOT IO_CO AND NOT MP.IOBAD OR IO_CO AND IO_GE_DUAL ); GE_SINGLE := ( NOT IO_CO OR IO_CO AND IO_GE_SINGLE ); (* Update timers. *) DUAL_TIME( IN := NOT TMR, PT := MAX_TIME_DUAL ) ; SINGLE_TIME( IN := NOT GE_DUAL, PT := MAX_TIME_SINGLE ) ;

(* Shutdown if excessive time in degraded operation. *) OPERATING := GE_SINGLE AND NOT DUAL_TIME.Q AND NOT SINGLE_TIME.Q ;

(* Output current status. *) DUAL := GE_DUAL AND NOT TMR ; SINGL := GE_SINGLE AND NOT GE_DUAL ; ZERO := NOT GE_SINGLE ;

Tricon Safety Considerations Guide

Page 105: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 89

TIMER_RUNNING := OPERATING AND NOT TMR ;

(* Output time remaining to shutdown. *) IF NOT OPERATING THEN TIME_LEFT := T#0s ; ELSIF TMR THEN TIME_LEFT := T#999999d ; ELSIF GE_DUAL OR MAX_TIME_DUAL-DUAL_TIME.ET <= MAX_TIME_SINGLE-SINGLE_TIME.ET THEN TIME_LEFT := MAX_TIME_DUAL - DUAL_TIME.ET ; ELSE TIME_LEFT := MAX_TIME_SINGLE - SINGLE_TIME.ET ; END_IF ; (* Output alarms. *) ALARM_PROGRAMMING_PERMITTED := SCAN.KEYSWITCH = 1 (*1=PROGRAM*) ; ALARM_REMOTE_ACCESS := SCAN.KEYSWITCH <> 2 ; (*2=RUN*) ALARM_RESPONSE_TIME := T#1ms * SCAN.SCANDELTA > MAX_SCAN_TIME ; ALARM_DISABLED_POINTS := PROG.POINTS_DISABLED > 0 ;

ELSE (* Programming error. *) U := ReportBadParam(0) ; OPERATING := FALSE ; TMR := FALSE ; GE_DUAL := FALSE ; GE_SINGLE := FALSE ; DUAL := FALSE ; SINGL := FALSE ; ZERO := FALSE ; TIMER_RUNNING := FALSE ; TIME_LEFT := T#0S; ALARM_PROGRAMMING_PERMITTED := TRUE ; ALARM_REMOTE_ACCESS := TRUE ; ALARM_RESPONSE_TIME := TRUE ; ALARM_DISABLED_POINTS := TRUE ; END_IF ;

END_IF ;

END_FUNCTION_BLOCK

Appendix A Peer-to-Peer Communication

Page 106: Safety Considerations Guide Tricon v9 6

90 TR_VOTE_MODE Function Block

TR_VOTE_MODE Function Block

Converts Redundancy Status

The TR_VOTE_MODE function block provides an easy way to convert redundancy status from one voting mode to another, as shown in the following truth table.

Note To save memory and reduce scan time when using this function block, create a single instance of the function block in your program and invoke it multiple times. Do not use the same instance more than once in a network.

TMR GE_DUAL GE_SINGLE TMR DUAL SINGL ZERO

T T T T F F F

F T T F T F F

F F T F F T F

F F F F F F T

Other1

1. If there is an error in the inputs, then CO is false, the mode outputs are false, and the function block reports a bad parameter error (EBADPARAM).

F F F F

Parameter Type Description

Inputs CI BOOL Control In—enables operation

If CI=FALSE, then CO=FALSE—there is no change in the output value

If CI=TRUE and ERROR_NUM=0, then CO =TRUE

IN_TMR BOOL Three critical I/O channels operating

GE_DUAL BOOL Two or more critical I/O channels operating

GE_SINGLE BOOL One or more critical I/O channels operating

Outputs CO BOOL Control Out—indicates completion of the operation with no errors

Tricon Safety Considerations Guide

Page 107: Safety Considerations Guide Tricon v9 6

TR_VOTE_MODE Function Block 91

Note If there is a programming error, then CO is false and the mode outputs are set to false.

LibraryTricon

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_CRITICAL_IOTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SHUTDOWNTR_SLOT_STATUS

Output TMR BOOL Three critical I/O channels operating

DUAL BOOL Dual mode

SINGL BOOL Single mode

ZERO BOOL Zero mode

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

Attribute Usage

Application Type Safety, Control

Programming Usage Space Saver

CEM Feature N/A

Parameter Type Description

Appendix A Peer-to-Peer Communication

Page 108: Safety Considerations Guide Tricon v9 6

92 TR_VOTE_MODE Function Block

Structured TextFUNCTION_BLOCK TR_VOTE_MODEVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) IN_TMR : BOOL ; (* 3 channels operating. *) GE_DUAL : BOOL ; (* 2 or more channels operating. *) GE_SINGLE : BOOL ; (* 1 or more channels operating. *)END_VARVAR_OUTPUT CO : BOOL ; (* Control out. *) TMR : BOOL ; (* Triple Modular Redundant. *) DUAL : BOOL ; (* Dual mode. *) SINGL : BOOL ; (* Single mode. *) ZERO : BOOL ; (* Zero mode. *)END_VARVAR U : BOOL ; (* Unused Value. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_VOTE_MODE * Purpose: Convert redundancy status. * * Return: none * * Remarks: * 1. Convert redundancy status (TMR, GE_DUAL, GE_SINGLE) * to (TMR, DUAL, SINGL, ZERO). * 2. "GE_" denotes "greater than or equal to". * 3. CO is true if CI is true and there is no programming error. * * Runtime Errors * EBADPARAM Bad parameter * CO=false indicates a programming error if CI=true. * The outputs are all false if there is a programming error. *=F============================================================================== *)

CO := CI ; IF CI THEN CO := GE_DUAL AND GE_SINGLE OR NOT GE_DUAL AND NOT IN_TMR; IF CO THEN TMR := IN_TMR ; DUAL := GE_DUAL AND NOT IN_TMR ; SINGL := GE_SINGLE AND NOT GE_DUAL ; ZERO := NOT GE_SINGLE ; ELSE U := ReportBadParam(0) ; TMR := FALSE ; DUAL := FALSE ; SINGL := FALSE ; ZERO := FALSE ; END_IF ; END_IF ;END_FUNCTION_BLOCK

Tricon Safety Considerations Guide

Page 109: Safety Considerations Guide Tricon v9 6

TR_VOTE_MODE Function Block 93

Appendix A Peer-to-Peer Communication

Page 110: Safety Considerations Guide Tricon v9 6

94 TR_VOTE_MODE Function Block

Tricon Safety Considerations Guide

Page 111: Safety Considerations Guide Tricon v9 6

A P P E N D I X B

Shutdown Function Blocks

This appendix provides information about shutdown function blocks.

Topics include:

“TR_CRITICAL_IO Function Block” . . . . . . . . . . . . . . . . . . . . . . . 96

“TR_SHUTDOWN Function Block” . . . . . . . . . . . . . . . . . . . . . . . 103

“TR_VOTE_MODE Function Block” . . . . . . . . . . . . . . . . . . . . . . 111

Tricon Safety Considerations Guide

Page 112: Safety Considerations Guide Tricon v9 6

96 TR_CRITICAL_IO Function Block

TR_CRITICAL_IO Function Block

Accumulates Status of Critical I/O Modules

The TR_CRITICAL_IO function block provides an easy way to accumulate the status of all safety-critical I/O modules in a Tricon system.

Instructions for Use

The following instructions for using the TR_CRITICAL_IO function block apply to the Structured Text (ST) language.

� To obtain the accumulated status of critical I/O modules:

1 Initialize TR_CRITICAL_IO by invoking it once with INIT := TRUE.

SCIO( INIT := TRUE );

where SCIO is the function block instance name

2 To complete initialization, invoke TR_CRITICAL_IO again as follows:

SCIO( INIT := FALSE, CI := TRUE, APP:=DE_ENERGIZED, RELAY_OK:=FALSE );

where SCIO is the function block instance name

3 To get the status of all safety-critical I/O modules, invoke each module by specifying these input values:

• CHASSIS

• SLOT

• APP

• RELAY_OK

If CHASSIS 1 SLOT 1 is a critical DI module, and CHASSIS 1 SLOT 2 is a critical DO module with a relay, then the following example applies. SCIO is the function block instance name:

SCIO(CHASSIS:=1,SLOT:=1,APP:=DE-ENERGIZED,RELAY_OK:=FALSE);

SCIO(CHASSIS:=1,SLOT:=2,APP:=RELAY,RELAY_OK:=RELAY1_OK);

Tricon Safety Considerations Guide

Page 113: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 97

4 Read the output values:

– CO

– TMR

– GE_DUAL

– GE_SINGLE

– NO_VOTER_FAULTS

The output values are an accumulation of the status of all critical I/O modules. For example, the output called TMR is true if all of the critical modules in the system are in TMR mode.

Parameter Type Description

Inputs CI BOOL Control In—enables operation

INIT BOOL Initialize

CHASSIS DINT Chassis number (1–15)

SLOT DINT Physical slot number must be odd (1, 3...15)

APP DINT Application number (1–2)

RELAY_OK BOOL Relay is energized and not stuck

Outputs CO BOOL Critical I/O Control Out

TMR BOOL Three channels are operating without faults on every critical I/O module

GE_DUAL BOOL At least two channels are operating without faults on every critical I/O module

GE_SINGLE BOOL At least one channel is operating without faults on every critical I/O module

NO_VOTER_FLTS BOOL No voter faults on critical I/O modules

Appendix B Shutdown Function Blocks

Page 114: Safety Considerations Guide Tricon v9 6

98 TR_CRITICAL_IO Function Block

Note If there is a programming error, then CO is false and the error number is non-zero. For more information, see ERROR above.

LibraryTricon

Outputs ERROR DINT Error Number:0 = No error

-1 = Slot is not odd or not numbered 1–15

-2 = Invalid chassis or slot-3 = Module not configured-4 = Reserved (not used)-5 = Invalid application

number-6 = Not initialized

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

App Relay_OK Description

RELAY True A single fault (even a voter fault) degrades the mode to dual. The relay provides a third channel for shutdown so that if an output voter fails, there remain two independent channels (the relay and other ouput voter channel) that can de-energize the output.

RELAY False A voter fault degrades the mode to single. A non-voter fault degrades the mode to dual.

DE-ENERGIZED —

Attribute Usage

Application Type Safety, Control

Programming Usage N/A

CEM Feature N/A

Parameter Type Description

Tricon Safety Considerations Guide

Page 115: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 99

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SHUTDOWNTR_SLOT_STATUSTR_VOTE_MODE

Appendix B Shutdown Function Blocks

Page 116: Safety Considerations Guide Tricon v9 6

100 TR_CRITICAL_IO Function Block

Structured TextFUNCTION_BLOCK TR_CRITICAL_IOVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) INIT : BOOL ; (* Initialize *) CHASSIS : DINT ; (* Chassis number 1-15 *) SLOT : DINT ; (* Physical SLOT odd number 1,3..15 *) APP : DINT ; (* Application number 1-2 *) RELAY_OK : BOOL := TRUE ; (* Relay is energized and not stuck. *)END_VARVAR_OUTPUT CO : BOOL ; (* Critical IO Control out. *) TMR : BOOL := TRUE ; (* Critical IO 3 channels operating. *) GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *) GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *) NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *) ERROR : DINT ; (* Error number. *) (* * Error number: * 0 = No error. * -1 = Slot is not odd or not in 1..15. * -2 = Chassis or slot is invalid. * -3 = Module not configured. * -4 = Reserved (not used). * -5 = Application number is invalid. * -6 = Not initialized. *)END_VARVAR PREVIOUS_INIT : BOOL ; (* INIT on previous evaluation. *) MP : TR_MP_STATUS ; (* MP status. *) LEFT_SLOT : TR_SLOT_STATUS ; (* Left slot status. *) RIGHT_SLOT : TR_SLOT_STATUS ; (* Right slot status. *) RELAY : DINT := 1 ; (* De-energized to trip with relay *) DE_ENERGIZED : DINT := 2 ; (* De-energized to trip with no relay *) U : BOOL ; (* Unused value. *) LEFT_GE_SINGLE : BOOL ; (* Left slot, mode >= single. *) LEFT_GE_DUAL : BOOL ; (* Left slot, mode >= dual. *) LEFT_TMR : BOOL ; (* Left slot, mode = tmr. *) RIGHT_GE_SINGLE : BOOL ; (* Right slot, mode >= single. *) RIGHT_GE_DUAL : BOOL ; (* Right slot, mode >= dual. *) RIGHT_TMR : BOOL ; (* Right slot, mode = tmr. *) VOTER_FAULT : BOOL ; (* Voter fault on either slot. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_CRITICAL_IO * Purpose: Calculate status of critical IO modules. * * Return: none * * Remarks: * Usage * 1. Invoke once with INIT := TRUE, to initialize. * 2. Invoke again with INIT := FALSE, CI := TRUE, APP := DE_ENERGIZED, and

Tricon Safety Considerations Guide

Page 117: Safety Considerations Guide Tricon v9 6

TR_CRITICAL_IO Function Block 101

* RELAY_OK := FALSE to complete initialization. * 3. Invoke repeatedly, once for each critical IO module. * 4. Read outputs CO, TMR, GE_DUAL, and GE_SINGLE for safety critical results. * * In step 3, invoke with the CHASSIS and SLOT of the critical IO module, * the module application, and the relay status. * For example, if CHASSIS 1 SLOT 5 is a critical DO module with a relay, * and SCIO is the function block instance name: * SCIO( CHASSIS:=1, SLOT:= 5, APP:=RELAY, RELAY_OK:=RELAY1_OK ); * * Slot Number * Each logical IO slot consists of two physical slots, * a left slot and a right slot. By convention, * the physical slot number of the left slot is always odd. * The SLOT parameter is the physical slot number of the left slot. * * Application * The APP parameter for a module selects the effect of a fault * on the vote mode outputs of the shutdown function blocks. * APP:=RELAY with RELAY_OK:=true * A sinlge fault (even a voter fault) degrades the mode to DUAL. * The relay provides a third channel for shutdown, * so if an output voter fails, there are still * two independent channels that can de-energize the output, * i.e., the relay and the other output voter channel. * APP:=RELAY with RELAY_OK:=false, or * APP:=DE_ENERGIZED * A voter fault degrades the mode to SINGLE. * A non-voter fault degrades the mode to DUAL. * * Runtime Errors * EBADPARAM Bad parameter * CO=FALSE indicates a programming error. * See ERROR number parameter for details. *=F=============================================================================== *)

IF INIT THEN MP( CI := TRUE ) ; CO := MP.CO ; TMR := TRUE ; GE_DUAL := TRUE ; GE_SINGLE := TRUE ; NO_VOTER_FLTS := TRUE ; ELSIF PREVIOUS_INIT THEN ; (* No operation. *) ELSIF CI AND CO THEN IF (DINT_TO_DWORD(SLOT) AND 1) <> 1 OR SLOT<1 OR 15<SLOT THEN ERROR := -1 ; (* Slot is not odd or not in 1..15. *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; IF CO THEN LEFT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT ) ; RIGHT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT+1 ) ; IF NOT (LEFT_SLOT.CO AND RIGHT_SLOT.CO) THEN ERROR := -2 ; (* Chassis or slot is invalid. *) U := ReportBadParam(0) ;

Appendix B Shutdown Function Blocks

Page 118: Safety Considerations Guide Tricon v9 6

102 TR_CRITICAL_IO Function Block

CO := FALSE ; END_IF ; END_IF ; IF CO THEN IF NOT ( LEFT_SLOT.PASS OR LEFT_SLOT.FAIL OR LEFT_SLOT.ACTIVE OR LEFT_SLOT.INSTALLED OR RIGHT_SLOT.PASS OR RIGHT_SLOT.FAIL OR RIGHT_SLOT.ACTIVE OR RIGHT_SLOT.INSTALLED ) THEN ERROR := -3 ; (* Module not configured. *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; END_IF ; IF CO THEN

LEFT_GE_SINGLE := LEFT_SLOT.INSTALLED AND LEFT_SLOT.ACTIVE ; LEFT_GE_DUAL := LEFT_GE_SINGLE AND NOT LEFT_SLOT.NOGOOD ; LEFT_TMR := LEFT_GE_DUAL AND LEFT_SLOT.PASS AND NOT LEFT_SLOT.FAIL ; RIGHT_GE_SINGLE := RIGHT_SLOT.INSTALLED AND RIGHT_SLOT.ACTIVE ; RIGHT_GE_DUAL := RIGHT_GE_SINGLE AND NOT RIGHT_SLOT.NOGOOD ; RIGHT_TMR := RIGHT_GE_DUAL AND RIGHT_SLOT.PASS AND NOT RIGHT_SLOT.FAIL ; VOTER_FAULT := LEFT_SLOT.VOTER_FAULT OR RIGHT_SLOT.VOTER_FAULT ; TMR := TMR AND (LEFT_TMR OR RIGHT_TMR) ; GE_DUAL := GE_DUAL AND (LEFT_GE_DUAL OR RIGHT_GE_DUAL) ; GE_SINGLE := GE_SINGLE AND (LEFT_GE_SINGLE OR RIGHT_GE_SINGLE) ; NO_VOTER_FLTS := NO_VOTER_FLTS AND NOT VOTER_FAULT ; IF APP = RELAY AND RELAY_OK THEN TMR := TMR AND NOT VOTER_FAULT ; ELSIF APP = DE_ENERGIZED OR APP = RELAY AND NOT RELAY_OK THEN TMR := TMR AND NOT VOTER_FAULT ; GE_DUAL := GE_DUAL AND NOT VOTER_FAULT ; ELSE ERROR := -5 ; (* Application number is invalid *) U := ReportBadParam(0) ; CO := FALSE ; END_IF ; END_IF ; END_IF ; IF ERROR = 0 AND NOT CO THEN ERROR := -6 ; (* Not initialized *) U := ReportBadParam(0) ; END_IF ; IF NOT CO THEN TMR := FALSE ; GE_DUAL := FALSE ; GE_SINGLE := FALSE ; NO_VOTER_FLTS := FALSE ; END_IF ; PREVIOUS_INIT := INIT ;

END_FUNCTION_BLOCK

Tricon Safety Considerations Guide

Page 119: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 103

TR_SHUTDOWN Function Block

Enable System Shutdown

The TR_SHUTDOWN function block provides an easy way to enable system shutdown according to industry guidelines.

Parameter Type Description

Inputs CI BOOL Control In—enables operation

If CI=FALSE, then CO=FALSE—there is no change in the output value

If CI=TRUE and ERROR_NUM=0, then CO=TRUE

IO_CO BOOL Critical I/O Control Out—True indicates that a user-defined function block provides the status for critical I/O modules

IO_TMR BOOL Three channels are operating without faults on every critical I/O module

IO_GE_DUAL BOOL At least two channels are operating without faults on every critical I/O module

IO_GE_SINGLE BOOL At least one channel is operating without faults on every critical I/O module

IO_NO_VOTER_FLTS BOOL No voter faults exist on critical I/O modules

IO_ERROR DINT Zero means no error—non-zero means there is a programming error or a configuration error

Appendix B Shutdown Function Blocks

Page 120: Safety Considerations Guide Tricon v9 6

104 TR_SHUTDOWN Function Block

Inputs MAX_TIME_DUAL TIME Maximum time of continuous operation in dual mode (with only two channels)

MAX_TIME_SINGLE TIME Maximum time of continuous operation in single mode (with only one channel)

MAX_SCAN_TIME TIME 50% of the maximum response time

Outputs CO BOOL Control Out

OPERATING BOOL Shutdown if FALSE

TMR BOOL Three channels operating

DUAL BOOL Dual mode

SINGL BOOL Single mode

ZERO BOOL Zero mode

TIMER_RUNNING BOOL Shutdown timer is running

TIME_LEFT TIME Time remaining to shutdown

ALARM_PROGRAMMING_PERMITTED

BOOL True if application changes are permitted

ALARM_REMOTE_ACCESS BOOL True if remote-host writes are enabled

ALARM_RESPONSE_TIME BOOL True if actual scan time ≥ MAX_SCAN_TIME

ALARM_DISABLED_POINTS BOOL True if one or more points are disabled

Parameter Type Description

Tricon Safety Considerations Guide

Page 121: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 105

Note If there is a programming error, then CO is false and the error number is non-zero. For more information, see ERROR_NUM.

LibraryTricon

Outputs ERROR_NUM DINT Error Number:

0 = No error1 = Error in maximum time2 = Error in I/O function

block (IO_ERROR input is non-zero)

3 = Error in status function block

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

Attribute Usage

Application Type Safety, Control

Programming Usage N/A

CEM Feature N/A

Parameter Type Description

Appendix B Shutdown Function Blocks

Page 122: Safety Considerations Guide Tricon v9 6

106 TR_SHUTDOWN Function Block

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_CRITICAL_IOTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SLOT_STATUSTR_VOTE_MODE

Tricon Safety Considerations Guide

Page 123: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 107

Structured TextFUNCTION_BLOCK TR_SHUTDOWNVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) IO_CO : BOOL ; (* Critical IO Control out. *) IO_TMR : BOOL ; (* Critical IO 3 channels operating. *) IO_GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *) IO_GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *) IO_NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *) IO_ERROR : DINT ; (* Error number, 0 = no error. *) MAX_TIME_DUAL : TIME := T#40000d ; (* Max Time with only 2 channels. *) MAX_TIME_SINGLE : TIME := T#40000d ; (* Max Time with only 1 channel. *) MAX_SCAN_TIME : TIME := T#400ms ; (* 50% of Max Response Time. *)END_VARVAR_OUTPUT CO : BOOL ; (* Control out. *) OPERATING : BOOL ; (* Shutdown if OPERATING=FALSE. *) TMR : BOOL ; (* Three channels operating. *) DUAL : BOOL ; (* Dual mode. *) SINGL : BOOL ; (* Single mode. *) ZERO : BOOL ; (* Zero mode. *) TIMER_RUNNING : BOOL ; (* Shutdown timer is running. *) TIME_LEFT : TIME ; (* Time remaining to shutdown. *) ALARM_PROGRAMMING_PERMITTED : BOOL ; (* Alarm -- download change. *) ALARM_REMOTE_ACCESS : BOOL ; (* Alarm -- remote host writes. *) ALARM_RESPONSE_TIME : BOOL ; (* Alarm -- exceed response time. *) ALARM_DISABLED_POINTS : BOOL ; (* Alarm -- some points disabled. *) ERROR : DINT ; (* Error number. *) (* * Error number: * 0 = No error. * 1 = Error in maximum time. * 2 = IO function block error - IO_ERROR is non-zero. * 3 = Status function block error. *)END_VARVAR GE_DUAL : BOOL ; (* Two or more channels operating. *) GE_SINGLE : BOOL ; (* One or more channels operating. *) MP : TR_MP_STATUS ; (* MP status. *) PROG : TR_PROGRAM_STATUS ; (* Program status. *) SCAN : TR_SCAN_STATUS ; (* Scan status. *) DUAL_TIME : TON ; (* Dual mode timer. *) SINGLE_TIME : TON ; (* Single mode timer. *) U : BOOL ; (* Unused Value. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_SHUTDOWN * Purpose: Implement TUV restrictions. * * Return: none * * Remarks: *

Appendix B Shutdown Function Blocks

Page 124: Safety Considerations Guide Tricon v9 6

108 TR_SHUTDOWN Function Block

* Example EX01_SHUTDOWN shows one way to check that * the safety system is operating within spec when * every module in the safety system is safety critical. * The example uses the Tricon Library function block * TR_SHUTDOWN - one instance named CRITICAL_MODULES. * The output CRITICAL_MODULES.OPERATING indicates * that all safety critical modules are operating * within spec. Input MAX_TIME_DUAL specifies the * maximum time allowed with two channels operating * (for example, 1500 hours). * Input MAX_TIME_SINGLE specifies the maximum time allowed * with only one channel operating (for example, 72 hours). * When CRITICAL_MODULES.OPERATING is FALSE, * the time in degraded operation exceeds the * specified limits -- therefore the control program * should shutdown the plant. * * Excluding output voter faults and field faults -- TMR implies * three channels with no detected fatal errors, GE_DUAL implies * at least two channels with no detected fatal errors, * and GE_SINGLE implies at least one channel * with no detected fatal errors -- for every path * from a safety critical input to a safety critical output. * Detected output voter faults reduce TMR or GE_DUAL to GE_SINGLE. * (See example EX02_SHUTDOWN to improve availability * using relays and advanced programming techniques.) * * The "TMR" output indicates TMR. * The "DUAL" output indicates GE_DUAL but not TMR. * The "SINGL" output indicates GE_SINGLE but not GE_DUAL. * The "ZERO" output indicates not GE_SINGLE. * The "TIMER_RUNNING" output indicates that * the time left to shutdown is decrementing. * The "TIME_LEFT" output indicates the time remaining before shutdown. * * WARNING - the TR_SHUTDOWN function block * does not use detected field faults or * combinations of faults reported as field faults. * It is the responsibility of the application program * to use system variable NoFieldFault or FieldOK * to detect and respond to such faults. * * To see how to create a user-defined function block * to improve availability, see the examples * in the help topic for TR_SHUTDOWN. * * NOTE -- If IO_CO is false (for example, if you do not provide * a user-defined function block like the one in example EX02_SHUTDOWN), * then losing all three legs of an active IO module results in * a transition to "SINGL", not "ZERO". * * Runtime Errors * EBADPARAM Bad parameter * CO=FALSE indicates a programming error. * See ERROR number parameter for details. *=F=============================================================================== *)

Tricon Safety Considerations Guide

Page 125: Safety Considerations Guide Tricon v9 6

TR_SHUTDOWN Function Block 109

IF CI THEN (* Get Status *) MP( CI := TRUE ) ; PROG( CI := TRUE ) ; SCAN( CI := TRUE ) ; (* Check for programming errors. *) ERROR := 0 ; IF MAX_TIME_DUAL < MAX_TIME_SINGLE OR MAX_TIME_DUAL < T#0S OR MAX_TIME_SINGLE < T#0S OR MAX_SCAN_TIME < T#0S THEN ERROR := 1 ; ELSIF IO_ERROR <> 0 THEN ERROR := 2 ; ELSIF NOT (MP.CO AND PROG.CO AND SCAN.CO) THEN ERROR := 3 ; END_IF ;

CO := ERROR = 0 ; IF CO THEN (* Summarize redundancy. *) TMR := NOT MP.MPMAIN AND ( NOT IO_CO AND NOT MP.IOMAIN OR IO_CO AND IO_TMR ); GE_DUAL := NOT MP.MPBAD AND ( NOT IO_CO AND NOT MP.IOBAD OR IO_CO AND IO_GE_DUAL ); GE_SINGLE := ( NOT IO_CO OR IO_CO AND IO_GE_SINGLE ); (* Update timers. *) DUAL_TIME( IN := NOT TMR, PT := MAX_TIME_DUAL ) ; SINGLE_TIME( IN := NOT GE_DUAL, PT := MAX_TIME_SINGLE ) ;

(* Shutdown if excessive time in degraded operation. *) OPERATING := GE_SINGLE AND NOT DUAL_TIME.Q AND NOT SINGLE_TIME.Q ;

(* Output current status. *) DUAL := GE_DUAL AND NOT TMR ; SINGL := GE_SINGLE AND NOT GE_DUAL ; ZERO := NOT GE_SINGLE ;

Appendix B Shutdown Function Blocks

Page 126: Safety Considerations Guide Tricon v9 6

110 TR_SHUTDOWN Function Block

TIMER_RUNNING := OPERATING AND NOT TMR ;

(* Output time remaining to shutdown. *) IF NOT OPERATING THEN TIME_LEFT := T#0s ; ELSIF TMR THEN TIME_LEFT := T#999999d ; ELSIF GE_DUAL OR MAX_TIME_DUAL-DUAL_TIME.ET <= MAX_TIME_SINGLE-SINGLE_TIME.ET THEN TIME_LEFT := MAX_TIME_DUAL - DUAL_TIME.ET ; ELSE TIME_LEFT := MAX_TIME_SINGLE - SINGLE_TIME.ET ; END_IF ; (* Output alarms. *) ALARM_PROGRAMMING_PERMITTED := SCAN.KEYSWITCH = 1 (*1=PROGRAM*) ; ALARM_REMOTE_ACCESS := SCAN.KEYSWITCH <> 2 ; (*2=RUN*) ALARM_RESPONSE_TIME := T#1ms * SCAN.SCANDELTA > MAX_SCAN_TIME ; ALARM_DISABLED_POINTS := PROG.POINTS_DISABLED > 0 ;

ELSE (* Programming error. *) U := ReportBadParam(0) ; OPERATING := FALSE ; TMR := FALSE ; GE_DUAL := FALSE ; GE_SINGLE := FALSE ; DUAL := FALSE ; SINGL := FALSE ; ZERO := FALSE ; TIMER_RUNNING := FALSE ; TIME_LEFT := T#0S; ALARM_PROGRAMMING_PERMITTED := TRUE ; ALARM_REMOTE_ACCESS := TRUE ; ALARM_RESPONSE_TIME := TRUE ; ALARM_DISABLED_POINTS := TRUE ; END_IF ;

END_IF ;

END_FUNCTION_BLOCK

Tricon Safety Considerations Guide

Page 127: Safety Considerations Guide Tricon v9 6

TR_VOTE_MODE Function Block 111

TR_VOTE_MODE Function Block

Converts Redundancy Status

The TR_VOTE_MODE function block provides an easy way to convert redundancy status from one voting mode to another, as shown in the following truth table.

Note To save memory and reduce scan time when using this function block, create a single instance of the function block in your program and invoke it multiple times. Do not use the same instance more than once in a network.

TMR GE_DUAL GE_SINGLE TMR DUAL SINGL ZERO

T T T T F F F

F T T F T F F

F F T F F T F

F F F F F F T

Other1

1. If there is an error in the inputs, then CO is false, the mode outputs are false, and the function block reports a bad parameter error (EBADPARAM).

F F F F

Parameter Type Description

Inputs CI BOOL Control In—enables operation

If CI=FALSE, then CO=FALSE—there is no change in the output value

If CI=TRUE and ERROR_NUM=0, then CO =TRUE

IN_TMR BOOL Three critical I/O channels operating

GE_DUAL BOOL Two or more critical I/O channels operating

GE_SINGLE BOOL One or more critical I/O channels operating

Outputs CO BOOL Control Out—indicates completion of the operation with no errors

Appendix B Shutdown Function Blocks

Page 128: Safety Considerations Guide Tricon v9 6

112 TR_VOTE_MODE Function Block

Note If there is a programming error, then CO is false and the mode outputs are set to false.

LibraryTricon

Related TopicsTR_64_POINT_STATUSTR_CALENDARTR_CRITICAL_IOTR_MP_STATUSTR_PEER_STATUSTR_POINT_STATUSTR_PORT_STATUSTR_PROGRAM_STATUSTR_SCAN_STATUSTR_SHUTDOWNTR_SLOT_STATUS

Output TMR BOOL Three critical I/O channels operating

DUAL BOOL Dual mode

SINGL BOOL Single mode

ZERO BOOL Zero mode

Runtime Error Code Return Value Condition

EBADPARAM Bad parameter

Attribute Usage

Application Type Safety, Control

Programming Usage Space Saver

CEM Feature N/A

Parameter Type Description

Tricon Safety Considerations Guide

Page 129: Safety Considerations Guide Tricon v9 6

TR_VOTE_MODE Function Block 113

Structured TextFUNCTION_BLOCK TR_VOTE_MODEVAR_INPUT CI : BOOL := TRUE ; (* Control in. *) IN_TMR : BOOL ; (* 3 channels operating. *) GE_DUAL : BOOL ; (* 2 or more channels operating. *) GE_SINGLE : BOOL ; (* 1 or more channels operating. *)END_VARVAR_OUTPUT CO : BOOL ; (* Control out. *) TMR : BOOL ; (* Triple Modular Redundant. *) DUAL : BOOL ; (* Dual mode. *) SINGL : BOOL ; (* Single mode. *) ZERO : BOOL ; (* Zero mode. *)END_VARVAR U : BOOL ; (* Unused Value. *)END_VAR

(* *=F=============================================================================== * FUNCTION_BLOCK: TR_VOTE_MODE * Purpose: Convert redundancy status. * * Return: none * * Remarks: * 1. Convert redundancy status (TMR, GE_DUAL, GE_SINGLE) * to (TMR, DUAL, SINGL, ZERO). * 2. "GE_" denotes "greater than or equal to". * 3. CO is true if CI is true and there is no programming error. * * Runtime Errors * EBADPARAM Bad parameter * CO=false indicates a programming error if CI=true. * The outputs are all false if there is a programming error. *=F============================================================================== *)

CO := CI ; IF CI THEN CO := GE_DUAL AND GE_SINGLE OR NOT GE_DUAL AND NOT IN_TMR; IF CO THEN TMR := IN_TMR ; DUAL := GE_DUAL AND NOT IN_TMR ; SINGL := GE_SINGLE AND NOT GE_DUAL ; ZERO := NOT GE_SINGLE ; ELSE U := ReportBadParam(0) ; TMR := FALSE ; DUAL := FALSE ; SINGL := FALSE ; ZERO := FALSE ; END_IF ; END_IF ;END_FUNCTION_BLOCK

Appendix B Shutdown Function Blocks

Page 130: Safety Considerations Guide Tricon v9 6

114 TR_VOTE_MODE Function Block

Tricon Safety Considerations Guide

Page 131: Safety Considerations Guide Tricon v9 6

Index 115

Index

Aactual scan time 53alarms

Analog Input Module 44Analog Output Module 44Digital Input Module 43Digital Output Module 43disabled points 24, 68I/O modules 45output operation 59, 64programming permitted 68Relay Output Module 45remote access 68semaphore flags 46system attributes 47

Analog Input Modulealarms 44diagnostics 44

Analog Output Modulealarms 44diagnostics 44

analysishazard and risk 5

ANSI/ISA S84.01 16application-specific standards 17architecture

system 38TMR 38

Bblock valve

equation for calculating PFDavg 9burner management systems 21bus

Tribus 38

Ccalculating PFDavg

equation for block valves 9equation for sensors 9equation for system 9

calculationSIL example 8

certificationTÜV Rheinland 20

commandsCompare to Last Download 52Download All 25Download Change 51Upload and Verify 52

communicationexternal 46serial 32

Compare to Last Download command 52contacting Triconex viiiconverting

redundancy status 90, 111critical I/O modules

accumulating status 75, 96CSA C22.2 NO 199 17customer support viii

Ddesign requirements 33development guidelines 50diagnostics

Analog Input Module 44Analog Output Module 44Digital Input Module 43Digital Output Module 43disable output voter 25

Tricon Safety Considerations Guide

Page 132: Safety Considerations Guide Tricon v9 6

116 Index

Relay Output Module 45system 39

Digital Input Modulealarms 43diagnostics 43

Digital Output Modulealarms 43diagnostics 43

DIN V 19250 15DIN V VDE 0801 15DIN VDE 0116 17disable output voter diagnostics 25disabled points alarms 24, 68Download All command 25Download Change command 51

Eemergency shutdown system 21EN 54, part 3 17equations

calculating PFDavg for sensors 9calculating PFDavg for system 9calculating PFDavgfor block valves 9

EX01_shutdown program 56EX02_shutdown program 61EX03_shutdown program 67external communication 46external faults 40

Ffactors

SIL 4SIS 5

faultsexternal 40internal 40types 40

fire and gas systems 22flags

semaphore 46functions

Modbus master 25

Ggeneral guidelines 20guidelines

development 50general 20SIL 27–30SIL fire and gas 28, 30SIL general 27, 29Tricon controller 23

Hhazard and risk analysis 5

II/O modules

accumulating status 75, 96alarms 45system-critical 55

IEC 61508, parts 1–7 16IEC 61511 16Input Module alarms

Analog 44Digital 43

Input Module diagnosticsAnalog 44Digital 43

input parameters 57, 62installation check

TriStation 50internal faults 40

Llayers

protection 5life cycle model

safety 12

MMain Processor

system attributes 47Tribus 46

maintenance overrides 32

Tricon Safety Considerations Guide

Page 133: Safety Considerations Guide Tricon v9 6

Index 117

Modbus master functions 25model

safety life cycle 12modes

operating 41module alarms

Analog Input 44Analog Output 44Digital Input 43Digital Output 43I/O 45Relay Output 45

module diagnosticsAnalog Input 44Analog Output 44Digital Input 43Digital Output 43Relay Output 45

modulesaccumulating status 75, 96safety-critical 24system-critical shutdown program for all

55system-critical shutdown program for

some 60

NNFPA 72 17NFPA 8501 17NFPA 8502 17

Ooperating modes

dual 41single 41TMR 41zero 41

operating requirements 34operation

alarm output 59, 64Output Module alarms

Analog 44Digital 43

Relay 45Output Module diagnostics

Analog 44Digital 43Relay 45

output operation alarms 64output parameters 58, 63output voter diagnostics

disable 25OVD

See output voter diagnosticsoverrides

maintenance 32overrun

scan 54overview

safety 5

Pparameters

input 62output 58

partitioning processes 66Peer-to-Peer communication 25

description of function blocks for 70, 96Peer-to-Peer function blocks

data transfer time 70, 96errors 71examples 72rules for correct usage 70, 96using with critical data 26

permitted alarmsprogramming 68

PFDavg for block valveequation for calculating 9

PFDavg for sensorsequation for calculating 9

PFDavg for systemequation for calculating 9

points alarmsdisabled 68

processespartitioning 66

Tricon Safety Considerations Guide

Page 134: Safety Considerations Guide Tricon v9 6

118 Index

programming permitted alarm 68programs

EX01_shutdown 56EX02_shutdown 61EX03_shutdown 67safety-shutdown for all system-critical

I/O modules 55safety-shutdown for some system-criti-

cal I/O modules 60protection layers 5

Rredundancy status

converting 90, 111Relay Output Module

alarms 45diagnostics 45

requested scan time 53requirements

design 33operating 34

response time and scan time 24, 68

Ssafety life cycle model 12safety overview 5safety-critical modules 24safety-shutdown 24

networks 24programs for all system-critical I/O

modules modules 55programs for some system-critical I/O

modules 60scan overrun 54scan surplus 53scan time 53

actual 53requested 53response time and 24, 68

semaphore flags 46sensors

equation for calculating PFDavg 9serial communication 32

shutdownenabling for Tricon 82, 103programs for all system-critical I/O

modules 55programs for some system-critical I/O

modules 60safe 24systems emergency 21

SILcalculation example 8factors 4fire and gas guidelines 28, 30general guidelines 27, 29guidelines 27–30

SISfactors 5

standardsapplication-specific 17general 15–16

statusof critical I/O modules 75, 96

surplusscan 53

SYS_SHUTDOWN parametersinput 57output 63

systemarchitecture 38attributes as alarms 47attributes of Main Processor 47diagnostics 39enabling shutdown for Tricon 82, 103equation for calculating PFDavg 9

system-critical I/O modulessafety-shutdown program for all 55safety-shutdown program for some 60

systemsburner management 21emergency shutdown 21fire and gas 22

Ttechnical support viii

Tricon Safety Considerations Guide

Page 135: Safety Considerations Guide Tricon v9 6

Index 119

timescan 53

TMR architecture 38TR_SHUTDOWN function block 82, 103TR_VOTE_MODE function block 90,

111training xTribus

Main Processor 46system architecture 38

Triconex support viiiTriple Module Redundant

See TMRTriStation Install Check 50TÜV Rheinland certification 20types of faults 40

UUpload and Verify command 52

Vvoter diagnostics

disable output 25

Tricon Safety Considerations Guide

Page 136: Safety Considerations Guide Tricon v9 6

120 Index

Tricon Safety Considerations Guide