mikrocontroller.net

Forum: PC-Programmierung DRR132 über rGW-715 mit php auslesen


Autor: Trenkel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich bin neu hier und versuche meinen Weg zu finden.

Ich habe mich seit einigen Jahen mit php/html/mysql beschäftigt.

Mein Problem ist nun folgendes:

Ich habe 8 DRR132 Kühlstellenregler. Diese sind an einem tGW-715 über 
RS-485 angeschlossen. Der tGW ist wiederrum im LAN eingebunden.

Ich möchte nun über eine  php-Seite auf die Daten in den Reglern 
zugreifen.
Baut Rate, Save-Adressen und IP des tGW sind festgelegt und ich kann 
über LAN Browser zugreifen/kommunizieren.
Letztendlich möchte ich die Temperaturen auf einer MYSQL-DB ablegen.
Wie frag ich nun über eine php-Seite die Regler ab.

Ich hab schon sehr lange gesucht, und komm einfach nicht weiter.

Mit RS-485-Abfragen hab ich mich noch nie beschäftigt :-(

Ich bedanke mich schon mal :-)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
php ist ziemlich sicher nicht das Werkzeug, mit dem Du die 
rs485-Kommunikation auf die Beine stellen möchtest. php ist dafür da, 
daß Du damit auf die Datenbank zugreifst, um eine hübsche (dynamische) 
Webseite daraus zu basteln. Aber das Befüllen der Datenbank mit den via 
rs485 ermittelten Daten hat nichts in php und schon gar nichts in 
"php-seiten" verloren, das gehört in einen separaten, anderen 
Mechanismus ausgelagert, der eben zyklisch via RS485 die Daten ermittelt 
und sie in die Datenbank einfüllt.

Andererseits scheinst Du ja sogar schon etwas zu haben, was die 
RS485-Kommunikation übernimmt, dieses "tGW" genannte Gerät, das Du 
wiederum via "LAN Browser" ansprechen kannst (was auch immer das sein 
mag).

Also dürfte für das Befüllen Deiner Datenbank auch ein Mechanismus 
genügen, der zyklisch über das Netzwerk mit diesem "tGW"-Gerät 
kommuniziert, die Daten extrahiert, aufbereitet und in die Datenbank 
stopft.

Nein, ich werde jetzt nicht recherchieren, was ein "tGW-715" sein soll.

Autor: Bert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist der tGW-715 das hier?

http://www.icpdas.com/root/product/solutions/indus...

wenn ich das richtig verstehe ist das ein Modbus RTU (per RS485) auf 
Modbus TCP/IP Gateway d.h. du brauchst keine RS485 Kommunikation mit PHP 
machen sondern nur TCP/IP Modubus

mit etwas Glück könnte dieser Modbus TCP/IP Client fuer PHP helfen die 
Daten abzufragen

https://github.com/krakorj/phpmodbus

Achtung: ich habe keine Ahnung von dem tGW-715 noch von der phpmodbus 
Implementation - aber ich denke damit kommst du weiter

Autor: Bert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Modbus-Variable/Adressen sind Geräte/Konfigurations-Spezifisch - da 
gibt es keinen Standard

möglicherweise findest du mehr Details zu den Modbus-Variablen in dem 
PFD

"Manuale DRR132 2300.10.170-RevA"

auf

http://www.pixsys.net/en/products/thermostats-refr...

(Anmeldung erforderlich)

zum Testen kannst du auch erstmal diese Software verwenden

http://sourceforge.net/projects/qmodmaster/
oder diese
http://www.simplymodbus.ca/TCPclient.htm

und wenn du alles hast das ganze dann nach php portieren

Autor: Rico Trenkelbach (trenkel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen lieben Dank für die vielen Infos.
Also das es über php schlecht geht, hab ich verstanden.
Ja es handelt sich um das o.g. Gerät tGW-715.
Die vorgeschlagenen Programme zum Testen habe ich ausprobiert. Das 
Funktioniert auch.
Jetzt steh ich aber immer noch vor meinem eigentlichen Problem.
Ich müste also ein Programm schreiben, mit dem ich die Daten auslese und 
sofort auf einen ext. Server in die MSQL-DB lade.
Muss ich das mit C++ machen?? Da werd ich mit meinem Wissen aber nicht 
weiter kommen... :-(
Die MODBUSS Adressen usw. hab ich vom Hersteller.
Aus dem Bauch herraus, komm ich wohl mit der Seite:
https://github.com/krakorj/phpmodbus
am weitesten?

: Bearbeitet durch User
Autor: Iris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein letzter Ansatz ist schon mal richtig. Wenn du mit C++ nicht klar 
kommst, dann nimm halt ANSI-C das hast du die Schnittstellen für MODBUS 
auf
der einen und SQL auf der andern fertig bzw. findest reichlich Infos im 
i-Net.

Autor: Bert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollte er das unbedingt in C (oder C++) machen - er kann doch PHP 
gut (oder Trenkel?)

und wenn er die phpmodbus nutzt und sein kleines Script auf der 
Kommandozeile startet gibt es 0 unterschied zu einer "nativeren" Lösung 
- PHP muss doch nicht im Webserver laufen - und wenn würde die C-Lösung 
das auch nicht so einfach können noch dazu hat PHP auch einen 
MySQL-Client im Bauch

mach es einfach so

kleines PHP-Script
mysql verbindung auf
modbus verbindung auf
while(true)
  deine variablen lesen per modbus lesen
  echo auf console + insert in mysql
  sleep(ein paar ms)
modbus verbindung zu
mysql verbindung zu

Autor: Rico Trenkelbach (trenkel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die vielen Anregungen :-)
So ich hab das jetzt alles Ruhen lassen, bin eigentlich nicht dazu 
gekommen, mich weiter einzuarbeiten. Jetzt will ich das aber mal langsam 
lösen.
Also der Ansatz von  Bert3  gefällt mir irgentwie am besten.
Wie kann das genau aussehen. Dazu muss ich doch sicher erstmal ne DB 
direkt bei mir auf dem Rechner haben. Wollte das alles eigentlich über 
nen extrenen Server laufen lassen.

Autor: Bert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bevor du dich an die Datenausgabe in die MySQL wagst könntest du ja mal 
schauen ob die Modbus Kommunikation funktioniert also nur die Daten 
Abfragen und Ausgeben - dann sehen wir weiter

und ob die DB lokal oder remote läuft ist völlig egal - nur die 
IP-Adresse ist anders

und dein PHP nicht in die Webseite einbetten sondern einfach auf der 
Kommandozeile mit php.exe deinprogram.php starten

Autor: Rico Trenkelbach (trenkel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Abfrfage mit Modbus ec. kann ich machen und mir die Daten der 
einzelnen Geräte anzeigen lassen.
So nun komme ich zum eigentlichen Problem. Das schreiben der PHP-Seite.
Normale Internetseiten mit PHP hab ich schon sehr oft geschrieben.
Das wars aber auch schon. Ich hab schon eine Weile geoogelt um nach 
entsprechenden Komandos zu suchen, mit dennen ich die Daten per PHP 
abfragen kann. Aber da fehls mir kommlett.
Mus doch als erstes Das Gerät öffen mit der IP und den Port.
Und dann die entsprechente Adresse und das Register abfragen.
Aber wie das alles. :-(

Autor: Bert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Drück dich bitte klar aus
--
Also die Abfrfage mit Modbus ec. kann ich machen und mir die Daten der 
einzelnen Geräte anzeigen lassen.
--

du kannst das also jetzt schon per PHP?
wiederholst du nur deine Wünsche?
--
So nun komme ich zum eigentlichen Problem. Das schreiben der PHP-Seite.
Normale Internetseiten mit PHP hab ich schon sehr oft geschrieben.
Das wars aber auch schon. Ich hab schon eine Weile geoogelt um nach 
entsprechenden Komandos zu suchen, mit dennen ich die Daten per PHP 
abfragen kann. Aber da fehls mir kommlett.
--

von welchen Kommandos redest du?
hast du meine Posts (nochmal, mit den Links) komplett gelesen?
--
Mus doch als erstes Das Gerät öffen mit der IP und den Port.
Und dann die entsprechente Adresse und das Register abfragen.
Aber wie das alles. :-(
--

ich hab doch diesen Link gepostet

https://github.com/krakorj/phpmodbus

das sind Beispiele dabei - was fehlt noch?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.