logo
You are in: Development Section  Home   Projects   Products & Services   Links   Contacts   Legal   What's new? 


IndigoSCADA Development Section



IndigoSCADA has been designed and developed keeping in mind that all software modules should be portable between main Operative Systems using C and C++ as coding languages.
We prefer to work at the lower level as possible.

Current Development Code

WARNING: Code in the repository may not work properly. The code in the SVN repository is changing and can be unstable at any given time.

The current development code is available from the SVN repository. Anonymous checkout is allowed from:

svn checkout svn://svn.code.sf.net/p/indigoscada/code/trunk indigoscada-code

IndigoSCADA central databases


- The historical database used in IndigoSCADA is GigaBASE version 3.37 - GigaBASE

- The realtime databases used in IndigoSCADA are FastDB version 3.56 - FastDB

We have developed SQL interfaces to these databases



Architecture

IndigoSCADA architecture
IndigoSCADA hardware architecture
IndigoSCADA architecture with communication protocols
IndigoSCADA hardware architecture with communication protocols
Data architecture
Data architecture
Messages architecture
Messages architecture
Front end architecture
Front end architecture


IndigoSCADA Graphic User Interface


The GUI of IndigoSCADA is based on Qt Development Frameworks

What Can You Do for IndigoSCADA?


There are various activities that require willing helpers who have time to spare each week. Below is a list of a few of those things you can help us with.

- Add support for analog widgets in HMI with QT 3.x.x and QT 2.x.x DONE!

- Porting of GUI of IndigoSCADA to QT version 4.x.x

- Reimplement the GUI interface in general and in particular the HMI interface

One possible solutions is here:
http://processors.wiki.ti.com/index.php/XgxPerf_HMI
http://processors.wiki.ti.com/index.php/XgxPerfArch

- Implement dinamic alarm and event lists with filtering options, now alarm list is static

- Softlogic: improve Calculated.dll

- Porting to current Linux distributions

- Upgrade the realtime and historical databases to current versions

- Update documentation

- Translate user interface

- Remove dependecy on STL std::map

- Use CMake build system - http://www.cmake.org/ or qmake or

- Use MPC build system - MakeProjectCreator

This is not an exhaustive list there are plenty of other things we do. If you would like to help let us know via the indigoscada-users@lists.sourceforge.net mail list.


Do write portable native code or use JAVA, C#, ... ?


We can start an endless discussion...
With our industrial experience we prefer to write native code for scada systems.
So there are several options for building a development environment for IndigoSCADA:

How to build a development environment for Win32 (from NT to Vista) under GPL/LGPL open source license, with QT 2


- Install Microsoft Visual C++ V6.0
- Install - Visual Studio 6.0 Service Pack 6
- Install - Visual C++ 6.0 Processor Pack
- Download QtWin230-NonCommercial.exe from - QtWin230-NonCommercial.exe
- Add to PATH C:\Qt\2.3.0\bin
- Add QTVER 230
- Add QTDIR C:\Qt\2.3.0

How to build a development environment for Linux under GPL/LGPL open source license, with QT 2


- Download qt-x11-2.3.2.tar.gz and compile the repository

How to build a development environment for Win32 under GPL/LGPL open source license, with QT 3


- Install Microsoft Visual C++ V6.0
- Download qt-win-noncommercial-msvc-3.2.1.exe and install in C:\Qt\3.2.1
- Add to PATH C:\Qt\3.2.1NonCommercial\bin
- Add QTVER 321
- Add QTDIR C:\Qt\3.2.1NonCommercial

- or

- Download qt-3.3.x-p8.7z
- Expand in C:\Qt\3.3.8
- Add to PATH C:\Qt\3.3.8\bin
- Add QTVER 338
- Add QTDIR C:\Qt\3.3.8
- Build it with Microsoft Visual C++ V6.0

How to build a development environment for Linux under GPL/LGPL open source license, with QT 3


- Download qt-x11-free-3.2.1.tar.gz and compile the repository

How to build a development environment for Win32 (from NT to Vista) under GPL/LGPL open source license, with QT 4


- Install mingw
- Download qt-win-opensource-src-4.5.2.zip from - http://ftp.gwdg.de/pub/linux/troll/qt/source/ and install in C:\Qt\4.5.2
- Add to PATH C:\Qt\4.5.2\bin
- Add QTVER 452
- Add QTDIR C:\Qt\4.5.2
- Open MYsys windows and run ./configure and make

How to build a development environment for Linux (32 bit and 64 bit) under GPL/LGPL open source license, with QT 4


- Install QT library on preferred Linux distribution (Suse, Ubuntu)
- Build with the preferred editor (Vi, Emacs, ecc) and debug with Gdb debugger
- We prefer to use BVRDE IDE crosscompiler tool on Windows platform - bvrde.htm
We have experienced high productivity with BVRDE tool under Suse Linux 32 bit and Suse IA 64 Itanium

How to build a development environment for Windows under commercial licence, with QT 4


- Build a development environment with Microsoft Visual Studio 2008
- Buy commercial licence from Qt software

Introduction to QT with MSVC++ 6.00


- See - Development of Applications of Cross-Platform with Qt and MSVC++- Part 1
- See - Development of Applications of Cross-Platform with Qt and MSVC++- Part 2

STLPort installation


Untar STLport-4.6.2.tar.gz or later to C:\temp\STLport-4.6.2
Make sure "stlport" directory of last distribution comes before compiler's one
in your search path when you compile the project
Open a console window:

cd C:\temp\STLport-4.6.2\src
run in the order:
nmake -f vc6.mak prepare
nmake -f vc6.mak all
VCVARS32.BAT
nmake -f vc6.mak install

On Win32, the install command does the following :
- copies STLport headers in "stlport" subdirectory of your compiler's INCLUDE directory;
- copies STLport .lib files in your compiler's LIB directory;
- copies STLport DLLs to Windows system directory so they can be found at runtime.

On UNIX, the install command does the following :
- copies STLport headers in "stlport" subdirectory of system's local include directory (default is /usr/local/include);
- copies STLport .a and .so files to system local library directory (default is /usr/local/lib);

Users of Visual C++ 6.0 must configure Visual Studio to use STLPort:

- In the Visual C++ 6.0 IDE, choose Tools->Options->Directories

- Select "Include files"

- Add the include directory for STLport FIRST in the list. (Note that
you must add the "include\stlport" directory, not just "include".)

- Select "Library files"

- Add the lib directory for STLport.


How to contribute


IndigoSCADA is a volunteer driven project. We welcome contributions in the form of code contributions, bug fixes, bug reports, contributed documentation, advocacy and supporting other users on the IndigoSCADA Forum. We also welcome financial contributions in the form of sponsoring and funding.
If you would like to contribute to this project by becoming a developer, contact one of the project admins.
You need to create your account on SourceForge

- Send a request to join IndigoSCADA project

With TortoiseSVN client you can commit your patches to IndigoSCADA SVN repository: http://svn.code.sf.net/p/indigoscada/code/trunk

Get IndigoSCADA at SourceForge.net. Fast, secure and Free Open Source software downloads

Contributing Code


If you are sending in modifications to existing IndigoSCADA code, you agree by submitting your modifications that the modifications are licensed under the existing license terms of the files you are modifying (i.e. LGPL or BSD License). Please also add your copyright (name and year) to the relevant files for modifications that include more than 10 lines of code.

If you are submitting new files for inclusion in the IndigoSCADA project hosted here which are written by you (no code copied from another source), you agree by submitting the files that your contributions are licensed under the LGPL or BSD License. Please include your copyright (name and year) and the LGPL or BSD License in your submitted files.

If you are not the author of the modifications, you agree to include the original copyright notices and licensing terms with your submission, to the extent that they exist. If there wasn't a copyright notice or license in the original sources, please make a note of it.

Generally, we can only take in contributions that are licensed under the LGPL or BSD License in order to maintain license compatibility within the project. Contact us if you believe an exception is warranted, prior to submitting the code.

Licensing


IndigoSCADA code and documentation contributions must be licensed under the LGPL or the 3-clause BSD license below.

Copyright (c) 2012 Enscada Limited All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1.  Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
2.  Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
3.  Neither the name of Enscada Limited ("Enscada") nor the names of its
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ENSCADA AND ITS CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL ENSCADA OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


                

© 2002-2014 Enscada  

Locations of visitors to this page


Large Visitor Map