Hi Kavlarn,
the thread is some time old, but it might be you’re still searching a solution for a visualisation framework. If so you could try my approach.
I’ve implemented a binding for a Beckhoff PLC and a special lib for home automation. The solution is running stable for almost three years in my house, and for more than two years in several buildings of family and friends.
My Beckhoff Binding uses the ADS protocol for real time communication and it is optimized to run with a special LIB for Beckhoff PLCs. This lib has everything needed for building the Smart Home automation logic. For example if you want to have a room temperature controller you just need to call a function module instance like this:
VAR fbTempWO: FB_OHThing_TempControl;
...
fbTempWO(
sOHThingLabel:='Temperatur Wohnzimmer',
sOHThingLocation:='Wohnzimmer',
aProg:=fbSetTimesFBH.aProgTimes, // optional array of heating times for day/night
bExtEco:=bOpenWindowWO // optional link to a window reed contact
);
openHAB will detect this as a Thing and you get all(!) this automagically:
On openHAB side everything works via plug&play: the Binding is able to automatically analyze the PLC program, generate things (with all the channels) - and even all the configuration files for openHAB will be created automatically (i.e. a sitemap, a persistence file, etc.).
In this example the 5-6 lines is everything needed for a ready to use room controller - the whole logic is included within the special Beckhoff PLC LIB. You see the actual room temperature, the history and a graph, two setpoints (day and night temperature), automatic mode switch based on a time array, an optional connection to the window reed contact (hence it shows EXT_ECO in my screenshot), etc.
All settings changed on the UI are persisted on PLC side - so there are no issues if openHAB is not availible for some reason.
The Lib includes function modules for controlling lights, blinds, dimmers, motion detectors, alarm, solar water heating and many more things.
If you do not need the built-in logic but want to use your own, then you can have simple switches, sliders, etc. and bind them to your variables.
The software works on TwinCAT 3 PLCs, I’m running the software in my projects on a CX9020 but it should work on all Beckhoff devices.
The official home page of my start up is http://bashatec.de
If you have any question you can send me a message, reply here or drop me a mail at osman[at]bashatec.de
Best regards,
Osman