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

Page 2 of 2 FirstFirst 12
Results 11 to 20 of 20

Thread: Raspberry + LOGO8 = zeitgesteuert Rollos steuern

  1. #11
    Join Date
    18.06.2017
    Posts
    78
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Jetzt komm' ich langsam mit... "mbpoll" ist nicht "Modbus Poll", auch wenn man das denken könnte.

    Wenn ich das richtig sehe, willst du die Daten mit der Logo vom Raspi abholen, d.h. du mußt alle paar Sekunden den Raspi abfragen (pollen). D.h. der Raspi ist als Server und die Logo ist als Client configuriert. Bei mir ist das ein bisschen anders, meine beiden SPSen laufen als Server und der Raspi zieht die Daten runter. Grundsätzlich ist das aber egal.

    Zu mbpoll:
    Meine Server-SPS hat die IP 192.168.1.20.


    Ich habe das Ganze der Einfachheit halber auf meiner Windows Büchse im DOS-Fenster getestet. Die Anwendung heißt modpoll, die Kommandozeilen-Parameter sind aber identisch.
    In meiner SPS habe ich ganz zu Beginn zum Testen in die Holding-Register (die ab 40001 zu zählen anfangen) nacheinander die Werte 1, 2, 4, 8, 16 usw. eingetragen.

    Wenn ich modpoll folgendermaßen aufrufe:
    C:\Test\Modbus>modpoll -c 6 -t4 -m tcp 192.168.1.20
    bekomme ich:
    modpoll 3.6 - FieldTalk(tm) Modbus(R) Master Simulator
    Copyright (c) 2002-2018 proconX Pty Ltd
    Visit https://www.modbusdriver.com for Modbus libraries and tools.

    Protocol configuration: MODBUS/TCP
    Slave configuration...: address = 1, start reference = 1, count = 6
    Communication.........: 192.168.1.20, port 502, t/o 1.00 s, poll rate 1000 ms
    Data type.............: 16-bit register, output (holding) register table

    -- Polling slave... (Ctrl-C to stop)
    [1]: 1
    [2]: 2
    [3]: 4
    [4]: 8
    [5]: 16
    [6]: 32

    Jetzt die Gegenprobe - der Part, der für dich besonders interessant sein dürfte: ich schreibe die dezimalen Werte 10, 20, 30 und 40 in die SPS:

    C:\Test\Modbus>modpoll -t4 -m tcp 192.168.1.20 10 20 30 40
    modpoll 3.6 - FieldTalk(tm) Modbus(R) Master Simulator
    Copyright (c) 2002-2018 proconX Pty Ltd
    Visit https://www.modbusdriver.com for Modbus libraries and tools.

    Protocol configuration: MODBUS/TCP
    Slave configuration...: address = 1, start reference = 1, count = 1
    Communication.........: 192.168.1.20, port 502, t/o 1.00 s, poll rate 1000 ms
    Data type.............: 16-bit register, output (holding) register table

    Written 4 references.

    Tatsächlich erscheinen sie auch in den ersten vier Holding-Registern der SPS.


    Der nächste Schritt für dich wäre, daß du herausfinden mußt, wie du z.B. deinen Hex-Wert 00 00 00 00 00 06 ff 06 00 01 00 01 der in den Modbus-Registern steht, in der Logo dort hinkopierst wo er hingehört, damit deine ollen Rollos final auf und zu gehen...

  2. #12
    Tajlor is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2019
    Posts
    8
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Nein, die LOGO soll weiterhin als Server fungieren. => Raspi ist der Client.
    So wie die App der client ist und die LOGOs = Server

    mbpoll ist glaube ich ein falsches Beispiel. <- es sollte nur veranschaulichen ich habe Verbindung zu den LOGOs

    ich will nichts von den LOGOs holen. Ich will mit der Raspi auf die LOGOs zugreifen und Rollos fahren.
    Das, was du mit deinem letzten Satz beschreibst, will ich tun.

    -> wie schicke ich via libmodbus vom Raspi ein Hex wert an die LOGOs um Rollos zu fahren.

  3. #13
    Join Date
    18.06.2017
    Posts
    78
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Default

    libmodbus + cron so zu konfigurieren damit das Ganze schön schnurrt wäre der nächste Schritt. Im grunde genommen ist aber erstmal wichtig, daß du die Modbus-Register an die eigentliche Logo-Verdrahtung anbinden kannst. Wie das geht habe ich dir prinzipiell gezeigt. Libmodbus auf dem Raspi ist dann nur noch ein Anhängsel.

    Was die ganze Zeit schon in der Luft liegt: Kann es sein, daß du Bedenken hast, daß die Logos nicht mehr richtig funktionieren wenn du entsprechend in den Programmiercode eingreifst? Hast du mit den Dingern Programmiererfahrung oder hast du die bereits fertig programmiert gekauft? Kannste die Daten nicht einfach auf eine SD-Karte sichern?

  4. #14
    Tajlor is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2019
    Posts
    8
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Genau das ist mein Anliegen:
    libmodbus + cron so zu konfigurieren das ich von Raspi die LOGOs/Rollos flexibel steuern kann.

    Der Hinweis mit dem Backup ist sehr gut! Werde ich umgehend machen.
    Und natürlich möchte ich ein funktionierendes System nicht "zerstören"
    Ich möchte es lediglich sinnvoll erweitern.

    Ich denke nicht, dass die modpoll befehle unter Windows 1:1 auf die Console mit libmodbus übertragbar sind.

  5. #15
    Join Date
    18.06.2017
    Posts
    78
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Default

    Und...? Was is'n nu? Haste weiter getestet?
    Kann ja jetzt wirklich nicht so schwierig sein...

  6. #16
    Tajlor is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2019
    Posts
    8
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hallo

    vielen Dank fürs Nachfragen.

    Ich habe mich dran gesetzt über
    https://github.com/riptideio/pymodbus
    https://github.com/dhruvvyas90/libmodbus
    rauszubekommen wie es geht.

    Ein paar Beispiele werden auf dieser Seite genannt.

    Leider bekomme ich die Puzzle-Teile nicht zusammen.
    Mit "das ist doch einfach" ; "das müsste doch gehen" ; " da steht es doch anhand von diversen Beispielen wie es geht" -> komme ich scheinbar nicht weiter

    Es ist sehr frustrierend für mich, das kann ich dir sagen.
    Der Strohalm ist zum greifen nah, aber ich sehe ihn einfach nicht.
    Last edited by Tajlor; 24.05.2019 at 21:25.

  7. #17
    Join Date
    18.06.2017
    Posts
    78
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Default

    Hi,

    ich glaube dir mangelt's an einer analytischen Vorgehensweise...

    Du mußt herausfinden, wie die Software in der Logo funktioniert um Modbus-TCP Daten an der Stelle abzulegen wo die Software auf diese Daten zugreift (intern verwaltet). Alles andere zielt am Problem vorbei. Du brauchst neben dem Detailwissen über die Software dazu zwingend eine Testverbindung mit mbpoll, modpoll o.ä. Und daß das funktioniert, haben wir rausgefunden.

    https://github.com/dhruvvyas90/libmodbus zielt auf die Nutzung von Modbus RTU mit einer RS-485 Hardware über die beiden RX/TX-Pins auf der Steckerleiste des Raspi ab. Ich habe den dhruvvyas90-Fork vor längerer Zeit ausprobiert und Daten aus einem Stromzähler via serieller Schnittstelle ausgelesen. Vergiss das, es hilft dir kein bisschen weiter. Ebenso der andere Link, das ist lediglich Modbus in Python.




    Hast du Zugriff auf die Software der Logo und kannst sie mit der Programmieroberfläche, ich glaube sie heißt Logo Soft Comfort, auslesen? Oder ist die Logo fix und fertig programmiert, hat Know-How/Bausteinschutz und der Hersteller der Software behält sich das Recht vor, den Code für sich zu behalten...? Das wäre natürlich eine böse Sackgasse.
    Weiterhin: Daß Siemens der Generation Logo8 der Logo-Familie die Schnittstelle "Modbus-TCP" spendiert hat bedeutet nicht automatisch, daß die Software in der Logo (die Rollo-Steuerung) für Modbus TCP in irgendeiner Weise einbindet um darüber zu kommunizieren. Das mußt im Zweifelsfall DU "reinverdrahten", ist aber jetzt nicht soo schwierig. Auf Youtube finden sich Prinzipanleitungen.


    Wie ich das machen würde (wenn man an die Daten rankommt):
    Sichere die Daten zuverlässig und vollständig und experimentiere mit der Logo ein bisschen herum. Dann nächster Schritt: Modbus TCP in der Logo zum Leben erwecken und ein kleines Programm machen, das abhängig mit den Modbus-Registerinhalten Relais schaltet. Dann kann man langsam über die Anbindung mittels Raspi nachdenken (wie bereits geschrieben, das ist nix für Anfänger, aber das kannst du mit meiner Hilfe hinbekommen).


    Findet man im Netz Doku über deine Rollo-Steuerung?

  8. #18
    Join Date
    22.05.2005
    Location
    sonniges Maifeld
    Posts
    1,093
    Danke
    84
    Erhielt 209 Danke für 163 Beiträge

    Default

    Hm, wenn ich mir deine Posts so durchlese denke ich das du vielleicht gut mit NodeRed klar kommen würdest. Da findest du auch Beispiele wie NodeRed mit einer Logo Daten tauschen kann und Zeitfunktionen gibt es da auch:

    https://flows.nodered.org/flow/f36b5...9c26eb45cbad0d
    https://flows.nodered.org/node/node-...ight-scheduler
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  9. #19
    Tajlor is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2019
    Posts
    8
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Vielen Dank für die Antworten

    Meine Antworten zu den bisher gestellten Fragen:

    Hast du Zugriff auf die Software der Logo prinzipiell ja habe aber die Software LOGO! Soft Comfort nicht
    Ist die Logo fertig programmiert Ja und funktioniert einwandfrei
    Bausteinschutz Nein
    Modbus-TCP aktiv Ja! ich steuere -wie bereits erwähnt- die LOGO! mit (m)einem iPhone -> Modbus TCP ist aktiv und funktioniert

    Allerdings weiss ich (noch) nicht was die APP an die LOGO! sendet bis auf den genannten HEX code.

    #Hex-Werte senden:

    00 00 00 00 00 06 ff 06 00 01 00 01

    01 = 10te Stelle = Adresse des zu steuernden Rollos

    01 = letzte stelle = hoch fahren // 02 runter fahren

    Zusammenfassend:
    Ich muss nicht mehr sicherstellen das ich die LOGO! per Modbus TCP ansprechen kann. Es funktioniert.
    Ich bin auf der Suche nach libmodubs Befehlen/Strings/Skripte die mich befähigen auf der Raspberry Konsole die LOGO zu steuern/schalten.
    Anschließend - und da will ich hin - kann man diese Befehle zu einer gewissen Uhrzeit an die LOGO! senden um die Rollos zu fahren.
    (Die APP bietet diese zeitliche Komponente nicht an)

    Sobald ich neue Infos habe -oder weiter bin- werde ich es hier veröffentlichen

  10. #20
    Join Date
    22.05.2005
    Location
    sonniges Maifeld
    Posts
    1,093
    Danke
    84
    Erhielt 209 Danke für 163 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Tajlor View Post
    Allerdings weiss ich (noch) nicht was die APP an die LOGO! sendet bis auf den genannten HEX code.

    #Hex-Werte senden:

    00 00 00 00 00 06 ff 06 00 01 00 01

    01 = 10te Stelle = Adresse des zu steuernden Rollos

    01 = letzte stelle = hoch fahren // 02 runter fahren
    Das ist ein Modbus Telegramm, in dem steht das Funktionscode 6 (1 Register schreiben) verwendet wird, auf Registeradresse 1 mit dem Wert 1 bzw. 2
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

Similar Threads

  1. Sonstiges LOGO8 : mit LOGO8 verbunden aber trozdem kein Zugriff ?
    By HerrMann in forum Simatic
    Replies: 2
    Last Post: 09.02.2017, 12:29
  2. Replies: 5
    Last Post: 20.06.2016, 11:10
  3. Replies: 7
    Last Post: 09.07.2015, 20:49
  4. Velux Rollos per SPS ansteuern ?
    By MarioDisketti in forum Simatic
    Replies: 31
    Last Post: 19.05.2014, 11:43
  5. Rollosteuerung für 10 Rollos
    By Jacklinger in forum Sonstige Steuerungen
    Replies: 22
    Last Post: 04.01.2014, 02:58

Tags for this Thread

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
  •