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

Results 1 to 5 of 5

Thread: MOD-BUS-RTU Master Handling mit mehren Slaves

  1. #1
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    228
    Danke
    2
    Erhielt 73 Danke für 44 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab ne 300er (VIPA) an der habe ich mehre ModBus Slaves.
    Das funktioniert auch soweit.

    Wer weis wie man korrekt mehrere Slaves liest.

    ich hab mehrere Möglichkeiten:

    1) ich ruf den FB_MODBUS_MASTER 1x auf
    - dabei multiplexe ich die SlaveDaten (BusAdresse, RegisterAdressen, Zielspeicher)

    Dafür habe ich mich entschieden

    2) Ich ruf den FB_MODBUS_RTU_MASTER mehrmals auf mit jeweils eigenem Instanz-DB für jeden Slave
    - damit muss man die SlaveDaten nicht Multiplexen

    Das hab ich aus purer neugier mit 2 Slaves geteset und es funktioniert!


    Da das im Handbuch leider nicht verzeichnet ist wie man eine ganze Armada von Slaves anspricht, würde mich mal interessieren wir ihr das gelöst habt.
    Bzw. welche Infos dazu schon gibt.
    Das hat bestimmt auch schon jemand mit der Siemens Version von ModBus gemacht. Würde mich auch interessieren wie das da funktionert!

    Nachdem nun beides irgendwie funktionert bin ich etwas ratols
    Mein SPS-Programmier-Hirn sieht Methode 1) als die korrekte an.
    Wenn ich mit dem PC-Programmierer Hirn darüber nachdenk wärs wohl eher Methode 2)
    Reply With Quote Reply With Quote MOD-BUS-RTU Master Handling mit mehren Slaves  

  2. #2
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    15,159
    Danke
    1,241
    Erhielt 4,461 Danke für 3,595 Beiträge

    Default

    Meinst Du Modbus RTU über RS485 oder RS232? Oder Modbus TCP?

    Bei Modbus TCP kann man mehrere Modbus-Server (~Slaves) gleichzeitig ansprechen. Dann bräuchte man mehrere Instanzen des Modbus-Client(Master)-Bausteins.
    Bei Modbus RTU über z.B. RS485 MUSS man warten bis der Slave geantwortet hat bevor man den nächsten anspricht, weil der Slave nicht von sich aus auf den Bus senden darf, sondern nur wenn der Busmaster ihn auffordert, und dann hat er ein kleines Zeitfenster innerhalb dessen er antworten muß, danach darf er nicht mehr senden. Deshalb muß man hier die Slaves reihum nacheinander ansprechen und es reicht eine Instanz des Modbus-Master-Bausteins für alle Slaves.

    Harald
    Last edited by PN/DP; 01.04.2020 at 20:00.
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Maagic7 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    228
    Danke
    2
    Erhielt 73 Danke für 44 Beiträge

    Default

    Es geht um ModBus RTU über RS 485 Schnittstelle

  4. #4
    Maagic7 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    228
    Danke
    2
    Erhielt 73 Danke für 44 Beiträge

    Default

    Bei Modbus RTU über z.B. RS485 MUSS man warten bis der Slave geantwortet hat bevor man den nächsten anspricht, weil der Slave nicht von sich aus auf den Bus senden darf, sondern nur wenn der Busmaster ihn auffordert, und dann hat er ein kleines Zeitfenster innerhalb dessen er antworten muß, danach darf er nicht mehr senden. Deshalb muß man hier die Slaves reihum nacheinander ansprechen und es reicht eine Instanz des Modbus-Master-Bausteins für alle Slaves.
    Ok., dann hat mein Versuch mit mehreren Instanzen von FB_MODBUS_MASTER wohl nur funktioniert, weil ich im 5sec Abstand gelesen hab, damit ich im Status eine Chance hab was zu sehen.
    Das würde auch meine Erwartung treffen, dass das irgenwann ohne einen Schiedrichter auf eine Kollision hinausläuft.

  5. #5
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    15,159
    Danke
    1,241
    Erhielt 4,461 Danke für 3,595 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Maagic7 View Post
    Es geht um ModBus RTU über RS 485 Schnittstelle
    Da darf immer nur 1 Kommunikationsauftrag gleichzeitig aktiv sein. Also entweder die Auftragsparameter an der selben MB-Baustein-Instanz multiplexen, oder mehrere (z.B. vorbereitete) MB-Baustein-Aufrufe so steuern, daß immer nur einer aktiv ist.

    Ich mache das nach der ersten Variante, ich bearbeite alle Slaves mit der selben MB-Instanz und mutiplexe die Auftragsparameter für jeden Auftrag.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Similar Threads

  1. AS-i Bus Problem Master erkennt keine Slaves
    By mobiltel in forum Feldbusse
    Replies: 5
    Last Post: 27.02.2015, 12:34
  2. Step 7 Zeitprobleme auf Mod-Bus
    By o.deimel in forum Simatic
    Replies: 3
    Last Post: 08.08.2014, 07:26
  3. MOD-Bus Slave Simulator für CP-341 RS485 RTU
    By Wagginator in forum Simatic
    Replies: 2
    Last Post: 09.06.2011, 10:46
  4. Master mit 2 CP Slaves projektieren?
    By knockout in forum Feldbusse
    Replies: 4
    Last Post: 05.05.2006, 15:00
  5. Mod Bus Kommunikation
    By Anonymous in forum Simatic
    Replies: 5
    Last Post: 03.11.2005, 19:00

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •