UVR goes IP Symcon

Moin,

hier mal eine kurze Vorstellung meines „kleinen“ IP Symcon Projektes:

Im Einsatz:

3 UVR Regler 1611
2 Bootloader BL-NET mit GSM Modul
1 Beckhoff BC9000
1 IPS / Email / Modbus / PLC Server
1 Wetterstation

Die Steuerung der Heizungsanlage ->

Buderus Ölkessel
Fröhling Naturzugkessel
500l Warmwasserboiler
1500l Pufferspeicher
700l Pufferspeicher
20m² Citrin Flachkollektoren
10m² Santer Solar Röhrenkollektoren

übernehmen komplett die 3 UVR 1611 Steuerungen. Die 10m² Röhrenkollektoren können mittels Pneumatik in der Neigung ca. 40° verstellt werden. Die Kopplung zum Stromzähler und diverse Lichtsteuerungen übernimmt derzeit noch eine Beckhoff SPS die mittels Modbus an IPS angebunden ist.
IPS übernimmt neben der Visualisierungsarbeit noch diverse Überwachungsfunktionen wie Lifechecks, Errorreporting, Werteüberwachung, usw.

Geplant sind in nächster Zukunft noch eine Messung des Wasserverbrauchs und die Ansteuerung einer Gartenbewässerungspumpe.

mfg
Daniel

Sieht gut aus! Respektomentie:)

Die aller erste Seite würde ich etwas entzerren.
Eventuell zwei oder mehr Seiten. Ist doch schon einiges an Information drauf.

Ansonsten sieht es sehr professionell aus.

Bis dann

Martin

Respekt, sieht sehr gut aus. Information pur sozusagen.
Ich habe gar nicht gewußt daß man die Dinger so aufblasen kann :slight_smile:

Moin,

ich arbeite viel mit gewerblicher Automatisierungs- bzw. Visualisierungstechnik, und glaub mir, da geht noch einiges.

Die grundlegende Überlegung ist meist, dass der Anlagenbediener die Anlage, wenn möglich, auf einem Bild übersichtsmäßig überblicken kann, und sich nicht erst durch mehrere Unterseiten wühlen muss.

mfg
Daniel

So,

über die Feiertage mal wieder etwas Arbeit in IPS gesteckt…

DAS ist dabei rausgekommen:

…und noch das letzte pic…

Hallo Daniel,

ist sehr interessant. :slight_smile:

Wie speicherst Du denn die Daten ab und wie erstelltst Du denn das Tortendiagramm?

Kannst Du mal ein Beispiel einstellen?

Viele Gruesse
wesseli

das sieht echt sauber aus, da muss ich mich noch ranhalten bis ich soweit bin.

lg, chris

Fesch, fesch, besonders die Torten.
Wie machst denn die ?

Aber warum gleich 3x die UVR1611 ?
Sooo aufwändig ist die Hydraulik auch wieder nicht. Das Teil kostet doch ordentlich Geld.
Die Aufgaben kann doch IPs locker mitmachen.

Gut vieleicht eine UVR wegen PID und Drehzahlregler, bzw. als Notbetrieb. Aber 3 Stück ???

Bei mir regelt IPS auch den Heizraum:
bestehend aus Ölkessel, therm. Solaranlage, Pufferspeicher, Brauchwasserspeicher, 4 Pumpen, 4 Zonenventile, 18 Tempertursensoren

gruß
bb

Das Datenlogging mache ich mit einem „modifizierten“ DUG Tool :smiley:
Für das Tortendiagramm hab ich mehr selber was zusammengeschrieben. Ist vielleicht nicht nach „aktuellem Programmierstandart“, aber es funktioniert…

Skript in IPS, das die Daten für das Tortendiagramm enthält

// Daten aus denen Tortendiagramm erstellt werden soll

$data[0] = getValueFloat(48887 /*[.Energiezähler\Energieverbrauch\.Energiezähler_dummy_EDV]*/);
$data[1] = getValueFloat(20615 /*[.Energiezähler\Energieverbrauch\.Energiezähler_dummy_Server]*/);
$data[2] = getValueFloat(44766 /*[.Energiezähler\Energieverbrauch\UVR1611_1_P_HK]*/);
$data[3] = getValueFloat(37660 /*[.Energiezähler\Energieverbrauch\UVR1611_1_P_WW]*/);
$data[4] = getValueFloat(32535 /*[.Energiezähler\Energieverbrauch\UVR1611_2_P_Holz]*/);
$data[5] = getValueFloat(59321 /*[.Energiezähler\Energieverbrauch\UVR1611_3_P_Solar_prim]*/)+getValueFloat(28021 /*[.Energiezähler\Energieverbrauch\UVR1611_3_P_Solar_sek]*/);

// Legende

$legende[0] = "EDV";
$legende[1] = "Server";
$legende[2] = "Pumpe HK";
$legende[3] = "Pumpe WW";
$legende[4] = "Pumpe Holz";
$legende[5] = "Pumpe Solar";


// Grösse des Diagramms

$groesse[0] = 600; // x-Achse
$groesse[1] = 450; // y-Achse

// Diagrammtitel

$titel = "Stromverbrauch Aggregate";

// ---- Diagramm erstellen ----

$pfad = IPS_GetKernelDir();

include ("$pfad\\webfront\\DUGTool\	orte.php");

$pfad = "$pfad\\webfront\\DUGTool\\Diagramme\\$titel.png";

erstelleTorte($data, $legende, $groesse, $titel, $pfad);

torte.php (liegt bei mir unter \IPS\Webfront\DUGTool)


require("JpGraph Bib\jpgraph.php");
require("JpGraph Bib\jpgraph_pie.php");
require("JpGraph Bib\jpgraph_pie3d.php");

function erstelleTorte($data, $legende, $groesse, $titel, $pfad)

{

// Grafik erstellen

$x = $groesse[0];
$y = $groesse[1];

$piegraph = new PieGraph($x,$y);
$piegraph->SetShadow();

// Werte in Diagramm eintragen
 
$p1 = new PiePlot3D($data);

// Stück nach aussen legen

$p1->ExplodeSlice(2);
$p1->SetCenter(0.45);

// Antialiasing einschalten

$piegraph->SetAntiAliasing();

// Legende erstellen

$p1->SetLegends($legende);

// Diagramm flacher legen

$p1->SetAngle(20);

// Titel und Schriftart formatieren

$piegraph->title->Set($titel);
$piegraph->title->SetFont(FF_FONT1,FS_BOLD);

// Graph in Grafik einfügen

$piegraph->Add($p1);


// Grafik erstellen

$img = $piegraph->Stroke($pfad);

// Graph in IPS registrieren

$datei = $titel.".png";

exist_media("E:\\IPS_v2_1c\\webfront\\DUGTool\\Diagramme\\",$datei,21856,$titel,$titel);

return true;

}



// Funktion exist_media aus Torro´s WIIPS angepasst von wgreipl
//weiter modifiziert und teils ausgelagert in das Installationsscript doinstall.php von TS17
function exist_media ( $pfad, $graphdateiname, $DUG_Media_ID, $ueberschrift, $name ) 
{
	$ParentID = 0;
	//entfernt den IPS Pfad -> absoluter Pfad wird zu relativem Pfad
	$pfad = str_replace(strtolower(IPS_GetKernelDir()), "", strtolower($pfad));

	$medien_id = @IPS_GetMediaIDBYFile($pfad.$graphdateiname);
	if (  $medien_id <> 0 ) {
		IPS_SendMediaEvent ( $medien_id );
		return true;
	}
	// Mediendatei nicht vorhanden, deshalb neu anlegen
	$medien_id = IPS_CreateMedia ( 1 );
	IPS_SetMediaFile( $medien_id, $pfad . $graphdateiname, FALSE );
	IPS_SetName( $medien_id, $name." (".$ueberschrift.")");
	IPS_SetParent($medien_id, (int)$DUG_Media_ID);
	return true;
 }

…ausserdem müssen noch

require("JpGraph Bib\jpgraph.php");
require("JpGraph Bib\jpgraph_pie.php");
require("JpGraph Bib\jpgraph_pie3d.php");

…eingebunden sein. Pfade u.ä. müssen angepasst werden.

Aber warum gleich 3x die UVR1611 ?
Sooo aufwändig ist die Hydraulik auch wieder nicht. Das Teil kostet doch ordentlich Geld.
Die Aufgaben kann doch IPs locker mitmachen.

Gut vieleicht eine UVR wegen PID und Drehzahlregler, bzw. als Notbetrieb. Aber 3 Stück ???

Bei mir regelt IPS auch den Heizraum:
bestehend aus Ölkessel, therm. Solaranlage, Pufferspeicher, Brauchwasserspeicher, 4 Pumpen, 4 Zonenventile, 18 Tempertursensoren

…ja, leider waren die UVR vor IPS da. Heute würde ich das auch nicht mehr so machen. Und bei den Reglern sind nicht die Aus- bzw. Eingänge das Problem, sondern der verfügbare Programmspeicher. Darum sinds dann 3 Regler geworden, die zu 95% ausgelastet sind :wink: Man muss allerdings auch sagen, dass sie recht ordentlich funktionieren…

greetz Daniel

Hallo Daniel,

Danke für die Beispiele. Die helfen sehr :).

Eine Frage noch. Lt. Skript benutzt Du die nachfolgende Fkt…

erstelleTorte($data, $legende, $groesse, $titel, $pfad);

Leider kann ich nicht den Code in den Beispielen erkennen. Kommt dieser auch aus dem „modifizierten“ DUG-Tool? Kann ich die Fkt. dort finden?

Viele Gruesse
wesseli

Hallo Daniel,

besten Dank für das Torten - Script.:slight_smile:

@Wesseli

erstelleTorte($data, $legende, $groesse, $titel, $pfad);

Die Funktion steht in „torte.php“.

Bis dann

Martin

…korrekt, mittels „include“ vorher einzubinden :wink:

greetz Daniel

Hallo Martin, hallo Daniel,

hatte ich übersehen… Danke.

Viele Gruesse
wesseli

Hi Daniel

super Tip diese „JpGraph“ Bibliothek zu verwenden.
Die darf ja für privat sogar frei benutzt werden.:stuck_out_tongue: Klasse.

Sowas hab ich schon ewig lange gesucht aber unerklärlicherweise nie gefunden.

mercy
bb

kein Problem, bin auch nur durch „Zufall“ drauf gestossen…ist aber schon eine schöne Sache.

greetz Daniel

Alternativ gibt es auch pChart, das hier im Forum ja auch schon diskutiert wurde ;).