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

13.07.2015 Views

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

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!