December 2018

Innovations in Comfort, Efficiency, and Safety Solutions.

(Click Message to Learn More)

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
Zach Netsov,
Product Specialist,
Contemporary Controls

New Products
Securing Buildings News
Site Search
Past Issues
Secured by Cimetrics
Control Solutions, Inc

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

Custom Sedona Component 

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.

sedona kit

sedonac will compile the AbsVlue_p.sedona and kit.xml into 2 files: a kit file and a manifest file. 

sedona compile

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.



[Click Banner To Learn More]

[Home Page]  [The Automator]  [About]  [Subscribe ]  [Contact Us]


Want Ads

Our Sponsors