Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: S7-315 und CP343-1 Adressierungs Problem

  1. #1
    Registriert seit
    12.01.2010
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo erstmal,

    Ich habe folgendes Problem, ich möchte auf einer einer html Page den Zustand einer Lampe anzeigen lassen, Steuern der Lampe funktioniert schon. Aber der Zustand ob die Lampe an ist kann ich noch nicht anzeigen lassen, das ganze ist über folgendes S7GetApplet verwirklicht

    <body onLoad="ActVisu() ">
    <!-- Lese Bitwerte -->
    <applet code="de.siemens.simaticnet.itcp.applets.S7GetApplet.class" codebase="/applets/"
    archive="s7applets.jar, s7api.jar" width="0" height="0" name="GetBits">
    <param name="RACK" value="0">
    <param name="SLOT" value="2">
    <param name="CYCLETIME" value="1000">
    <param name="VARTYPE" value="0x02">
    <param name="VARCNT" value="1">
    <param name="VARAREA" value="0x84">
    <param name="VARSUBAREA" value="100">
    <param name="VAROFFSET" value="0">
    <param name="FORMAT" value="\S">
    </applet>

    function ActVisu()
    {
    var valueBits = document.GetBits.getValue();

    // Licht EIN/AUS
    if( valueBits & 0x03) //Hier liegt mein Problem, meine Lampe liegt am Ausgang A124.0 , aber was kommt hier "if( valueBits & ????)" rein? Welche bit Nummer habe ich... wo sehe ich so etwas?

    document.Licht1.src = "./Bilder/lichtan.jpg";
    else
    document.Licht1.src = "./Bilder/lichtaus.jpg";

    Im Grunde muss ich doch nur die Bit Adresse eintragen von meinem Ausgang A124.0, doch die schreibweise ist mir unklar, hoffentlich kann mir jemand helfen, ich sitz schon Wochen daran..

    Mit freundlichen Grüßen
    Benji
    Zitieren Zitieren S7-315 und CP343-1 Adressierungs Problem  

  2. #2
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,

    var valueBits = document.GetBits.getValue();

    // Licht EIN/AUS
    if( valueBits & 0x03) //Hier liegt mein Problem, meine Lampe liegt am Ausgang A124.0 , aber was kommt hier "if( valueBits & ????)" rein? Welche bit Nummer habe ich... wo sehe ich so etwas?
    Nach dem Lesen der Variable valueBits(ein Byte) steht ein Wert drin. Das wird mit 0x03(Bit 0, 1 sind True) binär verglichen, d.h. wenn valueBits auch 0x03 ist, dann so und so.. Wenn ich nur Bit 0 abfragen möchte, vergleiche ich mit "0x01".

    Die Variable valueBits wird aber von dem Bereich gelesen, der mittels Konfiguration(VARTYPE,VARAREA usw.) definiert wurde. Dort sollte Ausgangbereich, Byte 124 stehen. Wie man das schreibt, steht in der Doku irgendwo.

    Gruss: V.
    ______________________________________
    relax, take it easy

  3. #3
    Seth_Gecko ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2010
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für die sehr schnelle Hilfe Vladi, hab nun damit experimentiert, aber dennoch kein Ergebnis

    Doku:
    <PARAM name=”VARTYPE” value=2>
    <PARAM name=”VARCNT” value =1>
    <PARAM name=”VARAREA” value=0x84>
    <PARAM name=”VARSUBAREA” value=10>
    <PARAM name=”VAROFFSET” value=40>



    This info corresponds to
    ANY pointer:
    P#DB10.DBX 40.0 BYTE 1

    So stehts in der manual, meine Variable ist Beispielsweise DB100.DBX 0.3.
    Also habe ich
    <PARAM name=”VARTYPE” value=2> //Damit ist Datentyp Byte Deklariert
    <PARAM name=”VARCNT” value =1>
    <PARAM name=”VARAREA” value=0x84> //Variable im DB zu finden
    <PARAM name=”VARSUBAREA” value=100> // DB Name 100
    <PARAM name=”VAROFFSET” value=0> //dieser Wert ist mir nicht ganz klar, aber sollte 0 sein wie oben zu sehn

    VARCNT=Anzahl der zu lesenden Variablen;
    Durch diese Angabe können Sie angeben, ob eine Variable oder ein
    zusammenhängender Variablenbereich übergeben werden sollen.
    STEP 7 kennzeichnet Felder und Strukturen als Anzahl (hier mit Hilfe
    des Wiederholfaktors) an Datentypen.
    Beispiel: Sollen 10 Wörter übergeben werden, muss beim Wiederholfaktor
    der Wert 10 und beim Datentyp der Wert 04 eingetragen werden.

    Wo ich nun die A124 unter bringe ist mir noch nicht schlüssig.

    if( valueBits & 0.3) //hier hab ich nun Dezimal das Bit 1 erfassen wollen, vorher war es ja hexadezimal

    document.Licht1.src = "./Bilder/lichtan.jpg";
    else
    document.Licht1.src = "./Bilder/lichtaus.jpg";


    if ( valueBits & 124.3) hab ich auch schon versucht..

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Sieh mal hier: http://www.sps-forum.de/showthread.php?t=12923

    Da steht auch was zu Area (Gilt nicht nur bei ANY). Für Ausgänge sollte das also 0x82 sein. SUBAREA sollte dann egal sein, Offset 124!

    Dann:

    if( valueBits & 0x01)
    ...


    Ich hab das noch nie mit einem CP gemacht, würde es aber so zuerst einmal testen! Frage ist evtl., ob man mit dem CP so überhaupt Ausgänge auslesen kann, sollte aber eigentlich gehen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Seth_Gecko (07.04.2010)

  6. #5
    Seth_Gecko ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2010
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke, hier wird ja echt schnell geantwortet, ich werde das morgen früh testen und dann Bericht erstatten, komme heut nicht mehr dazu

    mfg Benji

  7. #6
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Lächeln

    Hi Meister Gecko,


    hier mal looki-looki:

    http://de.wikibooks.org/wiki/C%2B%2B....C3.BCpfung.29

    Gruss: V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren C  

  8. Folgender Benutzer sagt Danke zu vladi für den nützlichen Beitrag:

    Seth_Gecko (07.04.2010)

  9. #7
    Seth_Gecko ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2010
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gott sei dank es funktioniert nun! Und vom Meister bin ich weit entfernt Vladi! Mach grad mein Techniker :P

    So sieht der Code nu aus:

    function ActVisu()
    {
    var valueBits = document.GetBits.getValue();

    // Licht EIN/AUS
    if( valueBits & 0x01)

    document.Licht1.src = "./Bilder/lichtan.jpg";
    else
    document.Licht1.src = "./Bilder/lichtaus.jpg";

    // Licht2 EIN/AUS
    if( valueBits & 0x02)

    document.Licht2.src = "./Bilder/lichtan2.jpg";
    else
    document.Licht2.src = "./Bilder/lichtaus2.jpg";


    // Licht3 EIN/AUS
    if( valueBits & 0x04)

    document.Licht3.src = "./Bilder/lichtan3.jpg";
    else
    document.Licht3.src = "./Bilder/lichtaus3.jpg";

    setTimeout( 'ActVisu()', 1000 );
    }

    <body onLoad="ActVisu() ">
    <!-- Lese Bitwerte -->
    <applet code="de.siemens.simaticnet.itcp.applets.S7GetApplet.class" codebase="/applets/"
    archive="s7applets.jar, s7api.jar" width="0" height="0" name="GetBits">
    <param name="RACK" value="0">
    <param name="SLOT" value="2">
    <param name="CYCLETIME" value="1000">
    <param name="VARTYPE" value="0x02">
    <param name="VARCNT" value="1">
    <param name="VARAREA" value="0x82">
    <param name="VARSUBAREA" value="0">
    <param name="VAROFFSET" value="124">
    <param name="VARBITOFFSET" value="0">
    <param name="FORMAT" value="\S">
    </applet>

    Aber irgendwie hätte es doch auch über den Daten-DB gehen müssen mit 0x84, naja hauptsache es funzt nun, danke an alle! Nächstes Problem kommt bestimmt bald

    mfg Benji

Ähnliche Themen

  1. Problem mit JAVA Applets auf CP343-1
    Von Fluffi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 26.04.2009, 21:29
  2. Problem mit CP343-1 und Profinet IO System
    Von v3rtex im Forum Feldbusse
    Antworten: 7
    Letzter Beitrag: 16.02.2009, 17:13
  3. Adressierungs Problem im DB
    Von MarioDisketti im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 06.08.2008, 22:26
  4. Adressierungs Problem?
    Von Baul im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.11.2007, 11:48
  5. Problem mit CP343-1 IT
    Von CrazyCat im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 20.09.2005, 11:55

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •