This section explains the software architecture of Luciol, for software
development & integration or 3rd party tools, go to Development section.
In Luciol products, there are three levels of software:
The firmware operate the
resources of the Luciol Mother and I/O modules. There exists one
firmware programme per module.
The Mother firwmare deals with the communication between Mother modules
-extension boxes-, between Mother module and local I/O modules and
between Mother and CPU modules.
The firmware codes are downloaded to modules at manufacturing and
identified -name & version- by stickers on the EEPROMs. Note: this
information is also available from web server
configuration tool.
Refer to Developer Guides
to know which tools we use and how you may modify the different software
levels. Note: modifying firmware may breach the warranty obligations of
I.T. Lity.
The Kernel
operates the resources of the Luciol CPU module and it is the
interface between the applications, the CPU ressources & Luciol
modules. Luciol applications are
the programmes dealing with the end-user function(s) of Luciol:
- monitoring,
- IEC 103 Master,
- IEC 103 Slave,
- Modbus ASCII Slave, ...
the Master and Slave parts of a same protocol make 2 Luciol
applications. Indeed, you may not need both on board at the same time.
The Kernel of Luciol runs on the aJ100 processor. The aJ100 operates a
multi-threading and real-time environment.
The Kernel software is downloaded in the Luciol FLASH memory at
delivery of Luciol. The Kernel starts automatically at power-up of
Luciol.
The Kernel software is identified -name & version- by a sticker on
the FLASH chips. Note: this information is also available from web server configuration tool.
The Kernel of Luciol is a standalone application. The Kernel deals with
the core services of Luciol:
The Kernel is first in charge of the thread scheduling on the top of
the aJ100 processor facilities.
Each Luciol application will claim the Kernel at least one thread to
run. Thread switching is completed by the aJ100 in a few micro-seconds.
The Kernel manages a general watch-dog in order to trap and address any
problem which may occur at firmware or application level.
The Kernel is also responsible for a dual-data
repository. dual means there
is an active and passive repository.
Purpose of data repository is to store data coming through Luciol for
applications purposes. The data structure is application independent
although it has been built on the low level data of GOMSFE.
Applications use an API to interface the Kernel. In
this API they define a "data prism" to access the data in the active
repository. This prism is defined by the application Developer, not the
Users.
|
The Kernel allows the applications to fetch, store
and forward information with other Luciol modules and external devices
connected to Luciol via the serial and Ethernet ports.
The applications inter-act with the Kernel on a publish-subscribe event
mode. They subscribe to the data they want to be advised when a new
value is received. They publish data they can update.
Thanks to this software architecture, the applications are 100%
independent. Adding, removing an application is only a matter of
configuration.
The Kernel has a direct access to the serial RSxxx
& Ethernet ports. Configuration of these ports is part of the
Kernel configuration process.
Luciol web server
can be access by any usual Internet Browser and 128 bit SSL can be
enable when required.
The web server is used for:
- application selection
- application configuration upload
- data and communication fine tuning
- data supervision
- Luciol system configuration
To improve validation process, configuration of an application can be
tested separately from others. Indeed Luciol web server allows to start
only the application s we want to run and not the others.
With web server, only the passive repository can be modified on-line.
However, the Luciol web server provides an
access to the live dump of the active data repository of all the
on-board applications.
In addition to the standard Kernel, we may include optional libraries
in the kernel according to Luciol overall application purpose:
- PPP Server & Client sides
- GPS for time synchronization
- e-mail: SMTP & POP3
PPP is used when IP over serial link is required: web server over a
PSTN link, application communicating over a modem, ...
E-mail is an advanced function used in monitoring applications: upon
detection of an event, an application may send to one or several
recipients an e-mail with attachments. The attachments can contained.
E-mail can be used over LAN or PSTN.
Luciol applications are
made of a programme, a configuration template and configuration files.
The programme and the template are provided by the Application Developer.
Note: list of applications is shown in Application section.
If accepted by applications, several sessions of the same applications
may be run simultaneously. For instance several DNP3 master applications
may be run in parallel.
Note: in the same way several master protocol applications may run in
parallel to report to different units: using 101 to SCADA, using Modbus
ASCII to a remote monitoring application.
To use an pplication, the User has simply to create or modify the
configuration file.
A configuration can be populated automatically by an import function or
manually using the Luciol plug-in for Eclipse.
The plug-in and the web server support the application
configuration template to dictate the User what to configure and what
are the valid values for all the parameters.
In fact, the configuration template is a DTD file and the configuration
files XML files. Although this is fully transparent to User, the XML
language offers a powerful grammar to describe data. The Kernel embeds
an XML parser for this purpose.
Refer to First Time User Guide in Download section to learn
about how to use Luciol in your system.
|