____________________________________________________________ __________________________
Doc. number 61:00-1 Rev. 5 September 2006 1
_______________________________ ___
The Chorus Line Reliable Wind Power Control
The Chorus Line, managed by its ChorusDIRECTOR application software, puts your wind turbines in perfect tune.
____________________________________________________________ __________________________
2 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
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
Per Stjerneman, Managing Director
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 know-how 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. Cost-Effective Quest has been working in the field of control systems for many years. This accumulated know-how 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
____________________________________________________________ ________________________ _
Doc. number 61:00-1 Rev. 5 September 2006 3
_______________________________ ___
Product Family & Central Controller
The Chorus Line – Quest’s Product Family Our family of control system products is called “The Chorus Line”.
The family includes the following hardware:
ChorusCPU Central controller ChorusTRAFO Voltage transformer ChorusIGNIT Thyristor driver … and the associated software:
ChorusOS Operating system ChorusDIRECTOR 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
High accuracy in measurements
Proven high reliability
I/O via standard industrial bus systems
Easy and quick configuration
Cost effective product
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.
Configuration
Inputs/Outputs On-
board Max.
extension
Digital IN 24 512
Digital OUT 16 512
Analog IN 9 64
PWM OUT 6 64
Communication Number Speed
Ethernet T-base 1 10/100 Mbit/s
RS-232 2 115.2 kbit/s
RS-485 2 115.2 kbit/s
CAN-bus 2 500 kbit/s
General Data
Description Data Remarks
Power requirements 24V DC, 3A 18 – 32V
Processor type 50 MIPS RISC Motorola MPC 555
Flash memory 8 MB
EEPROM 8 KB
RAM 2 MB
____________________________________________________________ __________________________
4 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
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.
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 690V
Accuracy 0.3 %
Output 0 – 10V
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.
A bus terminal and some I/O modules
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.
ChorusIGNIT
Description Data
Name ChorusIGNIT
Thyristor outputs 6
Output voltage, max 690V
Output current, max 1A
Over-current protection Yes
Digital inputs 6
____________________________________________________________ ________________________ _
Doc. number 61:00-1 Rev. 5 September 2006 5
_______________________________ ___
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 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.
Central Monitoring System Since the protocol and the software are open the manufacturer can incorporate the mills in the end-customer’s central monitoring system.
User interface through a handheld PDA
____________________________________________________________ __________________________
6 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
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. 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
Easy and quick expansion 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).
Programming in perfect control Programming Model The software is divided into objects according to their functionality. Data exchange between objects is mainly performed via a database. Debugging In case of a programmer’s mistake, extensive tools are available to track the direct source of the problem.
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
Handling of communication ports
Handling of cyclic values (like wind directions)
Filters for analogue and digital measurements
Timers
Data logging
Graphical interface toolbox 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.
Disconnect condition
Thyristors off
Set T_DelayThyr
Grid Fault
Disconnect bypass
Disconnect thyristors
Grid Fault
Disconnect bypass
Disconnect thyristors
Not connected
NOT_CONN
g Thyristor ramp
THYR_RAMP_g
g Bypass and
thyristors on
BYPTHYR_g
Angle == full ignition
Bypass on
Set T_delay
Disconnect condition ||
UpConnection
Thyristors off
Set T_DelayThyr
g Thyristor
regulation
THYR_REG_g
Grid fault ||
((Disconnect condition ||
UpConnection) &&
T_delay)
Thyristors off
Set T_DelayThyr
!(Braked || DownConnection) &&
(Average power > limit)
(Average power < limit &&
Mom. power < limit) ||
UpConnection ||
Disconnect condition
Bypass off
Set T_delay
Choice contactor on, small
generator
CHOICE_g
!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,
main generator
CHOICE_G
Generator speed < GMChoiceOff limit ||
((Braked || DownConnectio) && T_DelayThyr)
GMChoice off
Set T_DelayCont
(Generator speed > GChoiceOnLimit &&
T_Delay) &&
!Braked
GMChoice on
Grid fault ||
(Disconnect condition &&
T_delay)
Thyristors off
Set T_DelayThyr
Angle == full ignition
Bypass on
G Bypass and
thyristors on
BYPTHYR_G
G Thyristor
regulation
THYR_REG_G
!(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
Main generator connect condition
Connect thyristors Std ignition
Small generator connect condition
Connect thyristors Std ignition
Example of state machine diagram
____________________________________________________________ ________________________ _
Doc. number 61:00-1 Rev. 5 September 2006 7
_______________________________ ___
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
____________________________________________________________ __________________________
8 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
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.
____________________________________________________________ ________________________ _
Doc. number 61:00-1 Rev. 5 September 2006 9
_______________________________ ___
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 output from Matlab simulations may easily be modified and tested again. There is no need to wait for the right wind conditions!
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.
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.
Turbine:Stiff, heavy
disk
Main shaft:Limited stiffness and
damping
Gearbox:Ideal transition of speed and
torque
Generator:Speed -> torque
and electrical
power
Wind:Step function
Controller:Uses power, speed and wind
data to control pitch angles
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.
____________________________________________________________ __________________________
10 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
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.
____________________________________________________________ ________________________ _
Doc. number 61:00-1 Rev. 5 September 2006 11
_______________________________ ___
Your Solution?
Blade 1 positioning system
DeviceNet
ChorusCPU
DeviceNet B
250 kBit/s
DeviceNet A
500 kBit/s
0-1 A AC
Hydraulics
-Pump
-Pressure
...
RS232
Base panel
with some I/O
Security loop
Remote/park
communication line
Nacelle panel
Power Cabinet
Blade 2 positioning system
Blade 3 positioning system
4 sliprings
or
BlueTooth
link
4 sliprings
Gear Box
-Turbine speed
-Temperatures
...
Generator
-Speed
-Temperatures
...
Vibration sensor
Inverter
ChorusTRAFO
Current
transformers
0-10 V AC
Opto or radio
links
RS485
Notes
____________________________________________________________ __________________________
12 Doc. number: 61:00-1 Rev. 5 September 2006 ____________________________________________________________ ______ __
Your Solution?
All nacelle IO:
-Digital inputs
-Pumps and valves
-Wind speed and direction,
analog or digital
-Turbine and generator speed
-Temperatures
...
Vibration sensorStandard industrial I/O modulesYaw inverters
Power cabinet
Nacelle panel
Control cabinetBase panel
ChorusCPU
ChorusTRAFO
ChorusIGNIT
Current trf
Contactors
etc
Copper, optofibre or radio
Security loop
RS232
DeviceNet
Security loop
DeviceNet
RS422
Technical specifications are subject to change without notice.
Top Related