Technical Specification
The industrial control and alarm management
system that integrates video, voice and data
Technical overview
Architechture
OPC-OCI client. •Responsible for establishing and maintaining communication with automation equipment. Receives asynchronous updates from OPC-servers and writes the updates to the database. Event filter.
•
Monitors event frequency in order to prevent event storms from bringing down the system. Database.
•
Main storage for all configuration data, process data and interpreted status of all objects modelled by the system. Realtime-engine.
•
Models the process objects and stores the current status for the entire process. Webserver + clients.
•
A large number of clients may log in through the web-interface.
The web-server manages the access rights of each client and forwards live updates immediately to clients with access privileges to view the updates.
Streaming server. •
Connects to and reads MPEG4 video over RTSP (Real Time Streaming Protocol) streams from video servers connected to the system.
Acts as a proxy for clients wanting to view live video or snapshots, and manages a video wall for operator video.
OPC
Communication of real-time values through the industry standard of OPC.
For the purpose of redundancy several OPC servers may read the same OPC item from a single PLC or other external device. It is also possible to employ multiple OPC clients for increased redundancy. In the case where an OPC item is read by multiple servers in a redundant set-up, the quality and time stamp will be used to decide which value to use.
Support for OPC Data Access (OPC DA) version 1.0 and 2.0 •
Asynchronous OPC messages (Asynchronous Advice) •
Custom OPC client Implemented with the fully OPC compliant OPC Toolbox from Softing •
Connects to any compliant third party OPC server •
Uses OCI to writes process values directly to Oracle database where they are interpreted by real time engine. •
Automatic reconnects OPC items in case of communication errors •
Reconfiguration of OPC items on a running system takes immediate effect •
Manual or automatic disconnect and reconnect non-responsive OPC servers •
Database
All system data is stored in an
Oracle database.
This includes:
Raw (uninterpreted) process data. •
Interpreted object states. •
Object command menus. •
Alarm list. •
Event log. •
User authentication and access privileges. •
Object state visualisation data. •
All data communication between system modules goes through the database. This enforces clear interfaces between the modules. Database communication is performed using OCI and JDBC interfaces. Alarm lists and event logs can be fetched by clients on demand. Live event updates (both alarms and visual changes to objects’ states) are immediately forwarded from the database to authorised clients. Process images are generated from the database. The database stores graphical information about all process objects. When a client
requests a screen it is generated from the information in the database. Object state is subsequently visualised using state and graphical information from the database.
Clients
PREVISION’s user interface is a web based client with software that supports server-initiated updates to the clients.
Web based clients means that a minimum of software must be installed on a computer before it can be used as a client. A large number of clients may be logged in to PREVISION at any moment. All clients are treated individually and must
authenticate with user name and password at login.
Software requirements
for client computer
This includes: Web browser. • Java 1.4.2 or above. • Adobe SVG viewer. •Redundancy
In order to improve uptime, PREVISION may be deployed in a redundant set-up with two identical installations.
The installations can be co-located or placed in separate locations to allow for redundant power and communication lines. Operators will normally work with one installation (the main installation), and will immediately receive alarms if the other installation (the standby installation) experiences communication or system failure.
If the main installation goes down due to unforeseen problems or scheduled maintenance, the operators will direct their viewers to the standby installation and may resume control of all processes immediately.
Both main and standby installations communicate with all plants and receive identical data from the plants. Apart from the main installation monitoring the health of the standby installation, there are no dependencies between the installations.
Screen images
Process images are stored in SVG (Scalable Vector Graphics) format. SVG is vector based and images can therefore be viewed with the same quality on screens of different size.
SVG is described using XML (eXtensible Markup Language). All information required to generate the SVG code for an image is stored in the database. Visualisation of different object states are stored in individual XML-tags. When displaying an object the XML-tag visualising the object’s current state is used in the SVG image.
When the user is viewing a process image, the visual statuses of the objects are updated live as the state of the objects changes. A new tag is generated upon change of state for an object, and the new tag immediately replaces the old one in the SVG image the user is viewing.
Process images
stored as SVG-files
•
scalable
•
equal quality in all resolutions
•
Event filter
Occasionally communication or field equipment fails in such a way that an event storm is generated. If allowed through
unfiltered, such event storms may overwhelm the alarm management and control system, masking real events and causing long delays in event processing.
PREVISION features an event filter between the database and the real-time engine that effectively stops event storms.
Events are filtered by
Event type
•
Originating object
•
Originating plant
•
Events are filtered based on: Event type.
•
Based on the type of event (status, sensor value, command, etc), different filter settings are applied to the event. Originating object.
•
If a single object generates too many events, the filter is triggered for that particular object. Events may be completely stopped, or allowed through only at a configurable interval.
Originating plant. •
If a single plant generates too many events, all events from that particular plant are placed in a low priority queue. This queue only gets processed when there are no incoming events from other plants.
When an object or a plant is filtered an alarm is raised and an event is logged in the event log, allowing maintenance personell to detect and repair problems triggering the filter.
Functional overview
Event log
All process values and commands are stored in an event log after they have been interpreted by the real time engine. The log is stored in the database, and is accessible through the web client.
Advanced query functionality to search for specific events •
Events have assigned priorities and color codes for easy •
searching and browsing of important events
Process values are parsed and presented in human readable •
format
Event log can be exported to external CSV file for easy browsing •
in excel or other spreadsheets
Advanced query functionality to •
search for specific events
Events have assigned priorities and •
color codes for easy searching and browsing of important events
Alarm list
The web client contains a real time alarm list that is visible on the screen at all times. This alarm list is limited to the most important alarms. The alarm list is constantly being updated live through asynchronous calls to the web server.
Real time alarm list always visible on •
the screen
High priority alarms with sound and •
flashing colour
Notes can be attached to alarms •
In addition a complete alarm list is available to the operator. This list is static, and must be manually refreshed to reflect the current state of the system, but contains all the active alarms. From this list all alarms can be exported to an CSV file. High priority alarms uses sound and flashing colors to alert the operator until they are acknowledged.
For all alarms it is possible to attach a small textual notice to the alarm. For a given alarm a history of notices can be shown. From either alarm lists one can also jump directly to the screen where the alarm is. The object the alarm belongs to will then be clearly marked in the display.
Screen images
Process images are coded in SVG (Scalable Vector Graphics). The vector format allows for viewing the images on different sized screens with the same quality.
The clients receive asynchronous updates from the server upon change in object status. The change is immediately visualised in the process image as a change in the colour or appearance of the object.
Trend curves
Sensor values may be displayed as a graph of value over time.
It is possible to view several data series simultaneously, making it easy for operators to find correlations between different sensor values.
Data series are chosen from a graphical user interface ordered by plant name and sensor name. Sensor data from different plants may be included in the same graph.
The range of the Y-axis may be individually set for each data series, allowing comparisons between dataseries whose values differ by orders of magnitude.
Access control
PREVISION features a fine-grained access control system, allowing administrators to specify in detail what installations and objects a user has access to.
Individual access rights is given to viewing process state and values, issuing commands to the prosess and parameterising process equipment.
Communication hierarchy
PREVISION’s data model lets administrators configure the communication hierarchy of the process.
This information allows PREVISION to eliminate alarm avalanches, since objects without communication are not allowed to issue alarms. Instead a failure will be displayed on an object higher up in the hierarchy, indicating that communication has failed to a part of the communication hierarchy.
Communications check
All parts of PREVISION are continuously monitored for system or communication failures.
Even when no events are occurring, heartbeat data is exchanged between all parts (including OPC-servers) of the system to ensure that data exchange is active. In the event of a failure operators are immediately notified with an alarm and, if possible, the system initiates automatic procedures to correct the problem.
Voice / telephony
The current health and call status of TRAFSYS’ VoIP phones are monitored using PREVISION.
Using an IP-PBX, the entire call flow including phone status, voice calling, call recording and conferencing may be controlled by PREVISION.
Video
PREVISION features an integrated streaming server that acts as a video proxy to connected clients.
Bandwidth to a remote location may be limited and using a proxy server allows multiple clients to view the same video stream simultaneously.
For clients that do not have access to live images, a snapshot facility is provided by the server.
The streaming server may also direct live video to a video wall with up to four screens, each screen displaying a maximum of four concurrent video streams.
Video
Live stream • snapshots • video wall •Configuration tools
Prevision comes with a complete set of configuration tools.
The process objects and the operator screens can be configured in intuitive graphical editors.
The configuration tools are based on a client-server architecture. The configuration is handled by a dedicated configuration server which the graphical editor communicates with. The editors will not need to hold the whole system configuration in memory but will simply ask the server for the parts that are needed on demand, and return any configuration changes. From the server the current configuration can be exported to xml files or directly into the database. It is possible to run multiple editors simultaneously.
Map based control
PREVISION uses a map based web interface to provide operators with full control over all objects managed by the system. Operators can pan and zoom in the map, and the real-time status of all objects is visually displayed.
The application uses WMS (Web Map Service), a standard from the Open Geospatial Consortium, to load and display maps, and can use maps from any WMS-compliant server.
The controlled objects are organised in functional layers that can be easily activated and deactivated by users while viewing the map. This way the user can hide objects that are not relevant to the current view, and avoid cluttering of the map.
When many objects are located in the same geographical location (i.e. inside a technical room) the objects are aggregated in a single map object and may be expanded by clicking the object, giving a detailed overview of the objects in the location.
Report generator
PREVISION features an integrated report generator for event analysis and presentation to the user. Reports can be user defined to analyse any aspect of events monitored by the system.
Reports can be delivered in HTML (Web) and PDF formats.
The reporting system is based on BIRT (Business Intelligence and Reporting Tools), an open-source reporting system that integrates with Java. Report templates can be designed using the open-source Eclipse development platform. In PREVISION, report templates are stored and can be accessed by authorised users. Reports can be parameterised and run on demand by users, or set to run at a predetermined schedule (e.g. daily or weekly).