KINGCV11.HTM   Version 31   


David King



E  R  S  O  N  A  L     I  N  F  O  R  M  A  T  I  O  N 


MARITAL STATUS: SINGLE
NATIONALITY: BRITISH
DATE OF BIRTH: 1/12/68
PLACE OF BIRTH: CUCKFIELD, WEST SUSSEX.




D  U  C  A  T  I  O  N 


Downlands Comprehensive School Sep 1980 - July 1985
Hassocks, West Sussex.


Haywards Heath Sixth Form College Sep 1986 - July 1988
Haywards Heath, West Sussex.


Birmingham University Sep 1988 - Dec 1988
Edgbaston, Birmingham, West Midlands.




U  M  M  A  R  Y     O  F     Q  U  A  L  I  F  I  C  A  T  I  O  N  S 


Downlands Comprehensive School

'O' LEVEL IN 8 SUBJECTS:

PHYSICS GRADE A
TECHNOLOGY GRADE A
MATHEMATICS GRADE A
TECHNICAL DRAWING GRADE A
ENGLISH LANGUAGE GRADE A
ENGLISH LITERATURE GRADE A
CHEMISTRY GRADE B
GEOGRAPHY

GRADE B

'A/O' LEVEL IN 1 SUBJECT:

ENGLISH FOR PROFESSIONAL
AND
BUSINESS USE

GRADE B


Haywards Heath Sixth Form College

'A' LEVEL IN 3 SUBJECTS:

PHYSICS GRADE B
TECHNOLOGY GRADE C
MATHEMATICS

GRADE D

Birmingham University

PHYSICS DEGREE COMMENCED, FROM WHICH I REGRETTABLY HAD TO
WITHDRAW DUE TO ILLNESS.




E  C  H  N  I  C  A  L     S  U  M  M  A  R  Y 


My programming experience comprises Programmable Logic Controller (PLC)
coding, realtime embedded microprocessor / microcontroller programming,
processor level coding, Web development, PC desktop application programming,
xBase programming, COBOL programming, and I am familiar with configuration
management tools and development environments, and have user interface and
graphic design skills.

My language skills comprise IEC1131-3 function block diagrams, statement text and
ladder logic, C / C++ / C#, Assembler, ASP.NET, Java / JavaScript, Perl, XML
/ XSLT, HTML / DHTML, CSS, VB / VBA / Basic, Forth, PLM, dBase / Clipper,
and COBOL.


PLC

TRICONEX IEC1131-3 FUNCTION BLOCK DIAGRAMS, STATEMENT TEXT
    AND
LADDER LOGIC
GE LOGICMASTER AND ABB AUGUST TRIGUARD LADDER LOGIC

Realtime embedded

MICROSOFT VISUAL C++ 7.0 FOR X86

C++ compiler for embedded x86.

BORLAND C++ 4.5 WITH PARADIGM EMBEDDED X86 LIBRARIES

C++ compiler for embedded x86.

ALTERA NIOS C COMPILER AND ASSEMBLER

C compiler and assembler for Soft Core CPU

DIAB C++ 4.1A / OSE RTOS FOR 68K

C++ compiler and RTOS for embedded 68K.

ADSP-2100 FAMILY C COMPILER (G21) AND ASSEMBLER

Development toolset for ADSP21xx DSP.

KEIL ELECTRONIK C51 / PLM51 / A51 / RTX-51 RTOS

C and PLM compiler and assembler and RTOS for 805x microcontroller.

COMSOL POLYFORTH / CHIPFORTH

FORTH-83 implementations for embedded x86 / 8051/32 microcontrollers.

Processor

X86   68K   NIOS   805X/32   AT90SX   6502   Z80
ADSP21XX   TMS320C2X

Web

C# / ASP.NET   JAVA / JAVASCRIPT   PERL   XML / XSLT
HTML / DHTML   CSS

Produced company website, expanded intranet to document industrial battery
analysis instrument.

Desktop

MICROSOFT DEVELOPER STUDIO 5.0
MICROSOFT VISUAL C++ 7.0 (32-BIT) / 1.52 (16-BIT)
BORLAND C++ BUILDER (32 / 16-BIT)

Targetting Win32 / 16 and MS-DOS with MFC / C++, and MS-DOS with C.

MICROSOFT VISUAL BASIC 6.0 (32-BIT) / 3.0 (16-BIT)
MICROSOFT VISUAL BASIC FOR APPLICATIONS (VBA)

Developed interactive demonstration of PCS desktop interface.

MICROSOFT QBASIC / GW-BASIC

Basic implementations for MS-DOS.

COMSOL POLYFORTH

FORTH-83 implementation for MS-DOS / x86 microprocessor.

xBase

BORLAND DBASE IV VERSION 2.0 AND CLIPPER 5.0

COBOL

MICRO FOCUS   LPI   ACUCOBOL   FUJITSU   DESKWARE   COBOL 6.50

Configuration Management / Environments

MICROSOFT VISUAL SOURCESAFE / CONTINUUS CM / MKS RCS / PVCS
CODEWRIGHT 6.0




M  P  L  O  Y  M  E  N  T     H  I  S  T  O  R  Y 


Invensys Triconex   Contract June 2004 - date
Crawley, West Sussex. May 2002 - May 2004
SOFTWARE ENGINEER


Oct 2001 - March 2002


Bio-Rad Microscience   Contract Feb 2002 - May 2002
Hemel Hempstead, Hertfordshire.
FIRMWARE ENGINEER


Solartron Analytical   Contract Jan 2001 - Sep 2001
Farnborough, Hampshire.
DSP ENGINEER


Philips Semiconductors   Contract July 2000 - Jan 2001
Southampton, Hampshire.
SOFTWARE ENGINEER


ABB August   Permanent July 1991 - April 2000
Crawley, West Sussex.
SOFTWARE ENGINEER


Silvertech   Permanent June 1989 - July 1991
Horsham, West Sussex.
DESIGN ENGINEER


Invensys Triconex

My contract work with Invensys Triconex has most recently been
Turbomachinery control projects for steam and gas turbines and
motor drives, for compressors, pumps and generators. Control comprises
speed and steam inlet and extraction pressure, compressor antisurge,
and generator Automatic Voltage Regulation (AVR). Prior to this,
I worked on Fire & Gas and Emergency Shutdown projects.

Control software is programmed using IEC1131-3 Function Block Diagrams,
running on the Tricon and Trident triplicated fault-tolerant control systems.

Applications comprise power generation, boiler feedwater turbopumps,
process gas compression, steam header pressure regulation, process
recovery, pipeline pressurization, and LNG liquefaction.

I have also undertaken development of project autobuild, custom sequence
of event recording, time synchronization, data capture and analysis, protocol
conversion, and HMI development, in C++ and VBA.

Bio-Rad Microscience

My Bio-Rad Microscience contract was to design, code and document
embedded C++ firmware for a project codenamed Eagle Eye.

The project is the development of a reduced cost laser scanning microscope,
alternating settings and mechanisms including motorised emission filters
within 30ms between a single laser source and photomultiplier tube.

The project included design of an object request broker, permitting arbitrary
location of setting controls on any CANbus node within the microscope, and
access to controls from any node. Also, a settings manager, which stores
and alternately applies settings at 10Hz to distributed nodes.

For production, the firmware is being ported from an x86-platform to the
NIOS configurable Soft Core CPU. Lastly, I ported the microscope scan
generator from an x86 / ADSP2181 DSP platform to NIOS.


Solartron Analytical

My Solartron Analytical contract was primarily to write the DSP assembler
firmware for an ADSP2181-based multichannel voltage acquisition card,
being part of an industrial battery analysis instrument. The firmware performs
asynchronous acquisition on dual voltage channels, performing continuous
autoranging and on demand self test, including zero offset and calibration.

However, I also wrote DSP assembler for the ADSP2181-based main board
and temperature acquisition and control board, and C++ on an OSE RTOS
platform for the 68K-based marshalling board.

External to the instrument, I carried out development in Visual C++ on an
ActiveX custom control, running on the PC, including a double buffered
parser for the instrument data and command stream. I also enhanced the
Visual Basic user application and development utilities, running on the PC.

Web development comprised expanding an intranet to document the above.

Lastly, I performed some development in C++ on a VXD device driver for an
embedded PC-based metal analysis instrument. A metal sample was ionised
with an electric arc in argon, analysing the resulting spectrum with a CCD.


Philips Semiconductors

My contract with Philips Semiconductors was a realtime embedded role,
providing software support for an IC codenamed Lizard, intended for use in
Philips' next generation of consumer audio CD recorders. Lizard includes an
805x microcontroller (µC) core.

The contract included writing a Hardware Abstraction Layer (HAL), software
automatic gain control, and validation programs, running on the 805x, plus an
I²C data transfer utility, and emulator scripts to assist testing, in C and Basic.


ABB August

ABB August (formerly August Systems) designed and assembled Fire & Gas,
Emergency Shutdown, Process Control and Safety Systems, mainly for the
Petrochemical Industry. ABB August developed their own Process Control
System (PCS) and field interface equipment.

The ABB August PCS is one of only a few similar systems in existence,
another being the Triconex system, in which all major components are
triplicated. The concept of triplicated redundant components is applied to
both hardware and software, and permits a single fault to be tolerated without
disruption of operation. The remaining modules sustain operation until the
faulty module is replaced.

In addition to providing a backup for faulty components, redundancy
facilitates voting of system inputs, outputs and intermediate results. A fault is
revealed by absence of a unanimous vote. In comparison, PLCs employed in
a dual-redundant configuration cannot majority vote.

The system is known as the SC300 Triple Modular Redundant (TMR) PCS.
The PCS is a development of the US Space Shuttle landing computers.


My work at ABB August was in two main areas:

My main accomplishment was to design and program the process interface
module subsystem of an enhanced SC300 TMR PCS, known as the
SC300E. This comprised writing firmware running on three embedded
microcontrollers on each field I/O module, which effectively implement the
TMR PCS in miniature. I also wrote test firmware, and a supporting MS-DOS
resource compiler. Lastly, I supervised contract programming staff working
on the project.

Prior to that, I was responsible for the TRIDAS Display and Control System,
which provided a graphical operator interface to the PCS. I also configured
and provided support to engineers configuring TRIDAS applications, and
programmed PCS TRIGUARD ladder logic required to interface to TRIDAS.


SC300E TMR PCS

My work on the SC300E TMR PCS comprised three projects, namely field
I/O module firmware and test firmware, and a supporting resource compiler:

FIRMWARE

SC300E I/O modules comprise three independent channels,
each with its own 805x µC. µC firmware relieves SC300E TMR
PCS control computers of routine I/O, by assuming the
following functions:

µCs vote inputs, outputs and intermediate results to control their
common execution path. Analogue I/O modules perform dynamic
linear I/O value scaling and auto-calibration. I/O modules regularly
perform latent fault detection, or the detection of faults that would
otherwise be undetected due to hardware voting. Field I/O data is
processed cyclically, and outputs are continuously monitored.
I/O and non-I/O diagnostics are determined.

The firmware is a monolithic, configurable operating system
and application combination, with features including own
implementation LZSS decompression, inter-µC synchronization
and voting, software I/O serialization, linear I/O interpolation,
and continuous memory test, comprising ROM checksum and
RAM address and data bus and cell test.

TEST FIRMWARE

The test firmware is used during development, for I/O module
common interface daughterboard test. The test firmware permits
non-verified and verified pattern and internal and external
loopback tests to be continuously performed on µC ports,
shared RAM, and hardware latches and registers.

RESOURCE COMPILER

The resource compiler is an MS-DOS utility that is required to
build the firmware and test firmware. The resource compiler
compresses the I/O module initial parameter table resource, using
an own implementation LZSS algorithm, and fills unused code
space with a repeated code sequence, to trap errant execution.

The resource compiler also places a checksum in a code location,
for code test, and places firmware identification text at the end of
the generated hex file, as loaded into µC on-chip PROM.
The resource compiler includes an own design script file parser,
and Intel format hex file parse and generate.


TRIDAS DISPLAY AND CONTROL SYSTEM

TRIDAS runs on the PC desktop. A 4-port serial card with onboard 286
offloads PCS communication from the main processor. TRIDAS was written
in C and assembler, under Borland C++ 2.0, later Microsoft Visual C++ 1.52.

TRIDAS was based on a third party product, developed by Custom
Microelectronics (CME). Many features were added, both to accommodate
the PCS, and enhance functionality.

Initially, these enhancements were implemented by CME. Later, ABB August
purchased the TRIDAS source code, and most enhancements were
implemented in-house.

I was responsible for communication with CME. I also designed and specified
the CME and in-house implemented enhancements, and programmed and
tested some of the enhancements. The main enhancements were as follows:

MULTIPLE PCS SUPPORT

Support for multiple SC300 PCS, whether connected directly,
or nodes on a Local Area Network. Dual redundant TRIGUARD
Peer-to-Peer Protocol communication links were typically used.

ZONE HIERARCHY

Grouping of field alarms and events in a hierarchy, and indication
of any alarm or event in a hierarchal group. This particularly suited
the hierarchal zoning of offshore petrochemical production
facilities.

PER POINT CONFIGURATION

Screen / printer text, colour and type configuration for each field
condition, including normal, event and alarm, for each field point.

PCS TIMESTAMP

Alarm and event logging, with a timestamp sent with data from
the PCS.


I also developed a distribution TRIDAS disc set. This included a TRIDAS
demonstration, TRIDAS application templates, a font editor, and font families
suitable for field identifier labels.

Lastly, I configured TRIDAS applications for the following PCS systems, and
provided support for TRIDAS applications for 10 other PCS systems,
including systems for British Nuclear Fuels Limited; Pacific Gas and Electric
Company, USA; Abu Dhabi National Oil Company, United Arab Emirates;
and Instrumentation Limited, India.

MOBIL ST. FERGUS SAGE GAS PLANT

Dual-redundant TRIDAS systems, single PCS, later expanded
to five PCS. User interface combining simulated hardwired matrix
panel and conventional UI elements, for operator familiarity.

MOBIL CORYTON CRACKING COMPLEX

Two banks of triple-redundant TRIDAS systems, three PCS.
Conventional UI, extensive use of hotlinks for navigating
three level page hierarchy.


The projects included work on site at Mobil Oil Company Limited, St. Fergus,
Grampian, Scotland, and Coryton, Essex; Instrumentation Limited, Kota,
Rajasthan, India; and Yokogawa Electric Corporation, Mitaka, Tokyo, Japan.


Silvertech

Like Invensys Triconex and ABB August, Silvertech designed and assembled
Fire & Gas (F&G), Emergency Shutdown (ESD) and Process Control
Systems for the Petrochemical, Nuclear and Manufacturing Industries.

However, Silvertech mainly used commercially available GE-Fanuc and
Allan-Bradley Programmable Logic Controller (PLC) equipment, and GP-Elliot
field interface equipment. PLCs were typically employed in a dual-redundant
configuration, in which a hot standby PLC would take over in case of failure of
the running PLC.

Silvertech developed a range of microcontroller-based Fire and Gas
modules, running chipFORTH.

Silvertech also adapted the GE ASCII / Basic interface module to run
polyFORTH / chipFORTH implementations of the FORTH language.
The Silvertech GE ASCII / FORTH module was used to interface with
other systems.

Lastly, Silvertech programmed GE-Fanuc and Allan-Bradley ladder logic.

I worked on projects in each of these areas:


FIRE MODULE FIRMWARE

Written in chipFORTH and assembler, running on embedded 8032
microcontroller.

SILVERTECH FIRE INTERFACE MODULE

Field signal conditioning, alarm and fault monitoring,
self-diagnostics, autotest.


FORTH MODULE APPLICATION SOFTWARE

Written in chipFORTH / polyFORTH, running on GE Series 5 and Series 6
ASCII / FORTH modules.

RADWASTE TREATMENT PLANT, UK ATOMIC ENERGY
AUTHORITY, WINFRITH

Operator keypad command interface for waste reprocessing plant,
VAX to PLC interface. Implemented Modbus protocol for interface.

SNÖRRE FIRE & GAS SYSTEM, SAGA PETROLEUM, NORWAY

Addressable field detector module to PLC interface.

SKIL CONTROLS AND ARCO PICKERILL F&G AND ESD SYSTEM
OPERATOR INTERFACE

Programmable event logging system.

RF & MA F&G AND ESD SYSTEM

Configured operator interface terminal display and control system,
including platform mimic design. Developed field signal identifier
data compression system, to increase capacity, subsequently
used on other systems.


SYSTEM APPLICATION SOFTWARE

Written in GE LogicMaster ladder logic, running on GE-Fanuc Series 5,
Series 6 and Series 90 / 70 PLCs.

FAHAHIL GAS STRIPPING PLANT

Electrical load shedding incremental shutdown software, plant
mimic driver software. Developed method of programming directly
from client Cause & Effect diagrams.

SKIL CONTROLS AND ARCO PICKERILL F&G AND ESD SYSTEM,
NORTH SEA PETROCHEMICALS DEHYDROGENATION UNIT,
ANTWERP

Field interface module autotest, Distributed Control System
interface, I/O fault processing. Developed realtime fault table
compacting module, subsequently used on other systems.

RF & MA F&G AND ESD SYSTEM, MOSSEL BAY FA PLATFORM,
SOEKOR MOSSGAS PROJECT, SOUTH AFRICA

Coded platform module F&G / ESD software. Developed
automatic PLC programming and display and control system
configuration from client I/O database.


The projects included work on site at GP-Elliot Limited, Merton, London;
UK Atomic Energy Authority, Winfrith, Dorset; and Genwest Industries,
Johannesburg, South Africa.




N  T  E  R  E  S  T  S 


SAILING, MOUNTAIN BIKING, MOTOR RACING, WATERCOLOUR PAINTING,
CONSERVATION WORK WITH
THE NATIONAL TRUST.