OpenSCADAWiki: Home Page En/Doc/ Web Vision ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Doc/WebVision from 2009-08-03 13:36:21..

The module <WebVision> of subsystems “User Interfaces”

Russian (1 Kb) Русская версия
Ukrainian (1 Kb) Українська версія?


Module:WebVision
Name:Operation user interface (WEB)
Type:User interfaces
Source:ui_WebVision.so
Version:0.6.10
Author:Roman Savochenko
Developers:Roman Savochenko, Maxim Lysenko, Ksenia Yashina
Translated:Maxim Lysenko
Description:Web visual user interface for the project execution of visual control area (VCA).
License:GPL

Contents

Introduction

WebVision module provides a mechanism of the final visualization of the visual control area (VCA) in the OpenSCADA system. The module is based on WEB technologies (XHTML, JavaScript, CSS, AJAX). In its work, the module uses the data from the VCA engine ( module VCAEngine ).


Visual control area (VCA) is an integral part of the SCADA system. It applies to the client stations with a view to providing accessible information about the object and to for the the issuance of the control actions to the object. In various practical situations and conditions the VCA, based on different principles of visualization may by applied. For example, this may be the library of widgets QT, GTK+, ~ wxWidgets or hypertext mechanisms based technologies HTML, XHTML, XML, CSS, and JavaScript, or third-party applications of visualization, realized in various programming languages Java, Python, etc. Any of these principles has its advantages and disadvantages, the combination of which could become an insurmountable obstacle to the use of VCA in a practical case. For example, technologies like the QT library can create highly-reactive VCA, which will undoubtedly important for the operator station for control of technological processes (TP). However, the need for installation of that client software in some cases may make using of it impossible. On the other hand, Web-technology does not require installation on client systems and is extremely multi-platform (it is enough to create a link to the Web-server at any Web-browser) that is most important for various engineering and administrative stations, but the responsiveness and reliability of such interfaces is lower that actually eliminates the using of them at the operator of the TP stations.


OpenSCADA system has extremely flexible architecture that allows you to create external interfaces, including user and in any manner and for any taste. For example, the system configuration OpenSCADA as now available as by means of the QT library, and also the Web-based.


At the same time creation of an independent implementation of the VCA in different basis may cause the inability to use the configuration of one VCA into another one. That is inconvenient and limited from the user side, as well as costly in terms of implementation and follow-up support. In order to avoid these problems, as well as to create as soon as possible the full spectrum of different types of VCA проект создания концепции СВУ? is established. The result of this project - the direct visualization module based on the WEB technologies, the direct visualization module Vision and VCA engine VCAEngine.

1. Purpose

This module of the direct visualization of the VCA serves only for the execution of interfaces of the VCA in the area of WEB-technologies.


The user interface is formed in the WEB-browser, by reference to the WEB-server and receiving from it XHTML-document over HTTP. In this case, the WEB-server - OpenSCADA system, which supports standard communication mechanisms of the TCP-networks (module Transport.Sockets), hypertext transfer protocol (module Protocol.HTTP), as well as encryption of traffic between the browser and the server (Transport.SSL). On this basis, to gain access to the user interface provided by this module, you need to configure the transport in the OpenSCADA (Transport.Sockets or Transport.SSL) in conjunction with the protocol HTTP (Protocol.HTTP). In the delivery of the OpenSCADA system there are configuration files containing settings of the Transport.Sockets for ports 10002 and 10004. Consequently, the interface of the module in the default configuration of the OpenSCADA will be available at URL: http://localhost:10002 or http://localhost:10004.


The final version of the VCA module, built on the basis of this module, will provide:

2. Execution of the VCA interfaces

Execution of the VCA interface is to run a new project session or connect to the existing one on the level of VCA engine (Fig.2). Before the connection request to the session the authentication of the user request is done . Then the module of direct visualization represents and manages the data of the session. The main window of the execution mode of this module has the form presented at Fig.3.


The interface of the execution window is fully dynamically built by the JavaScript script on the basis of the contents of the session of the project through direct XML requests to the server.


Update of the contents of the open pages of the visualization interface with the frequency of 1 second. In the updating process it is performed:


The mechanism of the request of the only modified data is based on an absolute counter of the session execution. If you want to make real changes in the attributes of widgets the memorizing of the value of this counter is done, which allows the identification of modified attributes. This approach can increase productivity and reduce the load on network sharing in the case of access to the VCA engine via network.


Hierarchically the module provides an opportunity to accommodate the project pages in the main execution window of the WEB-browser (Fig.3), as well as putting them inside of the container widgets.


file:login.png
Fig.1.Authentication page.

Connection or the creation of a new session of the project's execution of the VCA. (23 Kb)
Fig.2. Connection or the creation of a new session of the project's execution of the VCA.

file:wvis_run.png
Fig.3. The main execution window.

3. Сonception of basic elements (primitives)

In this version of that module not all the primitives' images of this project are implemented. In general the project provides the following primitives:

IdNamePurpose
ElFigureElementary graphic figures

Primitive is the basis for drawing basic graphic shapes with their possible combinations in the single object.The support of the following elementary figures is provided:

  • Line.
  • Arc.
  • Bézier curve.
  • Fill of the enclosed space.

For all figures contained in the widget common properties of thickness, color, etc. are set, but this does not exclude the possibility of indicating of aforenamed attributes specific to each figure separately.

FormElForm elements.

Includes support of standard form components:

  • Line edit.
  • Text edit.
  • Check box.
  • Button.
  • Combo box.
  • List.
  • Slider.
  • Scroll bar.
TextTextText element(labels). It is characterized by the type of font, color, orientation and alignment.
MediaMediaElement of representation of raster and vector images of various formats, playback of the animated images, playback of audio segments and view of video segments. Perhaps it will be useful to include the OpenGL support for it!
DiagramDiagramElement of the diagram with the support of the possibility of displaying multiple streams of trends and different modes of display, from minimalist to full, two-, three-dimensional, circular, etc.
ProtocolProtocolElement of the protocol, visualizer of the system messages, with support for multiple operating modes with the different sizes and settings
DocumentDocumentThe element of generating the reports, journals and other documentation on the basis of specified data.
FunctionFunction of API of the object model of OpenSCADANot visual, on the side of execution, widget which allows to include a computing function of the object model of OpenSCADA in the VCA.
BoxBoxContains the mechanism fro other widgets placement with the purpose of creation of new, more complex widgets and pages of final visualization.

Lets examine the implementation of each primitive.

3.1. Elementary figure primitive (ElFigure)

Support of the elementary figures is provided: lines, elliptical arcs, Bézier curves and fill of the enclosed space with the color and/or image. For the elementary figures the following operations are provided:


Fig. 4 shows a part of the screen with a frame containing the elementary figures.


file:wvis_run_elfig.png
Fig.4 Realization of elementary figures in the WebVision.

3.2. Text primitive (Text)

Support of the text element with the following properties is provided:


Fig. 5 represents a part of the screen with the frame containing the text examples using various parameters.


file:wvis_run_txt.png
Fig.5. Realization of the basic text element in the WebVision.

3.3. Primitive of the form element (FormEl)

Support of the form elements on the VCA frames is provided. The following form elements are included:

Line edit -- It is represented by the following types: 'Text', 'Combo', 'Integer', 'Real', 'Time', 'Date', 'Date and time'. All kinds of line editor support the confirmation of entry.
Text edit -- It is the flat-text editor with the confirmation or denial of entry.
Check box -- Provides a field of binary flag.
Button -- Provides the button with the support of: the color of the button, the image of the button, and mode of fixation.
Combo box -- Provides the selection field of the element from the list of the items.
List -- Provides the list box with the control of the current element.
Slider -- Slider element(Not done).
Scroll bar -- Strip of the scroll bar(Not done).

The following modes are realized: «Enabled» and «Active», as well as transfer of changes and events to the data model of the VCA (engine). For all realized representations the active mode is supported, ie elements can be used to create the forms of user input.


Fig. 6 represents a part of the screen with the frame containing the above-listed elements of the form.


file:wvis_run_formel.png
Fig.6. Realization of the form elements in the WebVision.

3.4. Primitive of the displaying the media materials (Media)

Support of the element of the displaying of media materials with the following properties is provided:


Fig. 7 represents a part of the screen with the frame containing examples of viewing/playback of media data.


file:wvis_run_media.png
Fig.7. Realization of the basic element of the displaying of media materials in the WebVision.

3.5. Primitive of the construction of diagrams/graphs (Diagram)

Support of the element of the construction of diagrams/graphs with the following properties is provided:


Fig. 8 represents a part of the screen with the frame containing examples of the trend-diagrams.


file:wvis_run_diag.png
Fig.8. Realization of the basic element of a diagram-trend displaying in the WebVision.

3.6. Primitive of the protocol formation (Protocol)

Support of the element of the formation of the protocol with the following properties is provided:


Fig. 9 represents a part of the screen with the frame containing an example of the protocol.


file:wvis_run_prot.png
Fig.9. Realization of the basic element of a protocol displaying in the WebVision.

3.7. Примитив формирования отчётной документации (Document)

Реализована поддержка элемента формирования отчётной документации со свойствами:


В основе любого документа лежит XHTML-шаблон. XHTML-шаблон это тег 'body', WEB-страницы, содержащий статику документа в стандарте XHTML 1.0 и элементы исполняемых инструкций на одном из языков пользовательского программирования OpenSCADA в виде <?dp <procedure> ?>. Результирующий документ формируется путём исполнения процедур и вставки их результата в документ.


Источником значений исполняемых инструкций являются атрибуты виджета этого примитива, а также все механизмы языка пользовательского программирования. Атрибуты могут добавляться пользователем и линковаться на реальные атрибуты параметров или-же являться автономными, значения которых будут формироваться в скрипте виджета. В случае со слинкованными атрибутами могут извлекаться значения из истории, архива.


На рис. 10 представлен кадр, содержащий пример документа.


file:wvis_run_doc.png
Рис.10 Реализация базового элемента отображения отчётной документации в WebVision.

3.8. Примитив контейнера (Box)

Реализована поддержка примитива контейнера, по совместительству выполняющего роль страниц проектов. Данный примитив является единственным элементом-контейнером, который может включать в себя ссылки на кадры из библиотеки, формируя тем самым пользовательские элементы нужной конфигурации. Примитив реализует предусмотренные проектом свойства. Перечислим по пунктам свойства данного примитива:

Контейнер -- Позволяет формировать нужные объекты путём группировки базовых в рамках данного примитива.
Страница -- Элементы построенные на данном примитиве могут выполнять роль страницы пользовательского интерфейса.
Контейнер страниц -- Свойство замещения собственного содержимого другой страницей, в процессе исполнения. Используется для формирования фреймов на страницах пользовательского интерфейса. Например, главная страница традиционной SCADA системы с объектами сигнализации строится именно таким образом.
Фон -- Поддерживает возможность указания фона в виде цвета или изображения.
Бордюр -- Поддерживает возможность изображения бордюра с указанным цветом, толщиной и стилем.

4. Общая конфигурация модуля

Для настройки собственного поведения, в не очевидных ситуациях, модулем предоставляется возможность настройки отдельных параметров посредством интерфейса управления OpenSCADA (рис. 11). Таковыми параметрами являются:


file:wvis_cfg.png
Рис.11. Страница конфигурации модуля.

Заключение

На данном этапе модуль уже может быть использован для построения реальных интерфейсов пользователя с поддержкой основных функций. Однако отдельные проблемы могут возникать как по причине недоработанности, так и различия браузеров. Сейчас достаточно качественно обеспечена работоспособность на браузерах: FireFox, Konqueror и Opera.


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]