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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 37

Thema: Steuerparameter REQUEST

  1. #11
    Registriert seit
    24.10.2012
    Beiträge
    61
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich beobachte nur den oben beschriebenen Block, und dort wird mir der Status 7000 angezeigt Beobachten.JPG

  2. #12
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Wenn der Partner schon da ist und die Verbindung bestätigt, kannst du beim beobachten nichts erkennen, das geht etwas zu schnell.

    Vielleicht schaltest du den Partner mal ab, dann solltest du zumindestens hex7002 im Status sehen.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  3. #13
    Registriert seit
    24.10.2012
    Beiträge
    61
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Da ich lediglich eine Peripherie an meinem Netz hab und ich diese ich in meinem Programm verwende ist das auschalten dieser Komponente recht schwierig . Jedoch hab ich eine neue Parameter UDT für einen Netzteilnehmer erstellt dessen IP Adresse nicht im Netz vorhanden ist. Es kam dadurch ein Fehler und den Status 0x8722 dazu.

  4. #14
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Mach es dir doch nicht so schwer, schreib ein paar Zeilen Code womit du das Zustandekommen der Verbindung statisch speicherst.
    Code:
    U TCON.DONE
    S Merker_irgend_was_immer_du_willst_nur_nicht_Temponär
    noch einmal, du kannst es nicht beobachten der Signalzustand ist nicht statisch.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  5. #15
    Registriert seit
    24.10.2012
    Beiträge
    61
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    wann genau ist ein der Merker temporär? Und warum darf es nicht temporär sein? Ich habe es jetzt so gemacht:

    U #CONN_DONE
    S M 2.0

  6. #16
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Temponär kann er sein wenn du eine Lokale Variabel deines aufrufenden Baustein aus dem Bereich temp nutzt.

    Wenn du einen echten Merker nutzt passt das schon.

    Temponär sollte er nicht sein, weil der Zustand eines Temporärer Speicherbereiches nicht immer gesichert seinen Wert nach verlassen des Bausteins behält.
    Temporärer Speicherbereich wird unter Umständen von anderen Bausteinen genutzt.
    Geändert von rostiger Nagel (24.10.2012 um 11:44 Uhr)
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  7. #17
    Registriert seit
    24.10.2012
    Beiträge
    61
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ah ok

    wenn ich das aber wie oben beschrieben ausführe bleibt das Merker Bit immer auf 0

  8. #18
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Dann geh mal davon aus das deine Verbindung nicht zustande gekommen ist,
    vorausgesetzt du hast deinen Baustein richtig angetriggert und beschaltet.

    Vielleicht solltest du mal deine Fehler auswerten, bei mir sieht ein funktionierender
    Testaufbau gerade so aus:

    Code:
    FUNCTION_BLOCK FB 1
    TITLE =
    VERSION : 0.1
    
    VAR
      TCON : "TCON"; 
      TDISCON : "TDISCON"; 
      TCON_PAR : "TCON_PAR"; 
      TSEND : "TSEND"; 
      Daten : STRING  [254 ] := 'PAUL'; 
      Ein : BOOL ; 
      Aus : BOOL ; 
      senden : BOOL ; 
      verbunden : BOOL ; 
      ERR_TCON : WORD ; 
      ERR_TDISCON : WORD ; 
      ERR_TSEND : WORD ; 
    END_VAR
    
    BEGIN
    NETWORK
    TITLE =Verbinden
     
    
          CALL #TCON (
               REQ                      := #Ein,
               ID                       := #TCON_PAR.id,
               CONNECT                  := #TCON_PAR);
    
          ON    #TCON.ERROR; 
          SPB   A001; 
          L     #TCON.STATUS; 
          T     #ERR_TCON; 
    A001: NOP   0; 
          O     #TCON.DONE; 
          R     #Ein; 
    
    
    NETWORK
    TITLE =Verbindung abbauen
    
          CALL #TDISCON (
               REQ                      := #Aus,
               ID                       := #TCON_PAR.id);
    
    
          ON    #TDISCON.ERROR; 
          SPB   A002; 
          L     #TDISCON.STATUS; 
          T     #ERR_TDISCON; 
    A002: NOP   0; 
    
          O     #TDISCON.DONE; 
          R     #Aus; 
    
    
    NETWORK
    TITLE =Status Verbindung
          U     #TCON.DONE; 
          S     #verbunden; 
          O     #TDISCON.DONE; 
          R     #verbunden; 
     
    
    NETWORK
    TITLE =
    
          U     #verbunden; 
          U     #senden; 
          =     #TSEND.REQ; 
    
          CALL #TSEND (
               ID                       := #TCON_PAR.id,
               LEN                      := 20,
               DATA                     := #Daten);
    
    
          ON    #TSEND.ERROR; 
          ON    #senden; 
          SPB   A003; 
          L     #TSEND.STATUS; 
          T     #ERR_TSEND; 
    A003: NOP   0; 
    
          O     #TSEND.DONE; 
          ON    #verbunden; 
          R     #senden; 
    
    END_FUNCTION_BLOCK
    Geändert von rostiger Nagel (24.10.2012 um 12:13 Uhr) Grund: ganze quelle hochgeladen

  9. #19
    Registriert seit
    24.10.2012
    Beiträge
    61
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ganz durchsteigen tue ich da nicht ^^ mit dem quellenorientierten Programmieren hab ich mich noch nicht wirklich auseinander gesetzt sry

  10. #20
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wie machst du es denn selber ... (wenn dir der Code von RN nicht gefällt) ?

    In jedem Fall bekommst du erst ein Connect.done wenn du dich mit irgendwem (entsprechend deiner TCon_Par) connected = verbunden hast ...

    Gruß
    Larry

Ähnliche Themen

  1. HTTP request vom Panel oder von CPU?
    Von Pinmaster im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 15.01.2013, 11:09
  2. HTTP request vom Panel
    Von Pinmaster im Forum HMI
    Antworten: 0
    Letzter Beitrag: 11.01.2012, 12:54
  3. Antworten: 2
    Letzter Beitrag: 14.10.2011, 21:39
  4. (Libnodave) Read Request Frage an die Experten
    Von ronnie.b im Forum Hochsprachen - OPC
    Antworten: 8
    Letzter Beitrag: 28.07.2011, 08:11
  5. LibNodave Write Request von mehrern Var.
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 17
    Letzter Beitrag: 07.06.2010, 19:06

Lesezeichen

Berechtigungen

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