About companyProductsShopTechnical support
Moravian Instruments
Main page
About company
Software download
Documents download
Products
The Control Web System
VisionLab Machine Vision Software
DataCam Cameras and DataLight Lighting Units
DataLab industrial input/output system
Scientific cameras
Price list
Services
Custom-made Solutions
Technical support
Control Web Examples

What is new in Control Web 5 system?
 There is a great deal of changes. Let's have a look at least at a brief list and description of the most apparent new features.

Unique system of 3D visualisation of industrial process gives unbeatable realistic look of applications and the power of graphics chips makes the rendering of applications smooth in realtime. Robust networking linked with a sophisticated system of archivation of technological values makes the development of distributed client-server applications and multiple redundant server applications easier, even without the support of expensive cluster operating system. These are indisputably the most important inovations which require more detailed description. However, there is a handful of minor improvements upon the Control Web 2000 system, which are important as well and should be mentioned. These improvements were made in almost all parts of the system — more intuitive user interface, improved architecture, decreased development time, increased application performance, etc.

Control Web 5 maintains backward compatibility with its predecessors, even though the source code writing style was altered a little bit. Your investments in training and in your own applications are preserved during the change-over to new version.

A number of system architecture improvements intervene in almost every field

  • Many chosen properties became common for all of the instruments. For example visibility or screen order can be controlled using an expression.

  • Many native OCL procedures were unified in a similar way. All instruments now share procedures for controlling position, visibility, setting and getting values etc. So there is no need to speculate whether a given instruments supports these basic OCL procedures or not.

  • A new feature is a option of finer control of the system kernel time resolution. Instead of former 10 to 15ms resolution there is a possibility of as few as 2ms control. That way the realtime technology control is greatly improved. However, this feature is dependent on the motherboard and chipsed installed in the computer and is available only under Windows 200/XP operating systems.

  • The system kernel is monitoring current time and adjusts the timing of absolute timed instruments. That way a difference between time provided by operating system as the length of system runnig and the current time is corrected. This difference could be as much as several seconds per day on some computers.

  • Some of the parameters used to be accessible only like individual instrument parameters (for example an option whether the same values should be sent to the output all the time). Now they can be set on a global scale for the whole application.

  • A new option of direct control over the steps the system performs during the start was added (for example channel value initialization, initial instrument activation etc.).

  • An automatic backup of chosen data elements option is included in the system, so that the state of the system can be automatically recovered, for example after a power loss.

  • Information about each instrument is available during the application development process - which data elements are being read by the given virtual instrument, which are being written to, which other virtual instruments are being activated and which OCL procedures are being called.

  • The "draw" instrument for 2D graphics was improved in many ways. All drawing elements are made accessible by more than one hundred OCL procedures. The elements can also be chosen by mouse and the event OCL procedures can be invoked by user actions.

The expression writing style was considerably enhanced

  • Where only numbers or simple constants could be written before, now also constant expressions can be written.

  • Operator % (modulo) was added to the expression syntax, operator + works also with string operands (so it saves the work with nested concat function calling), the comparison operators (<, >, =, <=, >=, <>) work with all data types.

  • Logical operators (and, or, xor, not) can be used with numerical types - they work like bitwise logical operations.

  • Some new functions were added (round, round2, rand, floor, ceil, frac, replace, subst, ...) etc.

  • String data type is no longer restricted to 256 characters. Even though strings do not have any length restrictions anymore, operations performed on them are not slowed down compared to the previous version.

  • It is possible to supress error generation during expression evaluation (for example divide-by-zero error) and let the application work without interruption. A new function last_error returns error code from the most recently evaluated expression.

Built-in OCL programming language was improved as well

  • OCL procedures can return values and be called in expressions like functions.

  • Parameters can be passed to procedures by reference. Keyword "var" ensures working with the passed data element and does not need explicit writing of the reference (& character) during the procedure call - that prevents a lot of errors due to the omitted & character.

  • A lot of new system OCL procedures were added that provide the work with the date and time, etc. These procedures are implemented in a new set of system instruments for better transparency.

A new system of access rights

  • The access control for virtual instruments and application panels was considerably expanded - the access rights are not linearly structured, but each user or user group access can be permitted or denied.

  • In spite of these improvements the new access control system remains compatible with applications from the previous system version.

Faster and more intelligent compiler

  • The compiler does not halt on the first error, but it can recover and continue the compiling. All found errors are then displayed and highlighted in the source code and all could be removed in one pass.

  • The error diagnostics was also considerably improved. Even errors from later compiling phases are precisely localised, like calling a non-existing method of a remote instrument, etc.

A new instrument inspector

  • The new instrument inspector provides a completely new user interface, which is displaying all instrument properties at once and allows to change them directly in a well-arranged table.

  • The instrument properties can be hierarchicaly arranged and the instrument inspector can fold or unfold particular branches.

  • The inspector could be activated on more than one instrument at a time - it is for example possible to change a text color or font on several instruments at once.

  • The inspector of the "draw" instrument was completely redesigned and brings advanced function, such as zoom, grids and guiding lines, etc.

A well-aranged instrument palette

  • This instrument palette provides a structured look at all of the instruments included in system. They are arranged in order of usage purpose, data types, etc., so it makes finding a suitable virtual instrument simple.

  • The text editor was improved in many ways. A number of features was made more intuitive, such as movement of the cursor over the text, selecting blocks, searching provides most recently searched and replaced strings, etc.

The look of the application

  • Not only can be the colors defined with their channels, but also standard colors of the operating system can be selected - such as the color of a window caption or a button. The color of the application in Control Web system complies then with the user color set.

  • The look of the controls in a Control Web application complies with the standard look of these controls in the Control Web system development environment and also with the look of the Windows system itself. An application in Control Web 5 environment does not have to differ from other Windows applications.

  • Control Web 5 system is fully compatible with the latest versions of Microsoft Windows 2000, Windows XP Proffessional and Windows XP Home edition operating systems. Control Web 5 is on these operating systems developed, tested and is primarily targeted for them.

Improved SQL database access

  • SQL instrument can asynchronously connect to a database and so does not affect the application start and runing.

  • All SQL queries can also be processed asynchronously.

  • The error state management was improved.

  • The application has a possibility to detect a loss of connection to the data source (SQL server failure, network disconnection, ...) and react accordingly to this state.

  • Newly the NULL value can be read or written.

Built-in HTTP server was improved

  • The server does not require the existence of an HTML template in the form of a file on a disk any more. It is possible to create complete HTML document using only procedure code. The system does not have to access disk files during server activity.

  • The format of dynamically generated images showing the visual appearance of the instruments in an application was changed from previous GIF, which allowed only 256 colors, to PNG, which is capable of storing true color images.

  • Added OCL methods of the HTTP server make a header of an HTTP request accessible. It is now possible to read the information sent by the client (such as what is the requested server in the "host" parameter and many more).

  • Similarly it is possible to change and add parameters in the HTTP reply header (for example affect the memory buffer, etc.).

  • It is possible to set the HTTP reply state code and for example redirect to another URL, etc.

  • Data obtained from HTML forms are accessible not only using automatic analyzer, which converts the data and assigns them to selected data elements, but also in the form of text string, which can be analyzed by the procedure code.

  • It is possible to identify a client IP address and use it for example to control the access to WWW pages.

  • HTTP server can refine the access rights from the whole application to single directories or even files (URL).

  • The server contains a controlable memory buffer, which can make parallel access of a great number of users to the pages or images much faster.

Internet application generation guide

  • The Internet application generation guide eliminates the need to know the HTML format and the WWW environment application development principles.

  • The guide is able to automatically generate a WWW application that is using DHTML (Dynamic HTML), which duplicates an application running in Control Web environment. If, for example, a panel appears in a window, this window will also appears in a WWW browser.

  • The user chooses which components (panels) from the main application should be displayed in the HTML browser.

  • It is also possible to choose which control elements should be displayed in the HTML pages and will allow backward controlling of the application from the WWW browser.

  • Automaticaly generated application works without the contribution from ActiveX components or Java applets, so many restrictions that come hand in hand with these technologies are not present (for example using Java applets is restricted to networks with available DNS service and they require the presence of a Java VM on the target computer, the usage of ActiveX limits the user to a PC with Windows operating system and Internet Explorer browser, ...).

3D visualisation in Control Web 5 environment

The three-dimensional graphics field is coming lately through a rapid technological development. The driving force of this progress is not the development of the engineering and industrial visualisation, but the massive maket potential in the entertainment and computer games area. Thanks to this, even the low-end computers are equipped with such capabilities for 3D graphics, that even quite recently noone dared to imagine it even at the most powerful and very expensive graphics stations. It would be a waste to miss this potential of these technologies in the industrial automation field as well.

Three-dimensional and full-motion graphics is without doubt the most promising and also the most attractive technology in industrial automation thanks to the possibilites of modern graphics cards. Control Web as the first visualisation system is capable of taking advantage of the graphics power of modern computers for real-world industrial applications.

More impressive and at the same time faster graphics

Control Web uses these possibilities for technological process visualisation. Considering the power of modern accelerators, even very complex scenes with tens of thousands of polygons are drawn more than hundred times per second. That brings a great increase in performance and the graphics quality to application programs, which is not achievable in two-dimensional GDI graphics.

More suitable architecture for realtime applications

The redrawing of 3D graphics in the Control Web system is hadled by a client-server architecture. The server responsible for scene redrawing runs in a separate thread. If the virtual instrument requests a redraw, this request will only be sent to the server and the instrument does not care about it anymore. This request registration does not slow the instrument down and the application program continues smoothly in realtime. It seems like the graphics does not exist at all.

3D graphics for everyone

Everyone who ever worked with the 3D graphics would object, that all this is very visually attractive, but it would be too difficult and complex for a common user to work with it. The main design objective of the Control Web 3D system was to make visually impressive 3D applications available to everyone with minimal work expenditure and without the need for previous knowledge and experience. Who is capable of creating a 2D application can do the same in 3D for sure.

  • The integration of the 3D visualisation in the application in the Control Web system is very simpe - appropriate virtual instruments are just dragged from the palette like any other component. There are three approaches how to insert the 3D instrument in the application:

    A separate instrument directly on the 2D panel or on the Windows desktop.

    Inside a 3D panel with orthographics projection - working with these panels is practically the same as with common 2D panels. Everything just looks better, graphics is redrawn faster and without any annoying flickering.

    Inside a 3D scene with perspective projection.

  • Editation of the 3D scene "in place" - in place editor of the scene works directly on the integrated development environment desktop. The editor allows a manipulation of the objects in the scene, even with custom camera position. In additon to perspective projection it is also possible to display orthographics projection of the scene from all major directions, i.e. front, back, left, right, up, down. The scene can also be displayed using wireframe mode.

  • Movement of the camera in the scene - it allows displaying not only a general view of the technology, but also arbitrary details in the scene. It is not necessary to create more than one switchable panel and the application is more lucid for maintenance. The movement in the scene can be:

    Interactive - the user can move freely in the scene space using mouse or keyboard

    Program - it is possible to read actual position of the camera and especially set a new position for the camera to move using native scene procedures. The movement of the camera is interpolated by the system accordingly to a given number of steps and time between these steps.

  • particle system - allows realistic and dynamic displaying of effects, such as smoke, fire, sparks, etc. There is a lot of already prepared effects and their usage does not demand any effort from the application author.

  • Support for surface materials - the two-dimensional drawing needs only color to be set, but a shaded and lit object in three-dimensional is a little more complex. The surface materials have some parameters to set, such as diffuse color, specular color, texture, transparency, etc.

  • Rendering of transparent surfaces - the system always ensures a correct rendering of object transparency with any custom camera position and virtual instrument drawing order. There are three ways to define the transparency:

    transparency as a parameter of material color

    transparency as a texture intensity factor

    transparency of a texture given by an external mask

  • Textures with high resolution - textures with resolution up to 2048x2048 pixels are supported. Bigger textures are internally converted to this resolution. The application programmer usually does not have to bother with the size and format of the textures. Textures of any size in JPG, BMP, GIF, TIF, PCX, TGA and PNG formats are accepted. Of course the size of the textures is to be chosen carefuly with respect to memory consumption and loading of the bus and the texturing units of the graphics card.

  • Built in 3D objects - the system comes with plenty of already prepared objects, which makes effective application development simple even to people who do not want to be deeply conserned with 3D graphics.

  • Application of external 3D models - the application program can accept 3D models in Wavefront OBJ format. This format is widely used, so it allows almost any arbitrary 3D graphics created in one of many 3D drawing programs to be used. And if a certain program does not allow direct export to OBJ file, one of many freeware or shareware conversion programs should help. A model imported that way is not only a passive image - particular groups of the model are fully under the application program control. In the application, not only materials in the groups can be changed, but they can also be inserted in scene hierarchy and manipulated the way native objects are. The rendering machine is equipped with high quality algorithms for model surface smoothing.

  • Manipulation with graphic groups - every virtual instrument contains one or more graphic groups. Scene redraw follows hierarchical structure of these groups. The hierarchy can be changed and the groups can be in several ways manipulated. The position, rotation and size of the groups can be controlled for example by interpolators. Interpolators are mathematical expressions with additional information that control their behaviour. That way even complex animations can be created with a lot of moving objects in the scene.

  • Reflective surfaces - simulation of a mirror reflection on a polished surface is solved with a very fast algorithm with maximal usage of accelerated functions of graphics cards.

  • Planar shadows - a simplified and therefore very fast mechanism for simulating shadows cast on planar surfaces.

  • Volumetric shadows - a robust and sophisticated algorithm for fully volumetric shadows is realized with the aid of multipass technology. Every shadow does not affect only other objects, but also the object that casts this shadow itself. The shadows properties respect all positional and directional lights used in the scene.

If there is no graphics card present in the computer that supports 3D graphics functions in its hardware, the operating system implements all 3D functions in software. Of course with much lower efficiency. So it is very convenient to have a computer equipped with a powerful graphics card for the work with 3D graphics, for example a card with nVidia GeForce or ATI Radeon chipset.

Robust networking and database support

Even though Control Web 2000 system supports the development of large distributed applications there was still a lot of room for improving the whole architecture, especially the ease of usage. Interconnection of the applications through remote modules was not designed with respect for multiple-redundant backing up. The applications backup required operating systems that supported clusters (Windows 2000 Advanced Server) and rather expensive network hardware (SCSI RAID disk array). Control Web is now able to create a group of redundant control and visualisation applications without a need for server operating system.

Next motivation for changes is an essential save of effort while developing an application with many data elements. Control Web does not require repeated explicit data elements entry in the instruments for archivation, for watching bounds (alarms) or displaying historical progress, etc. Similarly is it with data elements that are read from a remote server application - again, it is not necessary to declare them explicitly and maintain their communication.

The solution is a newly introduced concept of "data sections". A data section is an enhancement of constant, variable and channel declaration known from Control Web 2000 system.

  • A section of constants (const), variables (var) a and channels (channel) were moved from the highest priority block to a newly introduced block bounded by keywords data .. end_data. This block that contains data sections is similar to a block instrument .. end_instrument, which bounds particular virtual instruments.

  • The sections can be named (for example var section_name; .. end_var). Data elements are then accessible through qualified name containing the name of the section (for example: section_name.variable_name). Because of this it is possible to declare the same identifier in more sections, but then it has to be accessed only with a qualified identifier.

  • It is possible to read and write data into a driver without explicit channel declaration. A newly introduced syntax driver_name.channel_nubmer makes a channel explicitly accessible (for example a = 3 * drv1.100 + drv2.101).

  • Apart from present variable and channel sections there are some new section types:

    Section expression .. end_expression declares data elements with assigned expressions. First usage of data element in each time step invokes expression evaluation and the result is then shared with other sections and virtual instruments. If there is a driver reference in the expression, communication with the driver is performed.

    Section schedule .. end_schedule is similar to the expression section, but in addition it needs a period to be entered. The expressions are then evaluated in this period and assigned to data elements.

    Section archive .. end_archive is again similar to periodically evaluated data elements, but in addition are the data saved in a given database.

    Section alarm .. end_alarm is watching bounding values of data elements and records their breaking, confirming and other relevant information.

    A combination of the previous sections is a section alarm_and_archive, which periodically saves data and at the same time checks breaking bounds.

  • There can be more than one sections of the same type. They can differ in their name and attributes.

  • A part of the sections can also be user or event OCL procedures, similarly as with instruments. The sections are, like virtual instruments, equipped with native OCL procedures, that allow program control of their function.

The sections do not have any visual appearance during the run. They serve only for data elaboration, communication with industrial peripherals, network data exchange and archivation to database. During the user interface development it is possible to use not only all of the older virtual instruments from previous versions of the Control Web system, but also brand new virtual instruments that make use of all data section possibilities.

  • data_viewer instrument is capable of displaying proceeding of any data element in the application. Individual elements or whole sections can be added or removed from displayed graphs at runtime, the data can be displayed graphically or in a table. The visualisation can contain discontinual data, particualr proceedings can obtain individual scale or a logarithmic scale can be used. The time cursor shows precise values in particular moments, etc.

  • Graphics visualisation has a very flexible user interface and the author of the application decides about the configurability which would be available to users.

  • Because the data_viewer instrument is able to communicate directly with data sections, it is not necessary to explicitly mark the particular proceedings, it is enough to mark sections that should be displayed. In respect of the character of data sections It is possible to display local data as easily as data from remote computers.

  • If a connected data section stores history (for example section archive), a graph can display also all historical data.

  • A next new instrument is a section viewer of a type alarm. It is possible to connect this instrument directly to a particular section without almost any effort, similarly like with a graph.

  • Like a graph, the alarm viewer is able to display data from remote sections and so it is very easy to create for example more client applications, where their operators can acknowledge error states in the server application.

The concept of data element attributes known from Control Web 2000 system was enhanced also to sections. If some attribute is common to all data elements (for example initialization value, period of sampling or a driver to which is a channel connected) it will be more convenient to mention him in the section and save writing code for each data element.

Next newly introduced attribut scope makes robust application network connection easily accessible for everyone who needs to create a distributed application or an application with fail-safe run safeguarded with active backing up

  • The synchronization of the sections (scope = synchronized-shared-remotely) allows creating more data sections in two or more applications working on different computers, of which only one is active. It means that only one application for example communicates with a particular PLC or other hardware, other applications only synchronize the content of data elements trough a network. If the active application fails because of some reason (for example CPU cooler fan stops), the role of active application will be taken by another computer and the system will continue the work without a halt.

  • The choice of the remote section (scope = imported_remotely) says that the data are not stored localy, but that they should be sent over network from/to remote computer. Again it is possible to specify more data sources - it means that a communication failure with one computer leads to a reconnection to another computer if there is one available. If not, the connection can be restored later, its failure does not cause application halt.

  • Both attributes allow easy development of reliable client-server applications - more redundant servers process data and communicates with the technology and they are able to stand for each other in a case of a failure. Many clients can be connected to these servers, they can also change their connection configuration according to the configuration of the servers.

The concept of data sections allows the designers to very easily implement basic functions of their applications (communication with a technology, archiving, bound breaking check) by declaring every data element only once in particular data section. A new instrument data_viewer can visualize the declared data without a need for further immediate imprinting.

Control Web 5 is more than a worthy successor of a widely known Control Web 2000 system. Apart from many improvements and enhancements described in previous text it also contains all features thanks to which his predecessor became an industrial standard in its field.

Requirements on operating system

Requirements on operating system: Control Web 5 works under 32 bit operating systems Windows 95/98/Me and Windows NT/2000/XP.

However, for a serious work and a stable run it is necessary to use Windows 2000 or Windows XP.

Minimal recommended configuration of a computer for Control Web 5 system

Processor AMD K6-2 or Intel Pentium II 300 MHz or better.

Memory 64 MB for systems Windows 95/98/Me or 128 MB pro systems Windows NT/2000/XP

Minimal recommended configuration for work with 3D graphics

Processor AMD Athlon/Duron 1 GHz or Intel Pentium 4 1,5 GHz or better.

Memory 256 MB.

Graphics card with accelerated OpenGL support with at least 32 MB memory.

 
 | About company | Products | Technical support | Software download | Documents download | 
Moravian Instruments, Masarykova 1148, Zlin 4, CZ-76302, Czech Republic