Arduino spricht mit LOGO / Simatic S7

Begonnen von John, 10 Januar 2015, 23:44:28

Vorheriges Thema - Nächstes Thema

smarties

Interessante Site. Habe einige Beispiele druchgespielt. Aber eine Lösung, wie ich den Wert aus der Variable auf das Display bringe, habe ich nicht gefunden.
Ich habe rausgefunden dass mittels Netzwerk Ein- und Ausgängen auf den lokalen Memory zugegriffen werden kann. Aber wie weiter? Wie hast du das mit der Temepratur-Anzeige gemacht, John?

lg smarties

John

In Kapitel 3 des E-Learn-Programms wird doch alles erklärt.
John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

smarties

Irgendwie verstehen wir uns falsch. Ich möchte nicht einen PT1000 Sensor einlesen, sondern den Wert, welchen mir der Arduino in die VM geschrieben hat.

smarties

Zitat von: John am 02 November 2015, 17:41:00
Wenn du Settimino-Variante aus dem Projekt verwendest das im ersten Beitrag betreitsteht, wirst du diese Funktion finden.
Ich habe Settimino entsprechend erweitert.

Hallo John
Ich habe deine Settimino-Variante mal hinzugefügt. In deiner Variante kann ich die S7 Helper wie zB S7.BitAt nicht mehr verwenden. Bei Kompilieren erhalte ich den Fehler "'S7' was not declared in this scope". Ich kann den Fehler nicht finden. In der Original Settimino gibt es dieses Problem nicht.

Wie komme ich an diese Funktionen ran?

lg smarties

John

in Settimono.h folgende Zeile ent-Kommentieren

Zitat//#define _EXTENDED  // john

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

smarties

Schein noch nicht zu reichen. Jetzt erhalte ich eine neuen Fehler beim Kompilieren, ohne weiteren Hinweis auf die Ursache:

exit status 1
Fehler beim Kompilieren.

John

mit
#define _NORMAL
anstelle von

#define _EXTENDED

funktioniert das Übersetzen bei mir.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

tvrservis

Hi John,
I want to test your application KE1.ino with Arduino Nano and Ethernet shield enc28j60. I use the library UIPEthernet https://github.com/ntruchsess/arduino_uip. When compiling lists the following error:

In file included from \arduino_uip-master/UIPEthernet.h:28:0, from KE1.ino:34:
\arduino_uip-master/ethernet_comp.h:5:24: error: redefinition of 'class UIPClient'
#define EthernetClient UIPClient
                        ^
\libraries\Ethernet\src/EthernetClient.h:8:7: note: in expansion of macro 'EthernetClient'
class EthernetClient : public Client {
       ^
In file included from \libraries\arduino_uip-master/UIPEthernet.h:33:0, from KE1.ino:34:
\libraries\arduino_uip-master/UIPClient.h:63:7: error: previous definition of 'class UIPClient'
class UIPClient : public Client {
       ^
Error compiling.

What am I doing wrong?

Thank you for your response,
Kornel

John

Hi Kornel,

I tried to simplify the sketch for enc28j60-based boards.
I hope it will work.

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

tvrservis


special.mechanics

hallo JOHN
ich möchte mich bei dir bedanken
immerhin war es dieser thread welcher mich zur lösung meines problems gebracht hat
vor 14 tagen wusste ich noch garnicht das es einen arduino gibt und nun kann mein YUN sich per wifi mit meinem LOGO!8 steuergeräten verbinden und die komplette fernsteuerung übernehmen
bis jetzt habe ich die visualisierung nur in selbstgeschrieben android apps (iswvis) realisiert

hab zwar paar stunden gebraucht auf meine alten tage eine neue art der programmierung zu lernen (bin sps programmierer) aber mit deinen hinweisen hier bin ich auf den richtigen pfad gekommen
hab deinen KE1 umgeschrieben und denn ein oder anderen punkt ergänzt
ganz wichtig war mir ein "alive" signal zwischen den beiden . dadurch das in DB 1 am ende nur die variablen veränderst ist es äusserst unpraktisch wenn ein/ausgangssignale nicht zurückgesetzt werden wenn die beiden ihren kontakt während des ablaufs verlieren :)

manchmal braucht man nur den nötigen tritt in die richtige richtung


tante ju

>von FHEM kurzen Impuls an LOGO ...

Zitat von: John am 17 Januar 2015, 14:02:53
Du schreibst 1 , danach sofort wieder die 0.
Die Logo ist schneller als FHEM.
(die erste Variante kommt mit einem einzigen Schreibzugriff aus)

Warum so kompliziert?

In der LOGO einen 0-Wert auf ein Speicherbit (V0.0) legen und daran die Schaltung anschließen.
Ein Schreibvorgang einer 1 auf diesen Wert wird in der LOGO vor der Auswertung des 0-Bits ausgeführt. Das Resultat ist also in der Logik der LOGO exakt ein kurzer 1 Impuls.
Dazu braucht es von FHEM nicht zwei Schreibzugriffe.

Läuft bei mir seit fast zwei Jahren ohne Probleme. Taster (I) auf ODER-Eingang 1 und 0-V0.0 auf ODER-Eingang 2. So kann ich in der weiteren Logik auf Taster reagieren und auf einen Schreibzugriff von FHEM (set logomerker 1). Der nächste READ seitens FHEM liest wieder die 0 aus dem Merker und aktualisiert den Wert in FHEM entsprechend.

Im Bild ein Ausschnitt einer Rolladensteuerung mit Tastern. Da die echten Taster die Funktion haben: 1*drücken=in Richtung fahren, nochmal drücken=stopp (oder Richtungsumkehr, wenn es der andere Taster ist), wäre eine 1 und 0 schreiben von FHEM zu langsam.

John

@special.mechanics
ich danke dir für deine Rückmeldung. Es freut mich immer, wenn meine Arbeit auch anderen weiter hilft.

Eine Verbindungsübewachung ist im Sketch KE1 sogar für jeden einzelnen Sensors realisiert.

In diesem Beitrag siehst du die Variablen-Darstellung
http://forum.fhem.de/index.php/topic,31899.msg247534.html#msg247534
Hier ist das erste Byte (VM200) für das Live-Bit eines Sensors reserviert und das folgende Wort (VM201) für den eigentlichen Messwert.

Wenn die Verbindung abreisst, kann die Logo den fehlenden Wechsel vom Live-Bit erkennen.
Das ist der Fall, wenn der Sensor abgesteckt wird, aber auch wenn generell die Verbindung abreisst.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

special.mechanics

john ....
ich hab das schon gesehen . hab aber viel gecleant in dem sketch . die ganzen onwire sachen z.b.
ich stehe noch am anfang mit der art der programmierung :) da sind perfekte scripte noch nicht an der tagesordnung
demzufolge habe ich es mir einfach gemacht und hole mir mit dem yun einfach ein bit aus einem impulsgeber und schreib dieses zurück
so weiss der yun das es eine logo gibt (weiss er ja eh auch woanders her) und die logo umgedreht auch
da habe ich zwar das delay der lese/schreib befehle und das des impulsgebers aber es reicht mir das beide spätestens nach 1 sek bescheid wissen zumal das selbe script auch von der android visualisierung benutzt wird
ich bin mit den logo programmen eh immer an der schmerzgrenze (399 von 400 blöcken und sowas) , da muss ich bissl auf kompatiblität achten :)
die automatische wiederverbindung scheint im originalen settimoscript auch nicht recht zu funktionieren , das habe ich ebenfalls über das alivesignal gelegt (die gehen eben davon aus das das ethernet stabil funktioniert)
ab jetzt kann ich nur nicht mehr mit einem delay() arbeiten . aber das geht ja auch anders
sobald der yun eben zu "langsam" für das alive ist wartet die logo eben mit netzwerkbefehlsausführungen
das ist immer noch besser als andersrum


VaidasJ

Hello,

ich will fragen ob die ferbindung zwichen Logo und Arduino bei Sie stabil lauft? Bei mir passiert oft die Fehler: "diconnectiong due severe error:4". Als ich verstehe dass ist etwas mit TCP fehler verbunden. Ich will die heizung kessel steuern (stellmotoren, ventilen) und brauche dass die temperatur daten wurden immer stabil geschrieben werden als sie andert.