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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Zwei CP 343-1 Lean, eine mit „komischem“ Gehabe

  1. #1
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich habe zwei CPUs via CP 343-1 Lean und TCP-Verbindung gekoppelt. Sende ich von CPU 1 zu CPU 2 ist alles fein. Umgekehrt dauert es mehrere Minuten, bis die Bits ankommen. Sehr merkwürdig!

    Hier ist der Code:

    FUNCTION_BLOCK "Kommunikation"
    TITLE =Kommunikation
    // // Dieser Funktionsbaustein steuert die Kommunikation via Ethernet.
    AUTHOR : Schulz
    FAMILY : FUNKTION
    NAME : COM
    VERSION : 1.0

    VAR_INPUT
    Sendefach : ANY ; //Eingang: "Sendefach [ANY-Pointer]"
    Empfangsfach : ANY ; //Eingang: "Empfangsfach [ANY-Pointer]"
    Reset : BOOL ; //Eingang: "Reset (TRUE = ein)"
    END_VAR

    VAR_OUTPUT
    ERR_CP_343_Datensendung : BOOL ; //Ausgang: "Fehler CP 343 Datensendung (TRUE = Fehler)"
    ERR_CP_343_Datenempfang : BOOL ; //Ausgang: "Fehler CP 343 Datenempfang (TRUE = Fehler)"
    END_VAR

    VAR
    Flanke_positiv_Reset : BOOL ; //Speicher: "Flanke positiv Reset (TRUE = ein)"
    Daten_senden_laeuft : BOOL ; //Speicher: "Daten senden läuft (TRUE = ein)"
    Status_Daten_senden : WORD ; //Speicher: "Status Daten senden [n]"
    Status_Daten_empfangen : WORD ; //Speicher: "Status Daten empfangen [n]"
    END_VAR

    VAR_TEMP
    Logisch_0 : BOOL ; //Tempspeicher: "Logisch 0 (FALSE)"
    Logisch_1 : BOOL ; //Tempspeicher: "Logisch 1 (TRUE)"
    Impuls_positiv_Reset : BOOL ; //Tempspeicher: "Impuls positiv Reset (TRUE = ein)"
    Inhalt_Adressregister_2 : DWORD ; //Tempspeicher: "Inhalt Adressregister 2 [x.y]"
    Zeiger_Sendefach : ANY ; //Tempspeicher: "Zeiger Sendefach [ANY-Pointer]
    Zeiger_Empfangsfach : ANY ; //Tempspeicher: "Zeiger Empfangsfach [ANY-Pointer]
    Daten_senden : STRUCT //Tempspeicher: "Senden"
    Start : BOOL ; //Senden: "Start (TRUE = ein)"
    Fertigmeldung : BOOL ; //Senden: "Fertigmeldung (TRUE = ein)"
    Fehler : BOOL ; //Senden: "Fehler (TRUE = ein)"
    Status : WORD ; //Senden: "Status (TRUE = ein)"
    END_STRUCT ;
    Daten_empfangen : STRUCT //Tempspeicher: "Empfangen"
    Fertigmeldung : BOOL ; //Empfangen: "Fertigmeldung (TRUE = ein)"
    Fehler : BOOL ; //Empfangen: "Fehler (TRUE = ein)"
    Status : WORD ; //Empfangen: "Status [n]"
    Laenge : INT ; //Empfangen: "Länge [n]"
    END_STRUCT ;
    Zwischenspeicher : WORD ; //Tempspeicher: "Zwischenspeicher"
    Funktionsstatus : INT ; //Tempspeicher: "Funktionsstatus [n]"
    END_VAR

    BEGIN

    NETWORK
    TITLE =Interne Fixmerker initialisieren.
    // Fixmerker "Logisch 0" und "Logisch 1" zur internen Verarbeitung.
    CLR ;
    = #Logisch_0;
    SET ;
    = #Logisch_1;

    NETWORK
    TITLE =
    TAR2 #Inhalt_Adressregister_2;
    LAR1 P##Sendefach;
    LAR2 P##Zeiger_Sendefach;
    L D [AR1,P#0.0];
    T D [AR2,P#0.0];
    L W [AR1,P#4.0];
    T W [AR2,P#4.0];
    L D [AR1,P#6.0];
    T D [AR2,P#6.0];
    LAR1 P##Empfangsfach;
    LAR2 P##Zeiger_Empfangsfach;
    L D [AR1,P#0.0];
    T D [AR2,P#0.0];
    L W [AR1,P#4.0];
    T W [AR2,P#4.0];
    L D [AR1,P#6.0];
    T D [AR2,P#6.0];
    LAR2 #Inhalt_Adressregister_2;

    NETWORK
    TITLE =
    U #Reset;
    U( ;
    U #ERR_CP_343_Datensendung;
    O #ERR_CP_343_Datenempfang;
    ) ;
    FP #Flanke_positiv_Reset;
    = #Impuls_positiv_Reset;
    U #Impuls_positiv_Reset;
    R #ERR_CP_343_Datensendung;
    R #ERR_CP_343_Datenempfang;
    R #Daten_senden_laeuft;
    SPBN M040;
    L W#16#0;
    T #Status_Daten_empfangen;
    T #Status_Daten_senden;

    NETWORK
    TITLE =
    M040: U #ERR_CP_343_Datensendung;
    O #ERR_CP_343_Datenempfang;
    SPBN M050;
    L W#16#0;
    T #Zwischenspeicher;
    CALL "Datenbereich füllen" (
    BVAL := #Zwischenspeicher,
    RET_VAL := #Funktionsstatus,
    BLK := #Zeiger_Empfangsfach);
    SPA M120;

    NETWORK
    TITLE =
    M050: UN #Daten_senden_laeuft;
    = #Daten_senden.Start;
    S #Daten_senden_laeuft;

    NETWORK
    TITLE =
    CALL "TCP-Daten senden" (
    ACT := #Daten_senden.Start,
    ID := 1,
    LADDR := W#16#110,
    SEND := #Zeiger_Sendefach,
    LEN := 2,
    DONE := #Daten_senden.Fertigmeldung,
    ERROR := #Daten_senden.Fehler,
    STATUS := #Daten_senden.Status);

    NETWORK
    TITLE =
    U #Daten_senden.Fertigmeldung;
    U #Daten_senden_laeuft;
    R #Daten_senden_laeuft;

    NETWORK
    TITLE =
    UN #Daten_senden.Fertigmeldung;
    U #Daten_senden.Fehler;
    R #Daten_senden_laeuft;
    SPBN M090;
    SET ;
    S #ERR_CP_343_Datensendung;
    L #Daten_senden.Status;
    T #Status_Daten_senden;

    NETWORK
    TITLE =
    M090: CALL "TCP-Daten empfangen" (
    ID := 1,
    LADDR := W#16#110,
    RECV := #Zeiger_Empfangsfach,
    NDR := #Daten_empfangen.Fertigmeldung,
    ERROR := #Daten_empfangen.Fehler,
    STATUS := #Daten_empfangen.Status,
    LEN := #Daten_empfangen.Laenge);

    NETWORK
    TITLE =
    UN #Daten_empfangen.Fertigmeldung;
    U #Daten_empfangen.Fehler;
    SPBN M110;
    SET ;
    S #ERR_CP_343_Datenempfang;
    L #Daten_empfangen.Status;
    T #Status_Daten_empfangen;

    NETWORK
    TITLE =
    M110: U #Daten_empfangen.Fertigmeldung;
    UN #Daten_empfangen.Fehler;
    R #Daten_empfangen.Fertigmeldung;

    NETWORK
    TITLE =Bausteinende...
    // Bausteinende...
    M120: U #Logisch_1;
    SAVE ;
    BEB ;

    END_FUNCTION_BLOCK
    Gruß Kai
    Geändert von Kai Schulz (18.09.2018 um 16:16 Uhr)
    Zitieren Zitieren GELÖST: Zwei CP 343-1 Lean, eine mit „komischem“ Gehabe  

  2. #2
    Registriert seit
    14.01.2015
    Beiträge
    2.530
    Danke
    605
    Erhielt 471 Danke für 391 Beiträge

    Standard

    Ich habe mir dein Programm jetzt nicht durchgelesen, welchen FW-Stand haben denn die CP´s und die CPU´s.
    Evtl. würde ein FW-Update schon mal weiter helfen.

    Lief das ganze denn schon einmal vernünftig? Was für CPU´s sind verbaut?
    Mit Grüßen

  3. #3
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard

    CPU 313C-2DP V2.0.10 & CP 343-1 Lean V2.0 & FC5 V4.2 & FC6 V4.7
    CPU 314C-2DP V2.6.11 & CP 343-1 Lean V2.5 & FC5 V4.2 & FC6 V4.7

    Gruß Kai

  4. #4
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Nein, das lief noch nicht und ist ein Versuch auf meiner Testwand. Der Code ist neu.

    Gruß Kai

  5. #5
    Registriert seit
    14.01.2015
    Beiträge
    2.530
    Danke
    605
    Erhielt 471 Danke für 391 Beiträge

    Standard

    Sind das 6GK7343-1EX30 oder 1CX10? Zumindest die FW scheint sehr alt zu sein. Aktuell müsste 3.1.3 sein:

    https://support.industry.siemens.com...15344&lc=de-WW
    Mit Grüßen

  6. #6
    Registriert seit
    14.01.2015
    Beiträge
    2.530
    Danke
    605
    Erhielt 471 Danke für 391 Beiträge

    Standard

    Von 313C gibt es mehrere, am besten mal die 6ES7... Nr. auf der Siemens Seite eingeben und die aktuellste
    FW runter laden. Ich würde als erstes mal alle 4 Geräte hochrüsten und dann weiter schauen.
    Mit Grüßen

  7. #7
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Es sind beides 1CX10. Das komische ist, dass beide Baugruppen laut FB-Status durchgehend und schnell arbeiten (Senden und Empfangen). Irgendwo werden die Daten von CPU 2 zwischengespeichert und verzögert an CPU 1 weitergegeben. Ich tausche beide CPs mal und gucke ob der Fehler „mitwandert“.

    Gruß Kai

  8. #8
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, der Fehler „wandert“ mit. Nun kommen die Signale von CPU 1 verzögert an CPU 2 an.

    Ich schau Montag mal, ob ich noch irgendwo einen dritten, neueren CP finde und tausche den älteren (V2.0) dann testweise aus. Oder ich mache direkt ein Firmware-Update; mal schauen.

    Dankeschön, Gruß Kai

  9. #9
    Registriert seit
    14.01.2015
    Beiträge
    2.530
    Danke
    605
    Erhielt 471 Danke für 391 Beiträge

    Standard

    Ich würde darauf tippen, dass ein FW-Update reicht. Am besten dann gleich bei beiden machen falls
    du eine MMC mit 4 oder 8 MB hast am besten die CPU´s auch gleich mit.

    Viel Erfolg.
    Mit Grüßen

  10. #10
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, Holpe (NRW)
    Beiträge
    97
    Danke
    15
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Mike,

    habe beide CPs erfolgreich auf den neusten Stand gebracht, was aber leider in Bezug auf mein Problem gar nichts geholfen hat.

    Mir ist aber gerade aufgefallen, dass in der NCM-Diagnose des „verspäteten“ CPs, die ganze Zeit folgendes bei „Empfangszustand“ geschrieben steht: „Datenübergabe an Anwenderprogramm“

    Das passt frappieren gut zu meinem Problem!

    Gruß Kai

Ähnliche Themen

  1. Kommunikation S7-317 PN mit CP 343-1 Lean
    Von Bobbybau91 im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 15.12.2016, 22:40
  2. CP 343-1 Lean einfache Kommunikation mit PC???
    Von service@ia-lautenschlager im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 29.11.2010, 20:29
  3. Biete eine CP 343-1 Lean (6GK7343-1CX10-0XE0)
    Von soma im Forum Suche - Biete
    Antworten: 2
    Letzter Beitrag: 21.11.2010, 22:29
  4. Ethernet verbindung mit CP-343-1 Lean
    Von focus81 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 28.01.2010, 12:52
  5. CP 343−1 Lean mit Webdiagnose?
    Von soma im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 17.01.2008, 20:31

Lesezeichen

Berechtigungen

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