December 2018 |
[an error occurred while processing this directive] |
Create Your Own Custom Sedona Components The
open nature of Sedona allows hardware manufacturers and software
developers to create open controllers powered by Sedona and extend
their functionality in the form of custom components. |
Zach Netsov, Product Specialist, Contemporary Controls |
Articles |
Interviews |
Releases |
New Products |
Reviews |
[an error occurred while processing this directive] |
Editorial |
Events |
Sponsors |
Site Search |
Newsletters |
[an error occurred while processing this directive] |
Archives |
Past Issues |
Home |
Editors |
eDucation |
[an error occurred while processing this directive] |
Training |
Links |
Software |
Subscribe |
[an error occurred while processing this directive] |
The
Sedona technology is a programming environment for embedded, networked
control devices and it provides the best opportunity for open control
because of its simple and familiar component-based programming
interface and its open-source license. Sedona is open-source and
available to all.
The Sedona Alliance represents the interests of a community of developers, system integrators, and users, promoting the use of Sedona as an open control software environment. The Sedona technology, open-source license, downloadable code and documentation all resided on the SedonaDev.Org site which no longer exists. The Sedona Alliance provides a copy of the original documentation and the Sedona development files on the Sedona Alliance Resources page. These files are freely available for download and development use.
Sedona
logic functionality is usually provided by the manufacturers of Sedona
hardware and software to users in the form of function blocks called
Components. Components are configured and interconnected on the wire
sheet by the user to create the control application.
The
open nature of Sedona allows hardware manufacturers and software
developers to create open controllers powered by Sedona and extend
their functionality in the form of custom components. This means that
if a developer wants certain functionality in Sedona which does not
currently exist, a custom Sedona component could be easily developed.
The Sedona language is an object-oriented programming language similar
to Java or C#. If you have any experience programming and simply look
over the open-source example code, or the absolute value example code I
provided here, you too can create your own custom Component
implementations with special functionality, share them with the Sedona
community and install them across different Sedona platforms to create
powerful control applications. Powerful functionality in custom
Components can save a lot of time in the field, reduce overall control
application (wire sheet) size, or offer completely new functionality.
Sedona development primarily centers around the tool sedonac.
It functions as a compiler for Sedona applications as well as Sedona
kits (library modules); its behavior depends on the input file it is
processing. For Windows you will be using the sedonac.exe launcher executable, located in the bin directory. If you are developing at the command line, you simply have to make sure that bin is in your path. The compiler requires a Java Runtime of 1.4 or greater. sedonac will look in the registry to find the path to your current Java VM. For more details about how sedonac starts up, use the --v command line switch (that's two dashes before the 'v'), which will trace the registry access and jvm.dll load. To verify sedonac is correctly installed, run with the "-ver" switch.
Example of a custom Sedona Component – Absolute Value
Once the code for your component is finalized, you would compile the component into a kit (storage container for components).
Create a kit.xml file in the same directory as the component(s) AbsVlue_p.sedona and define your kit’s properties such as name in the kit.xml file. A kit can hold many components or just one.
sedonac will compile the AbsVlue_p.sedona and kit.xml into 2 files: a kit file and a manifest file.
The
compiled kit will then be installed on the Sedona device using a Kit
Manager tool such as the one found in the free Sedona Application
Editor. The kit’s functionality can be installed and tested on PC using
Sedona platform emulators such as Contemporary Controls’ BASemulator,
which can emulate several Sedona platforms on PC as part of the free BAScontrol Toolset. In addition, the custom component can be installed and tested on any real Sedona platform device with real I/O such as BASpi or BAScontrol series, or Sedona devices from other manufacturers.
Development
of the Sedona technology is now being recognized by a Sedona Community
interested in keeping this open-source technology open for all to use.
The mission of the Sedona Alliance is to promote Sedona as the premier
open control programming environment available for use by the public
without restrictions.
About the Author
Zach Netsov is a Product Specialist at Contemporary Controls focused on
the BASautomation line of products which provide solutions for both
small and scalable building management. He received his BSEE from DeVry
University with a concentration in renewable energy. At Contemporary
Controls, Zach is part of the team that championed the design and
creation of a BASpi I/O board for Raspberry Pi.
[an error occurred while processing this directive]
[Click Banner To Learn More]
[Home Page] [The Automator] [About] [Subscribe ] [Contact Us]