Infos und "Hello world" mit WAGO & IPS

Hallo Forum,

anbei mal ein paar zusammengetragene Infos die zur Systementscheidung oder für die ersten Schritte hilfreich sein könnten (Angaben ohne Gewähr und Anspruch auf Vollständigkeit, bei Bedarf sollte sich jeder motiviert fühlen etwas hinzufügen). Wir beziehen uns hier im wesentlichen auf die Serie 750-841/2 bzw. Nachfolge 750-880/1/2


Erst mal ein paar Infos bzgl. Systementscheidung (div. Zitate aus dem Foren)

pro:

  • bewährter Industriestandard, hohe Systemstabilität
  • zukunftssicher (Software u. Teileversorgung in Zukunft gewährleistet)
  • relativ preiswert (spez. bei hoher Anzahl von Ein-/Ausgängen)
  • Ausbaufähig und viele Anbindungsmöglichkeiten (1-Wire, KNX, EnOcean, Bluetooth und jede Menge mehr, zu finden unter „Sonderklemmen“ im WAGO-Katalog)
  • Grundsystem ist kabelgebunden
  • einfache Fehlersuche (kein Bussystem o.ä.)
  • gute Integration in IPS :loveips:

contra:

  • ggf. Einarbeitung in die Programmierung notwendig (ist aber mit Unterstützung dieses u. anderer Foren machbar)
  • Verkabelungsaufwand (sternförmig notwendig, bis auf Sondervarianten siehe Sonderklemmen)

Wie gesagt, dass sind nur Stichworte, die Liste lässt sich beliebig erweitern
(p.s. ich bin trotz meines Nicknamens nicht mit der Fa. WAGO verbunden o.ä.;))


um einen Einblick in das System bzw. die Programmierung zu bekommen, empfiehlt es sich, eine DEMO-Version von CoDeSys unter CoDeSys - das IEC 61131-3 SPS-Programmiersystem der Automatisierungstechnik zu laden.
(Bitte dier Version 2.3 wählen, diese ist für die 750er Serie geeignet)

Zu der Software gibt es auch entprechende Doku und auch Beispiele (die kann man 1:1 nach programmieren und man bekommt dadurch einen guten Einblick in die Programmierung der SPS)


Kommen wir mal zu den ersten Schritten unter IPS::loveips:

erster Anlauf ist die Orginal-Doku
SPS: Wago, Beckhoff, ABB: IP-Symcon :: Automatisierungssoftware

ein sehr gute Ergänzung/Anleitung hat boXer erstellt. Diese fasst alle wesentlichen Schritte zusammen (die Anleitung stellen wir hier später noch ein).

Grundsätzlich muss man zwischen 2 Arten im Zugriff WAGO <> IPS unterscheiden:

  1. Direktzugriff auf die einzelnen DI/DO (dabei darf kein Programm auf der SPS geladen sein)
  2. Zugriff über Merker (ein Programm inkl. globalen Merkern - siehe unten - muss auf der SPS laufen)

p.s. die 2. Variante ist für mich ganz klar der Favorit, da die Intelligenz in der SPS sitzt (Stichwort Zuverlässigkeit)

also kurzer Abriss der Vorgehensweise für die Variante2 (mal mit ein paar Bilder).

  1. lege Merker in der SPS an (als globale Variable - Syntax siehe Bild1)
  2. lege WAGO-Instanz in IPS an (hast Du wahrscheinlich schon - siehe Bild2)
  3. lege ModBus-Adresse in IPS auf den Merker (siehe Bild3)
  4. (optional) ändere Profil für Variable, damit Du im WebFront was siehst :slight_smile:

in diesem Sinne - viel Erfolg bei der Einbindung Deiner WAGO in IPS

Tilo

Merker_globale_Variblen.png

Merker_IPS_2.png

Merker_WAGO_Instanz.png

So mitlerweile nutze ich seit einigen Monaten die Wago 750-881 und möchte hier noch etwas ergänzen.
Die Tasterlösung habe ich über einen eigenen Baustein „Licht“ nachgebaut, dieser verfügt über
einen Timer (Abschalten nach x Minuten/Stunden) - einstellbar über das Setupmenü (Doppelklick auf Baustein),
Ausgang für Licht (Relais) und IPS (Merker)
sowie einen Tastereingang und je einen gezielten Ein-/Ausschalter.

Vor den Tastereingang habe ich idr. noch ein Oscat Click/Click_Mode Modul geschaltet,
somit hat fast jeder Taster mehrere Funktionen und der Baustein übernimmt direkt das entprellen.

Wird der Baustein ohne Merker genutzt, ist Merker Out mit Merker in zu verbinden.

Sollte sich Codesys mit einigen Bausteinen beschweren, es seien zu viele Bausteine,
müssen diese erst in den Eigenschaften des Controllers (Resourcen -> Zielsystemeinstellungen -> Speicheraufteilungen -> Maximale Anzahl von Bausteinen) hochgesetzt werden (auf z.B. 2000)
danach muss das Projekt erneut erzeugt werden (Projekt-> Alles bereinigen; Projekt -> Alles überzeugen)
dann müsst ihr die nicht verwendete Bausteine ausschließen (Projekt -> Obtionen ->Übersetungsoptionen -> Objekte ausschließen -> unbenutze ausschließen)
und danach die Anzahl der Bausteine wieder auf 1023 (den vorherigen Wert) zurückstellen,
erneut das Projekt erzeugen und könnt es jetzt einspielen.

Meine derzeit verwende Rollo Steuerung habe ich bereits hier beschreiben:

-> Oscat Building Lib

Eine Liste an Merkern für IP-Symcon ist hier zu finden:

Und hier der Quellcode für das Licht Modul (ST - Funktionsblock)

FUNCTION_BLOCK Licht
VAR_INPUT
    Taster: BOOL;
    Zentral_ein: BOOL;
    Zentral_aus:BOOL;
    Merker_in: BOOL;
END_VAR
VAR_OUTPUT
    Lampe: BOOL;
    Merker_out:BOOL;
END_VAR
VAR
    Merker_Taster: BOOL;
    T_on : TIME;
    tx: TIME;
END_VAR
VAR_INPUT CONSTANT
    T_on_max : TIME := T#0s;
END_VAR
(* read system time *)
tx := DWORD_TO_TIME(T_PLC_MS());

(*ueber Merker Licht an/aus schalten*)
IF Merker_in AND NOT Lampe THEN Lampe:=TRUE; T_on := Tx;
ELSIF NOT Merker_in AND Lampe THEN Lampe:=FALSE;
END_IF

(* durch Taster Lampe ein/aus schalten*)
IF Taster AND  Lampe AND NOT Merker_Taster THEN Lampe:=FALSE;
ELSIF Taster AND NOT Lampe AND NOT Merker_Taster THEN Lampe:=TRUE;    T_on := Tx;
END_IF
(*Nur auf Rising_Trigger reagieren*)
Merker_Taster:=Taster;

(*Zentral ein/aus*)
IF Zentral_ein THEN Lampe:=TRUE; T_on := Tx;
ELSIF Zentral_aus THEN Lampe:=FALSE;
END_IF;

(* durch Timer abschalten, falls gesetzt*)
IF Lampe AND T_on_max > t#0ms AND Tx >= T_on + T_on_max THEN
    Lampe := FALSE;
END_IF;

(*Ausgangsmerker aktuellen Status der Lampee mitteilen*)
Merker_out:=Lampe;

(* Mit freundlicher Unterstuetzung durch Oscat Version 1.1    15 sep 2007*)