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

Page 1 of 2 12 LastLast
Results 1 to 10 of 20

Thread: Raspberry + LOGO8 = zeitgesteuert Rollos steuern

  1. #1
    Join Date
    17.05.2019
    Posts
    8
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen

    ich habe hier gelesen das einige wie z.B. @Transistorfips es geschafft haben eine Modbus-Verbindung TCP zwischen einem Raspberry und einer LOGO8 herzustellen.

    Ich spreche NICHT über codesys!
    Mein Interesse bezieht sich ausschließlich auf den pi -> libmodbus, mbpoll oder andere Consolengestützte Programme.
    Cron, so meine Vorstellung, wird die zeitliche Komponente sein, um die entsprechenden befehle zu bestimmten Zeiten absetzt.

    Mit dem Raspberry pi soll also zusätzlich eine zeitliche Komponente in die Steuerung kommen.

    Zusätzlich aus mehreren gründen.
    Ich spreche über eine Rollo-Steuerung.

    LOG8 Schaltpunkte sind bereits definiert.
    MO bis FR 8 Uhr hoch fahren
    MO bis FR 19 Uhr runter fahren


    Mit einer APP kann ich bereits die Rollos fahren allerdings nicht zu festgelegten Zeiten.
    Ich muss also in die App rein um die Rollos zu fahren.
    Aus der APP heraus kann ich Verzögerungen für das Fahren der Rollos einstellen.
    Dies ist aber nicht was ich möchte.

    Ich würde gerne beispielsweise um 12:00 Uhr in einem Zimmer Rollos runter fahren und um 16:30 Uhr wieder hoch.
    Die LOGO8 Programierung 8 Uhr hoch fahren und 19 Uhr runter fahren soll davon unberührt bleiben.

    Wie lauten die Modbus TCP befehle, dich ich absetzen muss?
    IP Adresse der LOGO habe ich
    Port 502 kenne ich auch
    Pi = Client
    LOGO8 = Server

    vielen Dank
    Last edited by Tajlor; 17.05.2019 at 17:19.
    Reply With Quote Reply With Quote Raspberry + LOGO8 = zeitgesteuert Rollos steuern  

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

    Default

    Hallo Thread-Eröffner,
    wie weit kennste dich denn mit libmodbus aus?
    Haste schon mal unter Linux ein Programm in C compiliert und installiert (./configure, make, make install)? Auch auf dem Raspi? Hast schon mal (wenigstens ein bisschen C- Code) selbst geschrieben? Das Ganze ist nix für Anfänger. Selbst wenn ich dir meinen Code schicke, dann wird das nicht plug&play laufen.


    Haste mit Mb-Poll bzw. alternativ qmodMaster schon eine Verbindung zur Logo8 aufbauen und ein paar Daten schieben können?

    Thread-Eröffner schrieb:
    >Wie lauten die Modbus TCP befehle, dich ich absetzen muss?
    Im Grunde genommen gibt's keine Befehle im klassischen Sinn, du setzt auf der einen Seite in einem Register lediglich Bits die auf der anderen Seite abgefragt werden um entsprechend irgendetwas auszuführen, d.h. die Logo lauert 24h auf die Modbus-Register und wertet z.B. alle paar Sekunden (Netzwerklast...!) die Bits aus. Wenn ich das richtig sehe, dann benutzt du den Raspi mittels cron als Schaltuhr. Man könnte dann mit nem kleinen Shell-Script libmodbus aufrufen und gesetzte Bits übertragen, oder man macht das eleganter und flechtet Zeitfunktionen in den Code von libmodbus mit ein (#include <sys/time.h> ...).

  3. Folgender Benutzer sagt Danke zu Transistorfips für den nützlichen Beitrag:

    Tajlor (18.05.2019)

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

    Default

    Sorry, UTF-8 Umlaute hats durch nen Forums-Timeout zerschossen...

  5. #4
    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ür die schnelle Antwort.

    Zu deinen Fragen:

    - JA ich will mittels Raspi eine zeitliche Komponente in die LOGO 8 Steuerung bringen!
    Im Sommer zum Beispiel auf der Südseite alle Rollos um 13:00 Uhr runter fahren
    Im Kinderzimmer die Rollos um 12 Uhr runter fahren und um 16:30 Uhr wieder hoch
    -> und dies alles unabhängig von der LOGO Steuerung welche die Rollos um 19 Uhr runter fährt und um 8 Uhr wieder hoch

    - Ja ich kann ein ein Programm unter linux compilieren und mich auf der console bewegen
    - Ja ich bin gewillt auch C code zu implementieren wenn es bei Modbus keine "einfachen" befehle abzusetzen sind
    => dafür benötige ich aber deine Hilfe!

    Mit Sicherheit werden auch andere davon profitieren, ich bin nicht der einzige mit einer LOGO8 Steuerung.
    Und schließlich und endlich sind solche Foren doch dazu da...

    Ich habe über mbpoll folgenden Befehl abgesetzt.
    mbpoll -m tcp -t4:float -r 100 -c 5 -1 192.168.100.222

    LOGO8 Antwort:
    Protocol configuration: Modbus TCP
    Slave configuration...: address = [1]
    start reference = 100, count = 5
    Communication.........: 192.168.100.222, port 502, t/o 1.00 s, poll rate 1000 ms
    Data type.............: 32-bit float (little endian), output (holding) register table


    -- Polling slave 1...
    [100]: 0
    [102]: 6.06114e-39
    [104]: 0
    [106]: 0
    [108]: 0

    Was ich damit sagen will ist, der Raspi befindet sich im gleichen Netzwerk wie die LOGO8, und kann sich mit dieser auch scheinbar verbinden.


    • Ich habe 3 LOGOS mit 3 unterschiedlichen IP Adressen im /24 Netz
    • Ich habe eine funktionierende APP mit der ich die Rollos steuern kann.


    Ich habe auch den HEX wert für den ersten Rollo mit dem ich diesen theoretisch steuern könnte (runter/rauf)


    #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

    Wie ich diese ganzen Infos allerdings über Modbus an die LOGO übertragen kann um den Rollo zu fahren, weiss ich noch nicht.






  6. #5
    Join Date
    02.01.2015
    Posts
    782
    Danke
    126
    Erhielt 175 Danke für 163 Beiträge

    Default

    Warum nutzt du denn den integrierten Webserver der LOGO! nicht? Dann brauch t du das Gehampel mit dem PI und Modbus nicht.

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

    Default

    Was meinst du genau?
    Was bringt mir der Webserver, wenn ich "zeitlich" Rollos fahren will?
    Ich will mich nicht jedes mal verbinden müssen um Rollos zu fahren.
    So könnte ich es ja über die APP machen.
    Im übrigen ist der Webserver auf den LOGOS abgeschaltet und ich habe die SW nicht um ihn freizuschalten.

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

    Default

    Hallo Tajlor,
    grundsätzlich Eines: Wenn die Logo8 so hochentwickelt ist, daß sie sogar Modbus TCP kann, dann sollte sie auch das viel einfachere Vergleichen von Uhrzeiten können, um damit zum Zeitpunkt t1 das Bit b1 zu setzen - zumal das Problem des Anstoßens eines zeitbezogenen Vorganges sicherlich schon viele andere Leute vor dir hatten und die Logo für dieses Problem (Rollo-Steuerung, Teichfütterung, zeitabhängige Beleuchtung oder Gartenbewässerung, Home-Automation allg.) ja eigentlich genau dazu erdacht wurde. Wenn ich du wäre, würde ich mich tief in die Funktionalitäten der Logo einlesen, ein paar Youtube-Videos gucken und dann mit dem Programmieren der Logo (was ja eigentlich eher eine Art Verdrahten ist) loslegen.
    Kernaussage: Die Steuerung ist nur so ausgeklügelt und raffiniert wie DU es in sie hinein verdrahtest. Ich vermute mal, daß du deine Logo einfach nicht genug kennst, sie deshalb etwas unterschätzt, denn mit dem Projekt Raspi + cron + Modbus TCP schießt du eigentlich mit dicken Kanonen auf Spatzen (wenn man den Spatz nicht getroffen hat, dann war das Kaliber zu klein...). Grundsätzlich kann man das aber schon machen, man lernt ja auch etwas dabei.


    Jetzt zum Eigentlichen:
    Langsam verstehe ich, was du mit "Befehl" meinst. Ich vermute, du hast im DOS-Fenster Modbus-Poll mit Parametern gefüttert um eine Verbindung mit der Logo aufzubauen und vielleicht auch ein oder mehrere Register verschickt. Problem Nummer eins: Ich habe das in der Form noch nie so ausprobiert. Problem Nr. zwei: Modbus-Poll ist Löhnware und meine 30-Tage Trial-Version ist längst unbrauchbar.

    Probiere mal QModMaster, das ist Freeware und funktioniert an dieser Stelle genauso gut wie Modbus Poll.


    Du schreibst:
    #Hex-Werte senden:
    00 00 00 00 00 06 ff 06 00 01 00 01
    Das wären zwölf Byte bzw sechs Modbus-Register. Du müßtest also z.B. sechs Register wegschicken und auf der Zielseite mit der Logo entsprechend diese auswerten. Oder nur ein Register wegschicken und mit Wenn-Dann-Entscheidungen einen Relais-Ausgang setzen.


    Ich würde folgende Schritte vorschlagen:
    1) Baue eine Verbindung mit deinem PC + QModMaster an die entsprechend richtig konfigurierte Logo auf, damit sich beide Geräte "Hallo" sagen. Mit qModMaster kenne ich mich aus, da kann ich dir helfen.

    2) Ein oder mehrere Modbus-Register senden. Die Werte, also die Inhalte der Modbus-Register auf dem LCD der Logo zu Testzwecken anzeigen lassen. Da kann ich dir im Moment nur rudimentär helfen, da ich mich mit der Logo8 nicht auskenne. Ich bin aber bereit mich einzulesen, da ich mich schon immer mal mit ner Logo beschäftigen wollte.

    3) Wenn das funktioniert, dann zum großen Rundumschlag ausholen: Libmodbus auf dem Raspi fehlerfrei installieren und dann die Software anpassen. Hier sind C-Kenntnisse notwendig, ich kann dir dabei aber unter die Arme greifen.

    4) Mittels Cron ein Shell-Script aufrufen das Kommandozeilen-Parameter an libmodbus übergibt und zur Logo schickt.
    Last edited by Transistorfips; 18.05.2019 at 19:59.

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

    Default

    Noch ein Nachtrag: Auf der Seite https://w3.siemens.com/mcms/programm...n/default.aspx habe ich ein Beispielprogramm zur zeitlichen Steuerung von Rolläden gefunden (control_of_roll-down_shutters), das dir erstmal weiterhelfen sollte...

  10. #9
    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 Transistorfips

    Dein Ansatz ist natürlich richtig.
    Warum Umwege gehen, wenn man direkt an der LOGO programmieren kann.

    Dafür gibt es natürlich Gründe
    1. Die Logos laufen mit einer Programmierung, die funktioniert.
    2. Die Logos sind nicht von mir Programmiert worden
    3. Die Logos sind so eingestellt, dass man sie mit einer app ebenfalls bedienen kann.
    4. Alle Eingänge/Ausgänge der 3 Logos sind belegt (Rollos), es ist also kein "Spielraum"/Speicher mehr übrig

    Ich will also den Weg mit dem Raspi gehen und dabei NICHTS an den LOGOs verändern, da sie stabil laufen.
    Ich will flexibel sein und nicht jedes mal die LOGOS neu programmieren müssen wenn ich Zeiten ändere.
    Mein Gedanke war es, wenn ich die LOGOs mit einer APP (iPhone) im Netzwerk steuern kann, warum dann nicht von einem Raspi aus?
    Die Programmierung der Rollos funktioniert einwandfrei, das muss ich nicht mehr sicherstellen

    Merkwürdigerweise finde ich wenig bis gar nichts im Netz basieren auf diesem Ansatz.

    Ich will/würde mich gerne lediglich auf der console (Linux) bewegen. => kein Windows!
    Keine Fenster keine Maus
    -> Linux console, scripting, bash


    Libmodbus5 ist bereits auf dem Raspi installiert, genau so wie mbpoll.
    mbpoll muss ich nicht nutzen! Ich wollte dir damit nur sagen ich habe Verbindung zu den LOGOs

    lass und das ganze mit libmodbus angehen & lösen

    wenn ich das richtig lese basiert QModMaster auch auf libmodubs
    "QModMAster is based on libmodbus"
    Außerdem ist das ein Windows Programm ;(

    Die Frage ist also wie schicke ich auf der Console Modbus-Register an die LOGOs?
    Dass es funktioniert zeigt die APP allerdings weiss ich nicht wie es dort implementiert wurde.

  11. #10
    Join Date
    22.08.2011
    Location
    Pfalz
    Posts
    17
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren

  12. Folgender Benutzer sagt Danke zu technik-fan-ol für den nützlichen Beitrag:

    dkeipp (20.05.2019)

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
  •