1 / 14

FECOS

the best people make cosylab. FECOS. Matej Šekoranja matej.sekoranja @cosylab.com Miha Vitorovič miha.vitorovic@cosylab.com Rok Štefanič rok.stefanic@cosylab.com. What is FECOS?. F ront E nd Co ntrol S ystem

shamus
Download Presentation

FECOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. the best people make cosylab FECOS Matej Šekoranja matej.sekoranja@cosylab.com Miha Vitorovič miha.vitorovic@cosylab.com Rok Štefanič rok.stefanic@cosylab.com

  2. What is FECOS? • FrontEndControl System • A LabVIEW object oriented framework running on all FECs • Uniform and transparent network communication • Standard services like error reporting and logging • Access to timing system • Etc... • Each FEC will be able to run multiple applications – FECOS components Cosylab 2010

  3. Progress overview • STM based publish/subscribe messaging • Design for real-time actions Cosylab 2010

  4. Real-time requirements • Single and multipoint ADC • Performing data acquisition with precise time-stamp • Close loop motion control • Precise timing and triggering required • Local timing generation • Watchdog supervision of real-time tasks Cosylab 2010

  5. Real-time design • Instructions and best practices for all required use cases • Most use cases can and should be solved in hardware • Real-time tasks only available in Op state • Runs in parallel to normal component Op method • Integration of real-time tasks with watchdog • Monitoring the health of real-time task • Handle watchdog requests in the least disruptive way • Long actions need to be able to abort on request from framework Cosylab 2010

  6. Real-time tasks in FECOS • Real-time tasks only available in Op state • Runs in parallel to normal component Op method • Fast-reacting actions • On-demand real-time actions Cosylab 2010

  7. Fast-reacting actions • Started when component enters the Op state by framework • Waiting for external trigger – hardware event • Can start the action instantly on trigger Cosylab 2010

  8. On-demand real-time actions • Started by FECOS trigger – user command or component event • Start-up time delay not important • Performs real-time actions when running • Exists when finished Cosylab 2010

  9. Watchdog • Each component monitors its own real-time action • Reports to device watchdog • Supervision of the actions through real-time FIFO • Component running multiple real-time methods in parallel not supported • Multiple loops inside one method not a problem • Real-time action that runs indefinitely may be required to exit Cosylab 2010

  10. STM based protocol • What is STM? • NI LabView Simple TCP Messaging • Very thin layer above TCP • Why STM? • Support for LV-RT (library provided by NI) • We don’t want to have “LV-RT DIM problems” again Cosylab 2010

  11. SIM • STM is too “raw” • SIM (SImpleMessaging) is layer above STM • Defines general header that removes need of layers above to define another header – focus only on payload • Will be used by MTS, VAA… to be used as “the” MA communication protocol Cosylab 2010

  12. MAPS • Replacement for DIM • MAPS (MedAustron Publish-Subscribe) is a messaging protocol based on SIM • Light-weight client implementation (easy to implement, even in LabView) • MAPS clients connect to MAPS server Cosylab 2010

  13. MAPS (cntd.) • “Tag” based • Every published message is given a set of tags • Every subscription is defined by set of of tags • Subscriber gets a message only if message tag-set is super-set of subscription tag-set, e.g. • [“current”] - will get all the currents • [“current”, “VA1”] - will get all the currents of virtual acc. 1 • [] - give me all the messages • [“private1208”] - something private • Automatic (transparent) reconnection/re-subscription of clients to a server Cosylab 2010

  14. Roadmap • XML parsing • Dynamic component instantiation • TINE integration • Real-time capabilities • Logging and error handling • Remote • Entering/Leaving state methods • Reduction of data points • Scratch Pad • Basic device support • Improving development experience Cosylab 2010

More Related