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


von Trenkel (Gast)


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 :-)

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Bert3 (Gast)


Lesenswert?

ist der tGW-715 das hier?

http://www.icpdas.com/root/product/solutions/industrial_communication/pds/tgw-700.html

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

von Bert3 (Gast)


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-refrigeration-controllers/drr132

(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

von Rico T. (trenkel)


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
von Iris (Gast)


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.

von Bert3 (Gast)


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
1
mysql verbindung auf
2
modbus verbindung auf
3
while(true)
4
  deine variablen lesen per modbus lesen
5
  echo auf console + insert in mysql
6
  sleep(ein paar ms)
7
modbus verbindung zu
8
mysql verbindung zu

von Rico T. (trenkel)


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.

von Bert3 (Gast)


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

von Rico T. (trenkel)


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. :-(

von Bert3 (Gast)


Lesenswert?

Drück dich bitte klar aus
1
--
2
Also die Abfrfage mit Modbus ec. kann ich machen und mir die Daten der 
3
einzelnen Geräte anzeigen lassen.
4
--

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

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

ich hab doch diesen Link gepostet

https://github.com/krakorj/phpmodbus

das sind Beispiele dabei - was fehlt noch?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.