PL4 und Intranet

Antworten
Neuling
Beiträge: 39
Registriert: Samstag 28. April 2012, 13:44

PL4 und Intranet

Beitrag von Neuling » Montag 8. Oktober 2012, 15:20

Hallo,
ist es möglich fas ich ein Projekt auf einem Rechner installiere und mit einem anderem Rechner die Werte die der
erste Rechner ermittelt hat auch auf dem zweiten Rechner mit der gleichen BildschirmDarstellung anzuschauen?
beide Rechner sind in einem Intranet. Alles sollte ohne Browser sein und wenn es geht ohne einen zusätzlichen
Webserver. Wie schon erwähnt Intranet kein Internet. Ist fas möglich mit PL4 ?

Sonnige Gruss Neuling

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: PL4 und intranet

Beitrag von tom_g » Montag 8. Oktober 2012, 16:05

Hoi Neuling,

PL-Anwendungen mit dem ProfiLab TCP/IP Block verbinden ? Es hat auch Beispiele in der Installation mit dabei.

Viele Grüsse von Thomas

Die Hilfe dazu:
"Mit diesem Bauteil können Sie auf einfache Weise eine Verbindung zwischen zwei oder mehreren ProfiLab-Schaltungen herstellen, die auf verschiedenen Computern laufen, und die über ein lokales Netzwerk (LAN) oder das Internet (WAN) miteinander verbunden sind. Die Kommunikation erfolgt mit Hilfe des TCP-Protokolls über die Netzwerkkarte. Damit ist es möglich mit ProfiLab Client-Server-Anwendungen zu entwickeln, um etwa Fernschaltungen und Fernüberwachungen zu realisieren, ohne dass Sie über Kenntnisse der Netzwerkprogrammierung verfügen müssen.

Im einfachsten Fall wird dazu in beiden Schaltungen jeweils ein Bauteil "TCP-Verbindung" eingefügt. In der Regel wird man die beiden Bauteile nun so konfigurieren, dass sich das Bauteil in der einen Schaltung mit dem Bauteil in der anderen Schaltung verbindet.

Dazu muss eines der beiden als SERVER könfiguriert werden, das andere als CLIENT.

Client/Server
Server und Client sind Programme oder Programmteile, zwischen denen eine Datenverbindung aufgebaut werden kann. Mit der Einstellung CLIENT oder SERVER bestimmen Sie die Art des Verbindungsaufbaus: Ein SERVER wartet solange, bis ein CLIENT mit ihm Verbindung aufnimmt. Der Server ist nicht in der Lage von sich aus Verbindung mit einem Client aufzunehmen. Andererseits ist der Client natürlich darauf angewiesen, dass der Server bereits auf diesen "Anruf" wartet. Diese Unterscheidung ist, wie gesagt nur für den Verbindungsaufbau von Bedeutung. Ist die Verbindung erst einmal hergestellt, können sich beide Bauteile in beide Richtungen "unterhalten", d.h. Daten austauschen. Noch einmal: Das Bauteil, das anruft ist der Client, das Bauteil das angerufen wird ist der Server. Beide treten paarweise in verschiedenen Anwendungen auf. Die Einstellung CLIENT oder SERVER erfolgt im Konfigurationsdialog des Bauteil.

TCP-Port
Damit sich Client und Server per TCP-Protokoll unterhalten können, wird ein sogenannter TCP-Port benötigt. Da sich mehrere Server und Clients gleichzeitig über das TCP-Protokoll unterhalten könnten, legt man für beide Seiten den TCP-Port in Form einer ganzen Zahl zwischen 0...65232 fest. Diese Einstellung finden Sie ebenfalls im Konfigurationsdialog. Diese Einstellung ist eigentlich für beide Seiten gleich, z.B. 30000. Allerdings gibt es Ausnahmen, wie wir später noch sehen werden.

IP-Adressen
Eine letzte Einstellung, die noch für den Verbindungsaufbau benötigt wird, ist die IP-Adresse des Servers, die im Konfigurationsdialog des Clients im Feld HOST eingetragen werden muss. Die IP-Adresse ist vergleichbar mit einer "Telefonnummer", die dem Client sagt, wo er den Server im Netz "anrufen" kann. Jeder Computer besitzt in jedem Netzwerk mit dem er verbunden ist eine eindeutige IP-Adresse. Ist Ihr Computer z.B. mit zwei Netzen (lokales Netz (LAN) und Internet (WAN)) verbunden, so gibt es auch in beiden Netzen eine IP-Adresse für ein und denselben PC.

Die IP-Adresse eines PC im lokalen LAN lässt sich u.a. dadurch ermitteln, dass man im DOS-Fenster (START->AUSFÜHREN Befehlszeile: COMMAND) den Befehl IPCONFIG eingibt. Um die IP-Adresse des PC im Internet (WAN) zu ermitteln, ruft man am Besten geeignete Seiten im Internet auf, die die IP-Adresse ermitteln und anzeigen. (GOOGLE: "IP ermitteln")

Je nach dem ob Sie die Verbindung über das Internet oder ein lokales Netzwerk herstellen möchten, geben Sie die entsprechende IP-Adresse (des SERVERS-PC) im Eingabefeld HOST des Clients ein. (z.B. 127.198.1.4 o.ä.)
Die drei Angaben CLIENT/SERVER, TCP-Port und HOST sind nötig um einen Verbindungsaufbau zu ermöglichen. Eigentlich könnte mit diesen Angaben die Verbindung bereits zustande kommen, wenn nicht zwei häufig anzutreffende Konstellationen dieses verhindern:

Firewall
Eine Firewall verhindert bewusst den Verbindungsaufbau per TCP oder andere Protokolle, indem Sie die TCP-Ports sperrt, bzw. bestimmte Ports nur für bestimmte (bekannte) Programme freigibt. Man muss also der Firewall noch mitteilen, wenn ein Programm einen TCP-Port benötigt und welchen. Wie dies geschieht hängt von der verwendeten Firewall-Software ab. Zu Testzwecken ist es oft einfacher, die Firewall zunächst vorübergehend zu deaktivieren und erst abschliessend zu konfigurieren, wenn alles andere zufriedenstellend funktioniert.

Router
Häufig sind Netzwerkinstallationen, bei denen die Verbindung zum Internet durch einen Router hergestellt wird. Dies führt dazu, dass alle Rechner, die sich über das lokale Netz über den Router mit dem Internet verbinden die gleiche INTERNET-IP (des Routers) verwenden, während Sie im lokalen Netz weiterhin über Ihre individuelle LOKALE IP verfügen (die im Internet aber nicht bekannt ist). Wenn man nun einen Server auf einem dieser lokalen PC installiert und vom Internet her darauf zugreifen möchte, so kann ein Client diesen Server nicht mehr über die INTERNET-IP adressieren, denn diese gehört ja dem Router, und der weiss nicht zu welchem der angeschlossenen, lokalen PC er die Anfrage weiterleiten soll. Um dieses Problem zu umgehen, verfügen Router über Einstellmöglichkeiten, die als NAT (Net Address Translation) oder "Virtuelle Server" bezeichnet werden. Dabei "simuliert" der Router z.B. einen TCP-Server, der nichts anderes macht, als vom Client eingehende Anfragen an einen bestimmten Rechner im lokalen Netz auf dem der Server läuft, weiterzuleiten.

Dazu gibt man im NAT-Setup des Routers folgendes an:

Art des Protokolls. In unserem Fall TCP.
Den TCP-Port eingehender Anfragen (public port). Dies ist in unserem Fall der TCP-Port auf den wir zuvor unseren Client konfiguriert haben.
Den TCP-Port des "realen" Servers auf dem lokalen PC (local port). Dies ist der Port auf den unser Servers konfiguriert ist.
Die lokale IP-Adresse des Rechner auf dem der Server läuft.

Um nun auf den Server zuzugreifen, konfiguriert man nun den Client auf die öffentliche INTERNET-IP des Routers und seinen öffentlichen Port, also auf einen "virtuellen Server". Der Router leitet dann diese Anfragen auf den tatsächlichen Server unter der lokalen IP um. Da der lokale Port und der öffentliche Port des Routers nicht unbedingt gleich sein müssen, sind in diesem Fall die Einstellungen für den TCP-Port von Client- und Server-Bauteil nicht mehr unbedingt identisch.

Feste / dynamische IP
Ein Problem bei Verbindungen über das Internet stellen dynamische IP-Adressen dar. Dabei wird dem PC bei jedem Verbindungsaufbau mit dem Internet vom Provider eine neue (dynamische) Internet-IP vergeben und darüber hinaus findet nach einer bestimmten Zeit eventuell auch noch eine Zwangstrennung seitens des Providers statt, so dass man zu einer erneuten Anwahl gezwungen ist. Dieses verhindert leider bei vielen Providern den sinnvollen Betrieb eines Servers, z.B. über einen Standard-T-DSL-Anschluss, da man bei den Clients ständig die neue Internet-IP des Servers eintragen muss. Manche Provider bieten feste IP-Adressen gegen Entgeld an. Im Internet findet man auch Dienste, die eine feste IP auf Basis eines bestehenden DSL-Anschluss anbieten. Wer einen Server installieren will, der dauerhaft über das Internet erreichbar sein soll, muss sich in jedem Fall auf die eine oder andere Weise eine feste Internet-IP verschaffen!

Verbindungsaufbau
Sobald beide Projekte gestartet werden, die über korrekt konfigurierte TCP-Verbindungen verfügen, wird die Verbindung zwischen den Paaren aufgebaut. Dazu startet man zunächst den Server. Dieser wartet nun solange bis sich ein Client ihn anruft. Dies passiert sobald der zugehörige Client ebenfalls gestartet wird. Kommt eine Verbindung zustande, so erkannt man dieses am Ausgang CN (connected) beider Bauteile. Ein HIGH-Pegel an diesem Ausgang zeigt eine bestehende Verbindung an. Falls keine Verbindung zustande kommt oder diese einmal abbricht, so versucht der Client einmal pro Minute eine automatische Wiederanwahl.

Datenübertragung
Solange eine Verbindung besteht, können nun Signale vom Client zum Server und umgekehrt übertragen werden. Jedes Bauteilpaar (Client/Server) kann entweder einen analoges (Messwert-) Signal oder 16 digitale (Schalt-)Signale übertragen. Diese Einstellung erfolgt im Konfigurationsdialog.

Konfiguration ANALOG
Das Bauteil besitzt einen Eingang TX, an den ein Messwert (z.B. Spannung vom einem Multimeter) angeschaltet werden kann. Der Wert wird übertragen und erscheint am Ausgang RX des zugehörigen Bauteils im anderen Projekt. In umgekehrter Richtung besitzt auch dieses Bauteil einen Eingang TX, der seinerseits Werte in umgekehrter Richtung an den Ausgang RX des anderen Bauteils überträgt. Beide Seiten dienen also gleichzeitig als Sender und Empfänger für einen Analogwert der jeweils anderen Seite.

Konfiguration DIGITAL
Im Gegensatz zur analogen Konfiguration mit nur einem Analogwert, ermöglicht die Einstellung DIGITAL die gleichzeitige Übertragung von 16 digitalen Schaltsignalen. In dieser Konfiguration besitzt das Bauteil 16 Eingänge TX0..TX15, deren Zustände (high/low) an die 16 Ausgänge RX0..RX15 der anderen Seite übertragen werden. Auch bei dieser Konfiguration dienen beide Seiten gleichzeitig als Sender und Empfänger für 16 Schaltzustände der jeweils anderen Seite.

Falls die Verbindung zwischen Client und Server unterbrochen wird, so behalten alle RX-Ausgänge den zuletzt übermittelten Zustand bei, solange die Anwendung weiter ausgeführt wird, oder bis nach Wiederherstellung der Verbindung ein neuer Wert übermittelt wird.

In beiden Konfiguration steht ein Steuereingang EN zur Verfügung, mit dem sich das Senden von Daten bei Bedarf unterbinden lässt (EN=low). Dies kann sinnvoll sein, wenn z.B. nur zu bestimmten Zeiten gesendet werden soll, oder wenn mehrere Clients auf den gleichen Server zugreifen und nur ein Client zur Zeit senden soll.

Kanäle
Die Einstellung KANAL im Konfigurationsdialog erlaubt es, dass mehrere Client/Server-Paare in einer Schaltung verwendet werden können, ohne dass dazu ein weiterer TCP-Port benötigt wird. Durch die Verwendung von verschiedenen Kanälen, können bis zu 256 Client/Server-Paare auf den gleichen TCP-Port konfiguriert werden, so dass Sie ggf. nur einen TCP-Port in der Firewall freigeben oder im Router umleiten müssen. Jedes Bauteil sendet und empfängt ausschliesslich Daten auf dem eingestellten Kanal. Die Kanaleinstellung für Client und Server muss also paarweise gleich sein, damit eine Übertragung erfolgen kann.

Lokaler Host
Bei der Entwicklung von Client/Server-Anwendungen ist man meist gezwungen beide Anwendungen gleichzeitig zu bearbeiten, um die Funktionsweise zu testen. Dazu testet man beide Anwendungen sinnvoller Weise an ein und demselben PC. In diesem Fall verwendet man die IP-Adresse 127.0.0.1 als sogenannten lokalen Host. Diese IP-Adresse ist auf jedem PC gleich und verbindet den PC sozusagen mit sich selbst, so dass es möglich ist, dass sich Server und Client - die auf dem gleichen PC laufen - über diese IP verbinden. So kann man seine Anwendungen bequem testen. Wenn alles funktioniert, braucht man dann nur die Serveranwendung auf den endgültigen Servercomputer zu übertragen und den Clients die endgültige Server-IP mitzuteilen.

Multi-Client-Anwendungen
Es ist durchaus möglich, dass sich mehrere Clients gleichzeitig mit einem Server verbinden. Beispielsweise könnte ein Server in Hamburg einen Temperaturwert messen, und drei Clients in Berlin, Frankfurt und München könnten diesen Wert ohne Probleme parallel abfragen. Auch könnte ein Server zu hause die Alarmanlage steuern, die sich dann z.B. von einem Client im Büro, oder jedem anderen Ort der Welt ein- und ausschalten liesse. Ein Problem tritt erst dann auf wenn beide Clients gleichzeitig Werte an den Server übertragen: Client 1 befiehlt AUS, Client 2 befiehlt EIN!? In diesem Fall "siegt" die Einstellung des Clients, der seinen Wert zuletzt übermittelt hat. Dieses Verhalten ist zwangsläufig und muss evtl. beim Entwurf der Anwendung berücksichtigt werden, indem man z.B. das Senden mit dem Steuereingang EN verhindert.
"
Curiousity makes us progress !

Neuling
Beiträge: 39
Registriert: Samstag 28. April 2012, 13:44

Re: PL4 und intranet

Beitrag von Neuling » Dienstag 9. Oktober 2012, 14:31

Super Beschreibung. Danke Dir
Werde es ausprobieren.

Sonnige Grüsse Neuling

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: PL4 und intranet

Beitrag von tom_g » Dienstag 9. Oktober 2012, 16:25

Hoi Breitech,

habe ich nicht selbst verfasst !
BTW das ist die zum Modul zugehörige Hilfe !

Gruss Thomas
Curiousity makes us progress !

Antworten

Zurück zu „Plattformen / PC-Systeme“