Hauptmenü

MB_Server und MB_VMAP

Begonnen von andi72, 10. Juni 2011, 09:43:22

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

andi72

Hallo,

gibt es ein Beispiel für die Anwendung MB_VMAP? Musste auch festellen, dass im Doku-PDF die Seiten 119-120 irgendwie im Umbruch verhagelt sind und dadurch nicht lesbar sind. So ganz kapiere ich die Funktion von MB_VMAP nicht.

Gruß

Andi

peewit

#1
hallo

ja leider ist in der doku der umbruch falsch
ich werde dir in eine paar stunden eine lesbare doku nachliefern


was ist die idee von mb_vmap

mb_server:
die vmap ermöglicht , das man in einen datenbuffer alle daten ablegt, und nach aussen über virtuelle adressen drauf zugreifen kann
weiters kann definiert werden welche modbus-tcp kommandos erlaubt sind


der baustein MB_VMAP wird vom MB_SERVER intern verwendet, und muss nicht vom anwender benutzt werden

und wenn du das nicht verstehst bzw benötigst, dann kannst du das einfach ignorieren !!!
denn VMAP ist nur eine option die man nutzen kann, aber nicht muss



[gelöscht durch Administrator]

andi72

Hallo,

muss mich zu Anfang mal nochmal ganz Herzlich für den tollen Support hier bedanken. Tolles Projekt mit tollen Leuten dahinter! :-)

So im groben habe ich jetzt die FUnktion von MB_VMAP verstanden. Ein kleines Beispielprogramm in der Lib wäre aber ganz hilfreich um die Funktionen besser zu verstehen. Was mir auch nicht ganz klar ist, wie man das mit dem Watchdog-Timer auswertet.

Was ich gerade noch gesehen habe, die Doku hat auch weiter vorne Seitenumbruchfehler. Die Seite 112 ist komplett leer und die Errortabelle auf Seite 111 ist unvollständig, sie geht auf Seite 113 weiter...

Gruß

Andi

peewit

#3
das mit der doku werden wir übers wochenende in ordnung bringen (danke für den hinweis !)


watchdog:

die idee ist folgende

mit deiner sps spielst du MB_SERVER und es gibt reale ausgänge die mit registern gekoppelt sind
diese werden von einem externen client angesteuert (motoren etc...)
man muss (kann) nun überwachen ob angesteuerte ausgänge auch zyklisch aktualisiert werden (watchdog wegen verbindungsunterbrechnung, störung etc..)
denn man möchte nicht das dann ein motor unkontrolliert weiterläuft

immer wenn auf einen MB_VMAP-Block schreibend zugriffen wird, wird bei VMAP_DATA.TIMEOUT = 1ms eingetragen (zeit wird vom mb_server automatisch rückgesetzt)
dieser time-wert wird dann in echtzeit zyklisch erhöht.

nun kannst du in deiner applikation prüfen

VMAP_DATA[x].TIMEOUT > T#200ms = Ausgang rücksetzen (watchdog - Notstop)

das mit dem demo ist immer so ein problem .... jeder hat andere ansprüche, wünsche....
ich würde es so formulieren... das ist eine funktionalität für fortgeschrittenen
und hier muss man sich einarbeiten... so wie du es gerade machst..

dennish23

Hallo liebe Forengemeinde,

ich habe mich mal in kleinen Schritten mit der Modbus TCP kommunikation versucht (Siehe angehängtes Bsp.). Leider ohne Erfolg. Ich möchte Daten als WORD Varibalen verschicken, aber mir fehlt trotz lesen von Oscat und Network.lib der Anfang. Vielleicht kann mir jemand von euch den entsprchenden Denkanstoss geben.

Gruß Dennis

[gelöscht durch Administrator]

peewit

hallo

das geht alles viel einfacher

die hälfte von deinem programm kannst du löschen
der baustein "MODBUS_Adresse_zuweisen" ist nicht notwendig und bewrikt  das es sicher nicht funktioniert

in der network.lib findest du bei bausteine/demo/
das programm "MB_SERVER_DEMO"

das nimmst du und erweiterst es einfach

dort brauchst du nur mehr bei

DATA: ARRAY [0..255] OF WORD

deine daten rein bzw rauskopieren


wenn du das original demo programm mal einfach laufen lässt, dann solltest du auf jedenfall schon mal das datenarray von extern verändern können !