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