Apache PLC4X for CAN bus and CANopen

Łukasz Dywicki

English Session 2021-08-07 13:30 GMT+8  #iot

CAN bus is very popular communication standard in cars, however use of it spans above that market. It is widely adopted in building and industrial control systems. Thanks to its arbitration and prioritization capabilities CAN, despite its age, is still system of choice for multiple applications. This presentation will describe very briefly major versions of CAN bus specifications. We will clarify some of most common misunderstandings with protocol versions. The main part of presentation will outline major troubles with implementation of application layer protocols for CAN bus systems. We will have a look at different ways to programmatically access bus to finally see how to interact with it from Java runtime. Continuation of presentation will outline major architectural parts of Apache PLC4X and way how application and transport layers can be used in companion to bridge gap coming from heterogeneous bus access APIs. Finally we will also have a deeper look at CANopen and communication paradigms with real life examples of use.


Łukasz Dywicki: Łukasz is software integrator with over a decade of field experience in software integration. From 2010 he participated in number of projects which involved Apache middleware projects. Starting from 2015 he become more and more interested in area of hardware integration and building controls. Result of this interest was creation of BACnet binding for openHAB project. Starting from 2018 he focused more on hardware than software integration. This lead him to cooperation with Apache PLC4X project which brought implementation of CANopen driver in 2020. Łukasz worked so far with BACnet, Modbus, CANopen and Wireless M-Bus. He also did his own experiments with M-Bus as well as Profinet.