October 2018 |
[an error occurred while processing this directive] |
Creating Your Own Custom Sedona
Components While
creating hardware-dependent components that utilize native platform
functions can be challenging, hardware-independent component
development is much easier.
|
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] |
Whether
you are on the developer side, or on the integrator side, Sedona offers
those interested in open control tremendous benefits. Sedona is a
component-based programming environment for embedded, networked control
devices. Logic functionality is provided by the manufacturers of Sedona
hardware in the form of function blocks called Components. Integrators
place these components onto a wire sheet to create applications.
However, if you need that special component, you can make it yourself
by first downloading everything you need for free from the Sedona
Alliance
web site! While creating hardware-dependent components that utilize
native platform functions can be challenging, hardware-independent
component development is much easier.
Hardware Independent Components
do not rely upon native functions which makes hardware-independent
components transferrable between Sedona platforms regardless of
manufacturer. This allows for the sharing of custom components within
the Sedona Community.
A
Sedona editor such as the free Sedona Application Editor (SAE)
running on your PC lets you configure and link Components together to
create the wire sheet control logic. Components are deployed in kits,
and a kit manager allows you to install/uninstall kits
to the target Sedona device.
The
Sedona language is an object-oriented programming language similar to
Java or C#. If you have any experience with Java or C# and simply look
over the open-source example code provided in the documentation, you
too can create your own custom components that combine functions or
create a completely new function.
Key characteristics of the Sedona language include:
•
Familiar Java / C# syntax
• Object-oriented (inheritance, polymorphism, all
that good stuff)
• Component-oriented (first class properties and
actions, reflection, graphical assembly)
• Single inheritance only (no interfaces)
• Static memory model (components cannot create new
objects at runtime)
• Semicolons are optional as a statement separator
Setting up the Sedona programming environment is easy! The root directory of your Sedona installation or development environment is referred to as Sedona home. Sedona home is organized into the following subdirectories:
•
adm: administration scripts used to build and test
• apps: Sedona application files (.sab and .sax
formats)
• bin: Win32 binaries and some Unix shell scripts
• doc: documentation
• kits: directory for kit database
• lib: Java jar files and properties files
• manifests: directory for manifest database
• platforms: directory for platform database; also
contains source files for Sedona platforms
• scode: scode images, and linker files for creating
them
• src: directory tree for Java, C, and Sedona source
code
[an error occurred while processing this directive]The
technical information above is derived from the Sedona development
documentation which can be accessed for free on the Sedona
Alliance Resource page in addition to the complete instructions and
source files with example code. The Sedona
Alliance
represents the interests of a community of developers, system
integrators, and users promoting the use of Sedona as an open control
programming environment. Its mission is to promote Sedona as the
premier open control programming environment available for use by the
public without restrictions.
We will go through a custom component development example in a future article.
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]