Autor Thema: PHP-Programmierung u. Kommunikation via EASY_COM.dll  (Gelesen 39229 mal)

Offline Peter_Pig

  • Jr. Member
  • **
  • Beiträge: 48
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #30 am: August 20, 2010, 23:34:18 Nachmittag »
Hi Dietmar!

Sorry, ich war mal wieder unterwegs ...  :-\

Ja, ich bastle weiterhin an meinem Projekt. Leider geht es sehr langsam voran, weil ständig auf Achse.

Nein, ich bentuze kein Framework, nur einen Text-Editor mit Syntax-Hervorhebung für HTML, Javascript, CSS und PHP : http://www.chami.com/html-kit/

"Produktivitäts-Rekorde" kann ich damit selbstverständlich nicht brechen  ;) ...

Ich bin wohl zu faul um den Umgang mit einem Framework zu erlernen...

Wenn ich Dir trotzdem irgendwie behilflich sein kann, lass es mich wissen.

Ich werde mich am Wochenende wieder in mein Projekt einarbeiten. Vielleicht springt etwas heraus, was es wert ist, hochgeladen zu werden.

Gruß

Peter







Offline heicar

  • Newbie
  • *
  • Beiträge: 14
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #31 am: August 26, 2010, 11:40:00 Vormittag »
Hallo ihr,

verstehe ich das jetzt richtig? Ihr könnt per php jeden Ausgang setzen? Ich bin mit meiner 800 jetzt fast am Ende der 256 Zeilen, zeitrelais hab ich auch nicht mehr - von daher wäre es ja ideal wenn das setzen der Ausgänge per php geht. Dann könnt ich vieles direkt in php machen (zufallszeiten - ablaufprogramme) - geht mit der Easy zar auch - nur für mich ist das noch zu umständlich.


Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #32 am: August 26, 2010, 16:59:39 Nachmittag »
Jep, zwar nicht direkt, das läßt die DLL nicht zu, aber über den Umweg eines Merkers
lassen sich alle Ausgänge über die Schnittstelle ansteuern.

Eingänge, Merker, die Systemuhr, Ausgänge und die Wochen und Jahresschaltuhren lassen sich über das gleine Programm am Anfang des Threads auslesen.

Bis auf die Ein- und Ausgänge lassen sich die Bausteine auch alle über das Programm setzen.
Das ganze geht als Verbindung über einen TCP/IP-Port.
Ich benutze das aus PHP heraus um bei mir eine Visualisierung mittels Webbrowser auf einem Touchpad zu realiseren.

Gruss
Dietmar

Offline heicar

  • Newbie
  • *
  • Beiträge: 14
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #33 am: August 26, 2010, 17:13:41 Nachmittag »
ok, das ist genial  :D

Gibt es aber nur als Windosprogramm oder kann man das auch unter Linux laufen lassen?

Machst du auch irgendwelche Steuerungsaufgaben über php oder nur als visu?

Im Grunde, so mein Verständnis, könnte ich das Programm in der Easy killen, und alles in php machen (Bis auf die Merkerzuweisung)
Ob das Unsinn ist (natürlich) mal außer Betracht gelassen.
Gruß

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #34 am: August 26, 2010, 17:53:40 Nachmittag »
Die DLL ist nur für Windows und das Programm auch, duch brauchst also zumindestens einen Windowsrechenr als "Gateway", der rest kann dann über TCP von einem Linuxrechenr aus passieren.

Theoretisch kannst du das natürlich machen, ist aber in meinen Augen absoluter Unsinn.
Dann wären andere Lösungen billiger und einfacher. Ich hab mich deshalb für die Lösung mit der easy entscheiden, weil ich für die eigentliche Funktionalität nicht von einem PC abhängig sein wollte.
Die Visualisierung ist nur eine Spielerrei bzw. addon.

Gruss
Dietmar

Offline Peter_Pig

  • Jr. Member
  • **
  • Beiträge: 48
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #35 am: August 26, 2010, 20:16:41 Nachmittag »
Hallo,

es kann schon Sinn machen, manche Steuer-Aufgaben dem Fern-Rechner zu überlassen (das bringt fast unbegrenzte Möglichkeiten mit sich).

Ich glaube aber, es sind bestimmte Grundregeln zu beachten :

1) Zeit- sowie Sicherheits-kritische Aufgaben sollten grundsätzlich der Easy überlassen werden.

2) Man sollte, vom Rechner aus, nur Prozesse starten, welche von der Easy vollständig überwacht werden und auch von dieser beendet werden können.

Zum Beispiel kann die Easy viel schneller und zuverlässiger ein Eingangssignal erfassen, auswerten und die notwendigen Ausgänge schalten.

Auch Impulse zählen oder generieren kann die Easy viel effizienter als ein PC der über PHP, TCP-server und Com-Port mit ihr kommuniziert.

Abgesehen von Systemabstürzen, Programmierfehlern, etc. ...

Einfaches Beispiel "Terrarium Heizung":

Falsche Lösung :

Der PC liest den Temperaturwert des Terrariums aus der Easy und trifft die Entscheidung, dass geheizt werden muss. Also wird ein Merker gesetzt, der direkt einen Ausgang ansteuert, der die Heizlampe anschaltet.

Nun soll der PC sich ständig die Temperaturwerte holen und entscheiden, wann die Heizung wieder ausgeschaltet werden muss. Dann wird der PC den "Heizmerker" wieder auf null setzen und die Heizung geht aus.

Das könnte allzuleicht mit einer gebackenen Albino-Boa enden.

Richtige Lösung :

Der PC schreibt in einen Merker Wort, welche Temperatur der Albino-Boa am besten gefällt. Die Easy übernimmt die Regelung. Am besten ist es, wenn das Easy-Programm noch mit der geeigneten Wertbegrenzung ausgestattet ist, falls dein Schwiegervater die Schlange nicht aussteht und heimlich 100°C in den PC eingibt.

Ich hoffe das ist nicht alles Unsinnig.

Gruß

Peter

Nachtrag :

Dietmar's "kleines Programm" (der EasyTCP-Server) ist flink und sehr zuverlässig. Es ist die beste Lösung die ich für eine Anbindung an PHP gefunden habe und es macht echte Freude damit zu experimentieren und arbeiten.

Also : rann an Dein Projekt mit EasyTCP-Server!
« Letzte Änderung: August 26, 2010, 20:30:24 Nachmittag von Peter_Pig »

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #36 am: August 27, 2010, 07:06:09 Vormittag »
Richtige Lösung :

Der PC schreibt in einen Merker Wort, welche Temperatur der Albino-Boa am besten gefällt. Die Easy übernimmt die Regelung. Am besten ist es, wenn das Easy-Programm noch mit der geeigneten Wertbegrenzung ausgestattet ist, falls dein Schwiegervater die Schlange nicht aussteht und heimlich 100°C in den PC eingibt.

Ich hoffe das ist nicht alles Unsinnig.

So wollte ich das auch verstanden wissen. Das ist im Prinzip genau das was ich auch mache.
Befehl vom PC an die easy "Rollade runter" und den Rest übernimmt die easy.
Anders wär nämlich schlecht  ;).

Gruss
Dietmar

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #37 am: November 13, 2010, 11:23:56 Vormittag »
Hallo,

ich wollte mal einen kleinen Update zu meiner easy-Visualisierung mittels Webbrowser geben.

Leider finde ich nicht immer die Zeit die ich brauche um an dem Projekt weiter zu arbeiten, aber mittlerweile steht das Grundgerüst soweit das ich mich "nur" noch um die Konfiguration und die Darstellung kümmern muss.

Hier mal ein paar Screenshots wie es jetzt aussieht.

Das ganze ist mittels dem TCP-Server, PHP und einer mySQL-Datenbank realisiert.

Alle Konfigurationen sind in der Datenbank hinterlegt und können mittels der Webseite konfiguriert werden.

Die Basis bilden "Aktoren" die entweder Eigenschaften der easy abfragen bzw. beeinflussen oder html-Links bzw. Scriptfiles einbinden.

Jede Seite besteht aus einem Hauptteil und ein oder mehreren Menues die links, rechts, oben oder unten angeordnet werden können.
In den Hauptteil und die Menüs können dann die definierten Aktoren dann eingebunden werden.

Im Hauptteil werden die Aktoren dann über die angegebenen Icons, abhängig von der definierten Bedingung dargestellt. In den Menüs erfolgt die Darstellung zur Zeit als Text-Button.
Für das Licht habe ich zum Beispiel ein Icon für eine eingeschaltete und ein anderes für die ausgeschaltete Lampe hinterlegt, welches abhängig vom Zustand angezeigt wird.

Vom Grundgerüst ist das jetzt soweit fertig das ich jetzt an das Konfigurieren gehen kann.
Auf Seiten der easy sind auch noch ein paar Programmänderungen möglich.
Funktioniert auf jeden Fall jetzt schon vom PC oder iPod wunderbar.

Im Moment bin ich dabei noch ein paar Fehler in der Darstellung auszumerzen
und die Darstellung etwas moderner zu gestalten.

Gruss
Dietmar


 





Offline Peter_Pig

  • Jr. Member
  • **
  • Beiträge: 48
Re: PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #38 am: November 14, 2010, 11:21:40 Vormittag »
Das sieht klasse aus :) und es steckt wohl ein ganzes Stück Arbeit dahinter!

Es erweckt den Eindruck als wäre das ganze System ziemlich flexibel einsetzbar, d.h. relativ einfach an andere Projekte anpassbar. Stimmt doch, oder?

Wiederverwendbares zu schreiben ist nicht leicht. Also nochmal Hut ab!

Hast Du an dem EasyTCP Server Änderungen vorgenommen oder bin ich noch auf dem letzten Stand?

Ich habe die Arbeit an meinem Projekt ziemlich lange einstellen müssen. Werde wohl erst im Dezember richtig weitermachen können.

Bis dahin hast Du hoffentlich ein bisschen Luft und ich kann Dich mit lästigen Fragen und Wünschen martern...  ::)

Bis dann!

Peter




Offline heicar

  • Newbie
  • *
  • Beiträge: 14
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #39 am: Februar 09, 2012, 16:37:44 Nachmittag »
Hallo,
ist ja lange nichts mehr dazu geschrieben worden....

Aber ich habe es jetzt endlich mal geschafft mich wieder um die SPS zu kümmern.
Ich habe eine Linuxkiste laufen, dann über Virtualbox ein virtuelles Windows installiert - den easytcpserver raufgespielt und läuft.
Ich bin total begeistert. Im Moment hab ich nur erst einige wenige Schalterbefehle über die Steuerungsseite eingesetzt.
Dazu hab ich noch eine Art Logging für die Sps eingerichtet - Ein php script fragt verschiedene Ein/Ausgänge bzw. Merker ab, und bei einer Zustandsänderung wird es in eine mysql Datenbank geschrieben. Jetzt kann ich (komfortabel) sehen wie oft z.b. nachts der Bewegungsmelder anschlägt (geht ja auch über die Easy)

Ich hab jetzt den Tcpserver ca. eine Woche 24h am laufen und absolut kein Fehler festzustellen.

Klasse Arbeit Dietmar.

Ich konnte allerdings keine Ein/Ausgänge von dem Erweiterungsgerät abfragen mit dem tcpserver - habe dann die betreffenden E/A auf Merker gelegt und bin glücklich.

Gruß

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #40 am: Februar 10, 2012, 11:59:30 Vormittag »
Hi,

das mit den Ein und Ausgängen des Erweiterungsgerätes sollte aber eigentlich gehen.
Ich werde mir das aber bei Gelegenheit nochmal anschauen, ob da ein Bug drin ist.
Zur Zeit erweitere ich den TCP-Server gerade um die easy unter mediola (www.mediola.de) einbinden zu können, da kann ich das direkt mit erledigen.

Sobald das fertig gestellt und getestet ist werde ich hier einen update posten.

Gruss
Dietmar

Offline boost

  • Newbie
  • *
  • Beiträge: 1
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #41 am: Januar 28, 2013, 12:46:00 Nachmittag »
ich hab ne frage zur easyTCPserver_config.xml datei.
lässt sich anstelle von einem com port auch ne ip wo sich die easy befindet (angebunden über eine Easy 209SE) definieren ?

bei der beschreibung ist das nirgends vermerkt.

noch eine kleine andere
die aktuellste version des programms ist die easyserver 0.1a ?


Offline Peter_Pig

  • Jr. Member
  • **
  • Beiträge: 48
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #42 am: April 18, 2013, 18:15:06 Nachmittag »
Hallo!

ich habe kurz mal wieder vorbeigeschaut um wieder den TCP Server runterzuladen (wegen neuer Rechner und so...) und um mein Gedächtnis ein bisschen aufzufrischen, bezgl. der Bedienung des ganzen.

Was macht die Kunst, Dietmar?

Ist es was geworden mit dem mediola?

@boost: ist wohl ein bisschen spät dafür, aber ich denke schon dass der easyTCP Server mit einer SE209 kommunizieren kann. Versuch mal fsockopen() mit der IP-Adresse und Port der SE209, anstatt, wie in den Beispielen, localhost (127.0.0.1:8000). Wenn Du von außerhalb des Heimnetzwerks zugreifen musst, wird wohl ein bisschen port-forwarding nötig sein.

Hat's geklappt? Lass uns wissen!

Gruß an alle!  ;)

Peter

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #43 am: November 20, 2013, 10:31:25 Vormittag »
Halo Peter,

Leider waren die letzten Monate nicht so entspannt und ich hatte andere Dinge auf der Liste,weshalb ich auch nicht mehr hier rein gesehen hab.
Das Mediola Projekt habe ich aus diesem Grund auch nicht mehr weiter verfolgt.
Mit Interesse habe ich den Artikel zur Integration mit dem Raspberry gelesen.
Wie weit bist du damit gekommen?
Das wäre fuer mich eventuell die Möglichkeit den Windowsrechner los zu werden und auch den Webserver in den Schaltschrank zugekommen.

Lass mal was hören.
Gruss
Dietmar

Offline Peter_Pig

  • Jr. Member
  • **
  • Beiträge: 48
Re:PHP-Programmierung u. Kommunikation via EASY_COM.dll
« Antwort #44 am: November 21, 2013, 18:34:21 Nachmittag »
Hi Dietmar,

schon lange nichts mehr von Dir gehört!

Ja, mir geht's genauso ... es fehlt immer genügend Zeit zum Spielen...  ::)

Danke für das Interesse:

Die Kommunikation Easy < - > Raspy mit dem USB-CAB klappt soweit ganz gut. Mit einem reinen Seriellen Kabel habe ich es noch nicht versucht. Auch mit mehrerenTeilnehmer-Geräten habe ich nicht versuchen können. Ich will auch noch testen, ob das ganze auch unter Windows funktioniert (ist ja nur cPython).

Aber um ein richtiges Projekt damit realisieren zu können, fehlen mir noch etliche Programmzeilen : Unerfreulicherweise kann ich bis jetzt nur write_ bzw. read_object_value() emulieren. und z.Zt. versuche ich mir die nötigen Module füe eine Lokale Visualisierung zu schreiben, dann noch eine Web-Visualisierung, dann das ganze so optimieren, dass es flink und zuverlässig läuft, dann...

Übrigens, ohne Deine Easy TCP hätte ich keine Chance gehabt!

Ich bin aber ganz der Meinung, dass der Raspy wie dafür geboren ist, an einer Easy zu hängen. Mit einem einzigen Gerät kann man ein HMI (hab mir extra ein Faytec Touchscreen angelegt), einen Web-Server für z.B. eine Web-Visu, einen Daten-Logger oder was auch immer realisieren.

Für ca 35 Euro ist das Gerät unverhältnissmässig günstig (ok.: + MMC + Netzeil) ... es steht z.B. preislich in keinem Verhältniss zum USB-CAB, das mehr als doppelt so teuer ist  >:(

Ich stehe jedenfalls zu Deiner vollen Verfügung, falls Du es mal damit versuchen willst.


Gruß,

Peter