Beruflich Dokumente
Kultur Dokumente
Safety Considerations
Guide
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 Invensys Systems, Inc.
2006-2011 by Invensys Systems, Inc. All rights reserved.
Invensys, the Invensys logo, Triconex, Tricon, Trident, and TriStation are trademarks of Invensys plc, its
subsidiaries and affiliates. All other brands may be trademarks of their respective owners.
Contents
Preface
vii
Summary of Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii
Abbreviations Used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Product and Training Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
We Welcome Your Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Chapter 1
Safety Concepts
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
TV Rheinland Certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
All Safety Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Emergency Shutdown Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Burner Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Fire and Gas Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Guidelines for Tricon Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Safety-Critical Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Safety-Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Response Time and Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Disabled Points Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Disabled Output Voter Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Download All at Completion of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Modbus Master Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Triconex Peer-to-Peer Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
iv
Contents
SIL3/AK5 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
AK6 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Periodic Offline Test Interval Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Project Change and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Maintenance Overrides. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Safety System Boundary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Chapter 3
Fault Management
33
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
System Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Types of Faults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
External Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Internal Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Module Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Digital Input (DI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Digital Output (DO) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Analog Input (AI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Analog Output (AO) Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Pulse Input (PI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Relay Output (RO) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Input/Output Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Main Processor and TriBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
External Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapter 4
Application Development
43
Development Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Invensys Product Alert Notices (PANs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Safety and Control Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
VAR_IN_OUT Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Array Index Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Important TriStation 1131 Software Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Download Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Verify Last Download to the Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Compare to Last Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Setting Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Scan Surplus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Sample Safety-Shutdown Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
When All I/O Modules Safety-Critical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
When Some I/O Modules Are Safety-Critical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Defining Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Partitioned Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Contents
Alarm Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Programming Permitted Alarm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Remote Access Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Response Time and Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Disabled Points Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
61
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Data Transfer Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Estimating Memory for Peer-to-Peer Data Transfer Time. . . . . . . . . . . . . . . . . . . . . . 63
Estimating the Data Transfer Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Examples of Peer-to-Peer Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Example 1: Fast Send to One Triconex Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Example 2: Sending Data Every Second to One Node . . . . . . . . . . . . . . . . . . . . . . . . . 66
Example 3: Controlled Use of SEND/RECEIVE Function Blocks . . . . . . . . . . . . . . . 66
Example 4: Using SEND/RECEIVE Function Blocks for Safety-Critical Data. . . . . 67
69
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
HART Position Paper from TV Rheinland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
79
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
GATDIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
GATENB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
TR_CRITICAL_IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
TR_SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
TR_VOTE_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Index
101
vi
Contents
Preface
This guide provides information about safety concepts and standards that apply to the Tricon
controller. This document replaces all previous versions of the Safety Considerations Guide for
Tricon Systems.
Summary of Sections
Related Documents
viii
Chapter
Abbreviations Used
The TriStation 1131 Developers Workbench is hereafter called TriStation 1131 software.
The following list provides full names for abbreviations of safety terms used in this guide.
BPCS
ESD
Emergency shutdown
HAZOP
MOC
Management of change
MTBF
PES
PFDavg
PHA
PSM
RMP
RRF
SFF
SIL
SIS
Safety-instrumented system
SOV
Solenoid-operated valve
SRS
SV
Preface
ix
Technical Support
Customers in the U.S. and Canada can obtain technical support from the Invensys Global
Customer Support (GCS) Center at the numbers below. International customers should contact
their regional support center.
Requests for support are prioritized as follows:
Requests from participants in the System Watch Agreement (SWA) and customers with
purchase order or charge card authorization are given next priority
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
Web Site
http://support.ips.invensys.com (registration required)
E-mail
iom.support@invensys.com
Chapter
A brief description of the content you are referring to (for example, step-by-step
instructions that are incorrect, information that requires clarification or more details,
missing information that you would find helpful)
Your name, company name, job title, phone number and e-mail address
1
Safety Concepts
Overview
Safety Standards
12
Application-Specific Standards
13
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:
Overview
Protection Layers
Methods that provide layers of protection should be:
Independent
Verifiable
Dependable
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.
Figure 1
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:
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
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.
AK 8
99.999
0.00001
99.99
0.0001
>10,000
99.90
0.001
10,000
1,000
99.00
0.01
90.00
0.1
Percent
Availability
PFDavg
SIL 4
AK 7
SIL 3
SIL 3
AK 6
AK 5
1,000
100
SIL 2
SIL 2
AK 4
AK 3
100
10
SIL 1
SIL 1
AK 2
AK 1
ANSI/ISA
S84.01
IEC
61508
RRF
Risk Measures
Figure 2
Note
DIN V
19250
Risk Standards
DIN V 19250 was withdrawn in August 2004. It is not applicable to Tricon v10 systems,
only Tricon v9 systems.
Chapter 1
Safety Concepts
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.
Equipment damage
Property damage
Environmental impact
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 companys or a competitors
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.
Figure 3
* 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 TV Rheinland. The numbers presented here (and in the following tables)
are typical. Exact numbers should be calculated for each specific system configuration. Contact
Invensys for details on calculation methods and options related to the Tricon controller.
Safety Integrated System
3 Pressure
Transmitters (2oo3)
Sensors
TMR Controller
(2oo3)
2 Block Valves
in Series (1oo2)
PES/Logic Solver
Final Elements
3 Temperature
Transmitters (2oo3)
Figure 4
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
Description
Equation
Sensors
To calculate
PFDavg for
sensors (2oo3)
PFDavg = (DU*TI)2
+ 1/2**DU*TI
= failure rate
DU=dangerous, undetected failure rate
TI= test interval in hours
= common cause factor
Block
Valves
To calculate
PFDavg for
block valves
(1oo2) in series
(final elements)
PFDavg = 1/3(DU*TI)2
+ 1/2**DU*TI
= failure rate
DU=dangerous, undetected failure rate
TI= test interval in hours
= common cause factor
System
To calculate
PFDavg for a
system
System PFDavg =
Sensors PFDavg +
Block Valves PFDavg +
Controller PFDavg
Note
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
DU
TI
PFD
.03
2.0E-06
4380
2.1E-04
.03
2.6E-06
4380
3.0E-04
Result
5.1E-04
.02
2.2E-06
4380
1.3E-04
1.3E-04
4380
1.0E-05
0.1E-04
6.5E-04
For additional information on SIL assignment and SIL verification, visit the Premier Consulting
Services web site at http://www.premier-fs.com.
Perform process
hazard analysis
and risk
assessment
Apply non-SIS
protection layers to
prevent identified
hazards or reduce
risk
Establish operation
and maintenance
procedure
(Step 5)
Develop safety
requirements
document
Pre-start-up
safety review
assessment
(Step 1)
(Step 6)
Perform SIS
conceptual
design and verify
it meets the SRS
SIS start-up
operation,
maintenance,
periodic functional
testing
(Step 2)
(Steps 7 and 8)
Perform SIS
detail design
(Step 3)
Modify
No
EXIT
SIS
required?
SIS installation,
commissioning,
and pre-startup
acceptance test
Yes
Define target SIL
Modify or
decommission
SIS?
Decommission
(Step 4)
SIS
decommissioning
(Step 9)
S84.01 Concern
(Step 3)
Figure 5
10
Chapter 1
Safety Concepts
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).
General requirements
Field devices
Interfaces
Energy sources
System environment
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
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.
When online testing is required, test facilities shall be an integral part of the SIS
design.
Develop a pre-start-up acceptance test procedure that provides a fully functional test of
the SIS to verify conformance with the SRS.
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
Functional testing
Start-up
Operations
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.)
Decommission an SIS before its permanent retirement from active service, to ensure
proper review.
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.
DIN V 19250 was withdrawn in August 2004. It is not applicable to Tricon v10 systems,
only Tricon v9 systems.
Design
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.
Note
DIN V 19250 and DIN V VDE 0801 were withdrawn in August 2004. They are not
applicable to Tricon v10 systems, only Tricon v9 systems.
Safety Standards
13
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.
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.
Note
DIN V 19250 was withdrawn in August 2004. It is not applicable to Tricon v10 systems,
only Tricon v9 systems.
Application-Specific Standards
EN 50156
EN 50156 Electrical equipment for furnaces and ancillary equipment outlines the European
requirements for burner management applications.
EN 54, Part 2
EN 54, Part 2, 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.
14
Chapter 1
Safety Concepts
NFPA 85
NFPA 85, Boiler and Combustion Systems Hazards Code, outlines the United States
requirements for operations using single burner boilers and multiple burner boilers.
2
Application Guidelines
Overview
16
TV Rheinland Certification
16
General Guidelines
17
19
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.
Note
The guidelines in this chapter do not apply to nuclear 1E applications. For Tricon v9.x
systems used in nuclear 1E applications, see the Equipment Qualification Summary Report
for Tricon v9 systems, Document Number 7286-545. For Tricon v10.x systems used in
nuclear 1E applications, see the Equipment Qualification Summary Report for Tricon v10
systems, Document Number 9600164-545. Contact the Invensys Global Customer
Support (GCS) Center center to obtain these documents.
Guidelines that apply specifically to the Tricon controller, including SIL3/AK5 and AK6
guidelines, are also provided. Project change control guidelines and maintenance override
considerations can be found at the end of this chapter.
Note
AK classes do not apply to Tricon v10 systems, they apply only to Tricon v9 systems
because DIN V 19250 and DIN V VDE 0801 were discontinued in August 2004.
Be sure to thoroughly read and understand these guidelines before you write your safety
application and procedures.
TV Rheinland Certification
When used as a PES in an SIS, the Tricon v9 controller has been certified by TV Rheinland
Industrie Service GmbH to meet the requirements of DIN 19250 AK5-AK6 and IEC 61508 SIL3.
When used as a PES in an SIS, the Tricon v10 controller has been certified by TV Rheinland
Industrie Service GmbH to meet the requirements of IEC 61508 SIL3.
Note
DIN V 19250 was withdrawn in August 2004. It is not applicable to Tricon v10 systems,
only Tricon v9 systems.
Tristation 1131 software has been reviewed and evaluated as part of the functional safety
assessment and certification of the Tricon system according to IEC 61508. Based on the review,
and evaluation during certification, TV Rheinland Industrie Service GmbH deems the
TriStation 1131 software suitable as a development and deployment tool for SIL3 safety and
critical control applications as defined by IEC 61508 and IEC 61511, when it is used in
accordance with Triconex user documentation, which includes the Safety Considerations
Guide.
If these standards apply to your application, compliance with the guidelines described in this
chapter is highly recommended.
General Guidelines
17
General Guidelines
This section describes standard industry guidelines that apply to:
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:
The communication link should use Modbus or other approved protocols with CRC
checks.
The communication link should not be allowed to write directly to output points.
The application must check the value (of each variable written) for a valid range or
limit before its use.
For information on the potential impacts of writes to safety-related variables that
result in disabling diagnostics such as Output Voter Diagnostics, see Module
Diagnostics on page 39.
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.
18
Chapter 2
Application Guidelines
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 shall monitor the critical
output circuits to ensure that they are properly connected to the end devices.
19
Safety-Critical Modules
It is recommended that only the following modules be used for safety-critical applications:
20
Chapter 2
Application Guidelines
Safety-Shutdown
A SIL3 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 C, Safety-Critical Function Blocks. For more information on
safety-shutdown networks, see Sample Safety-Shutdown Programs on page 49.
21
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.
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 Peerto-Peer send and receive functions.
Note
Due to a lack of information on the reliability and safety of switched or public networks,
Invensys recommends that switched or public networks not be used for safety-critical
Peer-to-Peer communication between Tricon systems.
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.
22
Chapter 2
Application Guidelines
The receiving node must monitor the diagnostic integer variable every time it receives
new data to determine whether this variable has changed from last time.
The receiving program must monitor the status of the TR_URCV and
TR_PORT_STATUS functions to determine if there is a network problem that requires
operator intervention.
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.
Tricon MP
Communication
Bus
Tricon MP
Communication
Bus
Tricon MP
Communication
Bus
Tricon MP
Communication
Module
802.3
cable
Switch, Hub,
etc.
802.3
cable
Black Channel
Tricon MP
Tricon MP
Receive Node
Send Node
Figure 6
Communication
Module
The SEND node prepares and sends a Peer-to-Peer message with the following items:
23
If all parts of the messageincluding the CRCare verified, the Main Processor provides the
data to the application. If there is a problem in the black channel, the RECEIVE node will either
not receive the message, or will receive a corrupted message that will be rejected. In this way,
the integrity of the message is independent from the communication channel and the
communication equipment used in the channel; for example, routers, hubs, switches, or
satellites.
The RECEIVE node application receives Peer-to-Peer data only if the integrity of the Peer-toPeer message has been validated.
SIL3/AK5 Guidelines
For Tricon v9 and v10 SIL3, or Tricon v9 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.
Wiring and grounding procedures outlined in the Planning and Installation Guide for
Tricon v9v10 Systems should be followed.
24
Chapter 2
Application Guidelines
Maintenance instructions outlined in the Planning and Installation Guide for Tricon v9
v10 Systems should be followed.
SIL 1
Operating Time
SIL 2
Operating Time
SIL 3
Operating Time
TMR Mode
Continuous
Continuous
Continuous
Dual Mode
Continuous
Continuous
3,000 hours
Single Mode
Continuous
1,500 hours
150 hours
The GATENB function allows external hosts to write to 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.
Note
All Tricon logic solver faults can be repaired online without further degradation of the
system and should be performed before a second fault occurrence to maintain the
highest availability of the system. The highly effective means of modular insertion and
replacement of faulted Tricon system components is transparent to the operation of the
system and the ease of replacement mitigates the risk of systematic and human induced
failure as defined by IEC 61508. It is highly recommended that a faulted component be
replaced within industry accepted Mean-Time-To-Repair (MTTR) periods.
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.
If Tricon controller operation is degraded to dual mode or single mode, repairs should
be timely. To ensure maximum availability, limits for maximum time in degraded
mode should not be imposed.
AK6 Guidelines
For Tricon v9 system AK6 applications, these guidelines should be followed:
DIN V 19250 was discontinued in August 2004, so it applies only to Tricon v9 systems.
According to DIN V 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
25
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.
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 Planning and Installation Guide for
Tricon v9v10 Systems should be followed.
Maintenance instructions outlined in the Planning and Installation Guide for Tricon v9
v10 Systems should be followed.
The GATENB function allows external hosts to write to 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.
26
Chapter 2
Application 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.
If Tricon controller operation is degraded to dual mode or single mode, repairs should
be timely. To ensure maximum availability, limits for maximum time in degraded
mode should not be imposed.
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.
Develop a specification for the changes, including a test specification, then obtain
approval for the specification from the SCCC.
Make the appropriate changes to the project, including those related to design,
operation, or maintenance documentation.
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 Developers Guide .
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 Developers Guide .
Print all logic elements and verify that the changes to networks within each element do
not affect other sections of the application.
Test the changes according to the test specification using the Emulator Panel. For details,
see the TriStation 1131 Developers Guide .
Review and audit all changes and test results with the SCCC.
10
Note
27
You may make minor changes online only if the changes are absolutely necessary
and are tested thoroughly.
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 60.
11
Save the downloaded project in the TriStation 1131 software 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.
TV recommends that the TriStation 1131 workstation used for programming is not also used
for maintenance.
28
Chapter 2
Application Guidelines
Table 3 describes the design requirements for handling maintenance overrides when using
Tricon system communication capabilities.
Table 3
DCS
TriStation 1131
Software
Project Engineer,
Commissioner
Project Engineer,
Commissioner
Project Engineer
Project Engineer,
Type Approval
Operator,
Maintenance
Engineer
Maintenance
Engineer,
Type Approval
Project Engineer
Project Engineer,
Type Approval
Project Engineer,
Commissioner
N/A
Project Engineer
Maintenance
Engineer,
Type Approval
Project Engineer,
Commissioner,
DCS, TriStation
1131 software
29
Table 4 describes the operating requirements for handling maintenance overrides when using
Tricon system communication capabilities.
Table 4
DCS
TriStation 1131
Software
Operator,
Maintenance
Engineer
Maintenance
Engineer, Type
Approval
Operator,
Maintenance
Engineer
Maintenance
Engineer, Type
Approval
Operator,
Maintenance
Engineer
Maintenance
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
HardWired
Switch
Maintenance
Override Handling
(Application Program)
Distributed
Control System
Inputs
Actuators
Safeguarding
Application
Program
Operator
Warning
Engineering
Workstation
30
Chapter 2
Application Guidelines
For more information about maintenance override operation, please see the TV web
site at http://www.tuv-fs.com/m_o202.pdf.
CAUTION
Background
IEC 61508 and IEC 61511 define a programmable electronic Safety Instrumented System (SIS) as
consisting of sensors, logic solvers, and final control elements, as shown in this figure.
Logic
Solver
Sensors
Figure 7
Final
Elements
Simplified SIS
Together, these elements implement Safety Instrumented Functions (SIF) of the target Safety
Integrity Level (SIL). In order to implement a safety-certified SIF, the system designer must
choose safety-certified loop elements, including sensors, final elements, logic solvers, and other
interconnecting components.
In addition to the components shown in Figure 7, a typical SIS consists of components such as
cables and external termination panels. These components are used to connect the sensors and
final elements to the logic solvers. Figure 8 shows the SIS including these components.
31
Approved ETPs and interconnecting cables are listed in the Planning and Installation Guide for
Tricon v9v10 Systems and the Technical Product Guide for Tricon v9v10 Systems, which are
available on the Invensys Global Customer Support (GCS) Center website.
Design Control, Configuration Management, Supply Chain Management, and Quality
Assurance for Triconex ETPs and cable assemblies are controlled by Invensys in Irvine,
California (the Triconex factory). Sourcing of approved ETPs and interconnecting cables is also
controlled by Invensys in Irvine.
Certifications
TV approves the use of Triconex ETPs and interconnecting cables with the Tricon
Safety Logic Solver.
TV certifies the use of the Tricon Safety Logic Solver in SIL 3 applications with the
TV approved ETPs and interconnecting cables.
Triconex ETPs are certified for electrical safety in full compliance with international
standards by CSA. They are qualified for general use in North America and other
jurisdictions requiring compliance with these standards, as well as the European CE
mark as per the Low Voltage Directive.
Triconex ETPs and interconnecting cables comply with the applicable IEC EMC
standard (IEC 61326-3-1,2,), which includes the European CE mark per the EMC
directive.
Triconex ETPs that are approved for hazardous locations also comply with North
America Class1 Div2 (C1D2) and Zone 2 as per the European ATEX directive.
Thus, the boundary of the safety system (Tricon Safety Logic Solver) extends up to the ETPs,
including the interconnecting cables, as shown in Figure 2 below.
Approved external
termination panel
Approved cable
connects
Tricon to ETP
Approved external
termination panel
End-user
installed
field wiring
Sensors
External
Termination
Panel
End-user
installed
field wiring
Logic
Solver
(Tricon)
External
Termination
Panel
Final
Elements
Boundary of
TV-Certified
Tricon Safety System
Figure 8
32
Chapter 2
Application Guidelines
3
Fault Management
Overview
34
System Diagnostics
35
Types of Faults
36
Operating Modes
37
Module Diagnostics
39
34
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 9) 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
Channel
A
Input
Termination
Input
Channel
B
Input
Channel
C
Figure 9
I/O Bus
TriBus
Main
Processor
B
TriBus
I/O Bus
Output
Channel
A
Main
Processor
A
TriBus
I/O Bus
Main
Processor
C
Output
Channel
B
Output
Channel
C
Voter
Output
Termination
System Diagnostics
35
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 controllers diagnostics may be
categorized as:
Field device diagnostics: Diagnostics are extended to a systems field devices and
wiring.
36
Chapter 3
Fault Management
Types of Faults
A controller is subject to external faults and internal faults, which are reported by:
External Faults
A controller may experience the following types of external 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 Enhanced Diagnostic Monitor identifies the faulting module by displaying a red
frame around it. For instructions on responding to specific alarm conditions, see the Planning
and Installation Guide for Tricon v9v10 Systems.
Internal Faults
Internal faults are usually isolated to one of the controllers 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 37.
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.
Operating Modes
37
Operating Modes
Each input or output point is considered to operate in one of three modes:
Single Mode
Dual 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 Invensys. 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 C, 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-ondemand. To keep the PFD within industry-acceptable guidelines, adherence with the
recommended maximum operating period of 3000 hours in dual mode (SIL3/AK5-6) and 150
hours in single mode (SIL3/AK5-6) should be observed.
A safety-critical fault is defined as a fault that prevents the system from executing the safety
function on demand. Safety-critical faults include:
Also, during each execution of the control application, each channel independently verifies the:
38
Chapter 3
Fault Management
Module Diagnostics
39
Module Diagnostics
Each system component detects and reports operational faults.
40
Chapter 3
Fault Management
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.
Module Diagnostics
41
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 relay output point goes to the normally open (NO) position.
42
Chapter 3
Fault Management
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.
CAUTION
External communications are intended for transporting non-safetycritical data. The guidelines outlined in Using Triconex System
Communication Capabilities 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 following manuals:
4
Application Development
Development Guidelines
44
46
48
49
Alarm Usage
60
44
Chapter 4
Application Development
Development Guidelines
To avoid corruption of project files while developing an application (also known as a control
program), you should:
Not copy a project file while it is open in the TriStation 1131 software.
Verify proper installation of the TriStation 1131 software using TriStation Install Check.
You should run the TriStation Install Check program to verify that the TriStation 1131
software is correctly installed on your PC and that no associated files are corrupted. This
is especially helpful if applications besides the TriStation 1131 software reside on your
PC. See the TriStation 1131 Developers Guide for instructions on using the TriStation
Install Check program.
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 the TriStation 1131 application. To automatically check for the use of
VAR_IN_OUT in your safety application, set the safety attribute (as described above).
Development Guidelines
45
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 onthere 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 controller, the
main processors will reset, causing the Tricon controller to go to the safe state, with all outputs
de-energized. The maximum allowable scan time for the Tricon controller is 450 milliseconds.
Although it is not possible to program an endless loop with the TriStation 1131 software, it is
possible to create a loop with a very long time, enough to increase the actual scan time beyond
the controllers maximum allowable scan time.
See Setting Scan Time on page 48 for more information about actual and maximum scan times.
46
Chapter 4
Application Development
Download Change
Download Changes
The Download Changes command is a convenient means of making simple modifications to an
offline system during application development.
WARNING
Before a Download Changes, use the Triconex Enhanced 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 48.
CAUTION
47
For more information on the Download Changes command, see the TriStation 1131 Developers
Guide .
48
Chapter 4
Application Development
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 applicationincluding print statements,
conditional statements, and future download changes.
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 response 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 Triconex Enhanced Diagnostic Monitor.
Scan Surplus
Scan Surplus is the scan time remaining after application elements have been executed. Scan
Surplus must be positiveif 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 1131 software
Program Execution List applies only when you perform a Download All.
Scan Overruns:
If Scan Surplus becomes negative and a scan overrun
occurs, the relevant status attributes are set as follows
SCAN_STATUS
TR_SCAN_STATUS
1
C1
CO
POWERUP
FIRSTSCAN
SCANREQUEST
SCANSURPLUS
SCAN_SURPLUS
SCANDELTA
DELTAT
SCANOVERRUN
001
SCAN_OVERRUNS
KEYSWITCH
For more information, see the TriStation 1131 Developers Guide and the TriStation 1131 Libraries
Reference.
49
In typical applications, continued operation in dual mode is restricted to 3000 hours for
SIL3/AK5-6. Continued operation in single mode is restricted to 150 hours for
SIL3/AK5-6.
CAUTION
50
Chapter 4
Application Development
Program EX01_SHUTDOWN
CRITICAL_MODULES
TR_SHUTDOWN
CI
IO_CO
IO_TMR
IO_GE_DUAL
IO_GE_SINGLE
IO_NO_VOTER_FLTS
T#1500h
T#3d
T#400ms
CO
OPERATIING
TMR
DUAL
SINGL
ZERO
TIMER_RUNNING
IO_ERROR
TIME_LEFT
MAX_TIME_DUAL
MAX_TIME_SINGLE ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
MAX_SCAN_TIME
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
CRITICAL_MODULES_OPERATING
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR
001
Figure 10
Parameter
Description
CI
IO_CO
IO_TMR
IO_GE_DUAL
IO_GE_SINGLE
IO_NO_VOTER_FLTS
IO_ERROR
MAX_TIME_DUAL
MAX_TIME_SINGLE
MAX_SCAN_TIME
Table 6
51
Parameter
Description
CO
Control out
OPERATING
TMR
DUAL
SINGL
ZERO
TIMER_RUNNING
TIME_LEFT
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR_NUM
Error Number:
0 = No error
1 = Error in maximum time
2 = I/O function block errorIO_ERROR is non-zero
3 = Function block errorsystem status or MP Status
52
Chapter 4
Application Development
Table 7
Parameter
Description
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
53
In typical applications, continued operation in dual mode is restricted to 3000 hours for
SIL3/AK5-6. Continued operation in single mode is restricted to 150 hours for
SIL3/AK5-6.
CAUTION
54
Chapter 4
Application Development
Program EX02_SHUTDOWN
CRITICAL_MODULES
CRITICAL_IO
TR_SHUTDOWN
EX02_CRITICAL_IO
CI
CO
CI
TMR
RELAY1_OK
OPERATING
IO_TMR
GE_DUAL
DUAL
IO_GE_SINGLE
NO_VOTER_FLTS
SINGL
IO_NO_VOTER_FLTS
ERROR
ZERO
IO_ERROR
T#1500h
TIMER_RUNNING
MAX_TIME_DUAL
T#3d
MAX_TIME_SINGLE
T#400ms
CRITICAL_MODULES_OPERATING
TMR
IO_GE_DUAL
GE_SINGLE
001
CO
IO_CO
TIME_LEFT
ALARM_PROGRAMMING_PERMITTED
MAX_SCAN_TIME
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ALARM_DISABLED_POINTS
ERROR
002
Figure 11
Table 8
Parameter
Description
CI
Control in
If false, then CO is falseno change in the output value
If true and ERROR_NUM is 0, then CO is true
IO_CO
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
IO_ERROR
MAX_TIME_DUAL
MAX_TIME_SINGLE
MAX_SCAN_TIME
Table 9
55
Parameter
Description
CO
Control out
OPERATING
TMR
DUAL
SINGL
ZERO
TIMER_RUNNING
TIME_LEFT
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR_NUM
Error Number:
0 = No error
1 = Error in maximum time
2 = I/O function block errorIO_ERROR is non-zero
3 = Function block errorsystem status or MP Status
56
Chapter 4
Application Development
Table 10
Parameter
Description
ALARM_PROGRAMMING_PERMITTED
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
57
Procedure
1
Copy the example EX02_CRITICAL_IO function block in the ExTUV.pt2 sample project
provided with the TriStation 1131 Developers Workbench.
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*)
Enter the correct CHASSIS number, SLOT number, APP (application), and RELAY_OK
parameters for the safety-critical I/O module.
Table 11
Application Type
(App)
Relay_OK
Parameter
RELAY
(de-energized to trip
with relay)
True
RELAY
(de-energized to trip
with relay)
False
DE-ENERGIZED
(de-energized to trip
with no relay)
Description
58
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:
Procedure
1
Connect the function blocks as shown in the EX03_SHUTDOWN example on page 59.
CAUTION
59
Program EX03_SHUTDOWN
SHARED
SHARED_IO
TR_SHUTDOWN
EX03_SHARED_IO
CO
CI
TMR
RELAY1_OK
GE_DUAL
GE_SINGLE
NO_VOTER_FLTS
ERROR
001
T#1500h
CO
CI
OPERATING
IO_CO
TMR
IO_TMR
DUAL
IO_GE_DUAL
SINGL
IO_GE_SINGLE
ZERO
IO_NO_VOTER_FLTS
TIMER_RUNNING
IO_ERROR
TIME_LEFT
MAX_TIME_DUAL
T#3d
MAX_TIME_SINGLE
T#400ms
MAX_SCAN_TIME
ALARM_PROGRAMMING_PERMITTED
ALARM_PROGRAMMING_PERMITTED
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
CO
CI
TMR
RELAY1_OK
GE_DUAL
GE_SINGLE
NO_VOTER_FLTS
ERROR
003
T#1500h
T#3d
T#400ms
CO
CI
OPERATING
IO_CO
TMR
IO_TMR
DUAL
IO_GE_DUAL
SINGL
IO_GE_SINGLE
ZERO
IO_NO_VOTER_FLTS
TIMER_RUNNING
IO_ERROR
TIME_LEFT
MAX_TIME_DUAL
MAX_TIME_SINGLE
MAX_SCAN_TIME
ALARM_PROGRAMMING_PERMITTED
AND
005
PROCESS_1_
OPERATING
If PROCESS_1_OPERATING
= FALSE, shut down
process 1 because the
time in degraded mode
exceeds the specified limit
for safety-critical modules
that affect process 1.
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR
004
PROCESS_2
PROCESS_2_IO
TR_SHUTDOWN
EX03_PROCESS_2_IO
CI
RELAY1_OK
CO
TMR
GE_DUAL
GE_SINGLE
NO_VOTER_FLTS
005
ERROR
T#1500h
CO
CI
OPERATING
IO_CO
TMR
IO_TMR
DUAL
IO_GE_DUAL
SINGL
IO_GE_SINGLE
ZERO
IO_NO_VOTER_FLTS
IO_ERROR
TIMER_RUNNING
TIME_LEFT
MAX_TIME_DUAL
MAX_TIME_SINGLE
T#3d
MAX_SCAN_TIME
T#400ms
ALARM_PROGRAMMING_PERMITTED
AND
006
PROCESS_2_
OPERATING
If PROCESS_2_OPERATING
= FALSE, shut down
process 2 because the
time in degraded mode
exceeds the specified limit
for safety-critical modules
that affect process 2.
ALARM_REMOTE_ACCESS
ALARM_RESPONSE_TIME
ALARM_DISABLED_POINTS
ERROR
006
Figure 12
60
Chapter 4
Application Development
Alarm Usage
To implement the guidelines, the alarms described below are provided with the TriStation 1131
software.
A
Triconex Peer-to-Peer Communication
Overview
62
63
66
62
Appendix A
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-toPeer network, please contact the Triconex Customer Satisfaction Center.) 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 NET 1 (Ethernet) port on an NCM or a TCM. The controllers exchange
data by using Send and Receive function blocks in their TriStation 1131 applications.
Peer-to-Peer Network
CM
MP
CM
MMM
P P P
A B C
NN
CC
MM
1 2
Tricon
Controller
Trident Controller
Figure 13
MP
Trident Controller
To configure a TriStation 1131 application for Peer-to-Peer communication, you must do the
following tasks:
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 63.
The sample programs described in this appendix can be found in the Expeer.pt2 project
included as part of the TriStation 1131 software 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
Communication Guide for Tricon v9v10 Systems.
63
Scan time
Configuration size
Number of SEND function blocks, RECEIVE function blocks, printing function blocks,
and Modbus master function blocks
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.
Procedure
1
In the TriStation 1131 software, on the sending controller, expand the Controller tree,
and double-click Configuration. On the Configuration tree, click Memory Allocation.
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.
On the receiving controller, get the BOOL, DINT, and REAL points and enter the
numbers on step 3 of the Data Transfer Time worksheet.
64
Appendix A
Table 12
Parameter
Description
TS
Time for sending node to transfer Aliased data over the communication bus in
milliseconds = (Number of aliased variables in bytes 100,000) * 1000
SS
TR
Time for receiving node to transfer Aliased data over the communication bus in
milliseconds = (Number of aliased variables in bytes 100,000) * 1000
SR
Procedure
1
Use the instructions in the following worksheet to estimate the transfer time.
Steps
1. Enter the number of bytes for each
point type on the sending controller and
divide or multiply as indicated. Add the
results.
Point
Type
Allocated
Bytes
Operation
BOOL
_________
8=
_________
DINT
_________
x4=
_________
REAL
_________
x4=
_________
Result
_________
TS =
_________
BOOL
_________
8=
_________
DINT
_________
x4=
_________
REAL
_________
x4=
_________
TR =
SS =
SR =
_________
_________
_________
_________
_________
_________
9. Add the results of step 7 and 8 to get the data transfer time = DT
_________
_________
11. Multiply the results of steps 9 and 10 to get the adjusted data
transfer time.
Adjusted
DT
_________
65
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 processtolerance 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 67. 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 safetycritical 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 67.
Refer to the TriStation 1131 Libraries Reference for additional information.
66
Appendix A
67
Time to transfer alias data over the communication bus in milliseconds (TS) =
(2000/100,000) * 1000 = 20 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.
Time to transfer aliased data over the communication bus in milliseconds (TR) =
(15,000/100,000) * 1000 = 150 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 550 milliseconds.
The receiving node has a network to measure the actual time so you can validate the assumed
four-second maximum transfer time, since the process-tolerance time of the receiving node is
four seconds. 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.
68
Appendix A
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:
B
HART Communication
Overview
70
70
70
Appendix B
HART Communication
Overview
This appendix contains a position paper from TV Rheinland on using the HART
communication protocol in safety-related applications within Safety Instrumented Systems
(SIS). The paper includes rules and guidelines that should be followed.
71
2008-04-01
Version 1.0
Date: 2008-04-01
v1.0
Page 1 of 7
72
Appendix B
HART Communication
2008-04-01
Revision History
Revision
1.0
Date
2008-04-01
Change
Initial Release
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Author
O. Busa
Approval
H. Gall
Page 2 of 7
73
2008-04-01
Contents
Page
1.
Scope
2.
Standards
3.
Analysis
3.1
General analysis
3.2
Safety analysis
4.
Rules and Guidelines for the use of a HART protocol within SIS
5.
Summary
This paper must not be copied in an abridged version without the written permission of TV
Rheinland Industrie Service GmbH.
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Page 3 of 7
74
Appendix B
HART Communication
2008-04-01
1.
Scope
The scope of this paper is to review the use of the HART communication as a non-safety
related communication protocol within safety related applications using a Safety Instrumented
System (SIS).
2.
Standards
Functional Safety
[1]
[2]
3.
Analysis
3.1
General analysis
The HART (Highway Addressable Remote Transducer) communication protocol is a widely
accepted standard used for communication between intelligent field instruments and host
systems.
HART is a master-slave field communication protocol, which use a phase-continuous
Frequency Shift Keying (FSK) to extend analog signaling, whereas a high-frequency current is
superimposed on a low-frequency analog current typically 4-20 mA.
The benefit of HART that it can be used in parallel to the analog 4-20 mA field devices using the
same wiring in which a bi-directional communication to several HART capable field devices is
supported.
Devices which use HART as a communication protocol can be divided into two groups:
HART Master Devices
The master devices are typically multiplexer devices with a HART modem which are connected
directly through the field wiring of a host system (input/output system) typically a programmable
logic controller. They are in general used to configure slave devices and provide additional
diagnostics to a host system.
HART Slave devices
The slave devices are in general HART capable intelligent field devices using an analog
4-20 mA current for process values.
3.2
Safety analysis
The HART communication protocol was developed to be used within standard process control
systems for device configuration and diagnostics. The development itself was not performed in
accordance to the IEC 61508 [1] and it was not approved as a safety related communication
protocol.
Considering the development of the HART communication protocol the following assumptions
can be made according to the safety impact and interference of HART capable devices, which
are intended to be used together with a safety related system.
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Page 4 of 7
75
2008-04-01
The possible effects could be negative reactions, process signal corruption or unintended
configuration changes of the connected field devices.
As a matter of principle that the HART master devices are directly connected to the field wiring
of a safety related programmable system, it must be assumed that an impact on the analog
process signal to/from the field devices is possible. Under normal circumstances the
superimposed high frequency current should be interference free to low-frequency analog
4-20 mA current, because it will be filtered by standard analog input circuit filters.
Considering abnormal function resulting from the failures (e.g., random hardware failures) of the
HART master devices, the impact to the safety related programmable system could be safety
critical resulting in negative electrical reactions on the input side or output side of the Safety
Instrumented System or corruption of the measured analog signal.
Further impact could be related to the connected field devices. The configuration could be
changed unintended resulting in non reliable analog input values to the Safety Instrumented
System. These failures could happen from a random hardware or systematic software faults or
an accidentally re-configuring from personnel.
In summary, in order to use a HART protocol, which is not approved for safety related
communication within an SIS, the following concerns must be taken into account to ensure that
the use of HART is non-interfering the 4-20 mA signal (safety input or output):
1.
HART Master (AMS and MUX) directly connected to the field wiring of safety related
system could impact the process signal.
2.
Abnormal function of HART Master or slave due to random hardware faults, systematic
software failures, etc. could impact the process signal
3.
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Page 5 of 7
76
Appendix B
HART Communication
2008-04-01
DCS, AMS,
Diagnostic
Monitor, or
Maintenance
System
SIS
RS 485
HART Protocol
Isolator
HART MUX
Isolator
4 20 mA
HART Master
HART
Enabled
Field Device
In order to ensure that the HART Master/MUX connection to the 4-20 mA signal (input/output)
connected to the SIS and use of HART protocol is non-interfering the 4-20 mA safety signal, the
rules/guidelines specified in the following must be followed by the end user.
Note, that the end user could incorporate some of the guidelines in the management of safety,
management of change, and management of maintenance policies and procedures.
4.
Rules and Guidelines for the use of a HART protocol within SIS
x AMS/MUX connection to 4-20 mA signal must be isolated and decoupled such that a failure
of the MUX does not affect the 4-20 mA signal
x A detailed FMEA of the MUX interface to the 4-20 mA signal must be performed to show that
the normal operation or the failure of MUX wont affect the 4-20 mA signal. In this case, the
MUX and associated AMS are non-interfering the 4-20 mA safety signal. If non-interfering
can not be shown by FMEA the probability of failure must be considered to determine the
safety parameters in accordance to IEC 61508 to include them into safety loop
consideration.
x The HART enabled devices used with SIS must be suitable for the SIL rating of the safety
loop as per IEC 61511 guidelines. HART enabled field devices shall be documented to be
non-interfering the 4-20 mA safety signal. In compliance with IEC 61511 -1 clause 11.5.2,
the HART enabled devices used within an SIS (Safety Instrumented System) shall be
documented to be in accordance with IEC 61508-2 and IEC 61508-3 as applicable to the SIL
(Safety Integrity Level) of the individual SIF (Safety Instrumented Function), or else they
shall meet the requirements of IEC 61511-1 clause 11.4 for hardware fault tolerance and
clauses 11.5.3 to 11.5.6 for prior use, as appropriate.
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Page 6 of 7
77
2008-04-01
x To avoid failures resulting from unintended configuration changes of the HART capable field
devices, protection mechanisms, which may be provided by the HART devices, shall be
used.
x The data (Secondary variables, device information, diagnostics, and status data) received
from the HART device must not be used for safety related reactions in the SIS.
x The data received from the HART devices could be used in control, diagnostics, or asset
management systems for device diagnostics and maintenance purposes. The Asset
Management, Diagnostics, maintenance systems and operating procedures is to act as an
independent layer of protection; in this case the role of asset management is to identify a
potential failure on a field element (i.e. valve) that might prevent the safety function to act if
demanded.
x As a part of management of safety policy, practices and procedures, the AMS (HART
master) must be password protected to allow maintenance of and modifications to the HART
enabled field devices connected to SIS by authorized people only. The Safety procedure
should include provisions to avoid re-configuration of HART enabled field devices by
mistake.
x Online changes to the field device configuration, online calibration and online maintenance
shall be avoided and must be evaluated depending on the application.
x Safety procedures must be established to ensure proper use of the AMS or hand-held
communicator for configuration changes, calibration or maintenance of HART enabled field
devices connected to SIS. Any change to the HART enable field device must be followed by
verification to prove the correct implementation.
5.
Summary
Following the rules and guidelines as listed in chapter 4. the HART communication can be used
within safety related applications using Safety Instrumented Systems (SIS).
Besides, the available safety- and user guidelines of the SIS and HART devices shall be
considered for further information and restrictions.
HART_in_Safety_Related_Applications_pdf.doc
Revision 1.0
Page 7 of 7
78
Appendix B
HART Communication
C
Safety-Critical Function Blocks
GATDIS
81
GATENB
82
TR_CRITICAL_IO
84
TR_SHUTDOWN
90
TR_VOTE_MODE
97
80
Appendix C
Overview
This appendix describes these function blocks, which are intended for use in safety-critical
applications:
GATDIS on page 81
GATENB on page 82
TR_CRITICAL_IO on page 84
TR_SHUTDOWN on page 90
TR_VOTE_MODE on page 97
GATDIS
81
GATDIS
Disables remote writes to aliased variables in a Tricon controller.
Syntax
GATDIS(CI:=b)
Input Parameters
Name
Data Type
Description
CI
BOOL
Enables GATDIS.
Output Parameters
Name
Data Type
Description
CO
BOOL
Description
In a Tricon controller, the GATDIS function block disables remote writes for all ranges of
read/write aliased variables that were previously enabled by GATENB, thereby restricting
write operations by external hosts. GATDIS must be executed after the GATENB function. For
more information, see GATENB on page 82.
Example
VAR GATE_IS_DISABLED : BOOL ; END_VAR
VAR DISABLED_GATE : GATDIS ; END_VAR
DISABLE_GATE(TRUE);
GATE_IS_DISABLED = GATDIS.CO ;
Runtime Errors
None.
Application Notes
Only Once: each instance should be executed only once per scan, but does not need to
be executed every scan.
Library
Tricon (TX1LIB)
Related Topics
GATENB on page 82
82
Appendix C
GATENB
Enables remote writes to aliased variables in a Tricon controller.
Syntax
GATENB(CI:=b,DRWFRST:=k1,DRWLAST:=k2,IRWFRST:=k3,IRWLAST:=k4,RRWFRST:=k5,KRW
LAST:=k6
Input Parameters
Name
Data Type
Description
CI
BOOL
Enables GATENB.
DRWFRST
DINT
The starting alias number for memory discrete (BOOL) read/write range.
DRWLAST
DINT
The ending alias number for memory discrete (BOOL) read/write range.
IRWFRST
DINT
The starting alias number for memory integer (DINT) read/write range.
IRWLAST
DINT
The ending alias number for memory integer (DINT) read/write range.
RRWFRST
DINT
RRWLAST
DINT
Output Parameters
Name
Data Type
Description
CO
BOOL
Description
In a Tricon controller, the GATENB function block opens a gate for external-host read/writes to
a specified range of Modbus aliased variables when the controller is operating in RUN mode.
In a safety shutdown application, the keyswitch is typically set to RUN mode for normal
operation. However, this mode does not support Modbus writes from external hosts. To solve
this problem, the TriStation 1131 software provides gated-access function blocks to
programmatically enable and disable external-host writes to a Tricon controller.
GATENB allows you to specify a range of aliases for each of these data types:
Discrete Read/Write
Integer Read/Write
Real Read/Write
You should use only one GATENB function block in a program. If you do not want to specify
alias ranges for certain data types, leave their starting and ending values at zero (the default).
GATENB
83
Example
This example opens a gate for external-host writes to selected Modbus read/write memory
BOOL and DINT variables.
VAR ENABLE_GATE : GATENB; END_VAR
ENABLE_GATE( CI:=TRUE,DRWFRST:=2001, DRWLAST:=2020,
IRWFRST:=40251,IRWLAST:=40258,
RRWFRST:=0,
RRWLAST:=0
);
Runtime Errors
Condition
Return Value
Error Flags
CO=false
None
If this is a second function block with the same specified alias range
CO=false
None
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 description in the TriStation 1131 Libraries Reference.
Application Notes
Only Once: each instance should be executed only once per scan, but does not need to
be executed every scan.
Library
Tricon (TX1LIB)
84
Appendix C
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
SLOT
DINT
APP
DINT
RELAY_OK
BOOL
Output Parameters
Name
Data Type
Description
CO
BOOL
TMR
BOOL
GE_DUAL
BOOL
GE_SINGLE
BOOL
NO_VOTER_FLTS
BOOL
ERROR
DINT
Error Number:
0 = No error.
1
Description
The TR_CRITICAL_IO function block accumulates the status of all safety-critical I/O modules
in a Tricon controller.
TR_CRITICAL_IO
85
INIT := FALSE
CI := TRUE
APP := DE_ENERGIZED
RELAY_OK := FALSE
To get the status of all safety-critical I/O modules, invoke each module by specifying
these input values:
CHASSIS
SLOT
APP
RELAY_OK
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.x\Projects\ExTUV.pt2
86
Appendix C
Runtime Errors
Condition
Return Value
Error Flags
If ERROR_NUM is non-zero
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 TriStation 1131 Libraries Reference.
Application Notes
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. *)
TR_CRITICAL_IO
87
LEFT_SLOT :
TR_SLOT_STATUS ;
(* Left slot status. *)
RIGHT_SLOT :
TR_SLOT_STATUS ;
(* Right slot status. *)
RELAY :
DINT := 1 ;
(* De-energized to trip with relay *)
DE_ENERGIZED :
DINT := 2 ;
(* De-energized to trip with no relay *)
U :
BOOL ;
(* Unused value. *)
LEFT_GE_SINGLE : BOOL ;
(* Left slot, mode >= single. *)
LEFT_GE_DUAL :
BOOL ;
(* Left slot, mode >= dual. *)
LEFT_TMR :
BOOL ;
(* Left slot, mode = tmr. *)
RIGHT_GE_SINGLE : BOOL ;
(* Right slot, mode >= single. *)
RIGHT_GE_DUAL :
BOOL ;
(* Right slot, mode >= dual. *)
RIGHT_TMR :
BOOL ;
(* Right slot, mode = tmr. *)
VOTER_FAULT :
BOOL ;
(* Voter fault on either slot. *)
END_VAR
(*
*=F=========================================================================
======
* FUNCTION_BLOCK: TR_CRITICAL_IO
* Purpose:
Calculate status of critical IO modules.
*
* Return:
none
*
* Remarks:
* Usage
* 1. Invoke once with INIT := TRUE, to initialize.
* 2. Invoke again with INIT := FALSE, CI := TRUE, APP := DE_ENERGIZED, and
*
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
88
Appendix C
*
two independent channels that can de-energize the output,
*
i.e., the relay and the other output voter channel.
*
APP:=RELAY with RELAY_OK:=false, or
*
APP:=DE_ENERGIZED
*
A voter fault degrades the mode to SINGLE.
*
A non-voter fault degrades the mode to DUAL.
*
* Runtime Errors
*
EBADPARAM
Bad parameter
*
CO=FALSE indicates a programming error.
*
See ERROR number parameter for details.
*=F=========================================================================
======
*)
IF INIT THEN
MP( CI := TRUE ) ;
CO := MP.CO ;
TMR := TRUE ;
GE_DUAL := TRUE ;
GE_SINGLE := TRUE ;
NO_VOTER_FLTS := TRUE ;
ELSIF PREVIOUS_INIT THEN
;
(* No operation. *)
ELSIF CI AND CO THEN
IF (DINT_TO_DWORD(SLOT) AND 1) <> 1 OR SLOT<1 OR 15<SLOT THEN
ERROR := -1 ;
(* Slot is not odd or not in 1..15. *)
U := ReportBadParam(0) ;
CO := FALSE ;
END_IF ;
IF CO THEN
LEFT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT ) ;
RIGHT_SLOT( CI := CI, CHASSIS := CHASSIS, SLOT := SLOT+1 ) ;
IF NOT (LEFT_SLOT.CO AND RIGHT_SLOT.CO) THEN
ERROR := -2 ;
(* Chassis or slot is invalid. *)
U := ReportBadParam(0) ;
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 ;
TR_CRITICAL_IO
89
IF CO THEN
LEFT_GE_SINGLE := LEFT_SLOT.INSTALLED AND LEFT_SLOT.ACTIVE ;
LEFT_GE_DUAL := LEFT_GE_SINGLE
AND NOT LEFT_SLOT.NOGOOD ;
LEFT_TMR := LEFT_GE_DUAL
AND LEFT_SLOT.PASS AND NOT LEFT_SLOT.FAIL ;
RIGHT_GE_SINGLE := RIGHT_SLOT.INSTALLED AND RIGHT_SLOT.ACTIVE ;
RIGHT_GE_DUAL := RIGHT_GE_SINGLE
AND NOT RIGHT_SLOT.NOGOOD ;
RIGHT_TMR := RIGHT_GE_DUAL
AND RIGHT_SLOT.PASS AND NOT RIGHT_SLOT.FAIL ;
VOTER_FAULT := LEFT_SLOT.VOTER_FAULT OR RIGHT_SLOT.VOTER_FAULT ;
TMR := TMR AND (LEFT_TMR OR RIGHT_TMR) ;
GE_DUAL := GE_DUAL AND (LEFT_GE_DUAL OR RIGHT_GE_DUAL) ;
GE_SINGLE := GE_SINGLE AND (LEFT_GE_SINGLE OR RIGHT_GE_SINGLE) ;
NO_VOTER_FLTS := NO_VOTER_FLTS AND NOT VOTER_FAULT ;
IF APP = RELAY AND RELAY_OK THEN
TMR := TMR AND NOT VOTER_FAULT ;
ELSIF APP = DE_ENERGIZED OR APP = RELAY AND NOT RELAY_OK THEN
TMR := TMR AND NOT VOTER_FAULT ;
GE_DUAL := GE_DUAL AND NOT VOTER_FAULT ;
ELSE
ERROR := -5 ;
(* Application number is invalid *)
U :=
ReportBadParam(0) ;
CO :=
FALSE ;
END_IF ;
END_IF ;
END_IF ;
IF ERROR =
0 AND NOT CO THEN
ERROR := -6 ;
(* Not initialized *)
U :=
ReportBadParam(0) ;
END_IF ;
IF NOT CO THEN
TMR :=
FALSE ;
GE_DUAL :=
FALSE ;
GE_SINGLE :=
FALSE ;
NO_VOTER_FLTS := FALSE ;
END_IF ;
PREVIOUS_INIT :=
INIT ;
END_FUNCTION_BLOCK
90
Appendix C
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
IO_TMR
BOOL
IO_GE_DUAL
BOOL
IO_GE_SINGLE
BOOL
IO_NO_VOTER_FLTS
BOOL
IO_ERROR
DINT
Zero = no error.
Non-zero = programming or configuration error.
MAX_TIME_DUAL
TIME
MAX_TIME_SINGLE
TIME
MAX_SCAN_TIME
TIME
Output Parameters
Name
Data Type
Description
CO
BOOL
OPERATING
BOOL
TMR
BOOL
DUAL
BOOL
SINGL
BOOL
ZERO
BOOL
TIMER_RUNNING
BOOL
TIME_LEFT
TIME
ALARM_PROGRAMMING_PERMITTED
BOOL
ALARM_REMOTE_ACCESS
BOOL
TR_SHUTDOWN
91
Data Type
Description
ALARM_RESPONSE_TIME
BOOL
ALARM_DISABLED_POINTS
BOOL
ERROR
DINT
Error Number:
0
No error.
1=
2=
3=
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.x\Projects\ExTUV.pt2
Runtime Errors
Condition
Return Value
Error Flags
If ERROR is non-zero
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.
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
Library
Tricon (TR1LIB/TX1LIB)
92
Appendix C
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
TR_SHUTDOWN
93
(*
*=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
* 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
94
Appendix C
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*=F=========================================================================
======
*)
IF CI THEN
(* Get Status *)
MP( CI :=
TRUE ) ;
PROG( CI := TRUE ) ;
SCAN( CI := TRUE ) ;
(* Check for programming errors. *)
ERROR := 0 ;
IF
MAX_TIME_DUAL < MAX_TIME_SINGLE OR
MAX_TIME_DUAL < T#0S OR
MAX_TIME_SINGLE < T#0S OR
MAX_SCAN_TIME < T#0S
THEN
ERROR := 1 ;
ELSIF IO_ERROR <> 0 THEN
ERROR := 2 ;
ELSIF NOT (MP.CO AND PROG.CO AND SCAN.CO) THEN
ERROR := 3 ;
END_IF ;
CO := ERROR = 0 ;
IF CO THEN
(* Summarize redundancy. *)
TMR := NOT MP.MPMAIN AND
(
NOT IO_CO AND NOT MP.IOMAIN
OR IO_CO AND IO_TMR
);
TR_SHUTDOWN
95
96
Appendix C
(* Programming error. *)
U := ReportBadParam(0) ;
OPERATING :=
TMR :=
GE_DUAL :=
GE_SINGLE :=
DUAL :=
SINGL :=
ZERO :=
TIMER_RUNNING :=
TIME_LEFT :=
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
T#0S;
;
;
;
;
;
;
;
;
ALARM_PROGRAMMING_PERMITTED :=
ALARM_REMOTE_ACCESS :=
ALARM_RESPONSE_TIME :=
ALARM_DISABLED_POINTS :=
END_IF ;
END_IF ;
END_FUNCTION_BLOCK
TRUE
TRUE
TRUE
TRUE
;
;
;
;
TR_VOTE_MODE
97
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
GE_DUAL
BOOL
GE_SINGLE
BOOL
Output Parameters
Name
Data Type
Description
CO
BOOL
TMR
BOOL
DUAL
BOOL
SINGL
BOOL
ZERO
BOOL
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
Other1
Note
98
Appendix C
Example
For shutdown examples, see this sample project:
My Documents\Triconex\TriStation 1131 4.x\Projects\ExTUV.pt2
Runtime Errors
Condition
Return Value
Error Flags
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 TriStation 1131 Libraries Reference.
Application Notes
Space Saver: a single instance can be executed more than once per scan to reduce
memory usage and increase performance. For directions, see the TriStation 1131
Libraries Reference.
Library
Tricon (TR1LIB/TX1LIB)
Structured Text
FUNCTION_BLOCK TR_VOTE_MODE
VAR_INPUT
CI :
BOOL := TRUE ;
IN_TMR :
BOOL ;
GE_DUAL :
BOOL ;
GE_SINGLE :
BOOL ;
END_VAR
VAR_OUTPUT
CO :
BOOL ;
TMR :
BOOL ;
DUAL :
BOOL ;
SINGL :
BOOL ;
ZERO :
BOOL ;
END_VAR
VAR
U :
BOOL ;
END_VAR
(*
(*
(*
(*
(*
Control in. *)
3 channels operating. *)
2 or more channels operating. *)
1 or more channels operating. *)
(*
(*
(*
(*
(*
Control out. *)
Triple Modular Redundant. *)
Dual mode. *)
Single mode. *)
Zero mode. *)
(* Unused Value. *)
TR_VOTE_MODE
99
*=F=========================================================================
======
* FUNCTION_BLOCK: TR_VOTE_MODE
* Purpose:
Convert redundancy status.
*
* Return:
none
*
* Remarks:
* 1. Convert redundancy status (TMR, GE_DUAL, GE_SINGLE)
*
to (TMR, DUAL, SINGL, ZERO).
* 2. "GE_" denotes "greater than or equal to".
* 3. CO is true if CI is true and there is no programming error.
*
* Runtime Errors
*
EBADPARAM
Bad parameter
*
CO=false indicates a programming error if CI=true.
*
The outputs are all false if there is a programming error.
*=F=========================================================================
=====
*)
CO := CI ;
IF CI THEN
CO := GE_DUAL
IF CO THEN
TMR
:=
DUAL :=
SINGL :=
ZERO :=
ELSE
U :=
TMR
:=
DUAL :=
SINGL :=
ZERO :=
END_IF ;
END_IF ;
END_FUNCTION_BLOCK
100
Appendix C
Index
A
abbreviations, list of viii
actual scan time 48
alarms
analog input module 40
analog output module 40
digital input module 39
digital output modules 39
disabled points 20, 60
I/O modules 41
output operation 55
programming permitted 60
pulse input module 40
relay output module 41
remote access 60
semaphore flags 42
system attributes 42
analog input module
alarms 40
diagnostics 39
analog output module
alarms 40
diagnostics 40
analysis, hazard and risk 5
ANSI/ISA S84.01 13
application-specific standards 13, 14
architecture, system 34
array index errors 45
B
burner management systems, guidelines 18
bus, Tribus 34
C
calculating PFDavg , equation for sensors 7
calculations, SIL examples 7
certification, TV Rheinland 16
change control 26
commands
Compare to Last Download 47
Download All 20
Download Change 46
commands (continued),
Verify Last Download to Controller 47
communication
external 42
for maintenance overrides 27
Compare to Last Download command 47
CSA C22.2 NO 199 14
customer support ix
E
emergency shutdown systems, guidelines 18
EN 50156 13
EN 54, part 2 13
equations, calculating PFDavg for sensors 7
EX01_shutdown program 50
EX02_shutdown program 54
102
Index
EX03_shutdown program 59
external communication 42
external faults 36
F
factors
SIL 4
SIS 4, 5
faults
external 36
internal 36
safety-critical 37
types 36
fire and gas systems, guidelines 18
flags, semaphore 42
function blocks
GATDIS 81
GATENB 82
TR_URCV 68
TR_USEND 68
Triconex Peer-to-Peer 6668
functions, Modbus master 20
G
GATDIS function block 81
gate disable 81
gate enable 82
GATENB function block 82
guidelines
all safety systems 17
burner management systems 18
development 44
emergency shutdown systems 18
fire and gas systems 18
general 17
maintenance overrides 2730
safety system boundary 30
SIL 2326
SIL fire and gas 24, 26
SIL general 23, 24
Tricon controller 19
H
HART, position paper from TV Rheinland 70
hazard and risk analysis 5
HAZOP 5
I
I/O bus
faults 41
integrity of 41
I/O modules
alarms 41
processors 41
status 84
system-critical 49
IEC 61508, parts 17 12
infinite loops 45
input module alarms
analog 40
digital 39
pulse 40
input module diagnostics
analog 39
digital 39
pulse 40
internal faults 36
K
keyswitch settings 23
L
layers, protection 5
M
Main Processor, Tribus 41
maintenance overrides
design requirements for handling 28
guidelines 2730
methods for 27
operating requirements for handling 29
Modbus master functions 20
modes, operating 37
module alarms
analog input 40
analog output 40
digital input 39
digital output 39
I/O 41
pulse input 40
relay output 41
module diagnostics
analog input 39
analog output 40
digital input 39
digital output 39
pulse input 40
relay output 41
module processors, I/O 41
modules
safety-critical 19
system-critical shutdown program for all 49
system-critical shutdown program for some 53
Index
N
NFPA 72 13
NFPA 85 14
O
operating modes 37
output module alarms
analog 40
digital 39
relay 41
output module diagnostics
analog 40
digital 39
relay 41
output operation alarms 55
output parameters 51
output voter diagnostics 20
OVD, See output voter diagnostics
overrides, maintenance 27
overrides, maintenance guidelines 2730
overrun, scan 48
overview, safety 5
P
parameters, output 51
partitioning processes 57
Peer-to-Peer communication
description of function blocks for 62
overview 20, 62
Peer-to-Peer function blocks
errors 65
examples 66
rules for correct usage 62
using with critical data 21
permitted alarms, programming 60
PFDavg for sensors, equation for calculating 7
points, disabled 60
processes, partitioning 57
processors, I/O modules 41
Product Alert Notices 44
Program mode 23
programmable electronic systems 4
programming permitted alarms 60
programs
EX01_shutdown 50
EX02_shutdown 54
EX03_shutdown 59
recommendations for DCS programs 29
safety-shutdown for all system-critical I/O
modules 49
103
programs (continued)
safety-shutdown for some system-critical I/O
modules 53
project change and control 26
protection layers 3, 5
pulse input module
alarms 40
diagnostics 40
R
relay output module
alarms 41
diagnostics 41
remote access 82
remote access alarms 60
Remote mode 23
remote write access 81
requested scan time 48
requirements, design 28
response time and scan time 20, 60
risk probability 6
risk reduction factor 6
risks, described 6
S
safety
attribute 44
methods 2
overview 5
requirement specifications 10
safety integrity levels, See SILs
safety life cycle
model 9
PES steps 1011
safety system boundary 30
safety systems, guidelines 17
safety-critical
faults 37
modules 19
safety-instrumented systems, See SISs
safety-shutdown
networks 20
overview 20
programs for all system-critical I/O modules
modules 49
programs for some system-critical I/O modules 53
scan overrun 48
scan surplus 46, 48
scan time
actual 48
allowable exceeded 45
overview 48
104
Index
T
technical support ix
time, scan 48
TMR architecture 34
TR_CRITICAL_IO function block 84
TR_SHUTDOWN function block 90
TR_URCV function blocks 6668
TR_USEND function blocks 6668
TR_VOTE_MODE function block 97
training viii
Tribus
Main Processor 41
system architecture 34
Triconex contact information viii
Triconex Peer-to-Peer function blocks 6668
TV Rheinland certification 16
types of faults 36
V
VAR_IN_OUT variables 44
voter diagnostics, disable output 20
W
watchdog period 41
write access 81