0% found this document useful (0 votes)
195 views98 pages

Safety Considerations Guide, Tricon v9

The Tricon Version 9 Systems Safety Considerations Guide provides essential safety information and guidelines for the Tricon v9 systems, including safety concepts, application guidelines, fault management, and application development. It emphasizes the importance of safety integrity levels, risk analysis, and adherence to safety standards. The guide also acknowledges TÜV Rheinland/Berlin-Brandenburg for their contributions to its development.

Uploaded by

jesus lopez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
195 views98 pages

Safety Considerations Guide, Tricon v9

The Tricon Version 9 Systems Safety Considerations Guide provides essential safety information and guidelines for the Tricon v9 systems, including safety concepts, application guidelines, fault management, and application development. It emphasizes the importance of safety integrity levels, risk analysis, and adherence to safety standards. The guide also acknowledges TÜV Rheinland/Berlin-Brandenburg for their contributions to its development.

Uploaded by

jesus lopez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Tricon Version 9 Systems

Safety Considerations Guide


for Tricon v9 Systems
Assembly No. 9700097-001

October 2004
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.

© 2004 Invensys Systems, Inc. All Rights Reserved.

Triconex, Tricon, Trident, TriStation 1131, TriStation MSW, and CEMPLE are trademarks of Invensys plc,
its subsidiaries and affiliates. All other brands may be trademarks of their respective owners.
Acknowledgement

Triconex acknowledges the generous assistance of TÜV Rheinland/Berlin-Brandenburg in the


development of this guide. Their efforts have contributed to the overall quality and integrity of the Trident
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.

Document No. 9720097-001


Printed in the United States of America.
Contents

Preface vii
Summary of Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii
Abbreviations Used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Product and Training Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Chapter 1 Safety Concepts 1


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Protection Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SIS Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
SIL Factors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Hazard and Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Safety Integrity Levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Safety Life Cycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Safety Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
General Safety Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Application-Specific Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 2 Application Guidelines 15


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
TÜV Rheinland Certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
All Safety Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Emergency Shutdown Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Burner Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Fire and Gas Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Guidelines for Tricon Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Safety-Critical Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Safety-Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Response Time and Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Disabled Points Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Disabled Output Voter Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Download All at Completion of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Modbus Master Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Triconex Peer-to-Peer Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
SIL3/AK5 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Tricon v9 Systems Safety Considerations Guide


iv Contents

SIL3/AK6 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Project Change and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Maintenance Overrides. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Chapter 3 Fault Management 31


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
System Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Types of Faults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
External Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Internal Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Module Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Digital Input (DI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Digital Output (DO) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Analog Input (AI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Analog Output (AO) Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Pulse Input (PI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Relay Output (RO) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Input/Output Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Main Processor and TriBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
External Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Chapter 4 Application Development 41


Development Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Triconex Product Alert Notices (PANs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Safety and Control Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
VAR_IN_OUT Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Array Index Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Important TriStation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Download Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Verify Last Download to the Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Compare to Last Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Setting Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Scan Surplus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Sample Safety-Shutdown Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
When All I/O Modules Safety-Critical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
When Some I/O Modules Are Safety-Critical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Defining Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Partitioned Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Alarm Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Programming Permitted Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Remote Access Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Tricon v9 Systems Safety Considerations Guide


Contents v

Response Time and Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58


Disabled Points Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Appendix A Triconex Peer-to-Peer Communication 59


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Data Transfer Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Estimating Memory for Peer-to-Peer Data Transfer Time. . . . . . . . . . . . . . . . . . . . . . 61
Estimating the Data Transfer Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Examples of Peer-to-Peer Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Example 1: Fast Send to One Triconex Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Example 2: Sending Data Every Second to One Node . . . . . . . . . . . . . . . . . . . . . . . . . 64
Example 3: Controlled Use of SEND/RECEIVE Function Blocks . . . . . . . . . . . . . . . 64
Example 4: Using SEND/RECEIVE Function Blocks for Safety-Critical Data. . . . . 65

Appendix B Safety-Critical Function Blocks 67


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
TR_CRITICAL_IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
TR_SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
TR_VOTE_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Index 85

Tricon v9 Systems Safety Considerations Guide


vi Contents

Tricon v9 Systems Safety Considerations Guide


Preface

This guide provides information about safety concepts and standards that apply to the Tricon
controller. This document replaces all previous versions of the Tricon Systems Safety
Considerations Guide.

Summary of Sections
• 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, Triconex Peer-to-Peer Communication—Provides examples of using
Triconex Peer-to-Peer function blocks to transfer data between applications.
• Appendix B, Safety-Critical Function Blocks—Describes the function blocks intended
for use in safety-critical applications and shows their Structured Text code.

Related Documentation
These Triconex books contain related information.
• Planning & Installation Guide for Tricon Systems
• Communication Guide for Tricon Systems
• Field Terminations Guide for Tricon Systems
• Advanced Communication Module (ACM) User’s Guide
• Enhanced Intelligent Communication Module (EICM) User’s Guide
• Network Communication Module (NCM) User’s Guide
• Safety Manager Module User’s Guide
• Hiway Interface Module (HIM) User’s Guide
• Tricon System Access Application (TSAA) Quick Guide
• TriStation 1131 Developer’s Guide
• TriStation 1131 Triconex Libraries Reference

Tricon v9 Systems Safety Considerations Guide


viii Preface

Abbreviations Used
The 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
PFDavg Average probability of failure to
perform IES design function on
demand
PHA Process hazard analysis
PSM Process safety management
RMP Risk management program
RRF Risk reduction factor
SFF Safe failure fraction
SIL Safety integrity level
SIS Safety-instrumented system
SOV Solenoid-operated valve
SRS Safety requirements specification
SV Safety (relief) valve

Product and Training Information


To obtain information about Triconex products and in-house and on-site training, see the
Triconex Web site or contact your regional customer center.

Web Site
[Link]

Tricon v9 Systems Safety Considerations Guide


Preface ix

Technical Support
Customers in the U.S. and Canada can obtain technical support from the Customer Support
Center (CSC) at the numbers below. International customers should contact their regional
support center.
Requests for support are prioritized as follows:
• Emergency requests are given the highest priority
• Requests from participants in the System Watch Agreement (SWA) and customers with
purchase order or charge card authorization are given next priority
• All other requests are handled on a time-available basis
If you require emergency or immediate response and are not an SWA participant, you may
incur a charge. Please have a purchase order or credit card available for billing.

Telephone
Toll-free number 866-746-6477, or
Toll number 508-549-2424 (outside U.S.)

Fax
Toll number 508-549-4999

E-mail
[Link]@[Link]

Tricon v9 Systems Safety Considerations Guide


x Preface

Tricon v9 Systems Safety Considerations Guide


1
Safety Concepts

Overview 2
Hazard and Risk Analysis 5
Safety Standards 12
Application-Specific Standards 13

Tricon v9 Systems Safety Considerations Guide


2 Chapter 1 Safety Concepts

Overview
Modern 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 SIS (safety-instrumented system)
• Installing mitigating equipment to reduce harmful consequences; for example,
explosion walls, foams, impoundments, and pressure relief systems

Tricon v9 Systems Safety Considerations Guide


Overview 3

Protection Layers
Methods that provide layers of protection should be:
• Independent
• Verifiable
• Dependable
• Designed for the specific safety risk
This figure 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.

Acceptable Risk Level


Mechanical Integrity
Inherent Process Risk

SV SIS BPCS*

Process
0
Lower Risk Higher Risk

* BPCS–Basic process control system


SIS–Safety-instrumented system
SV–Safety (relief) valve

Figure 1 Effect of Protection Layers on Process Risk

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).

Tricon v9 Systems Safety Considerations Guide


4 Chapter 1 Safety Concepts

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
An SIL can be considered a statistical representation of the availability of an SIS at the time of a
process demand. A process demand is defined as the occurrence of a process deviation that causes
an SIS to transition a process to a safe state.
An 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 an SIS.
The Tricon controller is a state-of-the-art PES optimized for safety-critical applications.

Tricon v9 Systems Safety Considerations Guide


Hazard and Risk Analysis 5

Hazard and Risk Analysis


In 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 disruption.
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.

Safety Integrity Levels


This figure shows the relationship of DIN V 19250 classes and SILs (safety integrity levels).

R
I
S 99.999 0.00001 AK 8
K
99.99 0.0001 >10,000 SIL 4 AK 7
R
E AK 6
99.90 0.001 10,000– SIL 3 SIL 3
D 1,000 AK 5
U
C 1,000– AK 4
99.00 0.01 SIL 2 SIL 2
T 100 AK 3
I 100– AK 2
90.00 0.1 SIL 1 SIL 1
O 10 AK 1
N

Percent PFDavg RRF ANSI/ISA IEC DIN V


Availability S84.01 61508 19250

Risk Measures Risk Standards

Figure 2 Standards and Risk Measures

Tricon v9 Systems Safety Considerations Guide


6 Chapter 1 Safety Concepts

As a required SIL increases, SIS integrity increases as measured by:


• System availability (expressed as a percentage)
• Average probability of failure to perform IES design function on demand (PFDavg)
• Risk reduction factor (RRF, reciprocal of PFDavg)

The relationship between AK class (see page 12) 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 (process hazard analysis) 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.
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.
On-site consequences include:
• Worker injury or death
• Equipment damage
Off-site consequences include:
• 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. Classified as
high, medium, or low, a risk probability 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.

Tricon v9 Systems Safety Considerations Guide


Hazard and Risk Analysis 7

Sample Low Demand SIL Calculation


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

99.9999 0.000001
Tricon PES*
R
I 99.999 0.00001
S
K
99.99 0.0001
R
E SIL 3 SIS
99.90 0.001
D
U
C 99.00 0.01
T
I
O 90.00 0.1
N

Percent PFD
Availability

Risk Measures

Figure 3 Comparison of Percent Availability and PFD

* Tricon controller module failure rates, PFDavg, Spurious Trip Rate, and Safe Failure Fraction
(SFF) calculation methods have been independently calculated and/or reviewed by Factory
Mutual Research and TÜV Rheinland. The numbers presented here (and in the following tables)
are typical. Exact numbers should be calculated for each specific system configuration. Contact
Triconex/Invensys Systems for details on calculation methods and options related to the Tricon
controller.

Safety Integrated System

3 Pressure
Transmitters (2oo3) TMR Controller 2 Block Valves
(2oo3) in Series (1oo2)

Sensors
PES/Logic Solver Final Elements

3 Temperature
Transmitters (2oo3)

Figure 4 Simplified Diagram of Key Elements

Tricon v9 Systems Safety Considerations Guide


8 Chapter 1 Safety Concepts

This table provides simplified equations for calculating the PDFavg for the key elements in an
SIS. Once the PDFavg for each element is known, an SIL can be determined.

Table 1 Simplified Equations for Calculating PFDavg


Variables
Description Equation
(supplied by the manufacturer)
Sensors To calculate PFDavg = (λDU*TI)2 λ = failure rate
PFDavg for DU=dangerous, undetected failure rate
sensors (2oo3) TI= test interval in hours

Block To calculate PFDavg = 1/3(λDU*TI)2 λ = failure rate


Valves PFDavg for DU=dangerous, undetected failure rate
block valves TI= test interval in hours
(1oo2) in series
(final elements)
System To calculate System PFDavg =
PFDavg for a Sensors PFDavg +
system Block Valves PFDavg +
Controller PFDavg

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

Table 2 Determining the SIL Using the Equations


λ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.09E-04

For additional information on SIL assignment and SIL verification, visit the Premier Consulting
Services web site at [Link].

Tricon v9 Systems Safety Considerations Guide


Hazard and Risk Analysis 9

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:
• Complete a hazard and operability study
• Determine the SIS requirement
• Determine the target SIL

START
Establish operation
and maintenance
Design procedure
conceptual process (Step 5)
Develop safety
requirements
document Pre-start-up
Perform process (Step 1) safety review
hazard analysis assessment
and risk (Step 6)
assessment Perform SIS
conceptual
SIS start-up
design and verify
operation,
Apply non-SIS it meets the SRS maintenance,
(Step 2)
protection layers to periodic functional
prevent identified testing
hazards or reduce Perform SIS (Steps 7 and 8)
risk detail design
(Step 3)
Modify Modify or
No SIS decommission
SIS installation,
EXIT required? SIS?
commissioning,
and pre-startup
Yes acceptance test Decommission
(Step 4)
Define target SIL
SIS
decommissioning
Conceptual process design (Step 9)

S84.01 Concern
(Step 3)

Figure 5 Safety Life Cycle Model

Tricon v9 Systems Safety Considerations Guide


10 Chapter 1 Safety Concepts

Developing an SIS Using the Safety Life Cycle


1 Develop a safety requirement specification (SRS).
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 Develop the conceptual design, making sure to:
• Define the SIS architecture to ensure the SIL is met (for example, 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 detailed SIS design including:
• General requirements
• SIS logic solver
• Field devices
• Interfaces
• Energy sources
• System environment
• Application logic requirements
• Maintenance or testing requirements
Some key ANSI/ISA S84.01 requirements are:
• The logic solver shall be separated from the basic process control system (BPCS).
• Sensors for the SIS shall be separated from the sensors for the BPCS.
• The logic system vendor shall provide MTBF data and the covert failure listing,
including the frequency of occurrence of identified covert failures.
Note Triconex controllers do not contain covert failures (undiagnosed dangerous faults) that
are statistically significant.

Tricon v9 Systems Safety Considerations Guide


Hazard and Risk Analysis 11

• 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.
• Maintenance overrides shall not be used as a part of application software or
operating procedures.
• When online 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.
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 (such as 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, and final elements (such as shutdown
valves, motors, etc.)
8 Follow management of change (MOC) procedures to ensure that no unauthorized
changes are made to an application, as mandated by OSHA 29 CFR 1910.119.
9 Decommission an SIS before its permanent retirement from active service, to ensure
proper review.

Tricon v9 Systems Safety Considerations Guide


12 Chapter 1 Safety Concepts

Safety Standards
Over 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 in this section 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 (PES)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.

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 Figure 5 on page 9) 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 four SILs that are indexed to a specific probability-to-fail-on-demand
(PFD) (see Figure 2 on page 5). A SIL assignment is based on the required risk reduction as
determined by a PHA.

Tricon v9 Systems Safety Considerations Guide


Safety Standards 13

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.

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.

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.

Tricon v9 Systems Safety Considerations Guide


14 Chapter 1 Safety Concepts

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.

Tricon v9 Systems Safety Considerations Guide


2
Application Guidelines

Overview 16
TÜV Rheinland Certification 17
General Guidelines 18
Guidelines for Tricon Controllers 20

Tricon v9 Systems Safety Considerations Guide


16 Chapter 2 Application Guidelines

Overview
This chapter provides information about the industry-standard guidelines applicable to safety
applications. These guidelines include those that apply to all safety systems, as well as those that
apply only to specific industries, such as burner management or fire and gas systems.
Guidelines that apply specifically to the Tricon controller, including SIL3/AK5 and SIL3/AK6
guidelines, are also provided. Project change control guidelines and maintenance override
considerations can be found at the end of this chapter.
Be sure to thoroughly read and understand these guidelines before you write your safety
application and procedures.

Tricon v9 Systems Safety Considerations Guide


TÜV Rheinland Certification 17

TÜV Rheinland Certification

When 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.

Tricon v9 Systems Safety Considerations Guide


18 Chapter 2 Application Guidelines

General Guidelines
This 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


These general guidelines apply to all user-written safety applications 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 application should be
made under strict change-control procedures. (For more information on change-control
procedures, see Project Change and Control on page 26.) 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, two copies of the application
should be archived on an electronic medium that is write-protected to avoid accidental
changes.
• Under certain conditions, a PES may be run in a mode that 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 Module Diagnostics on page 36.
• 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.
• Pointers should not be used for safety-related functions. For TriStation 1131
applications, this includes the use of VAR_IN_OUT variables.
• An SIS PES should be wired and grounded according to the procedures defined by the
manufacturer.

Tricon v9 Systems Safety Considerations Guide


General Guidelines 19

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 that 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.

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.

Tricon v9 Systems Safety Considerations Guide


20 Chapter 2 Application Guidelines

Guidelines for Tricon Controllers


The following topics relate to industry guidelines that are specific to Tricon controllers when
used as a PES in an SIS:
• Safety-critical modules (page 20)
• Safe shutdown (page 21)
• Programming lockout alarm
• Remote access alarm
• Scan time and response time alarm (page 21)
• Disabled points alarm (page 21)
• Disabled output voters (page 21)
• Download all (page 21)
• Use of Peer-to-Peer functions (page 21)
• Modbus master functions (page 21)
• SIL3/AK5 guidelines (page 23)
• SIL3/AK5 fire and gas guidelines (page 24)
• SIL3/AK6 guidelines (page 25)
• SIL3/AK6 fire and gas guidelines (page 26)
• Project change and control (page 26)

Safety-Critical Modules
It is recommended that only the following modules be used for safety-critical applications:
• Main Processor Modules, all models
• Communication Modules (only when using protocols defined for safety-critical
applications)
• Digital Input Modules, all models
• Digital Output Modules, all models
• Analog Input Modules, all models
• Analog Output Module, Model #3805E only
• Pulse Input Module
• Pulse Totalizer Input Module
The Relay Output Module is recommended for non-safety-critical points only.

Tricon v9 Systems Safety Considerations Guide


Guidelines for Tricon Controllers 21

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 B, Safety-Critical Function Blocks. For more information on
safety-shutdown networks, see Sample Safety-Shutdown Programs on page 47.

Response Time and Scan Time


Scan time must be set below 50 percent of the required response time. If scan time is greater than
50 percent, 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.

Disabled Output Voter Diagnostic


A safety application must 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 Controller 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.

Triconex Peer-to-Peer Communication


Triconex 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.

Tricon v9 Systems Safety Considerations Guide


22 Chapter 2 Application Guidelines

• 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 depend on the unique safety requirements
of your particular process. The following sections summarize actions typically required by Peer-
to-Peer send and receive functions.

Sending Node
Actions typically required in the logic of the sending application are:
• 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 SEND function block (TR_USEND) 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 SEND functions in an application must be less than or equal to five
because the controller only initiates five SEND functions per scan. To send data as fast
as possible, the SEND 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 RECEIVE (TR_URCV) and
TR_PORT_STATUS functions to determine whether there is a network problem that
requires operator intervention.

Receiving Node
Actions typically 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.

Tricon v9 Systems Safety Considerations Guide


Guidelines for Tricon Controllers 23

• 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.
For information on data transfer time and examples of how to use Peer-to-Peer functions to
transfer safety-critical data, see Appendix A, Triconex Peer-to-Peer Communication.

SIL3/AK5 Guidelines
For SIL3/AK5 applications, these 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 currently
running application. 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, the application should turn on an alarm. For example, if
using the TR_SHUTDOWN function block, the ALARM_REMOTE_ACCESS
output could be used. Verify that aliased variables adhere to the guidelines
described in Maintenance Overrides on page 27.
— When program mode is true, the application 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.
• 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.

Tricon v9 Systems Safety Considerations Guide


24 Chapter 2 Application Guidelines

• Peer-to-Peer communication must be programmed according to the recommendations


in Appendix A, Triconex Peer-to-Peer Communication.

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. To ensure
maximum availability, limits for maximum time in degraded mode should not be
imposed.

Tricon v9 Systems Safety Considerations Guide


Guidelines for Tricon Controllers 25

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 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 currently
running application. 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, the application should turn on an alarm. For example, if
using the TR_SHUTDOWN function block, the ALARM_REMOTE_ACCESS
output could be used. Verify that aliased variables adhere to the guidelines
described in Maintenance Overrides on page 27.
— When program mode is true, the application 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.
• 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.
• Peer-to-Peer communication must be programmed according to the recommendations
in Appendix A, Triconex Peer-to-Peer Communication.

Tricon v9 Systems Safety Considerations Guide


26 Chapter 2 Application Guidelines

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
Safety Change Control Committee (SCCC).

Change Procedure
1 Generate a change request defining all changes and the reasons for the changes, then
obtain approval for the changes from the SCCC.
2 Develop a specification for the 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.
4 To verify that the configuration in the controller matches the last downloaded
configuration, use the Verify Last Download to the Controller command on the
Controller Panel. For details, see the TriStation 1131 Developer’s Guide.
5 Compare the configuration in your project with the configuration that was last
downloaded to the controller by printing the Compare Project to Last Download report
from the Controller Panel. For details, see the TriStation 1131 Developer’s Guide.
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 using the Emulator Panel. For details,
see the TriStation 1131 Developer’s Guide.
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 online only if the changes are absolutely necessary
and are tested thoroughly.

Tricon v9 Systems Safety Considerations Guide


Guidelines for Tricon Controllers 27

• To enable a Download Change command, select the Enable Programming and


Control option in the Set Programming Mode dialog box on the Controller Panel if
it is not already selected.
Note Changing the operating mode to PROGRAM generates 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 Programming Permitted Alarm on page 58.
11 Save the downloaded project in TriStation and back up the project.
12 Archive two copies of the project file and all associated documentation.

Maintenance Overrides
Three methods can be used to check safety-critical devices connected to controllers:
• Special switches are connected to the inputs on a controller that deactivate the actuators
and sensors undergoing maintenance. The maintenance condition is handled in the
logic of the control application.
• 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; the maintenance console should be integrated
with the operator display.
TÜV strongly recommends that the workstation used for programming is not also used for
maintenance.

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 Alarm Usage on
page 58.
Table 3 describes the design requirements for handling maintenance overrides when using
serial communication.

Tricon v9 Systems Safety Considerations Guide


28 Chapter 2 Application Guidelines

Table 3 Design Requirements for Maintenance Override Handling


Responsible Person
Design Requirements
DCS TriStation
Control program logic and the controller Project Engineer, Project Engineer,
configuration determine whether the desired Commissioner Commissioner
signal can be overridden.
Control program logic and/or system Project Engineer Project Engineer,
configuration specify whether simultaneous Type Approval
overriding in independent parts of the application
is acceptable.
Controller activates the override. The operator Operator, Maintenance
should confirm the override condition. Maintenance Engineer,
Engineer Type Approval
Direct overrides on inputs and outputs are not Project Engineer Project Engineer,
allowed, but should be checked and implemented Type Approval
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.
DCS warns the operator about an override Project Engineer, N/A
condition. The operator continues to receive Commissioner
warnings until the override is removed.
A second way to remove the maintenance override Project Engineer
condition should be available.
If urgent, a maintenance engineer may remove the Maintenance
override using a hard-wired switch. Engineer,
Type Approval
During an override, proper operating measures Project Engineer,
should be implemented. The time span for Commissioner,
overriding should be limited to one shift (typically DCS, TriStation
no longer than eight hours). A maintenance
override switch (MOS) light on the operator
console should be provided (one per controller or
process unit).

Table 4 describes the operating requirements for handling maintenance overrides when using
serial communication.

Tricon v9 Systems Safety Considerations Guide


Guidelines for Tricon Controllers 29

Table 4 Operating Requirements for Maintenance Override Handling


Responsible Person
Operating Requirements
DCS TriStation
Maintenance overrides are enabled for an entire Operator, Maintenance
controller or for a subsystem (process unit). Maintenance Engineer, Type
Engineer Approval
Controller activates an override. The operator Operator, Maintenance
should confirm the override condition. Maintenance Engineer, Type
Engineer Approval
Controller removes an override. Operator, Maintenance
Maintenance Engineer
Engineer

Additional Recommendations
These procedures are recommended in addition to the recommendations described in the tables
on page 28 and page 29:
• 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. This figure shows the procedure:

Safety-Instrumented System

Controller

Sensors Actuators
Safeguarding
Application
Program

Hard- Maintenance
Override Handling Operator
Wired
(Application Program) Warning
Switch

Distributed
Engineering
Control System
Workstation
Inputs

Figure 6 PES Block Diagram

• 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.

Tricon v9 Systems Safety Considerations Guide


30 Chapter 2 Application Guidelines

— 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.
• For more information about maintenance override operation, please see the TÜV web
site at [Link]

Tricon v9 Systems Safety Considerations Guide


3
Fault Management

Overview 32
System Diagnostics 33
Types of Faults 34
Operating Modes 35
Module Diagnostics 36

Tricon v9 Systems Safety Considerations Guide


32 Chapter 3 Fault Management

Overview
The Tricon controller has been designed from its inception with self-diagnostics as a primary
feature. Triple-Modular Redundant (TMR) architecture (shown in Figure 7) 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.
Extensive diagnostics on each channel, module, and functional circuit quickly detect and report
operational faults by means of indicators or alarms. This 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.
This section discusses the methods for properly handling faults.
Auto Spare Auto Spare

Input I/O Bus Output


Channel Main Channel
A Processor A
TriBus A

Main TriBus
Input Output
Channel Processor I/O Bus Voter
B Channel
B B
Input Output
Termination TriBus Main Termination
Processor
Input I/O Bus Output
C
Channel Channel
C C

Figure 7 Typical Tricon System

Tricon v9 Systems Safety Considerations Guide


System Diagnostics 33

System Diagnostics
To 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.

Tricon v9 Systems Safety Considerations Guide


34 Chapter 3 Fault Management

Types of Faults
A controller is subject to external faults and internal faults, which are reported by:
• The status indicators on a module’s front panels
• The Triconex Diagnostic Monitor
• System attributes on the Controller 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 alarm. 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 Triconex Diagnostic Monitor 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 about operating modes, see Operating Modes on page 35.
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 v9 Systems Safety Considerations Guide


Operating Modes 35

Operating Modes
Each input or output point is considered to operate in one of three modes:

• Triple Modular Redundant • Dual Mode


• 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. For safety reasons,
system mode is defined as the mode of the point controlled by the fewest number of channels.
System variables summarize the status of input and output points. 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.
You can further simplify and customize shutdown logic by using special function blocks
provided by Triconex. By considering only faults in safety-critical modules, system availability
can be improved. Using shutdown function blocks is essential to preventing potential false trips
in dual mode and to guaranteeing fail-safe operation in single mode. For more information, see
Appendix B, Safety-Critical Function Blocks.
While operating in TMR mode, during each scan the process is protected 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 one 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. Safety-critical faults include:
• 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
Also, during each execution of the control application, each channel independently verifies the:
• Integrity of the data path between the MPs
• Proper voting of all input values
• Proper evaluation of the control application
• Calculated value of each output point

Tricon v9 Systems Safety Considerations Guide


36 Chapter 3 Fault Management

Module Diagnostics
Each system component detects and reports operational faults.

Digital Input (DI) 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 percent fault coverage and fail-safe operation under all single-fault
scenarios, and most common multiple-fault scenarios.

Digital Input Module Alarms


Digital input module faults are reported to the control application. These alarms can be used to
increase availability during specific multiple fault conditions. Loss of logic power is reported to
the control application.

Digital Output (DO) 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. The forced
state is maintained until the value is detected by the system or a time-out occurs (500
microseconds, typical case; 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 percent fault coverage and fail-safe operation
under all single-fault scenarios.

Digital Output Module Alarms


Digital output module faults are reported to the control application and can be used to increase
availability during specific multiple-fault conditions. Loss of logic power is reported to the
control application.
The inability of a digital output module to control an output point is reported to the control
application as a Load/Fuse alarm. This condition can result from a loss of field power or a field
short condition. The alarm can be used to modify the control strategy or direct effective
maintenance action.

Analog Input (AI) 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

Tricon v9 Systems Safety Considerations Guide


Module Diagnostics 37

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 nearly 100 percent fault coverage and fail-safe operation under all
single-fault scenarios and most common multiple-fault scenarios.

Analog Input Module Alarms


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

Analog Output (AO) 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 percent fault coverage and fail-safe
operation under all single-fault scenarios and most common multiple-fault scenarios.

Analog Output Module Field Alarms


Analog output module faults are reported to the control application. 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 application.

Pulse Input (PI) Modules


Pulse input module points use comparison diagnostics. Under system control, each channel is
independently compared against the measured value of all channels. If a mismatch is found, an
alarm is set. These diagnostics are executed independently by each channel, thus assuring
nearly 100 percent fault coverage and fail-safe operation under all single-fault scenarios and
most common multiple-fault scenarios.

Pulse Input Module Alarms


Pulse input module faults are reported to the control application. These alarms can be used to
increase availability during specific multiple-fault conditions. Loss of logic power is reported to
the control application.

Tricon v9 Systems Safety Considerations Guide


38 Chapter 3 Fault Management

Relay Output (RO) 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 application.

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 500 milliseconds (0.5 seconds), 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 application and can be
used to increase availability during specific multiple-fault conditions.

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.

Tricon v9 Systems Safety Considerations Guide


Module Diagnostics 39

An independent watchdog ensures that the control program and diagnostics execute within 500
milliseconds (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 and system attributes.

External communications are intended for transporting non-safety-


CAUTION critical data. The guidelines outlined in Using Serial Communication on
page 27 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.

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
and the following manuals:
• Advanced Communication Module (ACM) User's Guide
• Enhanced Intelligent Communication Module (EICM) User's Guide
• Network Communication Module (NCM) User's Guide
• Safety Manager Module User's Guide
• Hiway Interface Module (HIM) User's Guide
• Tricon System Access Application (TSAA) Quick Guide
• Tricon Planning & Installation Guide
• TriStation 1131 Triconex Libraries

Tricon v9 Systems Safety Considerations Guide


40 Chapter 3 Fault Management

Tricon v9 Systems Safety Considerations Guide


4
Application Development

Development Guidelines 42
Important TriStation Commands 44
Setting Scan Time 46
Sample Safety-Shutdown Programs 47
Alarm Usage 58

Tricon v9 Systems Safety Considerations Guide


42 Chapter 4 Application Development

Development Guidelines
To avoid corruption of project files while developing an application (also known as a control
program), you should:
• Use a dedicated PC that is not connected to a network.
• Use a good virus checker.
• Use dependable media, such as a CD-ROM instead of a floppy disk.
• Not use battery power if using a notebook computer.
• Not copy a project file while it is open in TriStation.
• Not e-mail project files.
• Not use a system prone to crashing.
• Verify proper installation of TriStation 1131 using 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. See the TriStation 1131
Developer's Guide for instructions on using the TriStation Install Check program.

Triconex Product Alert Notices (PANs)


Product Alert Notices document conditions that may affect the safety of your application. It is
essential that you read all current PANs before starting application development, and that you
keep up-to-date with any newly released PANs. All PANs can be found on the Triconex
Customer Support site at [Link] or contact Customer Support for
assistance (see page ix for contact information).

Safety and Control Attributes


Each element and tagname in TriStation 1131 has a safety attribute, and a control attribute. When
the safety attribute is set, TriStation 1131 provides extra verification. If you are developing a
safety application, you should set the safety attribute.

VAR_IN_OUT Variables
You should not use the VAR_IN_OUT variable in a safety application. Safety standards (such
as IEC 61508) recommend limiting the use of pointers in safety applications; VAR_IN_OUT is
used as a pointer in TriStation 1131. To automatically check for the use of VAR_IN_OUT in your
safety application, set the safety attribute (as described above).

Tricon v9 Systems Safety Considerations Guide


Development Guidelines 43

Array Index Errors


If an array index error is detected during runtime, the default behavior is to trap. This results in
the Tricon going to the safe state, with all outputs de-energized.
If your application requires some other behavior, you can use a CHK_ERR function block to
detect the error, and a CLR_ERR function block to clear the error and prevent a trap.
Note If an array index is too small or tool large, the array operation is performed on the last
element of the array. Array bounds checking is always turned on—there is no means to
disable the array index checking.
See the TriStation 1131 Libraries Reference for more information about the CHK_ERR and
CLR_ERR function blocks.

Infinite Loops
If the actual scan time exceeds the maximum allowable scan time for the Tricon, the main
processors will reset, causing the Tricon to go to the safe state, with all outputs de-energized.
The maximum allowable scan time for the Tricon is 450 milliseconds.
Although it is not possible to program an endless loop with TriStation 1131, it is possible to
create a loop with a very long time, enough to increase the actual scan time beyond the
controller’s maximum allowable scan time.
See Setting Scan Time on page 46 for more information about actual and maximum scan times.

Tricon v9 Systems Safety Considerations Guide


44 Chapter 4 Application Development

Important TriStation Commands


Several commands in TriStation 1131 Developer’s Workbench are of special interest when
developing a safety application:
• Download Change
• Verify Last Download to the Controller
• Compare to Last Download

Download Changes
The Download Changes command is a convenient means of making simple modifications to an
offline system during application development.

Download Changes is intended for offline use during application


WARNING development. If you use Download Changes to modify a safety-critical
application that is running online, 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 online changes to a controller, you should always


follow the guidelines provided in the TriStation 1131 Developer’s Guide
and fully understand the risks you are taking by using the Download
Changes command.

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

Do not attempt a Download Change if you have a negative Scan Surplus.


CAUTION First, adjust Scan Time to make the surplus value greater than or equal to
zero. Please note that adjusting the scan time of a running system may
degrade communication performance.

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

Verify Last Download to the Controller


Before you make changes to a project in TriStation, you should run the Verify Last Download
to the Controller command to verify that the project in TriStation matches the application
running in the controller. (You can find this command on the Commands menu on the
Controller Panel in TriStation.) This command compares the current application running in the
controller to a record of the last downloaded application. To use the Verify Last Download to
the Controller command, you must be able to connect to the controller using the Connect
command on the Controller panel in TriStation.

Tricon v9 Systems Safety Considerations Guide


Important TriStation Commands 45

For more information on the Verify Last Download to the Controller command, see the
TriStation 1131 Developer's Guide.

Compare to Last Download


After you have run the Verify Last Download to the Controller 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. (You can find this command on the Project menu
in TriStation.) To test the changes, use the Emulator Panel in TriStation.

Tricon v9 Systems Safety Considerations Guide


46 Chapter 4 Application Development

Setting Scan Time


Setting appropriate scan time for an application is essential to avoid improper controller
behavior. When changing an application running in an online 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 Program Execution List to suggest the desired
scan time before downloading an application—this is the Requested Scan Time. Upon
downloading, the controller determines the minimum and maximum allowable scan times for
your application and uses your requested scan time if it falls within the acceptable limits. The
default scan time is 200 milliseconds. The maximum allowable scan time is 450 milliseconds and
the minimum allowable scan time is 20 milliseconds (Tricon v9.5 and earlier) or 10 milliseconds
(Tricon v9.6 and later). 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.
Note To guarantee that the controller provides a deterministic repsonse time, the scan time
should always be set to a value greater than the I/O poll time (the maximum time
needed by the controller to obtain data from the input modules). You can view the I/O
poll time on the System Overview screen in the TriStation Diagnostic Monitor.

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 Commands menu in the Controller Panel) to set the surplus
value to greater than or equal to zero. The Scan Time parameter in the TriStation Program
Execution List applies only when you perform a Download All.

Scan Overruns
If Scan Surplus becomes negative and a scan overrun
SCAN_STATUS
occurs, the relevant status attributes are set as follows:
TR_SCAN_STATUS
• SCAN_OVERRUNS is incremented once for 1 C1 CO

each time that a longer scan time is needed. POWERUP


FIRSTSCAN

• SURPLUS_SCAN is set to a negative number to SCANREQUEST


SCANSURPLUS SCAN_SURPLUS
indicate the additional time period used by a SCANDELTA

scan overrun. DELTAT


SCANOVERRUN SCAN_OVERRUNS

For more information, see the TriStation 1131 001


KEYSWITCH

Developer’s Guide and the Triconex Libraries Reference.

Tricon v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 47

Sample Safety-Shutdown Programs


This section describes sample programs and methods for implementing safety-shutdown
networks.

When All I/O Modules Safety-Critical


The sample 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.
Note The sample program is an element of project ExTUV.pt2, included as part of the
TriStation 1131 installation. The default location of the project is C:\Documents and
Settings\<user>\My Documents\Triconex\TriStation 1131 4.1\Projects.
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 (3 days) 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.

The sample program called EX01_SHUTDOWN does not handle detected


CAUTION field faults, rare combinations of faults detected as field faults, or output
voter faults hidden by field faults. The control 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 EX02_SHUTDOWN.

Tricon v9 Systems Safety Considerations Guide


48 Chapter 4 Application Development

Program EX01_SHUTDOWN

CRITICAL_MODULES

TR_SHUTDOWN

CI CO
IO_CO OPERATIING CRITICAL_MODULES_OPERATING
IO_TMR TMR
IO_GE_DUAL DUAL
IO_GE_SINGLE SINGL
IO_NO_VOTER_FLTS ZERO
IO_ERROR TIMER_RUNNING
T#1500h MAX_TIME_DUAL TIME_LEFT
T#3d MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED ALARM_PROGRAMMING_PERMITTED
T#400ms MAX_SCAN_TIME ALARM_REMOTE_ACCESS ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS ALARM_DISABLED_POINTS
ERROR
001

Figure 8 EX01_SHUTDOWN Sample Program

CO false indicates a programming error; for example, MAX_TIME_SINGLE greater than


MAX_TIME_DUAL. The error number shows more detail.
Table 5 Input Parameters for TR_SHUTDOWN Function Block in EX01_SHUTDOWN

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 percent of the maximum response time

Tricon v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 49

Table 6 Output Parameters for TR_SHUTDOWN Function Block in EX01_SHUTDOWN

Parameter Description
CO Control out
OPERATING When true, all safety-critical modules are operating
properly
When 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 v9 Systems Safety Considerations Guide


50 Chapter 4 Application Development

Table 7 Alarm Output Parameter Operation in EX01_SHUTDOWN


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 v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 51

When Some I/O Modules Are 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.
Note The sample program is an element of project ExTUV.pt2, included as part of the
TriStation 1131 installation. The default location of the project is C:\Documents and
Settings\<user>\My Documents\Triconex\TriStation 1131 4.1\Projects.
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 40,000 days). The input
MAX_TIME_SINGLE specifies the maximum time allowed with one channel operating (three
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 SIL3/AK5 and
one hour for SIL3/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.

The EX02_SHUTDOWN sample program does not handle detected field


CAUTION 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 v9 Systems Safety Considerations Guide


52 Chapter 4 Application Development

Program EX02_SHUTDOWN

CRITICAL_MODULES
CRITICAL_IO TR_SHUTDOWN
EX02_CRITICAL_IO
CI CO
CI CO IO_CO OPERATING CRITICAL_MODULES_OPERATING
RELAY1_OK TMR IO_TMR TMR
GE_DUAL IO_GE_DUAL DUAL
GE_SINGLE IO_GE_SINGLE SINGL
NO_VOTER_FLTS IO_NO_VOTER_FLTS ZERO

001 ERROR IO_ERROR TIMER_RUNNING


T#1500h MAX_TIME_DUAL TIME_LEFT
T#3d MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED ALARM_PROGRAMMING_PERMITTED
T#400ms MAX_SCAN_TIME ALARM_REMOTE_ACCESS ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS ALARM_DISABLED_POINTS
ERROR
002

Figure 9 EX02_SHUTDOWN Sample Program

Table 8 Input Parameters for TR_SHUTDOWN Function Block in EX02_SHUTDOWN


Parameter Description
CI Control in
If false, then CO is false—no change in the output value
If 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 v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 53

Table 9 Output Parameters for TR_SHUTDOWN Function Block in EX02_SHUTDOWN


Parameter Description
CO Control out
OPERATING When true, all safety-critical modules are operating
properly
When 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 v9 Systems Safety Considerations Guide


54 Chapter 4 Application Development

Table 10 Alarm Output Parameter Operation in EX02_SHUTDOWN


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 v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 55

Defining Function Blocks


You can create your own user-defined function blocks for a safety-critical module:

Procedure
1 Copy the example EX02_CRITICAL_IO function block in the ExTUV.pt2 sample project
provided with the TriStation 1131 Developer’s Workbench.
2 Edit the lines following the comment “Include here all safety-critical I/O modules.”
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.

Table 11 Parameters for Safety-Critical Modules


Application Type Relay_OK
Description
(App) Parameter
RELAY True A voter fault degrades the mode to dual.
(de-energized to trip The relay provides a third channel for
with relay) 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
(de-energized to trip single. A non-voter fault degrades the
with relay) mode to dual.
DE-ENERGIZED — A voter fault degrades the mode to
(de-energized to trip single. A non-voter fault degrades the
with no relay) mode to dual.

Tricon v9 Systems Safety Considerations Guide


56 Chapter 4 Application Development

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
You do this by partitioning processes.

Procedure
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 57.

The EX03_SHUTDOWN sample program does not handle detected field


CAUTION 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 v9 Systems Safety Considerations Guide


Sample Safety-Shutdown Programs 57

Program EX03_SHUTDOWN

SHARED
SHARED_IO TR_SHUTDOWN
EX03_SHARED_IO CI CO
CI CO IO_CO OPERATING
RELAY1_OK TMR IO_TMR TMR
GE_DUAL IO_GE_DUAL DUAL
GE_SINGLE IO_GE_SINGLE SINGL
NO_VOTER_FLTS IO_NO_VOTER_FLTS ZERO

001 ERROR IO_ERROR TIMER_RUNNING


T#1500h MAX_TIME_DUAL TIME_LEFT
T#3d MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED ALARM_PROGRAMMING_PERMITTED
T#400ms MAX_SCAN_TIME ALARM_REMOTE_ACCESS ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS ALARM_DISABLED_POINTS
ERROR
002

PROCESS_1
PROCESS_1_IO TR_SHUTDOWN
EX03_PROCESS_1_IO
CI CO
AND PROCESS_1_
CI CO IO_CO OPERATING OPERATING
005
RELAY1_OK TMR IO_TMR TMR
GE_DUAL IO_GE_DUAL DUAL If PROCESS_1_OPERATING
GE_SINGLE IO_GE_SINGLE SINGL = FALSE, shut down
NO_VOTER_FLTS IO_NO_VOTER_FLTS ZERO process 1 because the
time in degraded mode
003 ERROR IO_ERROR TIMER_RUNNING
exceeds the specified limit
MAX_TIME_DUAL TIME_LEFT for safety-critical modules
T#1500h
MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED that affect process 1.
T#3d
MAX_SCAN_TIME ALARM_REMOTE_ACCESS
T#400ms
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR
004

PROCESS_2
PROCESS_2_IO TR_SHUTDOWN
EX03_PROCESS_2_IO
CI CO
AND PROCESS_2_
CI CO IO_CO OPERATING OPERATING
006
RELAY1_OK TMR IO_TMR TMR
GE_DUAL IO_GE_DUAL DUAL If PROCESS_2_OPERATING
GE_SINGLE IO_GE_SINGLE SINGL = FALSE, shut down
NO_VOTER_FLTS IO_NO_VOTER_FLTS ZERO process 2 because the
time in degraded mode
005 ERROR IO_ERROR TIMER_RUNNING
exceeds the specified limit
MAX_TIME_DUAL TIME_LEFT for safety-critical modules
T#1500h
MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED that affect process 2.
T#3d
MAX_SCAN_TIME ALARM_REMOTE_ACCESS
T#400ms
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR
006

Figure 10 EX03_SHUTDOWN Sample Program

Tricon v9 Systems Safety Considerations Guide


58 Chapter 4 Application Development

Alarm Usage
To implement the guidelines, the alarms described below are provided with TriStation 1131.

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
percent 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 operator that a point is disabled.

Tricon v9 Systems Safety Considerations Guide


A
Triconex Peer-to-Peer Communication

Overview 60
Data Transfer Time 61
Examples of Peer-to-Peer Applications 64

Tricon v9 Systems Safety Considerations Guide


60 Appendix A Triconex Peer-to-Peer Communication

Overview
Triconex Peer-to-Peer protocol is designed to allow multiple Tricon and Trident controllers in a
closed network to exchange safety-critical data. (If you plan to implement a complex Peer-to-
Peer network, please contact Triconex Technical Support.) To enable Peer-to-Peer
communication, you must connect each controller (also referred to as a node) to an Ethernet
network by means of a NET1 (Ethernet) port on the NCM. The controllers exchange data by
using Send and Receive function blocks in their TriStation

Peer-to-Peer Network

CM CM

Tricon
Controller
NN
MMM CC
P P P MM
A B C 1 2
MP MP
Trident Controller Trident Controller

applications.
Figure 11 Basic Triconex Peer-to-Peer Network

To configure a TriStation application for Peer-to-Peer communication, you must do the


following tasks:
• Configure the physical port connection for Peer-to-Peer mode
• Allocate memory for Send and Receive function blocks
• Add Send and Receive function blocks to your programs
• Observe restrictions on data transmission speed
In addition, Triconex recommends that you calculate the data transfer time to determine
whether your control algorithms will operate correctly. Instructions for performing this
calculation are provided on page 61.
The sample programs described in this appendix can be found in the Expeer.pt2 project
included as part of the TriStation 1131 installation. These programs show how to send data at
high speed and under controlled conditions.
For more detailed information on Triconex Peer-to-Peer communication, please refer to the
Tricon Communication Guide.

Tricon v9 Systems Safety Considerations Guide


Data Transfer Time 61

Data Transfer Time


In a Peer-to-Peer application, data transfer time includes the time required to initiate a send
operation, send the message over the network, and have the message read by the receiving
node. Additional time (at least two scans) is required for a sending node to get an
acknowledgment from the MPs that the message has been acted on.
These time periods are a function of the following parameters of the sending and receiving
controllers:
• Scan time
• Configuration size
• Number of bytes for aliased variables
• Number of SEND function blocks, RECEIVE function blocks, printing function blocks,
and Modbus master function blocks
• Number of controllers (nodes) on the Peer-to-Peer network
Send function blocks require multiple scans to transfer data from the sending controller to the
receiving controller. The number of send operations initiated in a scan is limited to 5. The
number of pending send operations is limited to 10.

Estimating Memory for Peer-to-Peer Data Transfer Time


This procedure explains how to estimate memory for Peer-to-Peer data transfer time between a
pair of Triconex controllers (nodes). The more memory allocated for aliased points the slower
the transfer time.

Procedure
1 In TriStation, on the sending controller, expand the Controller tree, and double-click
Configuration. On the Configuration tree, click Memory Allocation.
2 Find the bytes allocated for BOOL, DINT, and REAL points by doing this:
• On the Configuration tree, click Memory Points, Input Points, or Output Points.
Double-click the graphic for the point type.
• Add the number of bytes allocated for all BOOL input, output, and aliased memory
points. Enter the number on step 1 of the following worksheet. Enter the number for
DINT and REAL points on step 1.
3 On the receiving controller, get the BOOL, DINT, and REAL points and enter the
numbers on step 3 of the Data Transfer Time worksheet.

Estimating the Data Transfer Time


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 v9 Systems Safety Considerations Guide


62 Appendix A Triconex Peer-to-Peer Communication

Table 12 Data Transfer Time Formula Parameters


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

Procedure
1 Use the instructions in the following worksheet to estimate the transfer time.

Point Allocated
Steps Operation Result
Type Bytes
1. Enter the number of bytes for each BOOL _________ ÷8= _________
point type on the sending controller and
divide or multiply as indicated. Add the DINT _________ x4= _________
results. REAL _________ x4= _________
Total bytes of aliased points TBS = _________
2. Multiple total bytes sending TBS (step 1) by 0.01 TS = _________
3. Enter the number of bytes for each BOOL _________ ÷8= _________
point type on the receiving controller and
DINT _________ x4= _________
divide or multiply as indicated. Add the
results. REAL _________ x4= _________
Total bytes of aliased points TBR = _________
4. Multiple total bytes receiving TBR (step 3) by 0.01 TR = _________
5. Get the scan time of sending node in milliseconds by viewing _________
SS =
the Scan Time in the Execution List.
6. Get the scan time of receiving node in milliseconds by viewing _________
SR =
the Scan Period in the Execution List.
7. Multiply the larger of TS or SS by 2. _________
8. Multiply the larger of TR or SR by 2. _________
9. Add the results of step 7 and 8 to get the data transfer time = DT _________
10. If the number of pending send requests in the application is
greater than 10, divide the number of send requests by 10. _________
11. Multiply the results of steps 9 and 10 to get the adjusted data Adjusted
transfer time. DT _________
12. Compare the adjusted DT to the process-tolerance time to determine if it is
acceptable.

Tricon v9 Systems Safety Considerations Guide


Data Transfer Time 63

A typical data transfer time (based on a typical scan time) is 1 to 2 seconds, and the time-out
limit for a Peer-to-Peer send (including three retries) is 5 seconds. Consequently, the process-
tolerance time of the receiving controller must be greater than 5 seconds. Process-tolerance time
is the maximum length of time that can elapse before your control algorithms fail to operate
correctly. If these limitations are not acceptable, further analysis of your process is required.
For an example that shows how to measure the maximum data transfer time and use
SEND/RECEIVE function blocks to transfer-safety critical data, see Example 4: Using
SEND/RECEIVE Function Blocks for Safety-Critical Data on page 65. While testing your
system, you should measure the actual maximum time it takes to transfer data to ensure the
validity of your calculations.
As Table 12 shows, it takes from two 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 verify that new data is received within the specified time
period. If the data is not received within the specified process-tolerance time, the application
must take appropriate actions depending on requirements.
For an example that shows how to use SEND and RECEIVE function blocks for transferring
safety critical data, see Example 4: Using SEND/RECEIVE Function Blocks for Safety-Critical
Data on page 65.
Refer to the TriStation 1131 Libraries Reference for additional information.

Tricon v9 Systems Safety Considerations Guide


64 Appendix A Triconex Peer-to-Peer Communication

Examples of Peer-to-Peer Applications


Triconex Peer-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 SEND function block in such a way that each
SEND is initiated only when the acknowledgment for the last SEND is received and new data
is available for sending. You can do this through effective use of the SENDFLG parameter in the
SEND function block and the STATUS output of the SEND function block, as shown in
Examples 3 and 4.
The examples described below can be found in the Expeer.pt2 project included as part of the
TriStation 1131 installation.

Example 1: Fast Send to One Triconex Node


This example shows how to send 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)

Example 2: Sending Data Every Second to One Node


This example shows how to send 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)

Example 3: Controlled Use of SEND/RECEIVE Function Blocks


This example shows how to use SEND/RECEIVE 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)

Tricon v9 Systems Safety Considerations Guide


Examples of Peer-to-Peer Applications 65

Example 4: Using SEND/RECEIVE Function Blocks for Safety-Critical Data


This example shows how to use SEND/RECEIVE 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 use two NCMs and two Peer-to-Peer
networks. However, this is for availability reasons only, and is not necessary if you have already
included in your safety logic that a loss of communications will cause a shutdown of the process
under safety control.

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 SEND function block in the application, meeting
the requirement to have five or fewer SEND function blocks. The sendflag is on in the
SEND function block so that, as soon as the last SEND is acknowledged by the
receiving controller, the sending controller initiates another SEND.

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
• Estimated data transfer time = 2 * 150 + 2 * 250 = 800 milliseconds.
If the sending controller does not receive acknowledgment from the receiving controller in one
second, it automatically retries the last TR_USEND message. Because of network collisions,
communication bus loading, etc., the sending controller occasionally has to retry once to get the
message to the receiving node. This is why the general rule for data transfer time is one to two
seconds, even though the estimated time is 800 milliseconds.
The receiving node has a network to measure the actual time so you can validate the assumed
two-second maximum transfer time. Since the process-tolerance time of the receiving node is
four seconds, the maximum time-out limit is set to two seconds (half the process-tolerance
time). The receiving node should receive at least one data transfer within the maximum time-
out limit. Using this criteria meets the basic requirement for using peer-to-peer communication
to transfer safety-critical data.

Tricon v9 Systems Safety Considerations Guide


66 Appendix A Triconex Peer-to-Peer Communication

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 SEND is initiated. The receiving node
checks the diagnostic variable to verify that it has changed from the previous value received.
The receiving node also determines whether it has received at least one data transfer 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 v9 Systems Safety Considerations Guide


B
Safety-Critical Function Blocks

TR_CRITICAL_IO 69
TR_SHUTDOWN 75
TR_VOTE_MODE 81

Tricon v9 Systems Safety Considerations Guide


68 Appendix B Safety-Critical Function Blocks

Overview
This appendix describes the function blocks intended for use in safety-critical applications and
shows the Structured Text code for the following function blocks:
• TR_CRITICAL_IO on page 69
• TR_SHUTDOWN on page 75
• TR_VOTE_MODE on page 81

Tricon v9 Systems Safety Considerations Guide


TR_CRITICAL_IO 69

TR_CRITICAL_IO
Accumulates the status of safety-critical I/O modules in a Tricon controller.

Syntax
MY_TR_CRITICAL_IO( CI:=b1, INIT:=b2, CHASSIS:=n1, SLOT:=n2, APP:=n3,
RELAY_OK:=b3 ) ;

Input Parameters
Name Data Type Description
CI BOOL Enables TR_CRITICAL_IO.
INIT BOOL Initializes TR_CRITICAL_IO.
CHASSIS DINT The chassis number (1–15).
SLOT DINT The physical slot number.
APP DINT The application number (1-2).
RELAY_OK BOOL The relay is energized and not stuck.

Output Parameters
Name Data Type Description
CO BOOL True if TR_CRITICAL_IO executes successfully.
TMR BOOL Three channels are operating without fatal faults on critical I/O
modules detected.
GE_DUAL BOOL Two channels are operating without fatal faults on critical I/O
modules detected.
GE_SINGLE BOOL At least one channel is operating without faults on critical I/O
modules detected.
NO_VOTER_FLTS BOOL No voter faults on critical I/O modules detected.
ERROR DINT Error Number:
0 = No error.
–1 The slot is not odd or not numbered 1–15.
–2 = Invalid chassis or slot.
–3 = The module is not configured.
–4 = An invalid application number is used.
–5 = Not initialized.

Description
The TR_CRITICAL_IO function block accumulates the status of all safety-critical I/O modules
in a Tricon controller.

Tricon v9 Systems Safety Considerations Guide


70 Appendix B Safety-Critical Function Blocks

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.
2 To complete initialization, invoke TR_CRITICAL_IO again with these input settings:
• INIT := FALSE
• CI := TRUE
• APP := DE_ENERGIZED
• RELAY_OK := FALSE
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 this 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);
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.

Example
For shutdown examples, see this sample project:
My Documents\Triconex\TriStation 1131 4.0\Projects\ExTUV.pt2

Tricon v9 Systems Safety Considerations Guide


TR_CRITICAL_IO 71

Runtime Errors

Condition Return Value Error Flags


If ERROR_NUM is non-zero Reset all BOOL outputs to false BADPARAM, ERROR

Upon detection of a runtime error condition, the function block returns the indicated values and
sets the error flags to true. For more information about error flags and runtime errors, see the
CHK_ERR function block in the Triconex Libraries Reference.

Application Notes
• Can be used in Safety or Control applications.

Library
Tricon (TR1LIB/TX1LIB)

Structured Text

FUNCTION_BLOCK TR_CRITICAL_IO
VAR_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_VAR
VAR_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_VAR
VAR
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. *)

Tricon v9 Systems Safety Considerations Guide


72 Appendix B Safety-Critical Function Blocks

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
* 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 single 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 := [Link] ;

Tricon v9 Systems Safety Considerations Guide


TR_CRITICAL_IO 73

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) ;
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 ;

Tricon v9 Systems Safety Considerations Guide


74 Appendix B Safety-Critical Function Blocks

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 v9 Systems Safety Considerations Guide


TR_SHUTDOWN 75

TR_SHUTDOWN
Enables a Tricon system shutdown according to industry guidelines.

Syntax
MY_TR_SHUTDOWN( CI:=b1, IO_CO:=b2, IO_TMR:=b3, IO_GE_DUAL:=b4,
IO_GE_SINGLE:=b5, IO_NO_VOTER_FLTS:=b6, IO_ERROR:=n1, MAX_TIME_DUAL:=t1,
MAX_TIME_SINGLE:=t2, MAX_SCAN_TIME:=t3 ) ;

Input Parameters
Name Data Type Description
CI BOOL Enables TR_SHUTDOWN.
IO_CO BOOL True if TR_SHUTDOWN executes successfully.
IO_TMR BOOL Three channels are operating without fatal faults detected.
IO_GE_DUAL BOOL Two channels are operating without fatal faults detected.
IO_GE_SINGLE BOOL One channel is operating without fatal faults detected.
IO_NO_VOTER_FLTS BOOL No failed critical modules detected.
IO_ERROR DINT Zero = no error.
Non-zero = programming or configuration error.
MAX_TIME_DUAL TIME The maximum time of continuous operation in dual mode
(two channels operating).
MAX_TIME_SINGLE TIME The maximum time of continuous operation in single mode
(one channel operating).
MAX_SCAN_TIME TIME 50% of the maximum response time.

Output Parameters
Name Data Type Description
CO BOOL True if TR_SHUTDOWN executes
successfully.
OPERATING BOOL If false, shut down.
TMR BOOL Three channels are operating.
DUAL BOOL Two channels are operating.
SINGL BOOL One channel is operating.
ZERO BOOL No channels are operating.
TIMER_RUNNING BOOL The shutdown timer is running
TIME_LEFT TIME The 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.

Tricon v9 Systems Safety Considerations Guide


76 Appendix B Safety-Critical Function Blocks

Output Parameters (continued)


Name Data Type Description
ALARM_RESPONSE_TIME BOOL True if actual scan time is greater than or
equal to MAX_SCAN_TIME.
ALARM_DISABLED_POINTS BOOL True if one or more points are disabled.
ERROR DINT Error Number:
0 No error.
1= Error in maximum time.
2= Error in I/O function block
(IO_ERROR input is non-zero).
3= Error in status function block.

Description
The TR_SHUTDOWN function block enables a Tricon system shutdown according to industry
guidelines.

Example
For shutdown examples, see this sample project:
My Documents\Triconex\TriStation 1131 4.0\Projects\ExTUV.pt2

Runtime Errors

Condition Return Value Error Flags


If ERROR is non-zero Set alarm outputs to true, reset the other BOOL BADPARAM, ERROR
outputs to false, and reset TIME_LEFT to zero.

Upon detection of a runtime error condition, the function block returns the indicated values and
sets the error flags to true. For more information about error flags and runtime errors, see the
CHK_ERR function block.

If a programming error or configuration error occurs, then CO is false and the error number is
non-zero. For error numbers, see the description of the ERROR output.

Application Notes
• Can be used in Safety or Control applications.

Library
Tricon (TR1LIB/TX1LIB)

Tricon v9 Systems Safety Considerations Guide


TR_SHUTDOWN 77

Structured Text

FUNCTION_BLOCK TR_SHUTDOWN
VAR_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_VAR
VAR_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_VAR
VAR
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:
*
* Example EX01_SHUTDOWN shows one way to check that
* the safety system is operating within spec when

Tricon v9 Systems Safety Considerations Guide


78 Appendix B Safety-Critical Function Blocks

* 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===============================================================================
*)

IF CI THEN
(* Get Status *)
MP( CI := TRUE ) ;

Tricon v9 Systems Safety Considerations Guide


TR_SHUTDOWN 79

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 ([Link] AND [Link] AND [Link]) THEN
ERROR := 3 ;
END_IF ;

CO := ERROR = 0 ;

IF CO THEN
(* Summarize redundancy. *)
TMR := NOT [Link] AND
(
NOT IO_CO AND NOT [Link]
OR IO_CO AND IO_TMR
);

GE_DUAL := NOT [Link] AND


(
NOT IO_CO AND NOT [Link]
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 ;
TIMER_RUNNING := OPERATING AND NOT TMR ;

(* Output time remaining to shutdown. *)


IF NOT OPERATING THEN

Tricon v9 Systems Safety Considerations Guide


80 Appendix B Safety-Critical Function Blocks

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 := [Link] = 1 (*1=PROGRAM*) ;
ALARM_REMOTE_ACCESS := [Link] <> 2 ; (*2=RUN*)
ALARM_RESPONSE_TIME := T#1ms * [Link] > 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 v9 Systems Safety Considerations Guide


TR_VOTE_MODE 81

TR_VOTE_MODE
Converts redundancy status.

Syntax
MY_TR_VOTE_MODE( CI:=b1, IN_TMR:=b2, GE_DUAL:=b3, GE_SINGLE:=b4 ) ;

Input Parameters
Name Data Type Description
CI BOOL Enables TR_VOTE_MODE.
IN_TMR BOOL Three channels are operating.
GE_DUAL BOOL Two or more channels are operating.
GE_SINGLE BOOL One or more channels are operating.

Output Parameters
Name Data Type Description
CO BOOL True if TR_VOTE_MODE executes successfully.
TMR BOOL Three channels are operating.
DUAL BOOL Two or more channels are operating.
SINGL BOOL One or more channels are operating.
ZERO BOOL No channels are operating.

Description
The TR_VOTE_MODE function block converts redundancy status, as shown in this truth table.

Truth Table
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 F F F F

1. If an error in the inputs occurs, then CO is false, the mode


outputs are false, and the function block reports a bad
parameter error (BADPARAM).

Note GE_ means greater than or equal to.

Tricon v9 Systems Safety Considerations Guide


82 Appendix B Safety-Critical Function Blocks

Example
For shutdown examples, see this sample project:
My Documents\Triconex\TriStation 1131 4.0\Projects\ExTUV.pt2

Runtime Errors

Condition Return Value Error Flags


If the inputs do not match one of the first Reset all BOOL outputs to false BADPARAM, ERROR
four rows of the truth table

Upon detection of a runtime error condition, the function block returns the indicated values and
sets the error flags to true. For more information about error flags and runtime errors, see the
CHK_ERR function block in the Triconex Libraries Reference.

Application Notes
• Can be used in Safety or Control applications.
• Space Saver: a single instance can be executed more than once per scan to reduce
memory usage and increase performance. For directions, see the Triconex Libraries
Reference.

Library
Tricon (TR1LIB/TX1LIB)

Structured Text
FUNCTION_BLOCK TR_VOTE_MODE
VAR_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_VAR
VAR_OUTPUT
CO : BOOL ; (* Control out. *)
TMR : BOOL ; (* Triple Modular Redundant. *)
DUAL : BOOL ; (* Dual mode. *)
SINGL : BOOL ; (* Single mode. *)
ZERO : BOOL ; (* Zero mode. *)
END_VAR
VAR
U : BOOL ; (* Unused Value. *)
END_VAR

(*
*=F===============================================================================
* FUNCTION_BLOCK: TR_VOTE_MODE
* Purpose: Convert redundancy status.
*
* Return: none
*

Tricon v9 Systems Safety Considerations Guide


TR_VOTE_MODE 83

* 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 v9 Systems Safety Considerations Guide


84 Appendix B Safety-Critical Function Blocks

Tricon v9 Systems Safety Considerations Guide


Index

A communication
abbreviations, list of viii external 39
actual scan time 46 serial 27
alarms Compare to Last Download command 45
analog input module 37 CSA C22.2 NO 199 14
analog output module 37 customer support ix
digital input module 36
digital output modules 36 D
disabled points 21, 58 data transfer time 61–66
I/O modules 38 DCS programs, recommendations 29
output operation 53
design requirements 28
programming permitted 58
development guidelines 42
pulse input module 37
relay output module 38 diagnostics
remote access 58 analog input module 36
semaphore flags 39 analog output module 37
system attributes 39 digital input module 36
digital output module 36
analog input module
disable output voter 21
alarms 37
pulse input module 37
diagnostics 36
relay output module 38
analog output module
system 33
alarms 37
digital input module
diagnostics 37
alarms 36
analysis, hazard and risk 5
diagnostics 36
ANSI/ISA S84.01 13
digital output module
application-specific standards 13, 14 alarms 36
architecture, system 32 diagnostics 36
array index errors 43 DIN V 19250 12
DIN V VDE 0801 12
B DIN VDE 0116 13
burner management systems, guidelines 19 disable output voter diagnostics 21
bus, Tribus 32 disabled points alarms 21, 58
Download All command 21
C Download Change command 44
calculating PFDavg , equation for sensors 7
calculations, SIL examples 7 E
certification, TÜV Rheinland 17 emergency shutdown systems, guidelines 19
change control 26 EN 54, part 3 13
commands equations, calculating PFDavg for sensors 7
Compare to Last Download 45 EX01_shutdown program 48
Download All 21 EX02_shutdown program 52
Download Change 44 EX03_shutdown program 57
Verify Last Download to Controller 44
external communication 39

Tricon v9 Systems Safety Considerations Guide


86 Index

external faults 34 input module diagnostics


analog 36
F digital 36
pulse 37
factors
SIL 4 internal faults 34
SIS 4, 5
faults K
external 34 keyswitch settings 23
internal 34
safety-critical 35 L
types 34
layers, protection 5
fire and gas systems, guidelines 19
flags, semaphore 39
M
function blocks
TR_URCV 66 Main Processor, Tribus 38
TR_USEND 66 maintenance overrides
Triconex Peer-to-Peer 64–66 design requirements for handling 28
guidelines 27–30
functions, Modbus master 21
methods for 27
operating requirements for handling 29
G Modbus master functions 21
guidelines modes, operating 35
all safety systems 18 module alarms
burner management systems 19 analog input 37
development 42 analog output 37
emergency shutdown systems 19 digital input 36
fire and gas systems 19 digital output 36
general 18 I/O 38
maintenance overrides 27–30 pulse input 37
SIL 23–26 relay output 38
SIL fire and gas 24, 26
module diagnostics
SIL general 23, 25
analog input 36
Tricon controller 20
analog output 37
digital input 36
H digital output 36
hazard and risk analysis 5 pulse input 37
HAZOP 5 relay output 38
module faults, I/O 38
I module processors, I/O 38
I/O bus modules
faults 38 safety-critical 20
integrity of 38 system-critical shutdown program for all 47
I/O modules system-critical shutdown program for some 51
alarms 38
processors 38 N
status 69 NFPA 72 13
system-critical 47 NFPA 8501 13
IEC 61508, parts 1–7 12 NFPA 8502 13
infinite loops 43
input module alarms O
analog 37
operating modes 35
digital 36
pulse 37

Tricon v9 Systems Safety Considerations Guide


Index 87

output module alarms R


analog 37 relay output module
digital 36 alarms 38
relay 38 diagnostics 38
output module diagnostics remote access alarms 58
analog 37 Remote mode 23
digital 36 requested scan time 46
relay 38
requirements, design 28
output operation alarms 53
response time and scan time 21, 58
output parameters 49
risk probability 6
output voter diagnostics 21
risk reduction factor 6
OVD, See output voter diagnostics
risks, described 6
overrides, maintenance 27
overrides, maintenance guidelines 27–30
overrun, scan 46
S
overview, safety 5 safety
attribute 42
methods 2
P overview 5
parameters, output 49 requirement specifications 10
partitioning processes 55 safety integrity levels, See SILs
Peer-to-Peer communication safety life cycle
description of function blocks for 60 model 9
overview 21, 60 PES steps 10–11
Peer-to-Peer function blocks safety systems, guidelines 18
data transfer time 61 safety-critical
errors 63 faults 35
examples 64 modules 20
rules for correct usage 60 safety-instrumented systems, See SISs
using with critical data 22
safety-shutdown
permitted alarms, programming 58 networks 21
PFDavg for sensors, equation for calculating 7 overview 21
points, disabled 58 programs for all system-critical I/O modules
processes, partitioning 55 modules 47
processors, I/O modules 38 programs for some system-critical I/O modules 51
Product Alert Notices 42 scan overrun 46
Program mode 23 scan surplus 44, 46
programmable electronic systems 4 scan time
programming permitted alarms 58 actual 46
programs allowable exceeded 43
EX01_shutdown 48 overview 46
EX02_shutdown 52 requested 46
EX03_shutdown 57 response time and 21, 58
recommendations for DCS programs 29 semaphore flags 39
safety-shutdown for all system-critical I/O SEND function, peer-to-peer communication 22
modules 47 sensors, equation for calculating PFDavg 7
safety-shutdown for some system-critical I/O serial communication 27
modules 51 serial communication, operating requirements 29
project change and control 26 shutdown
protection layers 3, 5 programs for all system-critical I/O modules 47
pulse input module programs for some system-critical I/O modules 51
alarms 37 safe 21
diagnostics 37 system emergencies 19

Tricon v9 Systems Safety Considerations Guide


88 Index

shutdown (continued) W
TR_CRITICAL_IO function block 69 watchdog period 38
TR_SHUTDOWN function block 75
TR_VOTE_MODE 81
SILs
calculation examples 7
determining 6, 8
factors 4
fire and gas guidelines 24, 26
guidelines 23–26
SIS factors 4, 5
specifications, safety requirements 10
standards
application-specific 13, 14
general safety 12–13
relation to SILs 6
status, critical I/O modules 69
surplus, scan 46
system
architecture 32
attributes as alarms 39
availability 6
burner management 19
diagnostics 33
emergency shutdown 19
fire and gas 19
system-critical I/O modules
safety-shutdown program for all 47
safety-shutdown program for some 51

T
technical support ix
time, scan 46
TMR architecture 32
TR_CRITICAL_IO function block 69
TR_SHUTDOWN function block 75
TR_URCV function blocks 64–66
TR_USEND function blocks 64–66
TR_VOTE_MODE function block 81
training viii
Tribus
Main Processor 38
system architecture 32
Triconex contact information viii
Triconex Peer-to-Peer function blocks 64–66
TÜV Rheinland certification 17
types of faults 34

V
VAR_IN_OUT variables 42
Verify Last Download to Controller command 44
voter diagnostics, disable output 21

Tricon v9 Systems Safety Considerations Guide

You might also like