"A distributed control system (DCS) refers to a control system usually of a manufacturing system, process or any kind of dynamic system, in which the controller elements are not central in location (like the brain) but are distributed throughout the system with each component sub-system controlled by one or more controllers. The entire system of controllers are connected by networks for communication and monitoring." From Wikipedia, the free enciclopedia, 27/08/2008 !!! Objectives This module's main objective is to provide students with the concepts and tools for the implementation of real-time control systems in distributed environments. In particular, it will focus on: 1) control system design taking into account both system dynamics and distributed architectures constraints. 2) analyse and design real-time control systems with distributed network solutions such as Ethernet and CAN-BUS. 3) programming real-tie control solutions on PC's and microcontrollers. !!! Faculty * [[Main.HomePage | Alexandre Bernardino]]. Email: alex(at)isr(dot)ist(dot)utl(dot)pt * José Gaspar. Email: jag(at)isr(dot)ist(dot)utl(dot)pt (Note - replace (at) by @ and (dot) by . ) !!! The Practical Project * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/scdtr_project_2009.pdf | Description ]] * Deadlines: ** Report: 19 December ** Presentation: 4 January !!! Lecture Slides (Requires Password) * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture1Introduction.pdf | Lecture 1 - Introduction ]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture2Objects.pdf | Lecture 2 - C++ Objects and Classes ]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture3ObjOrientProg.pdf | Lecture 3 - Object Oriented Programming in C++ ]] and [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/solids.zip | Lecture Example Source Code ]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture4Extras.pdf | Lecture 4 - References, consts, operators and copy constructor]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture5.pdf | Lecture 5 - More on constructors and Destructors. Statics. Friends]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture6TemplatesLibraries.pdf | Lecture 6 - Templates and Libraries]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture7Yarp.pdf | Lecture 7 - The Yarp Framework]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture8Concurrency.pdf | Lecture 8 - Concurrent Systems]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture9Synchronization.pdf | Lecture 9 - Synchronization]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture10SyncObjects.pdf | Lecture 10 - Sync Objects]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture11IPC.pdf | Lecture 11 - Interprocess Communication]] * Lecture 12 - Continuation of lecture 11. Students interested in Windows interprocess communication mechanisms can additionally check [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture12WindowsIPC.pdf | Windows IPC]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture13RaceConditions.pdf | Lecture 13 - Race Conditions]] * Lecture 14 ** [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture14PriorityInversion.pdf | Slides - Priority Inversion]] ** [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/priority-inheritance-protocols.pdf | Paper - Priority Inheritance Protocols: An Approach to Real-Time Synchronization]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture15Networking.pdf | Lecture 15 - Introduction to Networks]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture16Ethernet.pdf | Lecture 16 - Ethernet and IP Protocols]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture17TCPIP.pdf | Lecture 17 - TCP and UDP Protocols]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture18Sockets.pdf | Lecture 18 - Sockets]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture19Telnet.pdf | Lecture 19 - Telnet]] and [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/sockets.zip | Lecture Example Source Code ]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture20DigitalControl.pdf | Lecture 20 - Introduction to Digital Control]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture21Sampling.pdf | Lecture 21 - Sampling]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture22Discretization.pdf | Lecture 22 - Discretization]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture23PID.pdf | Lecture 23 - PID Control]] *[[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/lecture24AntiWindup.pdf | Lecture 24 - Anti-Windup]] !!! Other Documentation (Requires Password) * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/TIC1.pdf | C++ Manual Vol 1]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/TIC2.pdf | C++ Manual Vol 2]] * [[http://www.isr.ist.utl.pt/~alex/scdtr0910/docs/RTCC.pdf | Real Time Computer Control Manual]] !!! Official Site * https://fenix.ist.utl.pt/disciplinas/scdtr-2/2009-2010/1-semestre