Instem: The Littlebrook Project

Instem Computer Systems,Walton Industrial Park, Stone, Staffordshire, UK

Littlebrook D, Dartford, Kent, UK

Located on the south bank of the River Thames just west of the Dartford tunnel in the South East of the UK, the Littlebrook power station cost 600 million pound sterling to build. At the time of the Instem Littelbrook project, the power station boasted three 660 MW (MegaWatt) generator sets. The last of the three generator sets was commissioned in 1983. The three main oil-fired boilers each consume 140 tonnes of oil per hour at full load. To handle this fuel consumption, Littlebrook has storage enough for 550,000 tonnes of oil. There were also three 35MW Gas turbines used to react swiftly to changes in demand due to their swift startup time. This power station is the fourth power station to be built on the site since it was first used for electricity generation in 1935; the A, B and C sites have been closed but some of the old buildings still remain. Instem was awarded a contract to replace the obselete monitoring and control computer system.

The Littlebrook project team was one of the best balanced teams I have ever worked in. For every fresh graduate there was an older developer experienced in the particular area in which the graduate was working. The project manager was also an old software developer and that made a big difference too.

The team included Simon Broad, Darren Lovatt, Chris Berendt, Malcolm Jones, Andy Wale, Rob Green, and Tony Stubbs plus a few others whose names I have forgotten.

The software development team was split into three sub-teams:

I-Range to DMACs Subsystem (IDS) Team

Responsible for interfacing Instem's I-Range Data Aquisition Subsystem to the DMACs Commander software.

The Commander Team

Responsible for enhancing the DMACS Commander software to support the calculations, precision and event processing required by the power station.

The Engineering Computer System (ECS) Team

Responsible for collecting archive data from the computers monitoring each turbine, populating a RDBMS with that data and developing analysis programs to run against that data.

Original Computer System

The original computer system for the site consisted of a Honeywell 716 with 48K RAM for each of the main turbine sets; the same amount of RAM as my ZX Spectrum micro-computer. There was also a standby computer which could be used if one of the main units should fail and a station services machine used to test spare or upgraded equipment and software. The control centre had a number of hi-resolution screeens but they were only monochrome. The Instem system introduced hi-resolution screens capable of a stunning eight different colours.

New Computer System

Each of the three turbine sets had approx. 1800 analogue inputs, 2000 digital( 2-state) inputs and 150 digital (2-state) outputs connected via Instem's I-Range system to a MicroVax 3400 running Commander. Commander was a realtime data presentation system originally written in Fortran IV for the DEC PDP-11. Over the years it had been enhanced and largely rewritten in VAX Fortran for the DEV VAX VMS operating system.

ECS

The Engineeering Computer System was designed to read archived data from each of the turbine computers into a relational database. This data was then used to perfrom various analysis functions. The ECS also stored the configuration details for all the i/o points monitored by the three turbine computers. The computer consisted of a MicroVax 3400 with 800Mb of disk and a 2.3 Gb tape drive used for archiving data.

I-Range

In 1989, Instem's I-Range real-time data acquisition subsystem provided advanced bulk i/o support for DEC Q-Bus computers. It's memory mapped design provided analogue measurments and digital state readings directly through Q-Bus memory without unduly loading the bus. I-Range scanned analogue inputs at user selected rates, reported changes in state of digital inputs via the Q-Bus's interrupt mechanism and permitted the setting of digital outputs. The Host Interface Module (HIM) plugged directly into the Q-Bus and was connected to 19" racks of i/o modules by a 1 MBaud HDLC link unofficially called the I-Way. Each i/o rack contained two processor, one handling the communications with the HIM and the other scanning the analogue inputs perfroming various linearisations on the raw values. In each rack with digital outputs there was an extra module called the watchdog that had to be triggered at a regular rate by the host computer. If the watchdog was not triggered it shutoff power to the digital outputs causing connected equipment to 'fail-safe'.

IDS

I implemented IDS, the two-way software interface layer between Instem's I-Range and Instem's Commander System. The IDS software used data stored in the Commander System to configure the I-Range subsystem, scanned the I-Range memory map for analogue input values at various specified rates updating the Commander System's database and checking for alarm conditions. IDS also received digital switching events and hardware failure alerts from I-Range and again updated the Commander System's database. IDS was was written in VAX C and runs under VAX VMS.

On-Site

During the commissioning phase of the project I made several trips one or two day trips to Littlebrook to work on site addressing bugs and applying fixes. By coincidence, Dartford, Kent, is where my parents used to live. As a family we often used to visit my paternal grandparents' in Dartford; unfortuantely both had died by the time of the Littlebrook project. Driving through the edge of Dartford each day from our motel to the power station was a strange experience; my first job had brought me to where my parents had lived when they had their first jobs.

My first visit to Littlebrook was a day trip. Every month the project manager, Simon Broad, would take two of the team went down with for the monthly project status meeting. This way the whole team got to visit the site at least once, met the customer's engineers, and got a tour of the power station. This practise increased each members understanding of the project and had a positive effect on morale and quality of work especially the younger members of the team.

Translating Corel and using meaningful variable names

I also helped translate the old Corel 66 control programs used by the power station into VAX Fortran programs again integrating them with the Commander System's database. Many of the old Corel programs had variables named after characters from Winnie the Pooh; struggling to understand these old programs, I learnt the hard way the benefits of using meaningful variable names. It was hard to determine that a loop something like:
for ( winnie = nohoney ; winnie < honeypot; winnie += honey)
{
 ...
}
meant loop through the pressure measuring inputs and ...