Disclaimer: My simulator is for fun. It does not model the extensive operations and safety features of a real nuclear plant!
I created a nuclear plant simulator back in 1984. I used a TRS-80 Model I, Christmas tree lights and any other parts I could find. Built the circuits on a large piece of breadboard. I used stick-on labels on the simulator panel. This simulator would throw events at you. Just when you thought the plant was stable, a valve would close or a pump would trip. It was a panic situation trying to keep the plant online.
First step in creating your simulator is to define what you are going to model. This determines how large (physically), how much hardware and how involved your software needs to be. I chose a two loop PWR. Below is the hardware logic sketch.
For the computer, I picked the Raspberry Pi (thus the project name: Nuclear Pi). The Raspberry Pi is definitely a solution looking for a problem. The small size and footprint reminded me of the PC104 standard I had used in previous robotic projects.
For the I/O and A/D cards, I chose AB Electronics in the UK. They were very helpful in answering questions about current limits with their I/O cards. The cards I picked, had certain limits. I/O cards are limited to four cards or 4*32 I/O lines. A/D cards are also limited to four (4*8), but since my model only has 15 variable controls, this was not a problem.
I could have gotten fancy and used the I/O cards to drive a large number of 8255 PPIs. This method would have created pretty much unlimited I/O. I decided to stay within the 128 I/O lines by using some creative thinking – ex: pumps and valves in my simulation have two states (run/stop, open/close). By using one I/O line and a 7404 ‘NOT’ gate, I could simulate both states.
The programming language (Python) was chosen for two reasons: 1) Python seemed to be native to the Raspberry Pi and 2) I didn’t know Python and wanted to learn it.
Now that you have decided how involved your simulator will be and you found hardware to support the operations, you need to develop your energy transfer equations.
In my model, there are four loops:
Tertiary (Cooling Tower)
Energy produced in the Primary loop is transferred to the Secondary loop and then exits the plant via Electrical and Tertiary loops. You will need equations for normal operations as well as abnormal events that take place.
Plan your simulator panel carefully. I kept the same basic design as before: switches and rotary controls were on a horizontal panel, status lights on an angled panel and the annunciator panel was vertical.
Before you order your engraved panels – CHECK YOUR WORK! I did paper cutouts to make sure the design would fit and that I didn’t leave anything out.
Of course this checking also applies to your custom PCB boards. I had three PCB designs: Power Distribution Board (1), LED Driver Board (6) and the ‘NOT Board’ (2) that incorporated the 7404 invertors.
Next – my simulator will require extensive operator interaction – no automatic controls!
You must pull the control rods, decide when to use the pressurizer spray and heaters, open PORVs, adjust feedwater flow control valves, adjust turbine speed and generator loading.
I’m also modeling a lot procedure controls. Ex: I model three Rx power detectors (Source/Intermediate/Power). Switch them correctly or you may trip the plant. Another example are the Startup and Auxiliary transformers. Know when to switch from one to the other or you will get a procedure violation.
Finally there is the graphic model of the plant on the computer monitor. Use the graphics sparingly – this is a hardware project. Whenever possible, push plant operations to hardware.
So, let’s being the journey!