The Chorus Line Presentation Rev9

____________________________________________________________ __________________________
The Chorus Line
Reliable Wind Power Control
The Chorus Line, managed by its ChorusDIRECTOR application software,
puts your wind turbines in perfect tune.
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
1
___
____________________________________________________________ __________________________
Quest – Introduction
Quest AB – Your Partner
Since the start in 1983, Quest has built up a
wealth of practical experience in the field of wind
power control. This ever-growing experience is
used to the benefit of the wind power industry,
thus making Quest an ideal partner for
development of control technology.
Strategy for Success
In order to be successful we follow certain key
strategies:

Close partnership with windmill manufacturers

Use of industrial standard products

Open software

Modular system

Cost-effective development
Co-development with the Manufacturers
The Chorus system is developed in close
association with our partners, the windmill
manufacturers. Our partners’ demands have
formed a controller well suited for modern wind
turbines.
Use of Industrial Standard Products
Our customers’ requirements that the system
should employ standard products, resulted in our
choice to use standardised industrial bus systems
(including Ethernet and CAN), wireless local
communication (Bluetooth) and cost-effective
man-machine interface (PDA’s).
Open Software Functionality
Quest has drawn on many years of experience
when designing the control software. This knowhow is now available to our partners through the
open software.
This means that our partners have access to the
wind turbine functionality and to various toolboxes
included. Hence, our customers have the freedom
to create their own specific software solutions and
keep them confidential.
Modular System
It is essential that the development time for
partner projects is kept as short as possible. In
order to achieve this, the control system’s
hardware and software have been made highly
modular. This makes future development or
modifications fast, efficient and secure.
Per Stjerneman, Managing Director
Cost-Effective
Quest has been working in the field of control
systems for many years. This accumulated knowhow is a key ingredient when developing cost
effective solutions for the wind power industry.
Quest – Your development partner!
Göteborg, September 2006
Per Stjerneman
Quest Energy Control AB
SE-421 66 V.Frölunda, Sweden
Tel: +46 31 510010 E-mail:
[email protected] Web: www.questab.com
2
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__
____________________________________________________________ ________________________ _
Product Family & Central Controller
The Chorus Line – Quest’s Product Family
Our family of control system products is called
“The Chorus Line”.
Communication
The Chorus system features three high speed
buses: The Ethernet and two CAN buses. The first
CAN-bus is normally used to communicate with
the distributed standard industrial I/O modules
around the wind turbine, while the second one can
be used to communicate with e.g. inverters, a
vibration monitoring system or the generator.
Additionally, there are two RS-232 ports and two
RS-485 ports for e.g. user interface.
Software Download
The product software may easily be updated via a
download procedure.
Security Loop
In order to achieve a high security in a wind power
plant consisting of several different intelligent
systems, Chorus includes a specific security
feature monitoring an external loop (with e.g. stop
buttons). It also offers two security outputs that
can block external equipment in case of an
emergency. Moreover, it is self supervising.
The family includes the following hardware:
 ChorusCPU
 ChorusTRAFO
 ChorusIGNIT
Central controller
Voltage transformer
Thyristor driver
Configuration
… and the associated software:
 ChorusOS
 ChorusDIRECTOR
Onboard
Max.
extension
Digital IN
24
512
Digital OUT
16
512
Analog IN
9
64
PWM OUT
6
64
Number
Speed
Inputs/Outputs
Operating system
Application software
The Chorus Line is designed in such a compact
way that these core products, together with a few
complementary standard products, form the entire
control system that your wind turbines need.
ChorusCPU Highlights
Communication

High accuracy in measurements
Ethernet T-base
1
10/100 Mbit/s

Proven high reliability
RS-232
2
115.2 kbit/s

I/O via standard industrial bus systems
RS-485
2
115.2 kbit/s

Easy and quick configuration
CAN-bus
2
500 kbit/s

Cost effective product
General Data
Description
Data
Remarks
24V DC, 3A
18 – 32V
Processor type
50 MIPS RISC
Motorola MPC 555
Flash memory
8 MB
Power requirements
EEPROM
8 KB
RAM
2 MB
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
3
___
____________________________________________________________ __________________________
Hardware Modules
Chorus Voltage Transformer
The voltage and current measurements are used
to calculate energy production, blind power and to
synchronise the connection to the grid.
Thyristor Driver Module
Thyristors are controlled by the external driver
module named ChorusIGNIT. It is typically
installed close to the thyristors and communicates
with the ChorusCPU module through a bus cable.
Quest’s strategy is to separate
all grid voltage devices from the
controller and to use a standard
properly scaled voltage input
signal. Chorus uses external
voltage trafos for the nominal
grid voltage 690/400/230V and
to obtain 110V signals from high
voltage equipment.
ChorusTRAFO
Description
Data
Name
ChorusTRAFO
Type
Single phase type
Max Voltage
Accuracy
Output
690V
0.3 %
ChorusIGNIT
0 – 10V
Description
Name
Industrial Standard Modules
When expanding the standard Chorus
configuration, it is easy to plug in standardised
industrial I/O modules from different vendors
which all connect to the CAN-bus.
The amount of cabling is greatly reduced by
distributing the I/O units around the mill.
Data
ChorusIGNIT
Thyristor outputs
6
Output voltage, max
690V
Output current, max
1A
Over-current protection
Yes
Digital inputs
6
A bus terminal and some I/O modules
4
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__
____________________________________________________________ ________________________ _
User Interface
Handheld User Interface + Bluetooth
Chorus employs standardised hardware products
also for the user interface, for example a small
handheld PDA. This terminal connects to the
control system via Bluetooth wireless
communication
Central Monitoring System
Since the protocol and the software are open the
manufacturer can incorporate the mills in the endcustomer’s central monitoring system.
The customer benefits are obvious:

Service personnel keep and manage their
individual terminal.

The personnel may for example sit in a car
outside the mill monitoring the operation or
updating parameters.

When working in e.g. the nacelle he may
operate the plant remotely. Hence, there is no
need for a second person assisting at the
central control system downstairs.

The total investment cost is reduced since
there is only need for a couple of handheld
terminals in an entire wind park consisting of
several hundred machines.
Fixed Graphical Terminal
The Chorus user interface may also include a
fixed graphic terminal with touch screen used for
demonstrations or when needed in the wind
turbine.
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
User interface through a handheld PDA
5
___
____________________________________________________________ __________________________
Software
ChorusOS – The Real-Time Operating System
This is the software platform on which the
application is based. It’s a true real time system
designed for the very fast processes involved in
electrical energy systems. The OS provides a
large number of dedicated resources for
application programmers.
Key Services and Utilities

Tools for adding and manipulating database
records

Classes for handling field bus I/O devices
from a range of manufacturers

Tools to define I/O, irrespective of whether on
the CPU unit or on a field bus I/O module

Tasks may be cyclically initiated with 1, 10,
100 or 1000 ms interval

Measurement of true RMS for six voltages
and three currents, with down to 10 ms
averages
ChorusDIRECTOR – Application Software

Open source code

Object oriented and written in C++

Facilitates communication within wind farms

Ability to communicate and use standardised
industrial bus systems

Handling of communication ports
Easy and quick expansion

Handling of cyclic values (like wind directions)

Filters for analogue and digital measurements

Timers

Data logging

Graphical interface toolbox

Open Source Code for Applications
Occasionally, the extensive set of parameters in
the application is not sufficient to fine-tune the
operation. Therefore all major applications of the
wind turbine are fully open to our partners. This
means that the partner himself can add, change
or remove functions in the system. Using
predefined functions from the toolbox it is easy to
make additions and adaptations. Thus, the partner
has full control of the system and its future
development (and it will remain confidential).
Handling of System Faults
A special utility is devoted to the handling of any
faults that may occur in the controlled process.
The utility defines faults with reactions, delays,
reset authorisation and location, as well as
whether resets should be done. The utility may
also obtain status for each fault and for each
reaction or set of reactions.
As an example: If a message “HydraulicFault” is
signalled, all objects can easily retrieve that
information. The object handling the hydraulic
pump can stop the pump and, moreover, the
yawing stops if the yaw brake is hydraulic, etc.
(Generator speed > GChoiceOnLimit &&
T_Delay) &&
!Braked
GMChoice on
Not connected
NOT_CONN
Generator speed < GMChoiceOff limit | |
((Braked || DownConnectio) && T_DelayThyr)
GMChoice off
Set T_DelayCont
!Braked &&
Generator speed > GSChoiceOnLimit &&
Generator speed < GSChoiceMaxLimit &&
Not UpConnection &&
Not DownConnection
GSChoice on
Generator speed < GSChoiceOff limit
(UpConnection && T_Delay) | |
(Braked && T_DelayThyr)
GSChoice off
Set T_delayCont
Choice contactor on, small
generator
CHOICE_g
Small generator connect condition
Connect thyristors Std ignition
Choice contactor on,
main generator
CHOICE_G
||
Main generator connect condition
Connect thyristors Std ignition
Grid fault ||
((Disconnect condition ||
UpConnection) &&
T_delay)
Thyristors off
Set T_DelayThyr
Grid fault ||
(Disconnect condition &&
T_delay)
Thyristors off
Set T_DelayThyr
Programming in perfect control
Disconnect condition ||
UpConnection
Thyristors off
Set T_DelayThyr
Programming Model
The software is divided into objects according to
their functionality. Data exchange between objects
is mainly performed via a database.
g Thyristor
regulation
THYR_REG_g
!(Braked || DownConnection) &&
(Average power > limit)
(Average power < limit &&
Mom. power < limit) ||
UpConnection ||
Disconnect condition
Bypass off
Set T_delay
g Thyristor ramp
THYR_RAMP_g
Angle = = full ignition
Bypass on
Set T_delay
!(Braked || DownConnection) &&
(Average power > limit ||
Mom. power > limit ||
UpConnection)
(Average power < bypass limit &&
Mom. power < bypass limit) ||
DownConnection ||
Disconnect condition ||
Braked
Bypass off
Set T_delayCont
G Thyristor ramp
THYR_RAMP_G
Grid Fault
Disconnect bypass
Disconnect thyristors
Angle = = full ignition
Bypass on
Grid Fault
Disconnect bypass
Disconnect thyristors
Debugging
In case of a programmer’s mistake, extensive
tools are available to track the direct source of the
problem.
G Thyristor
regulation
THYR_REG_G
Disconnect condition
Thyristors off
Set T_DelayThyr
g Bypass and
thyristors on
BYPTHYR_g
G Bypass and
thyristors on
BYPTHYR_G
Example of state machine diagram
6
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__
____________________________________________________________ ________________________ _
Software Example
In order to make company specific algorithms or adjustments the wind turbine manufacturer may access the
application parts of the Chorus source code, compile and link his own software and, thus, add new
functionality.
The source code for a simple functional object may look like this :
Header file:
//****************************************************************************
//*
//*
File name:
GenHeater.h
//*
//*
Short description:
Handles generator heater output
//*
//*
Source code files:
GenHeater.cpp
//*
//****************************************************************************
// $History: GenHeater.h $
//
//***************** Version 1 *****************
//User: Hrm
Date: 05-04-11
Time: 14:52
//Created in $/ChorusCPU/Software/Source
//
#ifndef GENHEATER_H
#define GENHEATER_H
//---------------------------------------------------------------------------// Include files
//---------------------------------------------------------------------------#include "../GlobalDefs.h"
#include "../shell/SysBase/SystemObject.h"
//---------------------------------------------------------------------------// DEFINES
//---------------------------------------------------------------------------//---------------------------------------------------------------------------// TYPES
//---------------------------------------------------------------------------//---------------------------------------------------------------------------// CLASSES
//---------------------------------------------------------------------------class CGenHeater: public CSystemObject
{
public:
CGenHeater();
// Constructor
int TimerCall(int LoopId);
// Called in fixed intervals by OS
protected:
private:
THandle HOutGenHeat, HGenStatus; // Database handles
};
extern CGenHeater GenHeater;
#endif GENHEATER_H
//---------------------------------------------------------------------------// EOF
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
7
___
____________________________________________________________ __________________________
Software Example
Source file:
//****************************************************************************
//*
//*
File name:
GenHeater.cpp
//*
//*
Short description:
Handles generator heater output
//*
//****************************************************************************
// $History: GenHeater.h $
//
//***************** Version 1 *****************
//User: Hrm
Date: 05-04-11
Time: 14:52
//Created in $/ChorusCPU/Software/Source
//
//---------------------------------------------------------------------------// Include files
//---------------------------------------------------------------------------#include "GenHeater.h"
#include "../Shell/System/LoopMan.h"
#include "../Shell/Tables/FaultTable.h"
#include "../shell/Dashbrd/DB.h"
#include "InvExec.h"
//----------------------------------------------------------------------------// Name.......: CGenHeater
// Class......: CGenHeater
// Description: Constructor
//
// In.........: None
// Out........: None
// Return.....: None
//----------------------------------------------------------------------------CGenHeater::CGenHeater()
{
// get database handles:
HOutGenHeat = DB.GetHandle("OutGenHeat");
HGenStatus = DB.GetHandle("GenStatus ");
// put into timer loop:
LoopMan.AddIoDevice(this, LOOP100); // order a call each 100 ms
}
//----------------------------------------------------------------------------// Name.......: TimerCall
// Class......: CGenHeater
// Description: Constructor
//
// In.........: int LoopId;
Time loop id
// Out........: None
// Return.....: int loopId
//----------------------------------------------------------------------------int CGenHeater::TimerCall(int LoopId)
{
if ((FaultTable.GlobalFlags() & faultGRID) || (DB.GetAsInt(HGenStatus) != 0))
{
// If grid problems or generator connected, turn off
DB.Set(HOutGenHeat, false);
// clear output
}
else
{
DB.Set(HOutGenHeat, true);
// set output
}
return(LoopId);
}
Comment: An instance of the class is defined in a common set-up file, the module is added to the make file
and, thus, the object is activated.
8
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__
____________________________________________________________ ________________________ _
Simulation of a Wind Turbine
Development in Matlab
Quest has the capacity to simulate the wind
turbine using a mathematical model. This is
usually conducted in close cooperation with the
manufacturer.
The benefits are:

Faster development, less time needed in
prototyping and deployment due to the ease
of verification and testing

Refinement of control algorithms

Easy and quick test of new ideas
The Matlab Model
The rotor torque and speed is calculated from
wind input and the turbine’s aerodynamic and
mechanical data. The model simulates a drive
train with a stiff, heavy turbine, a soft axis, and a
perfect gearbox. The generator speed, power and
torque are calculated to model an asynchronous,
squirrel cage generator. In order to adjust the
model for variable speed, only the generator
model needs to be changed.
A regulator is written in C++ and integrated in the
model. Effects of sampling interval, noise on input
data, delays in output, etc, can easily be studied.
The output from Matlab simulations may easily be
modified and tested again. There is no need to
wait for the right wind conditions!
Wind:
Step function
Turbine:
Stiff, heavy
disk
Main shaft:
Limited stiffness and
damping
Gearbox:
Ideal transition of speed and
torque
Generator:
Speed -> torque
and electrical
power
Controller:
Uses power, speed and wind
data to control pitch angles
Fine-tuning a customised algorithm
Refinement of Control Algorithms
In the model, new regulator models can be freely
tested under all relevant wind and operating
conditions. Robustness of the control system in
relation to plant differences can be verified.
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
Examples
On the next page two examples of simulations are
shown. The comparison to manufacturer data is
made to verify the model. In the first diagram
there is a difference at high power that is fully
explained by the difference in slip (zero slip
makes the model, like most wind mills, unstable).
The second diagram illustrates a simple regulator
test showing the step response of the system. In
addition wind may be modelled as bandwidth
limited white noise or true wind traces.
Pitch control
Pitching equipment may also be simulated in
Matlab.
9
___
____________________________________________________________ __________________________
Matlab Examples
Data for a pitch regulated wind turbine has been fed into the model. The wind is modelled as a
step function, with a limited derivative.
10
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__
____________________________________________________________ ________________________ _
Your Solution?
Hydraulics
-Pump
-Pressure
...
Gear Box
-Turbine speed
-Temperatures
...
Generator
-Speed
-Temperatures
...
Vibration sensor
Power Cabinet
Inverter
DeviceNet A
500 kBit/s
Blade 1 positioning system
ChorusCPU
0-10 V AC
0-1 A AC
DeviceNet
Blade 2 positioning system
ChorusTRAFO
Current
transformers
DeviceNet B
250 kBit/s
Nacelle panel
Blade 3 positioning system
RS232
4 sliprings
or
BlueTooth
link
RS485
4 sliprings
Security loop
Opto or radio
links
Base panel
with some I/O
Remote/park
communication line
Notes
Doc. number 61:00-1 Rev. 5
September 2006
_______________________________
11
___
____________________________________________________________ __________________________
Your Solution?
Nacelle panel
All nacelle IO:
-Digital inputs
-Pumps and valves
-Wind speed and direction,
analog or digital
-Turbine and generator speed
-Temperatures
...
Yaw inverters
Standard industrial I/O modules
Vibration sensor
Security loop
DeviceNet
Copper, optofibre or radio
RS422
DeviceNet
Security loop
Base panel
Control cabinet
Power cabinet
RS232
ChorusCPU
Contactors
etc
ChorusTRAFO
ChorusIGNIT
Current trf
Technical specifications are subject to change without notice.
12
Doc. number: 61:00-1
____________________________________________________________ ______
Rev. 5
September 2006
__