FECOS Matej ekoranja matej sekoranjacosylab com Miha Vitorovi
FECOS Matej Šekoranja matej. sekoranja@cosylab. com Miha Vitorovič miha. vitorovic@cosylab. com Rok Štefanič rok. stefanic@cosylab. com the best people make cosylab
What is FECOS? n Front. End Control System n A Lab. VIEW object oriented framework running on all FECs o Uniform and transparent network communication o Standard services like error reporting and logging o Access to timing system o Etc. . . n Each FEC will be able to run multiple applications – FECOS components Cosylab 2010
Progress overview STM based publish/subscribe messaging n Design for real-time actions n Cosylab 2010
Real-time requirements Single and multipoint ADC o Performing data acquisition with precise time-stamp n Close loop motion control o Precise timing and triggering required n Local timing generation n n Watchdog supervision of real-time tasks Cosylab 2010
Real-time design Instructions and best practices for all required use cases o Most use cases can and should be solved in hardware n Real-time tasks only available in Op state o Runs in parallel to normal component Op method n Integration of real-time tasks with watchdog o Monitoring the health of real-time task o Handle watchdog requests in the least disruptive way o Long actions need to be able to abort on request from framework n Cosylab 2010
Real-time tasks in FECOS Real-time tasks only available in Op state n Runs in parallel to normal component Op method n Fast-reacting actions n On-demand real-time actions n Cosylab 2010
Fast-reacting actions Started when component enters the Op state by framework n Waiting for external trigger – hardware event n Can start the action instantly on trigger n Cosylab 2010
On-demand real-time actions Started by FECOS trigger – user command or component event n Start-up time delay not important n Performs real-time actions when running n Exists when finished n Cosylab 2010
Watchdog Each component monitors its own real-time action o Reports to device watchdog n Supervision of the actions through real-time FIFO n Component running multiple real-time methods in parallel not supported o Multiple loops inside one method not a problem n Real-time action that runs indefinitely may be required to exit n Cosylab 2010
STM based protocol n What is STM? o NI Lab. View Simple TCP Messaging § n Very thin layer above TCP Why STM? o Support for LV-RT (library provided by NI) § We don’t want to have “LV-RT DIM problems” again Cosylab 2010
SIM STM is too “raw” n SIM (SImple Messaging) is layer above STM n Defines general header that removes need of layers above to define another header – focus only on payload n Will be used by MTS, VAA… to be used as “the” MA communication protocol n Cosylab 2010
MAPS Replacement for DIM n MAPS (Med. Austron Publish-Subscribe) is a messaging protocol based on SIM n Light-weight client implementation (easy to implement, even in Lab. View) n MAPS clients connect to MAPS server n Cosylab 2010
MAPS (cntd. ) n “Tag” based o Every published message is given a set of tags o Every subscription is defined by set of of tags o Subscriber gets a message only if message tag-set is superset of subscription tag-set, e. g. § § n [“current”] - will get all the currents [“current”, “VA 1”] - will get all the currents of virtual acc. 1 [] [“private 1208”] - give me all the messages - something private Automatic (transparent) reconnection/re-subscription of clients to a server Cosylab 2010
Roadmap n n n n n XML parsing Dynamic component instantiation TINE integration Real-time capabilities Logging and error handling o Remote Entering/Leaving state methods Reduction of data points Scratch Pad Basic device support Improving development experience Cosylab 2010
- Slides: 14