Power Monitoring http://rocworks.no-ip.org:8080/apex/f?p=100
The system also controls my hot water boiler heater
Power Monitoring http://rocworks.no-ip.org:8080/apex/f?p=100
The system also controls my hot water boiler heater
I now also built an Android App to visualize my Home-Automation data (powered by WinCC OA – www.etm.at).
Because i did the same for iOS and used C# for coding (Xamarin Framework) i was able to share about 70% of the code between both Apps (iOS and Android). So there was no need to re-implement the communication and business logic!! All i had to do is to get familiar with the Android-UI…
App: http://www.rocworks.at/wordpress/rocvmobile/
Android-App:
I built an iPhone App to visualize my Home-Automation data (powered by WinCC OA – www.etm.at).
Because i did the same for iOS and used C# for coding (Xamarin Framework) i was able to share about 70% of the code between both Apps (iOS and Android). So there was no need to re-implement the communication and business logic!!
Students work with some visions for cloud based SCADA systems.
Platform Independent Mobile Application Development
SmartHome…. high availability architecture… but just for fun and to play with some technologies. The system is also able to run on a single system like the “Scada Local” system, and this is just an old Lenovo Netbook with 2GB RAM…
Mobile-Phone-App: http://www.rocworks.at/wordpress/rocvmobile/
Used software: Arduino, RaspberryPI, WinCC OA, VMWare ESXi, iSCSI-Target TGT, Oracle-Solaris, Oracle-Linux, Oracle-Database & ASM, Oracle-Apex…
Progamming the Arduino was pretty cool, this cheap micro controller is very powerful 🙂 Implemented a rough interface to WinCC OA (powerful SCADA software made by Siemens/ETM)…
Simple mobile smartphone demo build with Oracle APEX connected to WinCC OA (www.etm.at).
It tooks me about 3h… and i had NO experience with APEX!
The map does not work on (my) android smartphone… maybe a known bug: http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-42-known-issues-1863578.html
Connectivity WinCC OA <=> Oracle:
Oracle-DB => PL/SQL => XMLRPC-Calls => WinCC OA (Control)
Currently the connectivity library is very basic, but if i will find some time i will extend it… and you will find it on sourceforge…
if you have a valid Oracle database license APEX is for free! if you don’t have one, you can use Oracle-XE, which you can get for free…. 🙂
With a “few lines” of code Oracle is able to fetch WinCC OA values over XMLRPC webservice – current and history values (WinCC OA RDB-Manager is not needed).
WinCC OA values can be queried with “natural” Oracle SQL Statements
select t.dp, wccoa.dpGet(t.dp||'.int'), wccoa.dpGet(t.dp||'.int:_online.._stime')
from dpnames t where dp like 'Example%'
So, it is also easy to create “WinCC OA” (Web)APEX Applications!
New “C# WinCC Open Architecture Connector” version.
2013.01.01: Added Proxy-Server with client/server TCP/IP connection for dp(Query)Connects and unsolicited data multicasting.
2012.12.23: Added a very simple C# WinForms application which displays two datapoints, waits
for value changes and values can also be set by a button out of the WinForms application.
2012.12.23: Added WaitDataMulti function which performs a dpWaitForValue. Can be used to wait
for a change of value of data points of a taglist.
http://www.youtube.com/watch?v=k_55xCzwWrQ&feature=player_embedded#!
Functions implemented in C# for WinCC OA communication can also be used to build Android Apps with Mono for Android from Xamarin – http://xamarin.com
http://sourceforge.net/projects/roc-winccoa-lib/?source=directory
Communication can be done directly with XMLRPC or with the included proxy:
The proxy also acts as a distributor – if clients have the same dp(Query)Connects,
the connects in the control are done once, and the proxy will forward it to the clients.
Added functions for dpConnects without using “Tag” Objects (the Tag objects where created for
mobile clients). Now it is easy to create for example a dpQueryConnect. The callback function
is just a C# delegate:
// create server and client objects
client = new WCCOAClient (ProxyHost, ProxyRemotePort, ProxyClientPort);
// start and connect
client.Start ();
client.Connect ();
client.DpQueryConnectSingle((object s, ArrayList a) => {
WCCOABase.PrintArrayList(a);
}, “SELECT ‘_online.._value’, ‘_online.._stime’ FROM ‘*.**'”);
The proxy (WCCOANetServer.exe) must be started on a server (can, but must not be, the WCCOA Server).
Works fine with MonoTouch and Mono for Android!
WinCC Open Architecture must run the included Ctrl-Script xmlnet_server.ctl
GPLv3 License is used for the public domain.
If you plan to use it in a CLOSED SOURCE project,
please get in touch with me – andres.vogler@gmail.com !