____________________________________________________________ __________________________ 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 __
© Copyright 2026 Paperzz