ATEX, or ATmosphères x EXplosible, is the directive which covers equipment in workplaces that have flammable gases, vapours and dusts, from industries as diverse as oil and gas, to manufacturing, where a single spark from a piece of electrical equipment could ignite gas or finely ground dust from a milled food such as flour or sugar and cause an explosion.
Electrical equipment which is designed to operate in this environment usually has a variety of mechanisms to avoid or prevent sparks or excessive surface temperature, for example using mechanical encapsulation of the electrical components, or immersion in oil which can quench an arc before it ignites the surrounding environment.
The Project
BEKA associates Ltd. is an independent British company which designs, manufactures and sells display and control instrumentation for use in hazardous and safe workplaces.
We have worked with BEKA in the past, and their technical director wanted us to assist with a new product development.
BEKA had identified a need for a modular intrinsically safe Programmable Logical Controller (PLC) which could be operated in ATEX regulated environments.
The project was tackled in phases to build up the functionality of the PLC firmware as BEKA developed and integrated the hardware. We were given detailed requirements for each phase, and began with the building block components such as drivers.
Our Role
Prior to receipt of the initial hardware prototypes, we developed a Linux kernel framebuffer driver for the two-layer character / graphics LCD controller.
We developed and tested the custom Linux distribution containing all the necessary drivers and dependencies for the platform, including the real-time Linux support for the CODESYS® IEC 61131-3 development system which provides the basis of the PLC functionality.
We tested the Linux distribution on the development board and verified the Computer on Module and all operational hardware interfaces (I2C, SPI, UART, GPIO, and LCD), including the interface to BEKA’s LCD hardware.
We developed a Linux user space application to provide an external interface to the system components, for functional and automatic stress testing of the modules and early prototype hardware. We cross-compiled it to the Linux distribution and verified it against the prototype product hardware, then integrated support for the CODESYS® IEC 61131-3 development system and tested the CODESYS® run-time binary.
We developed a Qt-based user space application to be executed at system start-up to run diagnostics on the hardware, allow user configuration of system and hardware parameters, and view system information such as software and hardware component version numbers, hardware part numbers and license information.
We also developed input / output drivers for the CODESYS® run-time to allow CODESYS® PLC applications to communicate with hardware components, including pluggable sensor modules.
At the end of each phase, we worked in partnership with BEKA to integrate the hardware and software and to troubleshoot any issues that arose.
During the latter stages of the project, we refined the design in preparation for product launch. We made some improvements for optimisation, and revised the start-up application to improve the user experience and provide greater consistency with the customer’s other products. We also provided support for environmental tests and a comprehensive handover to BEKA’s engineers.
The Technology
Their product is built around a real-time Computer On Module (COM) with a custom Linux distribution, a simple LCD display and a bus facility to plug in several sensor modules depending on the end user’s use case.
A Successful Partnership
BEKA have the in-house hardware capability in a specialised field. We made an ideal software partner with our expertise in embedded firmware development.
Our flexible development process allowed the software development to keep pace with the hardware development.
We maintained frequent communication with BEKA’s engineering team, and provided regular deliveries of working software to demonstrate our progress.
We were able to respond rapidly to changes in product requirements or hardware design, deliver regular drops of verified software, and assist BEKA with ongoing product testing and troubleshooting.
What our Client Said
“Working with Chris and James at Leotel has been absolute pleasure. They delivered high quality software code that exceeded our expectations all within the agreed timelines. Communication was constant throughout the project which ensured we were always on the same page. We would use Leotel again without hesitation and can recommend their services to any other company in need of a software development contractor.”