InTech

NOV-DEC 2017

Issue link: http://intechdigitalxp.isa.org/i/910561

Contents of this Issue

Navigation

Page 49 of 61

50 INTECH NOVEMBER/DECEMBER 2017 WWW.ISA.ORG AUTOMATION BASICS values to simulate pressures or temper- atures rising, or flows increasing, as the simulated equipment element does its job. Here are some basic rules for pas- sive loopback simulation: Simulation is only on inputs: Simulate discrete inputs and analog inputs only. The purpose of simulation is to control the things that stimulate the program, that cause it to react. This includes com- municated variables and states, as well as discrete and analog signals attached physically to the system via I/O mod- ules. No internal or external commands, operator (human-machine interface [HMI]) actions, or outputs are simulat- ed. This allows the program to respond to external stimuli as it would in situ, providing a very valuable tool for both training and troubleshooting. Simulation must be traceable: Any analog or discrete simulation tags must be easy to recognize, or all simulation needs to be in a single program section that you can delete before going live. In PLC systems where the inputs are located variables, the link to the physi- cal I/O will need to be broken, either by deleting the physical address, or by some other means that tells the PLC to monitor the tag, and not the discrete input point itself. Each PLC system does this differently. Simulation disabling: The things you are simulating must be able to be individually disabled, so that multiple failure modes can be simulated. For example, if a motor has five interlock signals, each should be individually accessible, so you can demonstrate that the motor stops if any one of the five interlocks is lost. Simulation of higher-level control functions: Applying the same philoso - phy of simulating only the physical or communicated inputs is also valid for P&ID loops and other higher-level control functions. The controlled vari - able (CV ) output is allowed to react as the process variable (PV ) input is simulated or imposed. Practical example If the end device associated with a par- ticular output were a pump, then the simulator program fragment would have the following characteristics (may be replicated in ladder, function block, or structured text): 1. At start, simulate all associated inputs to be deenergized and cold: motor off, valves closed, flows at zero, temperatures and pressures ambient. 2. Monitor the discrete output, and when it goes "true," do the fol- lowing: • Wait 0.5 seconds; set the "Aux Contact" to simulate motor start feedback. • When "Aux Contact" is true, ramp temperatures, pressures, and flows associated with the pump to their normal levels. Do not continuously write those values, though, because some of the testing requires that the user be able to move the values around to see how things function. Consider putting those values on a test screen on the HMI, and give the user the rights to move those values around. 3. Monitor the discrete output, and when it goes "false," do the following: ° Wait 0.5 seconds; clear the "Aux Contact" to simulate motor stop feedback. ° When "Aux Contact" is false, ramp temperatures, pres- sures, and flows associated with the pump back to their ambient levels. Ver y simple. That is all there is to this logic fragment. It is com- mon to have an HMI screen dedi- cated to simulation that gives the user the ability to enter analog values and inhibit simulation el- ements. At no time should any temporar y simulation buttons on that HMI screen do anything other than enable/disable lines of simulation as descr ibed above. The pump program fragment might look something like this: Initial conditions: l Ensure the motor overload PUMP_ OL discrete input simulates to indi- cate a normal state. l Ensure any field switches (if discrete inputs are associated with them), are simulated to REMOTE (PLC Control)/AUTO operation. The various _INHIBITs listed above are all tied to HMI buttons that, when pressed, set the flag and SIMULATE PUMP10 START: If PUMP10_OUTPUT then Wait 0.5 If not(PUMP10_AUX_INHIBIT ), then Set PUMP_AUX Endif; If PUMP_AUX then If not(PUMP10_FLOW_INHIBIT), Set DISCH_FLOW = 10% If not(PUMP10_PRESS_INHIBIT), Set DISCH_PRESS = 10% Wait 1 If not(PUMP10_FLOW_INHIBIT), Set DISCH_FLOW = 50% If not(PUMP10_PRESS_INHIBIT ), Set DISCH_PRESS = 50% Endif; In PLC systems where the inputs are located variables, the link to the physical I/O will need to be broken, either by deleting the physi - cal address, or by some other means that tells the PLC to monitor the tag, and not the discrete input point itself.

Articles in this issue

Links on this page

Archives of this issue

view archives of InTech - NOV-DEC 2017