En todelt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer



Relaterede dokumenter
Maskinanlæg, opsætning af frekvensomformer

Tilslutning- og programmeringseksempler

SW arkitektur 7. maj Software Arkitektur. Tiltrædelsesforelæsning 7. maj 2001

SW arkitektur 7. maj Software Arkitektur. Softwareudvikling-på-tværs konference. København den 19. november 2001

VLT AutomationDrive FC300. Basis tilslutning og programmerings eksempler. VLT AutomationDrive FC300

VLT AutomationDrive FC300. Tilslutning og programmerings eksempler. VLT AutomationDrive FC300

Impac230. Beskrivelse. Egenskaber. Impac 230

VLT AQUA Drive FC200 Basis tilslutning og programmerings eksempler

VLT AutomationDrive FC300. PID tilslutning og programmerings eksempler. VLT AutomationDrive FC300

VLT AQUA Drive FC202 PID tilslutning og programmerings eksempler

Kommunikationsprotokoller Summit06 worksession. Lisa Wells Datalogisk Institut Aarhus Universitet

PID tilslutning og programmerings eksempler

Brugervenlig og kommunikativ!

PLC reguleringsteknik

VLT HVAC Drive FC100 Basis tilslutning og programmerings eksempler

VLT AutomationDrive FC300 Basis tilslutning og programmerings eksempler. VLT AutomationDrive FC300

VLT AQUA Drive FC200 Tilslutning og programmerings eksempler

MX2 Applikationsguide

Guide til idriftsættelse Teco EV frekvensomformere

SPEED-Commander Frekvensomformer. Program nr. 1 Software version PI-regulering

KEB Combivert Frekvensomformer F5-B version (0,37-15kW)

SX Quick Guide v1.0. Quick Guide

Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer.

Tryk Transmitter Model LV52X til trykmåling og overvågning med alarm af Lean Process Ventilation

Opsætning af Infranor CD1-a

MultiProgrammer Manual

Komfort Ventilation Controller Model FV67X til balanceret Procesudsug og Rumudsug og Indblæsning i Lean Process Ventilation

Danfoss Frekvensomformere & Softstartere VLT Drives

PLC - reguleringsteknik

Navn: DVG V 450EC/F400 varenr.: 95257

Beskrivelse af vejrstation OM1 NETLON NETLON. Dette dokument indeholder en beskrivelse af en vejrstation OM1 fra Netlon.

Navn: DVG V 355EC/F400 varenr.: 95256

Billede. Boksventilator BVB. Generel funktionsbeskrivelse

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK AC Motor Controller 370W. Brugermanual

LASTSPIL 37 kw AC KRØLL CRANES A/S. INF. REF dk SIDE 1/9

Danfoss VLT Frekvensomformere

MULTIBOX II ventilationsvagt og styring

Arkitekturdokument for Cruise Control

Installationsguide. ECL Comfort 310, applikation A333 Ekstrakt. 1.0 Indhold. 1.0 Indhold... 1

Vejledning til håndterminal til ventilatormotorstyring, TBLZ-2-75 SILVER C

CANSAT & ARDUINO step by step

Lenze Global Drive 8200 vector / motec vector

Marine-Generator Prisliste 2011

Otto Vinter. Software Engineering Mentor Tel: , Mobil:

IAI Quick Start Guide

Din brugermanual OMRON SYSDRIVE 3G3MV

JX Quick Guide v1.0. Quick Guide

ECL Comfort 310, applikation A333 Ekstrakt

Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.

elektronik og software

Elektroniske Kredsløb og Dynamiske Systemer

Stand alone system baseret på 11kW Gaia vindmølle. Henrik Bindner Vindenergiafdelingen, Risø

Smart!wind SW-5.5, SW-7.5 og SW-10

Vejledning for TKE 01 Ver 4.01

PAR-600-CO2. Datablad. ØLAND A/S Vi arbejder for din succes Energivej 3-7, 2750 Ballerup, Tel , Fax

Software Dokumentation

SPEED-Commander frekvensomformer. Program nr. 04 Software version 5.12c. Synkron Kontrol

Cebocon15. Konstanttryk eller flow-regulator

Temperaturmåler. Klaus Jørgensen. Itet. 1a. Klaus Jørgensen & Ole Rud. Odense Tekniskskole. Allegade 79 Odense C /

NC_8_ Quick Guide v1.0. CJ1W-NC_8_ Position Control via EtherCAT. Quick Guide

NETLON NETLON 1.1 Variabel liste VSD1

User Guide AK-SM 720 Boolean logic

EX-EC ikke tilsluttet bus i FanIO stik B, Fejl i buskabel, Buskabel i EX-EC monteret i stik B i stedet for A

Analoge indgange og A/D konvertering. Analoge udgange

Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,

Enes Kücükavci Roskilde Tekniske Gymnasium Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Hastighedsregulering af modeltog med pulsbreddemodulation

TX electronic controller

KNX løsninger til. Erhvervsbygninger. KNX Automatisk dagslysregulering med foldedørsstyring og manuel dæmp

NETLON. KV2_2b beskrivelse. Dette dokument indeholder en beskrivelse af en KV2 klasseværelsesstyring fra Netlon.

Adressering af ind- og ud gange på BCxxxx IEC1131 PLC uden TC system manager

Guide til idriftsættelse Teco 7300EV frekvensomformere

SPEED-Commander Frekvensomformer. Program Nr. 05 Ver. 5.17a. Fortløbende en-vejs positionering

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

KEB COMBIVERT FREKVENSOMFORMER QUICK-GUIDE. F4-C VERSION (0, kw)

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

DC-Motor Controller. Brugermanual

Axel Kiers Vej Højbjerg Tlf.: Mobil:

Process Airflow Controller Model FV56X til Feedback regulering og Slave styring af Lean Process Ventilation

TX Controller Betjeningsvejledning

Microcontroller, Arduino

Delta Elektronik A/S - AKD

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

Microcontroller, Arduino

System Arkitektur og Integration

INSTRUKTION. OJ-DV Hterm. OJ Drives A DRIVES PROGRAMME DEDICATED TO VENTILATION SOLUTIONS /15 (OSH) 2015 OJ Electronics A/S

Brugervejledning & instruktion MTW 12/1. Varenr MTW 12/2. Varenr MTW12/1101-1

Transkript:

En todelt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer ved Hans Peter Jepsen, Danfoss Drives og hans_peter_jepsen@danfoss.com Finn Overgaard Hansen, Teknologisk Institut, Center for IT finn.overgaard.hansen@teknologisk.dk

COT/Case2 - pilotprojekt Indlægget vil præsentere resultater fra pilotprojekt 1. hos Danfoss Drives Et delprojekt i COT/Case2: OO udvikling af apparatsystemer (Bang & Olufsen & Danfoss) Deltagere i Danfoss Drives pilotprojektet: 6 personer fra Danfoss Drives 3 personer fra Århus Universitet, Devise gruppen 2 personer fra Teknologisk Institut, Center for IT 2

Indledning Hvad handler indlægget om Omridset af en to-delt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer. Virker simpel, men har været til stor støtte, efter vi nåede frem til den Hvordan design patterns har vist sig nyttige i forbindelse med realisering Der vil blive snakket en del om frekvensomformere forhåbentlig ikke mere end nødvendigt

Systemer, der Hvad er et Fleksibelt hændelsesstyret signalbehandlingssystem? har til opgave at foretage kontinuert signalbehandling, skal reagere på hændelser, der påvirker og omkonfigurerer signalbehandlingen Signalbehandlingen kan foregå i software, hardware, både hardware og software fordelt på flere processorer

Eksempler på signalbehandlingssystemer Eksempler kan findes indenfor Måleinstrumenter (f.eks. flowmålere) Procesregulering (f.eks. frekvensomformere) Forbrugerelektronik (f.eks. CD-afspillere) 5

Eksempel - en frekvensomformer En frekvensomformer er et apparat, der kan styre en elektro-motor, så omdrejningshastigheden eller kraften den yder, er netop hvad der er behov for på et givet tidspunkt Kaldes også et drev deraf navnet Danfoss Drives VLT er produktnavnet for Danfoss frekvensomformere

Styring af transportbånd - eksempel på en hastighedsstyring Hvad ønsker man at styre båndets hastighed hastigheden skal holdes uanset belastning Andre hensyn start/stop skal være blød

Styring af ventilator - eksempel på en procesregulering Hvad ønsker man at styre temperaturen i et rum, f.eks. en lufthavnshal Andre hensyn motoren skal fanges eller stoppes, før man starter op

Opvikling af tråd - eksempel på en momentstyring Hvad ønsker man at styre trækket i tråden trækket skal holdes konstant uanset rullens diameter Andre hensyn start/stop skal være blød

Sådan virker en frekvensomformer Rectifier Intermed. Circuit Inverter Motor Control Circuit Enclosure

Architectural style: Process Control Architectural style - et mønster for en arkitektur for en gruppe af systemer Proces Control mønstret kan med fordel anvendes i forbindelse med kontinuert regulering af en proces Demonstreres i forb. m. VLT eksemplerne fra før Reference: Shaw, Garlan: Software Architecture (Prentice-Hall, 1996)

Ventilatorstyring som procesregulering Input variable: varmeproduktion, varmetab, temperatur udenfor, osv Setpunkt: Ønsket temperatur Controller: VLT Manipulerede variable: frekvens + spænding Proces: Motor + ventilator + rum Kontrolleret variabel: rumtemperatur Feedback: aktuel rumtemperatur Eksempel på closed-loop feedback regulering

Indmaden i VLT en er signalbehandling Controller: VLT Proces: Motor + ventilator + rum Reference Reference calculation PID Controller Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Feedback Calcualation Feedback

Transportbåndet igen Input variable: motorstrøm Setpunkt: Ønsket hastighed Controller: VLT Manipulerede variable: frekvens + spænding Proces: Motor + last Kontrolleret variabel: båndets hastighed Reference Reference calculation Slip compensation Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Slip estimation I Eksempel på closed-loop feedforward regulering

Kontinuert signalbehandling - realiseret i software Kendetegn: Periodisk i stedet for kontinuert normalt styret af periodisk interrupt Inputsignaler samples Periodelængde er en vigtig systemparameter Dataflowarkitektur Grundigt behandlet i reguleringsteorien Mangler bud på fornuftig realisering i SW

En VLT reagerer også på hændelser Hændelser kan være: kommandoer, eks: Start, Stop, Skift-Setup en parameter (mere end 200) kan få ændret værdi setpunkt ændres fra proces-lokalnet Kan komme fra digitale indgange betjeningspanel telegram fra proces-lokalnet

Hændelsesbehandlingen Kendetegn: Hændelser ankommer ofte uafhængigt af og asynkront i forhold til signalbehandlingen normalt via et interrupt Systemets reaktion vil meget ofte være styret af tilstandsmaskiner

Hændelsesbehandlingsdelen påvirker signalbehandlingsdelen Hver signalbehandlingsblok har sine konfigurerings-parametre eks. rampe: rampetid, type (lineær eller S-rampe) De fleste kommandoer og nogle parametre medfører ændret signalvej Start, Stop, Setup-skift Skift fra Speed-Open-Loop til Process-Closed-Loop

Signalbehandlingsdelen kan frembringe hændelser Eksempler: Setpunkt-signalet forsvinder => motoren skal stoppes eller regulator skiftes Motorhastigheden når ned på 0 => motorstyringstilstanden skal sættes til Stoppet Feedback udenfor brugerfastsatte grænser => der skal udløses en Warning

Den todelte arkitektur (meget simplificeret) Ramp Configuration LCP driver/ handler Bus driver/ handler Motor stopped Motor starting Motor running Ramping down DC braking Monitor Freq Limits Bypass Resonans damp Voltage calc PWM PID Slip komp Reference calc Feedback calc Motor Preheat Busreference Analog inputs RS- 485 Digital inputs

Fordele ved den todelte arkitektur De to dele af systemet stiller hver deres krav dvs. der er forskellige spørgsmål, der skal afklares og tilgangsvinklen vil være noget forskellig Systemet kan opbygges, så signalbehandlingsvejen dannes, når der sker en ændring i vores nuværende produkt danner vi vejen hver gang. Periodelængden for de forskellige blokke på signalvejen kan være forskellig. det ser vi heller ikke idag.

Anvendelighed Arkitekturen formodes at være anvendelig for mange indlejrede systemer signalbehandlingen kan distribueres på forskellige CPU er Signalbehandlingsblokkene kan flyttes mellem HW og SW.

Bidrag til udviklingsmetode Overvej at beskrive funktionalitet som Process control når der foregår kontinuert databehandling the execution of the software system is affected by external disturbances - forces or events, that are not directly visible or controllable by the software (Shaw+Garlan, p. 30) UseCases skal specialiseres til denne funktionalitet Måske skabelon udfra ventilatorstyrings-eksemplet (omend det kan diskuteres om det er en UseCase) Mindst en proces/tråd for hver af de to dele Kritisk region imellem dem

Anvendte design mønstre Til at undestøtte den to delte arkitektur er der anvendt følgende designmønstre: Filter (and Pipes) Strategy Command State Observer 24

Mønstre opdelt på de to arkitektur lag Det diskrete hændelsesbaserede lag VLT user Command, State Motorkontrol Strategy, Filter VLT & Motor overvågning Observer Det kontinuerte signalbehandlingslag Motor 25

Pakkediagram for en frekvensomformer (VLT) Hændelsesbaserede lag VLT user VLT kontrol Konfigurering Signalbehandlings lag Sensor VLT & Motor overvågning Motor kontrollering Motor 26

Blokdiagram for 2 forskellige anvendelser Speed Open loop: Reference Reference calculation Slip compensation Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Process Closed Loop: Slip estimation I Reference Reference calculation PID Controller Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Feedback Calcualation Feedback 27

Objektdiagram for Speed-Open-Loop input frekvens :SlipCompensator f= Output(f) Output(f) :SpeedOpenLoopController :BypassFilter Output(f) :FreqLimiterFilter Output(f) :RampFilter Output(f) :ResonanceDamperFilter output frekvens 28

Klassediagram for filter-mønster ApplicationModeController Generate_f(): freq 0..* ControllerComponent Output(freq): freq... Resonance DamperFilter Freq LimiterFilter RampFilter ProcessClosedLoop SpeedOpenLoop Bypass Filter PIDRegulator Controller Controller Generate_f(): freq SlipCompensator Output(freq): freq 29

Strategy Pattern - struktur Context ContextInterface() Strategy AlgorithmInterface() ConcreteStrategy AlgorithmInterface() ConcreteStrategyB AlgorithmInterface() ConcreteStrategy AlgorithmInterface() 30

Udsnit af VLT klassediagram med Strategy konfigurerer MotorOutputGenerator SetActiveController() GetMotorOutputData() activeoutputcontroller 1 AbstractOutputController Generate_f_and_U() kaldes periodisk OutputFrequencyController Generate_f_and_U() Generate_f(): freq StopController Generate_f_and_U() ApplicationModeController Generate_f(): freq FrequencyController Generate_f(): freq... SpeedOpenLoopController Generate_f(): freq ProcessClosedLoopController Generate_f(): freq 31

Objekt collaboration diagram for Motor data GetMotorOutputData :MotorOutputGenerator aktiv på et senere tidspunkt :StopController 1. Generate_f_and_U 1.2 Calculate Voltage :SpeedOpenLoopController 1.1 Generate_f 1.1.1 Output 1.1.2 Output :SlipCompensator Næste filterobjekt 32

Skitse af det hændelsesbaserede lag Hændelsesbaserede lag User If VLT user VLT kontrol Konfigurering 33

Konfigurering af motor output generatoren - 1. MotorControlSM 1 stopcontroller StopController Generate_f_and_U() 1 1 Configuration runcontroller 1 appmodecontroller OutputFrequencyController Generate_f_and_U() Generate_f(): freq Tilsvarende findes for start SpeedOpenLoopController (impl. vha. filter mønster) 34

Konfigurering af motor output generatoren - 2. MotorControlSM configurerer 1 MotorOutputGenerator SetActiveController() GetMotorOutputData() 1..* AbstractOutputController Generate_f_and_U() 1 activeoutputcontroller stopcontroller 1 StopController Generate_f_and_U() runcontroller 1 OutputFrequencyController Generate_f_and_U() Generate_f(): freq 35

Skitse af Command + State pattern MotorControlSM HandleCommand(Command *pc) actualstate 1 MotorState 1. HandleCommand(Command *pc) { pc->execute(actualstate); }... 2. RunCommand::execute(MotorState *ps) { ps->run(); } 3. MotorStopped::run() {...->SetActiveController(runController); } 36

Skitse af konfigurering vha. Observer mønster Subject * notify() attachobserver() Configuration Observer update() Controller Component data update() 37

Konklusion anvendelse af den 2 delte arkitektur har adskilt de hurtige behandlingsdele fra de langsomme det objektorienterede design har reduceret en tidligere meget stor tilstandsmaskine til en meget mindre med 5 tilstande anvendelsen af mønstre har givet en fleksibel objektmodel - der forventes at udvikle sig til et framework for frekvensomformere 38