160 likes | 249 Views
CLS Process Variable Database. By: Diony Medrano. CLS PV Database - Topics. Background Design Constraints Design and Implementation Benefits and Future Demo Questions. Background. Main reasons why it was needed
E N D
CLS Process Variable Database By: Diony Medrano
CLS PV Database - Topics • Background • Design Constraints • Design and Implementation • Benefits and Future • Demo • Questions
Background • Main reasons why it was needed • Ability for staff (controls, beamline scientists, operations etc.) to determine what PVs are available, their location and configuration. • EPICS does not have a central location that lists all available PVs. • Data mining that is needed to support more advanced tools to permit online changes. • Make it easier to know which IOCs are installed on site.
Design Constraints • Needed to work with Microsoft SQL Server 2000 • Front-end needed to be cross-platform • Needed to work on both Windows and Linux • Ideally building on existing work– based on the Integrated Relational Model of Installed Systems (IRMIS) project at APS
Design • Consists of 6 components • SQL Server PV database • SQL Server Session database • Web Service • Security • PV Crawler • Web Client
Implementation • SQL Server 2000 PV database • Database schema is based off of the IRMIS Process Variable schema. • Contains information about all the PVs currently running at the CLS. • Provides answers to certain questions: • What IOC does this PV belong to? • What fields belong to this PV?
Implementation • SQL Server 2000 Session database • Contains information about what permissions users have. e.g. read, write, or both • Contains information about who is currently logged on. • Contains a history of who has used the PV database.
Implementation • Web Service • Purpose is to service SQL commands received from a client. • SQL commands are received as SOAP messages. • SOAP is XML so clients can be written in any language or live on any type of platform. • Hides the true database away from the client. • Written in C#.
Implementation • Security • Security Manager • In charge of checking for user authentication. • Creates a session id if the user is authenticated. • Soap Security • In charge of checking if the client is allowed to read and write from the database. • Makes sure the session id is valid.
Implementation • PV Crawler • Based off of the code in the IRMIS project. • Written in Perl. • Modified to work with the Web Service instead of the PV database directly. • Purpose is to mine the st.cmd and .db files for PV information. • Sends PV information to the Web Service.
Implementation • Web Client • Purpose is to allow users to search and view from PV information in the PV database. • Users can search by different criteria: • Search for a PV by name. • Search for a PV by type. • Search for an IOC by name. • Written in XHTML and PHP.
Benefits • Assists in quickly determine if a PV is installed in the systems. • Useful in identifying the impact from taking down a specific IOC. • Useful in isolating problems with the control system.
Future • Closing the loop, to generate and provide online access to PV configurations. • Integration into the cables database • Data mining (crawling) P&ID drawings (AutoCAD). • Data mining and possibly generation of EDM screens.
Demo • Web Client • http://srv-web.clsi.ca/pvwebclient/login.html