S7 Steuern via HTML & Java Applets

hi leute,

ich suche jemanden der ein bisschen ahnung hat von dem obengenannten thema.
ich hätte ein paar fragen zur config der applets.
irgendwie werden die beim lesen der handbücher des cp's etc. nicht beanwortet oder ich bin einfach blind.
bitte schreibt mir ne pn.

gruß
 
AW: S7 Steuern via HTML & Java Applets

hi

ich hab ein prob mit nem "fertigen" Button von siemens.
wenn ich den quelltext compilieren will, sowohl mittels java console als auch mit dem jbuilder, bekomme ich fehler. der quelltext ist aus nem handbuch zum IT CP von siemens.

Fehler:

"Example6.java": 'class' oder 'interface' erwartet in Zeile 37, Spalte 10
"Example6.java": 'class' oder 'interface' erwartet in Zeile 38, Spalte 9
"Example6.java": 'class' oder 'interface' erwartet in Zeile 39, Spalte 9
"Example6.java": 'class' oder 'interface' erwartet in Zeile 48, Spalte 8
"Example6.java": 'class' oder 'interface' erwartet in Zeile 252, Spalte 1
"Example6.java": 'class' oder 'interface' erwartet in Zeile 255, Spalte 1

kann mir jemand bei dem Problem weiterhelfen ?

Code:
// Durch diese Anweisung werden alle Klassen, in deren Quelltext diese
// Anweisung steht, einem Paket zugeordnet.
package de.siemens.simaticnet.itcp.example;
// Durch den Import eines Pakets oder einer Klasse werden alle
// Vereinbarungen sichtbar gemacht, die von ihrer Zugriffsklasse her in
// anderen Paketen sichtbar sein dürfen.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import de.siemens.simaticnet.itcp.api.*;
/**
* Example6.java
* <p>Überschrift: Beispiel 6 für die Benutzung der ITCP Beans.</p>
* <p>Beschreibung: Ein Button mit der Funktion “Schalter“.</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Organisation: Siemens AG SIMATIC NET</p>
*
* Ein Button mit der Funktion “Schalter“.
* Gelesen und Geschrieben wird das Merkerbit M10.0.
*
* Verwendete Komponenten:
* S7CP
* S7Device
* S7Variable
* AWT Button
*
* @author ITCP–Team
* @version 1.0
*
*/
public class Example6 extends Applet implements PropertyChangeListener, MouseListener {
    /*–––––––––––––––––––––––––––––––––––Implementierte Interfaces*/
    /*––––––––––––––––––––––––––––Basis–Klasse Applet*/
// Deklaration der benötigten Komponenten
    private S7CP s7CP1 = null;
}
private S7Device s7Device1 = null;
private S7Variable s7Variable1 = null;
private Button button1 = null;
/**
* Wird immer aufgerufen, wenn das Applet initialisiert wird.
* Dies geschieht sofort, nachdem es geladen ist.
*
* @see #start
* @see #stop
* @see #destroy
*/
public void init() {
    super.init();
// Setzt den Namen der Komponente auf die angegebene Zeichenfolge.
    setName("Example6 ");
// Setzt den Layoutmanager für diese Komponente.
    setLayout(null);
// Setzt die Größe des Applet Breite / Höhe
    setSize(426, 240);
    /*–––––––––––Höhe*/
    /*––––––Breite*/
// Anlegen einer Instanz für das S7CP Bean.
// S7CP ist der Ethernet Zugangspunkt in die Station
    s7CP1 = new S7CP();
// Zuweisen der IP–Adresse
// ######## Projektspezifische Anpassung der IP–Adresse notwendig ########
    s7CP1.setHostString(new HostString("192.168.1.1 : 80"));
    /*––––––––––––––––––––––––––––––––––––––––––––––––Angabe der Portnummer
     normalerweise :80*/
    /*–––––––––––––––––––––––––––––––––––IP–Adresse als String*/
// Anlegen einer Instanz für das S7Device Bean.
// Mit S7Device wird der Kommunikationspartner in der Station adressiert.
    s7Device1 = new S7Device();
// Die Adressierung erfolgt über die Rahmennummer und Steckplatznummer der
// Baugruppe. Die Vorbesetzung der beiden Methoden zur Adressierung ist ’0’.
// Aus diesem Grund kann auf die Rahmennummer verzichtet werden (.setRack(0)).
// Da wir mit der CPU kommunizieren wollen muss der Steckplatz der CPU
// eingetragen werden.
// ######## Projektspezifische Anpassung der Rahmen– und Steckplatznummer ########
// ######## notwendig ########
    s7Device1.setSlot(2);
    /*––––––––––––––––Steckplatznummer 2 (int)*/
// Anlegen einer Instanz für das S7Variable Bean.
// Das S7Variable Bean repräsentiert die Variable die gelesen oder geschrieben
// werden soll.
    s7Variable1 = new S7Variable();
// Die Beschreibung der Variable erfolgt über einen S7 ANY–Pointer
    s7Variable1.setS7Anypointer(
            new S7Anypointer((int) 1, (int) 1, (int) 131, (int) 0, (int) 10,
                             (int) 0));
    /*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––Bit Nummer 0 ..7*/
    /*–––––––––––––––––––––––––––––––––––––––––––––––––––––Speicherbereichoffset*/
    /*–––––––––––––––––––––––––––––––––––––––––––––DB Nummer oder ’0’*/
    /*–––––––––––––––––––––––––––––––––––Speicherbereich 131 == M*/
    /*–––––––––––––––––––––––––––Wiederholfaktor 1 .. n*/
    /*–––––––––––––––––––Datentyp 1 == BOOL*/
// Setzt den Namen der Komponente auf die angegebene Zeichenfolge.
    s7Variable1.setVariableName("s7Variable1 ");
// Anlegen einer Instanz für einen Button.
    button1 = new Button();
// Setzt den Ausgabetext auf die angegebene Zeichenfolge.
    button1.setLabel("Switch ");
// Setzt den Namen der Komponente auf die angegebene Zeichenfolge.
    button1.setName("Switch ");
// Festlegen der Startposition und Größe der Komponente.
    button1.setBounds(10, 10, 100, 25);
    /*–––––––––––––––––––––––––––––Komponentenhöhe*/
    /*––––––––––––––––––––––––Komponentenbreite*/
    /*––––––––––––––––––––Startposition Y*/
    /*––––––––––––––––Startposition X*/
// Einfügen der Komponente ins Applet.
    add(button1, button1.getName());
// Neben der Definition der Methoden, die beim Eintreten eines Ereignisses
// ausgeführt werden, muß sich ein Objekt bei der entsprechenden
// Ereignisquelle registrieren.
// Dies geschieht durch Aufruf der addXXXListener–Methode der Ereignisquelle,
// wobei »XXX« für den entsprechenden Ereignis–Typ steht.
// Die addXXXListener–Methoden erwarten alle einen Verweis auf das zugehörige
// Interface:
    s7CP1.addPropertyChangeListener(this);
    s7Device1.addPropertyChangeListener(this);
    s7Variable1.addPropertyChangeListener(this);
    button1.addMouseListener(this);
    }
    /**
    * Wird nach der Initialisierung eines Applets ausgeführt.
    * Bei Browsern wird start() auch dann aufgerufen, wenn eine Seite,
    * auf der sich ein Applet befindet, zum wiederholten Male geladen wird.
    *
    * @see #init
    * @see #stop
    * @see #destroy
    */
    public void start() {
    super.start();
// Lesen der definierten S7Variable um den aktuellen Status anzuzeigen.
// Der Anstoss zum Lesen erfolgt mittels der Methode processGet()
// vom S7Variable Bean.
// Sind die neuen Werte vorhanden, so löst das S7Variable Bean ein
// PropertyChangeEvent aus.
    s7Variable1.processGet();
    }
    /**
    * Ein Aufruf erfolgt, wenn der Browser bzw. der Appletviewer zum Icon
    * verkleinert oder eine HTML–Seite mit eingebundenem Applet in
    * einem Browser verlassen wird.
    *
    * @see #init
    * @see #start
    * @see #destroy
    */
    public void stop() {
    super.stop();
    }
    /**
    * Wird immer aufgerufen, wenn das Applet zerstört wird.
    *
    * @see #init
    * @see #start
    * @see #stop
    */
    public void destroy() {
    super.destroy();
// Mit dieser Methode werden alle S7Bean–Instanzen gelöscht und Threads verworfen.
// Nach dem Aufruf dieser Methode muss eine Neuinitialisierung durchlaufen werden.
    S7Api.terminate();
    }
    /**
    * Methode, um Ereignisse für die PropertyChangeListener Schnittstelle zu behandeln.
    *
* @param evt PropertyChangeEvent
    */
public void propertyChange(PropertyChangeEvent evt) {
// Abfragen ob Ereignis vom S7CP ausgelöst wurde.
if (evt.getSource() == s7CP1)
// Wenn JA
// Ereignis weiterleiten an die S7Device–Instanz
s7Device1.propertyChange(evt);
// Abfragen ob Ereignis vom S7Device ausgelöst wurde.
if (evt.getSource() == s7Device1)
// Wenn JA
// Ereignis weiterleiten an die S7Variable–Instanz
s7Variable1.propertyChange(evt);
// Abfragen ob Ereignis vom S7Variable ausgelöst wurde.
if (evt.getSource() == s7Variable1) {

if (((Boolean)evt.getNewValue()).booleanValue()) {

button1.setLabel("Switch is ON");

button1.setBackground(Color.red);
} else {

button1.setLabel("Switch is OFF");

button1.setBackground(Color.green);
}
}
}
/**
* Methode, um Ereignisse für die MouseListener Schnittstelle zu behandeln.
*
* mousePressed wird beim Druck einer Maustaste aufgerufen.
*
* @param e java.awt.event.ActionEvent
*/
public void mousePressed(MouseEvent e) {
// Abfragen ob Button ausgelöst wurde.
if (e.getSource() == button1) {
// Wenn JA, dann neuen Wert ins AG schreiben.
// Abfragen des letzten Zustands des Stationswertes und invertiert
// zurückschreiben.
if (((Boolean)s7Variable1.getValue()).booleanValue()) {

s7Variable1.setValue(String.valueOf(false));

s7Variable1.waitOnNewData(2000);
/*––––––––––––––––––––––––Wartezeit in msec. 2000 == 2 sec.*/
} else {
// Wenn letzter Zustand false (VKE0), dann neuer Wert true (VKE1).
s7Variable1.setValue(String.valueOf(true));
s7Variable1.waitOnNewData(2000);
}
}
}

public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
 

Jobs

Jobmail abonieren - keine Jobs mehr verpassen:

Ich möchte die wöchentliche Jobmail erhalten und akzeptiere die Datenschutzerklärung.
Du kannst die Jobmail jederzeit über den Link in der Mail abbestellen.

Wir verwenden Sendinblue als unsere Marketing-Plattform. Wenn Du das Formular ausfüllst und absendest, bestätigst Du, dass die von Dir angegebenen Informationen an Mailchimp zur Bearbeitung gemäß den Nutzungsbedingungen übertragen werden.

Top