Zugriff auf S7 mit integriertem Webserver über http://<IP>/debug

atadge

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
ACHTUNG Newbee :confused:

Ich soll ein CRM-System mit einer S7 verbinden (TCP/IP).

Eine simple Anforderung:

es soll ein Hand-Barcode-Scanner (rs232) ersetzt werden, ausserdem soll ausgelesen werden, was ein stationärer Barcode-Scanner gelesen hat.

Nach Auskunft des Systementwicklers S7 soll ich den (Bar-)Code direkt in ein Register schreiben und aus einem anderen Register den vom stationären Scanner auslesen.

Er hat noch nie eine Netzwerkkarte verwendet und will es auch nicht, aber er behauptet man könnte direkt über http in das Register schreiben in dem ursprünglich die Handscanner Daten gelandet sind.

Einen OPC-Server hatte ich empfohlen ... => "zu teuer, das geht auch einfacher" :icon_rolleyes:

Programmierung mit den Java Beans kommt nicht in Frage.

Was ich gefunden habe ist der http:// debug Zugang "Lesen und schreiben auf die CPU"?
Die Anforderung ist nicht zeitkritisch, es gibt keine anderen Interfaces zur S7.

Meine Frage (bitte nicht lachen)
kann ich über die Debug-Schnittstelle tatsächlich mit http(put) direkt in das "Register" schreiben, in das ursprünglich der Handscanner geschrieben hat oder beschränkt sich der Zugriff auf die Register der CPU? Nach meinem Verständnis ist die rs232 Schnittstelle ein eigener Baustein im Adressraum und kein Register oder ist in diesem Umfeld die Begrifflichkeit anders?

Ein Tipp wo ich ein "how-to" bekommen kann, würde mir schon helfen oder ein Link woraus hervorgeht, dass das nicht geht.
Dann wird ein OPC-Server angeschafft.

(Habe vor vielen Jahren in Assembler - z80 (Gerätesteuerung) und PDP11 (Fakturierung) - programmiert und letztes Jahr ein Host-Assembler Programm analysiert (hierarchische Datenbank) und in PL/SQL nach programmiert, man muss bei mir nicht bei Adam & Eva anfangen ;))

Vielen Dank
Andreas Tadge
 
Zuletzt bearbeitet:
Hallo,

statt über einen RS-232-Handscanner sollen künftig Werte aus
einer S7 gelesen in das CRM werden ... richtig verstanden?

Welche S7? Siemens? Vipa? SAIA xx7? Ethernet/Profinet on board
oder über separate CP?

Geht es um eine Anlage oder viele? (Damit wir die Lizenzkosten
für den OPC-Server richtig einordnen ;-) )
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gerhard,

Es würde nur eine Lizenz - lohnt sich kaum. sorry

Es handelt sich um eine Rollenbahn-Steuerung auf einer Packstrasse.
Die Auftragssteuerung soll den Rüstzettel ersetzen.
Wir müssen eins einem Register, das vom stationären Scanner beschickt wird, erfahren, dass eine Behälter zur Verfügung steht und durch Schreiben in ein Register (Handscannerersatz) eine Auftrags-Kennung und die Haltepunkte (Bitcode) mitteilen.

Es ist eine cp343-1 CPU, 317 2DP[FONT=&quot]

Zum Baustein DB213 FIFO aktuell
wurde uns eine "hin_her" send/receive Information mit 24-Registern(?) übermittelt.

Eine Ethernet Karte soll eingebaut werden, also ist sie noch nicht vorhanden, wahrscheinlich eine eigen CP, da, so weit ich verstanden habe, auch ein Web/FTP-Server dabei sein soll, der dann über http://<IP>/debug den Zugriff auf die CPU zur Verfügung stellt.

Der Hersteller sagt wir sollten die Java-Beans einsetzen. Die setzen nach meinem Verständnis auf RFC1006 auf[/FONT][FONT=&quot] und sind empfindlich gegenüber dem Softwarestand der Module die sie ansprechen.

[/FONT]Danke für die Hilfe.
Andreas
 
Zuletzt bearbeitet:

Es würde nur eine Lizenz - lohnt sich kaum. sorry

Ich meinte es eher umgekehrt. Bei Stückzahl = 1 lohnt sich kein großer
Entwicklungsaufwand, der sich über die Stückzahlen amortisieren
würde. Deshalb also möglichst mit Standard-Komponenten erledigen.


Es ist eine cp343-1 CPU, 317 2DP[FONT=&quot]
[/FONT]

Wenn es sich um den 343-1 IT handelt, der hat einen Webserver, siehe
hier. Darüber kannst Du auch die Prozessdaten lesen und schreiben.
[FONT=&quot]
[/FONT]Vielleicht kannst Du mal ein Skizze Deines Gesamtsystems anhängen?
Dann kann man sich einfacher in die Aufgabe denken.

Und welche Software-Schnittstellen hat das CRM? Hat es einen
OPC-Client?
 
Hallo Gerhard,

Bei Stückzahl = 1 lohnt sich kein großer Entwicklungsaufwand, der sich über die Stückzahlen amortisieren würde.
Dann sind wir uns ja einig, darum der Thread ;).

auch die Prozessdaten lesen und schreiben
Es ist eine CP 343−1 Advanced für Industrial Ethernet.
Habe ich das richtig verstanden: ein http-Put Befehl kann in ein Register des [FONT=&quot]DB213 [/FONT]schreiben?
Damit könnten wir leben. Wo finde ich die Doku dazu, oder wen kann ich fragen wo ich die finde?

Vielleicht kannst Du mal ein Skizze Deines Gesamtsystems anhängen?
Hab ich leider nicht.
Lt. Systementwickler ist das alles ganz einfach: auslesen von Register 1, da steht eine Zahl der Kiste, schreiben in Register 2, den Code der vorher als Barcode auf dem Rüstzettel stand, fertig. :shock:

Und welche Software-Schnittstellen hat das CRM? Hat es einen
OPC-Client?
In Richtung Hardware-Steuerung gibt es da noch nichts. Ansonsten ist sie überzeugend, sonst hätte ich nicht vor ein paar Monaten hier angefangen. ;)

Die CRM-Software ist in ORACLE Forms entwickelt. Falls du es nicht kennst: Das ist eine Masken- Basierende Entwicklungsumgebung.
Böse gesagt :twisted: sowas wie M$-Access mit M$-SQL-Server, nur eben die ORACLE Variante.
Allerdings ist der Client, der das tokenisierte Formular interpretiert inzwischen eine JAVA-Bean und läuft damit fast überall wo es Kaffe gibt. :cool:

Gruss
Andreas
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Vielen Dank für die Antworten (auch per Mail).

Sie haben mir geholfen! :s1:

Das, wonach ich gefragt habe, gibt es nicht, auch wenn die Doku es so aussehen lässt und dass das alles so einfach wäre.

Eure Rückfragen und Antworten haben mir die richtigen Daten geliefert um eine präzise Supportanfrage an Siemens stellen zu können.

Mann kann also mit der CP-343-1 Advanced nicht über http (put) auf einen Datenbaustein zugreifen, sondern nur über JAVA mit der S7BeanAPI bzw. den vorgefertigten Beans oder Applets.

Ich habe es nicht verifiziert, aber ich gehe davon aus, dass die S7BeanAPI die RFC1006 Erweiterung über Port 102 nutzt.

Der Port 102 wird in der Beschreibung der Firewall-Einstellungen, die man zur Kommunikation mit der CP-343-1 Advanced benötigt, nicht erwähnt, aber egal, der SYSLOG-Port, den man zu tracen verwenden kann, steht auch nicht drin.

Gruss
Andreas
 
Hallo zusammen.

Vielen Dank für die Antworten (auch per Mail).

Sie haben mir geholfen! :s1:

Das, wonach ich gefragt habe, gibt es nicht, auch wenn die Doku es so aussehen lässt und dass das alles so einfach wäre.

Eure Rückfragen und Antworten haben mir die richtigen Daten geliefert um eine präzise Supportanfrage an Siemens stellen zu können.

Mann kann also mit der CP-343-1 Advanced nicht über http (put) auf einen Datenbaustein zugreifen, sondern nur über JAVA mit der S7BeanAPI bzw. den vorgefertigten Beans oder Applets.

Ich habe es nicht verifiziert, aber ich gehe davon aus, dass die S7BeanAPI die RFC1006 Erweiterung über Port 102 nutzt.

Der Port 102 wird in der Beschreibung der Firewall-Einstellungen, die man zur Kommunikation mit der CP-343-1 Advanced benötigt, nicht erwähnt, aber egal, der SYSLOG-Port, den man zu tracen verwenden kann, steht auch nicht drin.

Gruss
Andreas
Soweit ich weiß nutzen die Beans HTTP (port 80), um S7-Kommunikation abzuwickeln. Die Daten werden über die Standard-Eingabe übergeben wie bei HTTP POST an ein CGI-Script.
Wenn du port 102 nutzen willst, kannst du das mit Libnodave. Wenn es JAVA sein soll: Es gibt eine "pure-JAVA"-Version.
 
Hallo Zottel,

Soweit ich weiß nutzen die Beans HTTP (port 80), um S7-Kommunikation abzuwickeln.
auf dem http Port, antwortet doch aber die Log-Procedur mit LOG_I, LOG_E und der Möglichkeit eine IP-Adresse für syslog und den LOG_x Umfang anzugeben?

Ich nehme an die Bean-Kommunikation ist zu Komplex um sie über einen http-request nachzubilden?

Es ist wirklich nur ein Register auf einem Datenbaustein (FIFO) lesen (pollen) und eines schreiben.

Mir kommen die Tränen wenn ich an den Aufwand für so eine kleine Anforderung denke. :icon_cry:

Gruss
Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also es gibt so viele Möglichkeiten:

- mit dem Advanced-CP ist es möglich über FTP zu kommunizieren (Programmieraufwand in der SPS notwendig)

- Zugriff mit libnodave (imho die einfachste Variante, keine Projektierung in der SPS notwendig)

- Zugriff über FETCH/WRITE. Offenes dokumentiertes Protokoll, Verbindung muss in der SPS projektiert werden, SPS verhält sich passiv
Protokollbeschreibung findest du in:
http://support.automation.siemens.com/WW/llisapi.dll?objId=1172423

- etliche weitere Varianten über TCP, UDP etc. die aber alle Programmieraufwand in der SPS bedeuten
 
Hallo Thomas,
Also es gibt so viele Möglichkeiten:
*ACK*
mit dem Advanced-CP ist es möglich über FTP zu kommunizieren
Da hat der Systementwickler der Packstrasse drei Wochen nach dem zugesagten Termin gepasst :sad: unser Konzept dazu war bereits vollständig ausgearbeitet

Zugriff mit libnodave
werde ich vorschlagen das wir es uns ansehen (die von Zottel vorgeschlagene Java Version, danke), wird dann eine OPC-für Arme :ROFLMAO:

Zugriff über FETCH/WRITE.
RFC1006 Erweiterung des Ethernet Protokolls auf Port 102, auf Protokollebene Ethernet-Pakete binär zusammenbasten - entwickeln wäre ja ok, aber Testen mit einem Sniffer ... zu aufwendig

etliche weitere Varianten .. die ... Programmieraufwand in der SPS bedeuten
kommt für uns nicht in Frage, wenn die (vom Systementwicker vorgeschlagene) Variante mit FTP schon nicht umgesetzt werden konnte ...
vermutlich ein Problem der Kapazität und/oder Prioritäten

Danke

Gruss
Andreas
 
LibNoDave...

Also Ich würde auch einfach auf dem PC eine kleine VB6 oder CSharp anwendung vorschlagen die einfach die Scannerdaten in die SPS schreibt. Sollte nicht viel Aufwand bedeuten und iner Stunde zu programmieren sein!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jochen,
haben wir bei uns bisher nicht eingesetzt, Firmen Standard ist ORACLE Forms und Java
um H. Ford zu zitieren "You can get any color but black"
iner Stunde zu programmieren sein!
plus die Einarbeitung in die S7 Thematik, die wir über einen VPN-Tunnel erreichen können.
Wir haben im Haus (noch) kein Know-How zu Gerätesteuerungen. ;)
Das wird der grössere Teil der Arbeit sein, aber danke es hilft bei der Einschätzung.

Gruss
Andreas
 
Zurück
Oben