Safety Considerations Guide, Tricon v9.0 - Tuv-fs.com
Safety Considerations Guide, Tricon v9.0 - Tuv-fs.com Safety Considerations Guide, Tricon v9.0 - Tuv-fs.com
74 Examples of Peer-to-Peer ApplicationsIf the sending controller does not receive acknowledgment from the receivingcontroller in 1 second, then it automatically retries the last TR_USEND message.Assume that once in a while (due to network collisions, communication busloading, etc.) the sending controller has to retry one time to get the message to thereceiving node. This is why the general rule for data transfer time is 1 to 2 seconds,even though the estimated time is 800 milliseconds. The receiving node also has anetwork to measure the actual time so that you can validate the assumed 2-secondmaximum transfer time. Since the process-tolerance time of the receiving node is4 seconds, the maximum time-out limit is set to 2 seconds (half the processtolerance time). The receiving node should get at least one sample of new datawithin the maximum time-out limit. Using this criteria satisfies the basicrequirement for using peer-to-peer to transfer safety critical data.This example packs 32 BOOL values into a DWORD and sends the DWORD anda diagnostic variable to a receiving node as fast as possible by setting the sendflagparameter to 1 all the time. The diagnostic variable is incremented every time a newTR_USEND is initiated. The receiving node checks the diagnostic variable to seethat it has changed from the previous value received. The receiving node alsochecks whether it has received at least one sample of new data within the processtolerancetime. If not, the application takes appropriate action such as using the lastdata received or using default data to make safety-critical decisions.This example uses the following project elements:• PEER_EX4_SEND_FBD (for sending Node #1)• PEER_EX4_RCV_FBD (for receiving Node #3)Tricon Safety Considerations Guide
TR_CRITICAL_IO Function Block 75TR_CRITICAL_IO Function BlockAccumulates Status of Critical I/O ModulesThe TR_CRITICAL_IO function block provides an easy way to accumulate thestatus of all safety-critical I/O modules in a Tricon system.Instructions for UseThe following instructions for using the TR_CRITICAL_IO function block applyto the Structured Text (ST) language.▼To obtain the accumulated status of critical I/O modules:1 Initialize TR_CRITICAL_IO by invoking it once with INIT := TRUE.SCIO( INIT := TRUE );where SCIO is the function block instance name2 To complete initialization, invoke TR_CRITICAL_IO again as follows:SCIO( INIT := FALSE, CI := TRUE, APP:=DE_ENERGIZED, RELAY_OK:=FALSE );where SCIO is the function block instance name3 To get the status of all safety-critical I/O modules, invoke each module byspecifying these input values:• CHASSIS• SLOT• APP• RELAY_OKIf CHASSIS 1 SLOT 1 is a critical DI module, and CHASSIS 1 SLOT 2 is acritical DO module with a relay, then the following example applies. SCIO isthe function block instance name:SCIO(CHASSIS:=1,SLOT:=1,APP:=DE-ENERGIZED,RELAY_OK:=FALSE);SCIO(CHASSIS:=1,SLOT:=2,APP:=RELAY,RELAY_OK:=RELAY1_OK);Appendix APeer-to-Peer Communication
- Page 39 and 40: Guidelines for Tricon Controllers 2
- Page 41 and 42: Guidelines for Tricon Controllers 2
- Page 43 and 44: Guidelines for Tricon Controllers 2
- Page 45 and 46: Guidelines for Tricon Controllers 2
- Page 47 and 48: Guidelines for Tricon Controllers 3
- Page 49 and 50: Guidelines for Tricon Controllers 3
- Page 51 and 52: Guidelines for Tricon Controllers 3
- Page 53 and 54: CHAPTER 3Fault ManagementThis chapt
- Page 55 and 56: System Diagnostics 39System Diagnos
- Page 57 and 58: Operating Modes 41Operating ModesEa
- Page 59 and 60: Module Diagnostics 43Module Diagnos
- Page 61 and 62: Module Diagnostics 45Relay Output M
- Page 63 and 64: Module Diagnostics 47System Attribu
- Page 65 and 66: CHAPTER 4Application DevelopmentThi
- Page 67 and 68: Important TriStation Commands 51Imp
- Page 69 and 70: Setting Scan Time 53Setting Scan Ti
- Page 71 and 72: Sample Safety-Shutdown Programs 55S
- Page 73 and 74: Sample Safety-Shutdown Programs 57I
- Page 75 and 76: Sample Safety-Shutdown Programs 59A
- Page 77 and 78: Sample Safety-Shutdown Programs 61P
- Page 79 and 80: Sample Safety-Shutdown Programs 63O
- Page 81 and 82: Sample Safety-Shutdown Programs 65D
- Page 83 and 84: Sample Safety-Shutdown Programs 67P
- Page 85 and 86: APPENDIX APeer-to-Peer Communicatio
- Page 87 and 88: Data Transfer Time 71ParameterTS =S
- Page 89: Examples of Peer-to-Peer Applicatio
- Page 93 and 94: TR_CRITICAL_IO Function Block 77Par
- Page 95 and 96: TR_CRITICAL_IO Function Block 79Str
- Page 97 and 98: TR_CRITICAL_IO Function Block 81CO
- Page 99 and 100: TR_SHUTDOWN Function Block 83Parame
- Page 101 and 102: TR_SHUTDOWN Function Block 85Relate
- Page 103 and 104: TR_SHUTDOWN Function Block 87* Exam
- Page 105 and 106: TR_SHUTDOWN Function Block 89TIMER_
- Page 107 and 108: TR_VOTE_MODE Function Block 91Param
- Page 109 and 110: TR_VOTE_MODE Function Block 93Appen
- Page 111 and 112: APPENDIX BShutdown Function BlocksT
- Page 113 and 114: TR_CRITICAL_IO Function Block 974 R
- Page 115 and 116: TR_CRITICAL_IO Function Block 99Rel
- Page 117 and 118: TR_CRITICAL_IO Function Block 101*
- Page 119 and 120: TR_SHUTDOWN Function Block 103TR_SH
- Page 121 and 122: TR_SHUTDOWN Function Block 105Param
- Page 123 and 124: TR_SHUTDOWN Function Block 107Struc
- Page 125 and 126: TR_SHUTDOWN Function Block 109IF CI
- Page 127 and 128: TR_VOTE_MODE Function Block 111TR_V
- Page 129 and 130: TR_VOTE_MODE Function Block 113Stru
- Page 131 and 132: Index 115IndexAactual scan time 53a
- Page 133 and 134: Index 117Modbus master functions 25
- Page 135 and 136: Index 119timescan 53TMR architectur
TR_CRITICAL_IO Function Block 75TR_CRITICAL_IO Function BlockAccumulates Status of Critical I/O ModulesThe TR_CRITICAL_IO function block provides an easy way to accumulate thestatus of all safety-critical I/O modules in a <strong>Tricon</strong> system.Instructions for UseThe following instructions for using the TR_CRITICAL_IO function block applyto the Structured Text (ST) language.▼To obtain the accumulated status of critical I/O modules:1 Initialize TR_CRITICAL_IO by invoking it once with INIT := TRUE.SCIO( INIT := TRUE );where SCIO is the function block instance name2 To <strong>com</strong>plete initialization, invoke TR_CRITICAL_IO again as follows:SCIO( INIT := FALSE, CI := TRUE, APP:=DE_ENERGIZED, RELAY_OK:=FALSE );where SCIO is the function block instance name3 To get the status of all safety-critical I/O modules, invoke each module byspecifying these input values:• CHASSIS• SLOT• APP• RELAY_OKIf CHASSIS 1 SLOT 1 is a critical DI module, and CHASSIS 1 SLOT 2 is acritical DO module with a relay, then the following example applies. SCIO isthe function block instance name:SCIO(CHASSIS:=1,SLOT:=1,APP:=DE-ENERGIZED,RELAY_OK:=FALSE);SCIO(CHASSIS:=1,SLOT:=2,APP:=RELAY,RELAY_OK:=RELAY1_OK);Appendix APeer-to-Peer Communication