Our job is done! We have spent 2 years on canX and finally we are ready to show this technology to the world. We don’t like wasting time so we wouldn’t have posted this if we’ve created another KNX or ModBus. canX has been designed taking into account both current and upcoming feature requirements for IoT systems.
Main idea and principles
Network is organized as smart multi-agent system
The whole network program is divided into many small applications running on separate local devices. This approach allows achieving maximum reliability and stability – even if some part of a network gets damaged, the rest will continue its operation. There’s no single point of failure.
Thanks to multi-master communication and real-time operating system running inside of devices the system is not limited by bus communication speed.
Because of distributed logic, the system can execute several tasks without a necessity of having one central controller.
In addition to the standard device-device communication the systems allows supervisor nodes. These nodes can intercept the communication or change data on the fly. This way multi-level logic can be added to the network.
Hybrid media everywhere
Both wired and wireless interfaces can be used simultaneously. This provides reliability and flexibility. The distance between devices can be up to 5km with wired media and up to 10km for wireless technologies. Furthermore, telegrams can be encapsulated into any kind of IP networks and serial interfaces. MQTT can be used as a transport as well.
Semantics-based object connections
Each device contains information on internal IO ports: whether it is a sensor or an actuator; temperature, pressure or co2 reading etc. This information is used to create connections between devices in a semi-automatic way.
Local sensor and actuator diagnostics
Devices can provide status and error state information on internal IO ports. Supervisor device can monitor these states and notify in case of any problems.
Security is key concern for any IoT system, especially for Industry 4.0. Besides encryption, the whole network can be put in a state where only control/status messages are allowed but any configuration change attempts are blocked completely.
Integrated configuration approach
Based on KNX experience, it is very important to have a single device administration software – a uniform way of configuration for devices from different vendors. canX configuration has been created with maximum simplicity and easy of use in mind.
There’s an additional simplified mobile-oriented application which can be used by both beginners and professionals to configure the installation. This approach allows dividing the workload into basic and advanced thus saving time for professionals.
Reactive post processing – freely programmable
Supervisor devices support reactive programming – any object change can trigger a custom user-defined program. This allows creation of any kind of specific logic and makes programming of complex system much simpler.
Thanks to distributed logic and use of communication objects (devices are not addressed directly), each device can have its physical and digital twin. This allows changing malfunctioning devices on the fly.
Unified data types for full compatibility with other protocols
All basic C data-types are supported – most other custom data types can be mapped to these data types.
Complete specification of canX will be published later and third-party vendor device profiles will be added to the configuration software.