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

Seite 5 von 8 ErsteErste ... 34567 ... LetzteLetzte
Ergebnis 41 bis 50 von 75

Thema: AG_RECV (FC6) für Modbus TCP Verbindung

  1. #41
    Registriert seit
    18.01.2007
    Beiträge
    26
    Danke
    2
    Erhielt 9 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Dermatze

    Angehängt ist das Project mit gleiche Hardware und mit Lars Weiß seine TCP Server modbus baustein.
    OB1=>FB10 ,IDB10 innerhalb FB10 SFB4 TON. Register DB ist 111.
    In originale Quelle ist dann noch in Temp variable ein Entleer Puffer von 255 Byte aber das gab Problemen bei meine alte test cpu mit lokal data stack.

    Diese entleer Puffer herausgeholt(nach überleg mit Lars) und Kommunikation funktioniert not immer einwandfrei.
    Baustein van Lars lauft in ein unseren Anlagen mit S7417 und CP443 wobei in ein andere teil von der Anlage CTI SPS modbus Client ist. Die Ethernet module van CTI unterstützt 16 modbus server verbindingen und 64 modbus client Verbindungen damit das von CTI seite aus modbus client günstiger war.

    Das project was ich ihr geschickt hatte was um so üben ob das ach andersrum gehen wurde.
    (CTI SPS modbus server und S7 sps modbus Client) und das funktioniert wie in dem screenshots zu sehen ist.
    Muss dann auch data ausstachen können mit PAC weil modbus server ist modbus server und sollte eigentlich nicht wichtig sein ob das eine andere SPS ist oder ein PAC.

    Mit freundlichen Gruß
    Henny
    Angehängte Dateien Angehängte Dateien

  2. Folgender Benutzer sagt Danke zu Henny für den nützlichen Beitrag:

    DerMatze (06.04.2016)

  3. #42
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Zitat Zitat von Henny Beitrag anzeigen
    ....mit Lars Weiß seine TCP Server modbus baustein.
    Hallo und Danke dafür, dann brauche ich den Baustein nich manuell "nachbauen"
    -------------
    Und, nächster Versuch
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  4. #43
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Hallo Matze,

    Du brauchst keinen Modbus Server, Du brauchst einen Modbus Client.
    Und Du mußt nicht so viel verschiedenes ausprobieren sondern Dich da mal konzentriert durchbeissen.

    Ich habe über Deine Aufgabe nachgedacht. Die Programmvorlage von Lars auf AG_RECV umzubauen ist eigentlich nicht schwer, allerdings auch nicht in 1 Stunde gemacht, unter anderem auch deshalb, weil die Vorlage nicht ganz fehlerlos ist und ein wenig überarbeitet werden müsste. Zusätzlich: wenn Du wirklich mehr als die ersten 222 Register auslesen willst (also den ganzen UDT aus der Vorlage), dann kann man nicht mehr gleichlange Antworten abfordern (weil man mehrere unterschiedlich lange nicht zusammenhängende Registerbereiche auslesen muß), dann wird man doch besser den Modbus-RX-Header (9 Byte) und die nachfolgenden Registerwerte getrennt empfangen müssen. Man braucht mindestens 4 Registerabfragen, welche jeweils andere Antwortlängen haben. Eigentlich habe ich das Programm bereits "im Kopf" und bräuchte es "nur" noch runterschreiben. Es möglichst robust zu programmieren braucht aber etwas mehr Zeit. Nur allgemeine Tips zum Programmieren geben reicht anscheinend nicht aus.

    Und dann ist ja auch noch Dein unverständliches Problem mit dem AG_RECV-Error, bei dem wir von Ferne wohl nicht helfen können. Für mich unverständlich auch wieso das Programm von kassla #24 bei Dir nicht funktioniert. Was hast Du da geändert? Du solltest Dich da wirklich mal konzentriert durchbeissen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #44
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Beitrag

    Guten Morgen Harald,

    ja, ich habe mir die Sache sehr viel einfacher vorgestellt
    Wie das ganze funktionieren soll habe ich mittlerweile schon verstanden - meine ich - siehe #14

    Zitat Zitat von PN/DP Beitrag anzeigen
    Du mußt nicht so viel verschiedenes ausprobieren sondern Dich da mal konzentriert durchbeissen.
    Der im #41 enthaltende FB10 ist ja der von Lars, den wollte ich ausprobieren, da hier mehrere AG_RECV Aufrufe durchgeführt werden.

    Mir machen ja augenscheinlich "nur noch" die zwei AG-RECV Aufrufe zu schaffen.
    Das mit den Registern habe ich mir mal genauer angesehen. Am zweiten AG_RECV (der die Messwerte empfängt) steht bei der LEN eine 240 (online Status) und dann wartet der AG_RECV auf neue Daten.
    Da die Werte ja einmal eingelesen werden (nach Neustart), setze ich die Registeranzahl herunter, so dass nur die ersten o.g. Register eingelesen werden sollen.
    Mal sehen was dabei rauskommt.

    Ich bleibe dran, auch wenn sich bald Ratlosigkeit breit macht
    Evtl. liegts ja auch mit an der alten 315er - wer weiss

    Gruß
    Matze
    Geändert von DerMatze (07.04.2016 um 07:44 Uhr)
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  6. #45
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    mal konzentriert durchbeissen
    Also, gemäß dem FB10 aus #41 habe ich im Baustein, aus dem Siemens Beispiel, die Verriegelung realisiert.
    Und die zu empfangenden Bytes auf 240 eingegrenzt.

    In der "Schreibtisch-SPS" läuft es jetzt endlich!!!!!!!!!
    Alle Daten (die 240Bytes) kommen und werden auch aktulisiert, es gibt keinen Versatz mehr.

    Danke nochmals, für Eure Unterstützung und GEDULD!

    Gruß
    Matze
    Angehängte Dateien Angehängte Dateien
    Geändert von DerMatze (09.04.2016 um 19:49 Uhr)
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  7. #46
    Registriert seit
    18.01.2007
    Beiträge
    26
    Danke
    2
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Hallo Matze

    Gut das ihr die Aufgabe gelöst hat!!
    Jetzt das Programm übersetzen in die Anlage sps und dann ist fertig.

    Mit freundlichen Gruß

    Henny

  8. #47
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Zitat Zitat von Henny Beitrag anzeigen
    in die Anlage sps und dann ist fertig.
    Wie kann ich denn die "Slavenummer" ermitteln?
    Auf dem Schreibtisch war das PAC3200 Slave 1, da nichts weiter an der CPU dran war.
    Wie ist das in der Bestandanlage, da wird das PAC sicher nicht Slave 1 sein, oder?
    Kann man die Nummer in der HW-Konfig oder in Netpro sehen, wie z.B. Profibus-/MPI-Adresse?

    Gruß
    Matze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  9. #48
    Registriert seit
    18.01.2007
    Beiträge
    26
    Danke
    2
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Hallo Matze

    Normaler weise bracht man mit modbus tcp das slave oder Unit Nummer eigentlich nicht.
    Jedes modbus tcp server hat ein uniques ip adres und damit ist das eigentlich erledigt.
    Default adres ist meistens 1.

    Mit modbus RTU RS485 variant bracht man das unit Nummer und must es für jedem slave unique sein damit der master weis wohin gelesen und geschreben werden muss. Kann man dann sehen wie slave adressen mit profibus.

    In netpro von anlage sps das ip adres von anlage PAC korrekt einstellen und dann mit ihren modbus funktion baustein in der SPS soll es eigentlich laufen.

    Wie Mann das unit Id von PAC anderen oder sehen kann(falls nicht 1 ist) Weiß ich leider nicht weil ich damit nog nicht gearbeitet habe.

    Mit freundlichen Gruß
    Henny

  10. #49
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Beitrag

    Zitat Zitat von Henny Beitrag anzeigen
    Jedes modbus tcp server hat ein uniques ip adres und damit ist das eigentlich erledigt.
    Default adres ist meistens 1.
    Die IP-Adresse ist eindeutig, das ist schon richtig.
    Mir geht es um die Slave-Nr die im Header steht (Kommandotelegramm)
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  11. #50
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Henny Beitrag anzeigen
    Normaler weise bracht man mit modbus tcp das slave oder Unit Nummer eigentlich nicht.[
    Hängt vom Gerät ab, ich hatte auch schon welche die darauf geachtet haben.

    Meistens kann man die UnitID irgendwo am Gerät (meist wo die IP ist) einstellen.

    Update: Siemens hat mittlerweile für das PAC ein FAQ für den 1500er MBus-Client Baustein rausgebracht.
    https://support.industry.siemens.com...view/109736516
    Zitat Zitat von FAQ
    Wenn die Verbindung zu einem SENTRON PAC-Gerät aufgebaut werden soll, dann müssen Sie statische Variable "MB_Unit_ID" des Instanz-Datenbausteins der Anweisung "MB_CLIENT" anpassen.
    Die UnitID scheint für das PAC anscheinend wichtig zu sein. Auch bei unseren Janitza geht es ohne diese nicht.
    Geändert von RONIN (30.05.2016 um 09:08 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. CP343-1 Lean, Version von AG_RECV (FC6)
    Von BoxHead im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 05.12.2012, 21:28
  2. FC6 AG_RECV Probleme beim Datenempfang
    Von danielplp im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 16.02.2011, 07:59
  3. Simatic Net, AG_CNTRL (FC10) und AG_RECV (FC6)
    Von Hansruedi im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.03.2010, 08:56
  4. Konflikt durch FC6 : AG_RECV <--> DT_DATE
    Von biertrinker im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.03.2010, 12:32
  5. Datenübernahme beim FC6 AG_RECV
    Von Florian_Niedermaier im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.11.2007, 13:37

Lesezeichen

Berechtigungen

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