TPC Wincc Flexible

emilio20

Level-1
Beiträge
835
Reaktionspunkte
20
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich hätte mal ein Paar Fragen zum Thema Verbindung zwischen einen Wincc Panel und einem PC über TPC. Ich kenne mich in diesem Bereich nicht aus da ich bis jetzt nur mit der Verbindung zwischen S7 und Panel zu tun hatte.

Wie funktioniert die Kommunikation zwischen einem Panel oder SPS und Heim PC über TPC ? Ich meine damit nicht wie ich einen PC über Runtime mit einer SPS Verbinde.

Was für Programme benötige ich am PC um über TPC Variablen auszulesen und zu schreiben. Wie funktioniert die Kommunikation über TPC ?

(Hintergrund ist das ich mir Variablen vom Panel PC holen möchte um sie auf einem Linux Rechner zu Visualisieren.) Hierfür muss ich mir erst mal mit der Verbindung über TPC beschäftigen.
 
Zuletzt bearbeitet:
Hallo emilio20,

welche S7 benutzt Du?
Wenn die CPU auch Ethernet (CP343) kann könnte ich Dir eventuell weiterhelfen.

Gruß S7_Programmer
 
Hallo emilio20,

also mit einer (315) PN/DP habe ich noch keine Erfahrung.

Ich schildere Dir aber trotzdem meine Erfahrungen mit einer CP343 Verbindung.
Ich denke dass sich die gleichen Funktionen auch auf die PN/DP CPU (wenn auch ein anderer Weg) realisieren lassen.

Hier meine Erfahrung zur Aufbau einer Verbindung zu einem Linux PC (mit CP343 Lean in S7):
Auf S7:
Projektieren einer TCP-Verbindung in Netpro
Benutzen von AG_Send/AG_REC:
Bei Send (SPS->PC) wandle ich alle Varablein in String um benutze als Trennzeichen das "#".
Bei Receive (PC->SPS) wird ein String mit immer gleicher Länge empfangen (max. Länge ermitteln, mit Space-Zeichen auffüllen)
Beim Empfangsstring werden die Variablen auch mit "#" getrennt, Im S7-Programm aufgetrennt eventuell in Numerische Variblen umgewandelt.


Auf PC (egal ob Windows oder Linux; ich entwickelte das Programm auf Windows, mein Kunde hat ohne Änderung der Programme alles auf Linux übertragen):
benutzte Programmpacket XAMPP (Apache, MySQL, Perl, PHP).

1. Verbindung PC<->SPS mit Programm PHP im Kommandozeilenmodus
In einer (Endlos-)Schleife werden die SPS-Daten über TCP empfangen, in die einzelnen Variablen zerlegt und in Datei/MySLQ-Tabelle abgelegt.
Bei Bedarf wird ein String zur SPS gesendet (Trennzeichen "#", Konstante Länge beachten)

2.Webserver auf PC (Apache)
Die SPS-Daten (in Datei/MySQL-Tabelle zwischengespeichert) können auf Web-Seiten mittels PHP eingebunden werden.
(Ich kann die Web-Seiten mit SPS-Daten über WLAN sogar auf mein Smartphone (Opera-Browser) anzeigen)


Ich weis, das obige Lösung bei ersten Mal etwas arbeitsintensiv ist, aber ich sehe folgende Vorteile:
-Der SPS-/PHP-Programmierer hat alles im Griff, keine Bibliothek-funktion überschreibt Daten im Hintergrund!
-Die Daten werden in ASCII-Zeichen übertragen, damit Datenverfolgung mit Wireshark sehr gut möglich
-Die Daten können auf SPS-Ereignisse reagieren (kein Pollingverfahren über eine Bibliothek)
-PHP/MySQL ist sehr weit verbreitet, ist auf viele Plattformen verfügbar, somit ist, wie bei einigen meiner Projekte, eine Entwiclung der PC-Umgebung auf Windows, dann Übertragung auf Linux möglich.
-Bei PHP keine Lizenzkosten, bei MySQL nur Lizenzkosten, wenn Programm verkauft wird "Make Money" (Bei Enisatz Lizenbedingungen prüfen)


Ich wünsche Dir weiterhin Erfolg

S7_Programmer
 
Zuletzt bearbeitet:
@S7 Programmer:
Findest du das nicht etwas einfacher (am besten auf die letzten Seiten des Threads schauen):

http://sps-forum.de/showthread.php/32409-PHP-Siemens-PLC

Ich würde die Klasse noch in eine weitere einpacken, die die Anfragen des Webbrowsers per xhtml-Request (Ajax) entgegennimmt. Man hat zwar trotzdem den andauernden Verbindungsauf- und abbau zur SPS, aber wenn man nur alleine auf die Seite zugreift ist das nicht weiter tragisch.
 
Zurück
Oben