phpModbus lib

guten morgen,

hat schon mal jemand die phpmodbus lib getestet?

phpmodbus - Project Hosting on Google Code

hab nur mal schnell das read variable beispiel gestartet und es sieht ganz gut aus, vorteil ist meinermeinung nach das man nicht 100 modbus instanzen definieren muß sondern einen ganzen Block an Variablen lesen/schreiben kann.

wie seht ihr das?

Christian

P.S. damit es funktioniert die php_sockets.dll in eurer ext verzeichnis kopieren

@Ferengi: wie geil ist das denn. Danke für den Tip!

Hallo zusammen,

wäre das nicht was für unser „on-hold“-Projekt (Wago-Scheduler im WebFront)
siehe http://www.ip-symcon.de/forum/f41/jahreskalender-heizungsregelung-9238/#post76214

gelle - Cali? :wink:

in diesem Sinne - schönen Restsonntag

Tilo

Klingt jetzt vielleicht zu einfach für euch … aber könnte sich da mal jemand erbarmen und ne kleine Anleitung schreiben wie man das dann in IPS macht? Also einen ganzen Block einzulesen?

Gruß
Jens

hab gestern meinen ips rechner formatiert wegen eines experiments, also kann ichs nur grob umschreiben, ist aber recht einfach

  1. wie oben beschrieben die passende php_sockets.dll für deine ips version runterladen und in dein ext verzeichnis kopieren

  2. von der seite die lib runterladen und ins entsprechnde verzeichnis von ips kopieren (habs jetzt nicht im kopf, denke aber scripts oder so ähnlich wars, da wo auch deine anderen php scripte liegen)

  3. beispiele anschauen die da bei sind, ist wirklich ganz einfach aufgebaut

Christian

Hallo Christian,

ich hab mir das jetzt noch mal näher angesehen, aber irgendwie schnall ich das nicht. Ich musste doch bisher für jeden Ein- und Ausgang ne eigene Variable anlegen und jede für sich per Intervall auslesen.
Mit der phpModbus.lib dachte ich, das ich jetzt alle Eingänge oder Ausgänge als Block einlesen kann?

Gruß
Jens

kannst du auch, schau dir das beispiel zur FC23 an, das kannst du eigentlich so wies ist laufen lassen (ip des controllers ändern) dann solltest du im ausgabefenster die werte der ersten merkervariablen deiner steuerung sehen, jetzt mußt du dir nur noch ein paar variablen anlegen und dort die werte ablegen um sie weiter verarbeiten zu können.

sorry, hab wie gesagt zur zeit keine lauffäige ip-symcon installation, darum nur alles aus dem kopf, muß also nicht ganz korrekt sein :rolleyes:

nachtrag:

variablen brauchst du natürlich weiterhin so viele wie aus/eingänge, aber die ganzen modbus instanzen fallen weg

Danke noch mal für die Ergänzung. Ich meinte natürlich auch die Modbusinis, die ich dann weg lassen kann.
Ich setze mich heute Abend noch mal dran … und meld mich dann morgen mit weiteren Fragen :wink:

Jens

Hi,
wie „includiere“ ich die DLL Datei ? Habe die php_sockets.dll in das EXT Verzeichnis kopiert aber die erscheint nicht in der php.ini.
Wenn ich die von Hand reinkopiere ist sie nach stop und start wieder weg.
Er erkennt die DLL nicht automatisch ? Ich habe Version 2.10 von IP-Symcon.

Die Fehlermeldung im Script ist :

Call to undefined function socket_create() in C:\IP-Symcon\scripts\Phpmodbus\ModbusMasterUdp.php on line 65

Kann mir jemand helfen ?
Danke schon mal vorab !!

richtige Version der dll. V2.1 benötigt php 5.1.6. Der Dienst muss auch neu gestartet werden.

Super, Danke da war der Denkfehler.
Jetzt ist die DLL includiert. Leider scheitere ich jetzt an der Kommunikation.

Ich habe Versucht aus einer Schneider Steuerung auszulesen. Das Gateway (von Schneider 174CEVxxx) funktioniert. Habe ich mit Modscan32 getestet.
Mit dem Script geht es leider nicht. Woran kann das liegen ? Was will er mit der buffer1 sagen ?

Hilfe ! :slight_smile: :loveips:

Notice: Undefined variable: buffer1 in C:\IP-Symcon\scripts\Phpmodbus\ModbusMasterUdp.php on line 239

Error:
Watchdog time expired [ 5 sec]!!! Connection to 192.168.1.140 is not established.

Status:
readMultipleRegisters: START
Connected
Packet: 190f00000006010300010002
Send
Wait received data

Data: