Parsen von CP343-1 Advanced Daten

rewop

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte die ganze Geschichte mit den S7-Beans und Applets umgehen da nicht jeder JAVA auf seinem Rechner installieren möchte oder darf.
Der Ansatz wäre alle Variabeln/Daten mit der Get_Applet_Name auf der CP zu speichern und diese dann per PHP auszulesen siehe Syntax.
Leider funtktioniert das nicht.

<?php
# ------------------------------------------------
# Datei: func.php
# ------------------------------------------------
function getS7Value($id) {
$value = NULL;
$handle = fopen("http://192.168.1.60/test.html", "r") or die("Die S7 Werte konnten nicht abgerufen werden!");
while ( ($data = fgetcsv($handle, 1000, "=")) !== FALSE ) {
$num = count($data);
$row++;
if ($data[0] == $id) {
$value = $data[1];
}
}
fclose($handle);
return $value;
}
?>
<?php echo getgetS7Value("Leistung_1"); ?>

Das Applet funktioniert

<html>

<head>
<title>Title</title>
<style type="text/css">
<!--
body { }
#box1 { position:absolute; top:0px; left:0px; width: 150px; height: 35px; z-index:1; }
-->
</style>
</head>

<body bgcolor="#FFFFFF">
<div id="box1">
<applet
codebase ="../applets/"
archive ="s7api.jar, s7util.jar, s7gui.jar, s7applets.jar"
code ="de.siemens.simaticnet.itcp.applets.S7GetApplet.class"
name ="Get_Applet_Name"
mayscript
width ="150"
height ="35"
hspace ="0"
vspace ="0"
align ="top">
<param name="RACK" value="0">
<param name="SLOT" value="2">
<param name="LANGUAGE" value="de">
<param name="BACKGROUNDCOLOR" value="0xFFFFFF">
<param name="EDIT" value="true">
<param name="FORMAT" value="Leistung_1 = \F ">
<param name="VARTYPE" value="0x08">
<param name="VARCNT" value="1">
<param name="VARAREA" value="0x84">
<param name="VARSUBAREA" value="10">
<param name="VAROFFSET" value="0">
<param name="CYCLETIME" value="5000">
</applet>

</div>
</body>

</html>


Kann mir jemand bei meinem Problem helfen ?Geht das überhaupt ?

Konfiguration:

S7-315-2DP und CP343-1 Advanced
IP Adresse 192.168.1.60

Grüße Drazen
 
Das wird nicht funktionieren. Dann müsste auf dem CP ja ein php Interpreter laufen.
Oder willst du die Webseite auf einen anderen Webserver im Netzwerk aufspielen, auf dem die Benutzer die Webseite aufrufen sollen?
 
Achso, ok.
Aber das wird so trotzdem nicht funktionieren.
Wenn dein php-Skript die Webseite abfragt, müsste das php-Skript quasi eine eigene Java-VM starten um die Applets auszuführen. Ob das funktioniert kann ich nicht sagen, ist aber auch reichlich "um die Ecke gedacht".

Kann man in die Java-Archive eigentlich reinschauen?
 
Danke, ich denke das ist das Problem warum die ganze Geschichte nicht funktioniert.
Hast Du eine andere Idee?
Wie gesagt ich möchte die Gechichte mit Java Beans und JAVA umgehen.

Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welchen CP hast du denn genau, den Advanced-IT?
Mit diesem ist es wohl möglich, Datenbausteine als Datei auf dem internen FTP-Server abzubilden. Diese Daten könntest du theoretisch mit deinem php-Skript abfragen. Die FTP-Funktion habe ich zwar mit dem CP schon verwendet, aber nicht in der Art. Im Handbuch ist sowas zumindest erwähnt.

Andere Möglichkeit wäre mein php-Skript aus diesem Thread:
https://www.sps-forum.de/threads/32409
Aber Achtung! Das ist sehr Alpha-Status, und eigentlich auch nicht unbedingt für den Zugriff von mehreren Benutzern gedacht. Zumindest musst du die maximale Anzahl an Verbindungen beachten die dein CP verwalten kann.
 
Erstmal Danke,

der Link und die angefügten PHP Dateien klingen sehr vielversprechend.
Da die Advanced-IT das unterstützt werde ich den Ansatz mit FTP parallel weiterverfolgen und auch darüber berichten.
Erstmal ist lesen angesagt.

Grüße Drazen
 
Zuletzt bearbeitet:
Also wenn es hier "nur" um die simple Darstellung und ggf. Eingabe von Werten über Html und Browser geht, dann würd ich eine neue PN_CPU mit Web2PLC nehmen.

Gruß
Dieter
 
Zurück
Oben