1. About Sea
  2. About Mellisa
  3. Quick Start
  4. Screen shots
  5. What hapening with vdb technology

SEA

In a few words, SEA separated into two level (low and high). At the low level, SEA use libvdb library which provide API to IPC, it's need to communicate devices interrogation task and control system, or some another applications. At the high level, SEA will use XML-RPC or something like, it's needed to communicate control system and HMI, database logger, alarms, and other system components. Low level has a good reliability, but not good scalability (it is platform dependend), although it fast. High level has a very good scalability, and platform independend, but not so reliability and fast.

Mellisa

"Mellisa" - it is a set of different tools for creating industrial automation applications and human-machine interface. In terminology of SEA Mellisa work at high level, it make Mellisa scalability and platform independed. About speed...on my Duron-700,128Mb with all aplications running, CPU loaded around 2-3%. Mellisa based on free distribute software, like Python, PostgreSQL, Zope, e.t.c. "Mellisa" written in Python, and use XML-RPC technology (to provide network distributed components), but "Mellisa " could be extended using C,C++ language, and XML-RPC could be replaced by Pyro or Corba or something else. For now "Mellisa" have only "mellisa_xmlrpc" module which provide interface to XML-RPC using py-xmlrpc.

For now "Mellisa" include these components:

In the section Screen shots you can find example of already completed HMI application, which used Mellisa graphical components. In GUI Mellisa use Tkinter library, which provide Tk in python.

Quick start

In the first download "Mellisa" from here. Unpack it, install. "Mellisa" include serveral demo application:

For begin you need to start server by typeing something like that:
[tim_sleptsov@localhost:$ python server.py 8001

Copyright (C) <2002>  

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
After server started, you must run ACS_regulators and ACS_tanks and ACS_emul:
[tim_sleptsov@localhost:$ python ACS_tanks.py
Thu Sep 26 22:06:19 2002 : Trying connect...

[tim_sleptsov@mtu-net:$ python ACS_regulators.py
Thu Sep 26 22:07:03 2002 : Trying connect...

[tim_sleptsov@localhost:$ python ACS_emul.py
Thu Sep 26 22:07:40 2002 : Trying connect...
cmd>
In ACS_emul you can type several commands: This command apply to device with number, which you enter after command.

Screen Shots. Russian interface

Main window, with four tanks and trend Alarm! Level in first tank to high, in third too low.
Window second section, here sitated alarm bar, and sheme of industrial procces. Run process in progress...
Device dialog

Screen Shots. English interface

Main window Main window with active trend
Add pen to trend Choose pen color
Regulator options

VDB technology

VDB - variables data base. Provide API for working with distributed variables and their values via IPC (Unix SysV). Main minuses of this techology, it doesn't support network. VDB suitable only for local ( one machine ) data exchange. Main VDB pluses - it is very fast and can work with big information volume. For now VDB doesn't developed. I haven't time to work on it, sorry. Old version can be obtained here.


Timothey Sleptsov. Moscow. 2002.