Cool stuff

toggle

Wird z.B. als Treppenhausschaltung (Stromstoßschalter) verwendet.

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	toggle 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Mit jedem Impuls auf S0.0 oder E0.0 ändert sich der Zustand am Ausgang A0.0
// Wird z.B. als Treppenhausschaltung (Stromstoßschalter) verwendet.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Toggle Web-Taster oder digitaler Eingang
// ===============================================================================
U0.0 = S0.0 || E0.0


// ===============================================================================
// Ausgang
// ===============================================================================
A0.0 = U0.0 ^^ A0.0


// ===============================================================================
// Toggle auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

toggle2

Wird z.B. als Treppenhausschaltung (Stromstoßschalter) verwendet. Zustand bleibt bei Spannungsausfall erhalten.

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	toggle2 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Mit jedem Impuls auf S0.0 oder E0.0 ändert sich der Zustand am Ausgang A0.0
// Wird z.B. als Treppenhausschaltung (Stromstoßschalter) verwendet.
// Zustand bleibt bei Spannungsausfall erhalten.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Toggle Web-Taster oder digitaler Eingang
// ===============================================================================
M0.0 = S0.0 || E0.0 && !V0.1	//SET V0.0
V0.0 = M0.0 SET

M0.1 = S0.0 || E0.0 && V0.1		//RST V0.0
V0.0 = M0.1 RST

M0.2 = !S0.0 && !E0.0 && V0.0	//SET V0.1
V0.1 = M0.2 SET

M0.3 = !S0.0 && !E0.0 && !V0.0 	//RST V0.1
V0.1 = M0.3 RST


// ===============================================================================
// Ausgang
// ===============================================================================
A0.0 = V0.0


// ===============================================================================
// Toggle auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

shift

Shift-Funktion / Schrittkette

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	SHIFT
// Autor:	brangl electronics
// Stand:	09.07.2018
// Version:	0.1


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Shift-Funktion:
// beim Programmstart wird Ausgang A0.0 gesetzt. 
// Mit jedem Betätigen (Impuls) des Webtaster's S0.0 wie gleichermaßen bei jedem 
// Impuls am digitalen Eingang E0.0 wird der nächste Ausgang gesetzt und der 
// zuletzt aktivierte Ausgang zurückgesetzt.
// Nach einem Spannungsausfall wird der zuletzt aktive Ausgang (Schritt) wieder 
// gesetzt.
// 
// Aus diesem Programmbeipiel kann eine Schrittkettensteuerung erstellt werden.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Shiftfunktion / Schrittkette
// ===============================================================================

// Impuls vom Webtaster oder digitalem Eingang erzeugen
U0.0 = S0.0 || E0.0

// Startbedingung: wenn kein Schritt gespeichert -> Schritt 1 aktivieren
M9.0 = !V0.0 && !V0.1 && !V0.2 && !V0.3 && !V0.4 && !V0.5 && !V0.6 && !V0.7

// Schritt Verriegelung
M0.0 = U0.0 && V0.7 || M9.0
M0.1 = U0.0 && V0.0
M0.2 = U0.0 && V0.1
M0.3 = U0.0 && V0.2
M0.4 = U0.0 && V0.3
M0.5 = U0.0 && V0.4
M0.6 = U0.0 && V0.5
M0.7 = U0.0 && V0.6

// Schritt setzen
V0.0 = M0.0 SET
V0.1 = M0.1 SET
V0.2 = M0.2 SET
V0.3 = M0.3 SET
V0.4 = M0.4 SET
V0.5 = M0.5 SET
V0.6 = M0.6 SET
V0.7 = M0.7 SET

// Schritt rücksetzen
V0.0 = M0.1 RST
V0.1 = M0.2 RST
V0.2 = M0.3 RST
V0.3 = M0.4 RST
V0.4 = M0.5 RST
V0.5 = M0.6 RST
V0.6 = M0.7 RST
V0.7 = M0.0 RST


// ===============================================================================
// Ausgang
// ===============================================================================
A0.0 = V0.0
A0.1 = V0.1
A0.2 = V0.2
A0.3 = V0.3
A0.4 = V0.4
A0.5 = V0.5
A0.6 = V0.6
A0.7 = V0.7


// ===============================================================================
// Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7


// ===============================================================================
// Programmende
// ===============================================================================

ton

TON = zeitverzögert einschalten.

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	TON 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// TON = zeitverzögert einschalten


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Timer startet mit Web-Schalter oder digitaler Eingang
// ===============================================================================
M0.0 = S0.0 || E0.0
T0.0 = M0.0 TON 3000; // Einschaltverzögerung 3000ms -> 3s


// ===============================================================================
// Ausgang
// ===============================================================================
A0.0 = T0.0


// ===============================================================================
// Toggle auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

tof

TOF = zeitverzögert ausschalten.

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	TOF 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// TOF = zeitverzögert ausschalten
// Der negative Impuls von S0.0 oder E0.0 startet den Timer.
// Jeder erneute Impuls von S0.0 oder E0.0 verlängert die Ausschaltzeit um 
// die definierte Zeit.
// Wird z.B. als Treppenhausschaltung mit Zeitabschaltung verwendet.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Timer startet mit Web-Schalter oder digitaler Eingang
// ===============================================================================
M0.0 = S0.0 || E0.0
T0.0 = M0.0 TOF 3000; // Ausschaltverzögerung 3000ms -> 3s


// ===============================================================================
// Ausgang
// ===============================================================================
A0.0 = T0.0


// ===============================================================================
// Toggle auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

timeswitch

Beispielanwendung mit 8 Kanal-Zeitschaltuhr

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	timeswitch 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Für jeden Wochentag ist eine Zeitschaltuhr konfiguriert und verknüpft mit einem
// Taktmerker (Blinker). Der Ausgang zeigt den Wochentag. 
// Eingeschaltet wird mit S0.0


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Zeitschalter konfigurieren
// ===============================================================================
Z0.0 = S0.0 DOW 1000000;0:00;23:59;	// Montag
Z0.1 = S0.0 DOW 0100000;0:00;23:59;	// Dienstag
Z0.2 = S0.0 DOW 0010000;0:00;23:59;	// Mittwoch
Z0.3 = S0.0 DOW 0001000;0:00;23:59;	// Donnerstag
Z0.4 = S0.0 DOW 0000100;0:00;23:59;	// Freitag
Z0.5 = S0.0 DOW 0000010;0:00;23:59;	// Samstag
Z0.6 = S0.0 DOW 0000001;0:00;23:59;	// Sonntag
Z0.7 = S0.0 DOW 1111111;0:00;23:59;	// Montag-Sonntag


// ===============================================================================
// Webschalter(HTML) und Zeitschalter und Taktmerker auf Ausgang
// ===============================================================================
A0.0 = Z0.0 && Y0.3	// Montag und Taktmerker 2s
A0.1 = Z0.1 && Y0.3	// Dienstag und Taktmerker 2s
A0.2 = Z0.2 && Y0.3	// Mittwoch und Taktmerker 2s
A0.3 = Z0.3 && Y0.3	// Donnerstag und Taktmerker 2s
A0.4 = Z0.4 && Y0.3	// Freitag und Taktmerker 2s
A0.5 = Z0.5 && Y0.3	// Samstag und Taktmerker 2s
A0.6 = Z0.6 && Y0.3	// Sonntag und Taktmerker 2s
A0.7 = Z0.7 && Y0.3	// Montag-Sonntag und Taktmerker 2s


// ===============================================================================
// Ausgang auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7


// ===============================================================================
// Programmende
// ===============================================================================

bsz

Beispiel für einen Betriebsstundenzähler

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	bsz 
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Beipiel für einen Betriebsstundenzähler. Bei jedem Impuls zur vollen Minute wird
// der Minutencounter um eins erhöht. Mit erreichen des Wertes 60 wird der
// Stundencounter um eins erhöht und der Minutencounter auf 0 zurückgesetzt.
// Erreicht der Stundencounter den Wert 24 wird der Tagescounter um eins erhöht 
// und der Stundencounter auf 0 zurückgesetzt.
// Der Betriebsstundenzähler eignet sich auf Grund der Ungenauigkeit (Impuls zur
// vollen Minute -> max. Ungenauigkeit = 59s/Minute/EIN-AUS) für Verbraucher mit 
// geringer Ein-/Ausschalthäufigkeit.
//
// Die Counter sind spannungsfest. Spannungsfest bedeutet, dass bei einem Reboot 
// oder einem Spannungsausfall der Wert des Counters erhalten bleibt.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Ausgang angesteuert über Web-Taster oder digitaler Eingang
// ===============================================================================
A0.0 = S0.0 || E0.0


// ===============================================================================
// Betriebsstundenzähler
// ===============================================================================
M0.0 = Y3.1 && A0.0		// Impuls zur vollen Minute und Ausgang ist EIN
C0.0 = M0.0 CTU 60;		// Minutencounter
C0.1 = C0.0 CTU 24;		// Stundencounter
C0.2 = C0.1 CTU 65535;	// Tagescounter (max. mögliche Laufzeit 65535 Tage)
C0.0 = C0.0 RST			// Reset nach 60 Minuten
C0.1 = C0.1 RST			// Reset nach 24 Stunden


// ===============================================================================
// Anzeige auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

bsz2

Alternatives Beispiel für einen Betriebsstundenzähler

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	bsz2
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Beipiel für einen Betriebsstundenzähler. Mit dem Timer T0.0 wird ein Sekunden-
// impuls erzeugt und an den Sekundencounter angelegt. Mit erreichen des Wertes 60
// am Sekundencounter wird der Minutencounter um eins erhöht und der Sekunden-
// counter auf 0 zurückgesetzt. Mit erreichen des Wertes 60 wird der Stunden-
// counter um eins erhöht und der Minutencounter auf 0 zurückgesetzt. 
// Erreicht der Stundencounter den Wert 24 wird der Tagescounter um eins 
// erhöht und der Stundencounter auf 0 zurückgesetzt.
// Der Betriebsstundenzähler eignet sich auf Grund der Sekundengenauigkeit für 
// Verbraucher mit hoher Ein-/Ausschalthäufigkeit (<5 Minuten).
//
// Die Counter sind spannungsfest. Spannungsfest bedeutet, dass bei einem Reboot 
// oder einem Spannungsausfall der Wert des Counters erhalten bleibt.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Ausgang angesteuert über Web-Taster oder digitaler Eingang
// ===============================================================================
A0.0 = S0.0 || E0.0


// ===============================================================================
// Betriebsstundenzähler
// ===============================================================================
M0.0 = !T0.0 && A0.0	// Sekundentimer ist AUS und Ausgang ist angesteuert
T0.0 = M0.0 TON 1000;	// Sekundentimer - erzeigt einen Impuls pro Sekunde
C0.0 = T0.0 CTU 60;		// Sekundencounter
C0.1 = C0.0 CTU 60;		// Minutencounter
C0.2 = C0.1 CTU 24;		// Stundencounter
C0.3 = C0.2 CTU 65535;	// Tagescounter (max. mögliche Laufzeit 65535 Tage)
C0.0 = C0.0 RST			// Reset nach 60 Sekunden
C0.1 = C0.1 RST			// Reset nach 60 Minuten
C0.2 = C0.2 RST			// Reset nach 24 Stunden


// ===============================================================================
// Anzeige auf Visualisierung -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0


// ===============================================================================
// Programmende
// ===============================================================================

tcpclient

Der Client versendet ein TCP/IP-Paket an den Server

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	tcpclie												  
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Für dieses Programm werden zwei Web@SPS'en benötigt. 
// Das Web@SPS mit diesem Programm ist der Client (IP=192.168.2.102)
// Das zweite Web@SPS mit dem Programm tcpserv ist der Server (IP=192.168.2.103)
// Mit dem Betätigen des Webschalters (S0.0...S0.7) wird je ein TCP/IP-Paket an
// den Server versendet. Der jeweilige Webmelder signalisiert, dass das TCP/IP-
// Paket versendet wurde.


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Webschalter(HTML) sendet Status an TCP/IP-Server (192.168.2.103 - Port 8)
// ===============================================================================
K0.0 = S0.0 TCP 192.168.2.103;8;
K0.1 = S0.1 TCP 192.168.2.103;8;
K0.2 = S0.2 TCP 192.168.2.103;8;
K0.3 = S0.3 TCP 192.168.2.103;8;
K0.4 = S0.4 TCP 192.168.2.103;8;
K0.5 = S0.5 TCP 192.168.2.103;8;
K0.6 = S0.6 TCP 192.168.2.103;8;
K0.7 = S0.7 TCP 192.168.2.103;8;


// ===============================================================================
// TCP/IP-Server-Status auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H0.0 = K0.0
H0.1 = K0.1
H0.2 = K0.2
H0.3 = K0.3
H0.4 = K0.4
H0.5 = K0.5
H0.6 = K0.6
H0.7 = K0.7


// ===============================================================================
// Programmende
// ===============================================================================

tcpserver

Der Server empfängt ein TCP/IP-Paket vom Client

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	tcpserv												  
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Für dieses Programm werden zwei Web@SPS'en benötigt. 
// Das Web@SPS mit diesem Programm ist der Server (IP=192.168.2.103)
// Das zweite Web@SPS mit dem Programm tcpcli ist der Client (IP=192.168.2.102)
// Mit dem Erhalt des vom Client versendeten TCP/IP-Paket wird der digitale
// Ausgang (A0.0...A0.7) geschaltet. Der jeweilige Webmelder zeigt den Status des
// digitalen Ausgangs an.
//
// In der Konfiguration auf diesem Gerät muss der TCP/IP-Server aktiviert und auf 
// Port 8 eingestellt sein!


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// digitaler Ausgang wird von TCP/IP-Client-Paket gesteuert
// ===============================================================================
A0.0 = R0.0
A0.1 = R0.1
A0.2 = R0.2
A0.3 = R0.3
A0.4 = R0.4
A0.5 = R0.5
A0.6 = R0.6
A0.7 = R0.7


// ===============================================================================
// digitalen Ausgang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7


// ===============================================================================
// Programmende
// ===============================================================================

tcpcping Neu

TCP/IP Kommunikationsüberwachung Client

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	tcpcping												  
// Autor:	brangl electronics
// Stand:	15.02.2019
// Version:	0.1


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Für dieses Programm werden zwei Web@SPS'en benötigt. 
// Das Web@SPS mit diesem Programm ist der Client (IP=192.168.2.102)
// Das zweite Web@SPS mit dem Programm tcpsping ist der Server (IP=192.168.2.103)
// Im 10 Sekunden Takt wird je ein TCP/IP-Paket an den Server versendet.
// Der Server quittiert den Empfang mit einem Echo und setzt das VKE bei Erfolg
// von K0.0 auf 1.
// Ist der Server nicht erreichbar, wird der Counter C0.0 alle 10s um 1 erhöht.
// Nach 6 x 10s wird die Meldung von P0.0 in das Logbuch geschrieben.


// ===============================================================================
// Client sendet Impuls an TCPIP-Server (192.168.2.103 - Port 8)
// ===============================================================================
K0.0 = Y0.5 TCP 192.168.2.103;8;		// TCPIP Impuls im 10s Takt
C0.0 = Y0.5 CTU 6;						// nach 6 x 10s als Fehler setzen
U0.0 = K0.0 || P0.0						// Antwort erhalten oder Logeintrag
C0.0 = U0.0 RST							// Counter rücksetzen


// ===============================================================================
// Logging
// ===============================================================================
P0.0 = C0.0 TXT "Server IP=192.168.2.103 seit {C0.0} x 10s Kommunikation unterbrochen";
P0.1 = !C0.0 TXT "Server IP=192.168.2.103 Kommunikation wiederhergestellt";


// ===============================================================================
// Programmende
// ===============================================================================

tcpsping Neu

TCP/IP Kommunikationsüberwachung Server

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	tcpsping												  
// Autor:	brangl electronics
// Stand:	15.02.2019
// Version:	0.1


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Für dieses Programm werden zwei Web@SPS'en benötigt. 
// Das Web@SPS mit diesem Programm ist der Server (IP=192.168.2.103)
// Das zweite Web@SPS mit dem Programm tcpcping ist der Client (IP=192.168.2.102)
// Im 10 Sekunden Takt wird je ein TCP/IP-Paket vom Client versendet.
// Der Server quittiert den Empfang mit einem Echo und setzt den Zeitwert des 
// ausschaltverzögerten (TOF) Timer T0.0 auf Startwert 15000ms.
// Bleibt ein TCP/IP-Paket vom Client für 15s aus, wird mit P0.0 ein Eintrag ins
// Logbuch geschrieben.


// ===============================================================================
// Server empfaengt Impuls vom TCPIP-Client (192.168.2.102)
// ===============================================================================
U0.0 = Y3.0	&& Y2.0		// erster Impuls nachdem Ethernet verbunden und Status=RUN
U0.1 = R0.0 || U0.0		// TCPIP alle 10s ein eingehender Impuls vom Client 
T0.0 = U0.1 TOF 15000;	// Fehler, wenn nicht innerhalb 15s ein Impuls eingeht


// ===============================================================================
// Logging
// ===============================================================================
P0.0 = !T0.0 TXT "Client IP=192.168.2.102 Kommunikation unterbrochen";
P0.1 = T0.0 TXT "Client IP=192.168.2.102 Kommunikation wiederhergestellt";


// ===============================================================================
// Programmende
// ===============================================================================

taktm

Das Programm demonstriert die Funktionalität der Taktmerker (Blinker).

//================================================================================
// Projektdaten
//================================================================================
// Projekt:	takt
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Das Programm demonstriert die Funktionalität der Taktmerker (Blinker).


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital & Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Taktmerker steuert digitalen Ausgang an
// ===============================================================================
A0.0 = Y0.0
A0.1 = Y0.1
A0.2 = Y0.2
A0.3 = Y0.3
A0.4 = Y0.4
A0.5 = Y0.5
A0.6 = Y0.6
A0.7 = Y0.7


// ===============================================================================
// digitalen Ausgang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7


// ===============================================================================
// Programmende
// ===============================================================================

digital

Standardrules für Web@SPS Digital

//================================================================================
// Projektdaten
//================================================================================
// Projekt:	Standardrules Digital
// Autor:	brangl electronics
// Stand:	12.03.2018
// Version:	0.2


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Digital, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Die Standardrules für Web@SPS Digital enthält folgende Funktionen.
// - Ansteuerung der digitalen Ausgänge über Webschalter oder digitale Eingänge
// - Melderanzeige der digitalen Eingänge auf Visualisierung
// - Melderanzeige der digitalen Ausgänge auf Visualisierung
// - Stromausfall und Watchdog loggen


//================================================================================
// Symbolikreferenz / Kommentare / Notizen
//================================================================================
// S0.0 -> schaltet Ausgang 0.0 EIN
// S0.1 -> schaltet Ausgang 0.1 EIN
// S0.2 -> schaltet Ausgang 0.2 EIN
// S0.3 -> schaltet Ausgang 0.3 EIN
// S0.4 -> schaltet Ausgang 0.4 EIN
// S0.5 -> schaltet Ausgang 0.5 EIN
// S0.6 -> schaltet Ausgang 0.6 EIN
// S0.7 -> schaltet Ausgang 0.7 EIN
// S1.0 -> schaltet Ausgang 1.0 EIN
// S1.1 -> schaltet Ausgang 1.1 EIN
// S1.2 -> schaltet Ausgang 1.2 EIN
// S1.3 -> schaltet Ausgang 1.3 EIN
// S1.4 -> schaltet Ausgang 1.4 EIN
// S1.5 -> schaltet Ausgang 1.5 EIN
// S1.6 -> schaltet Ausgang 1.6 EIN
// S1.7 -> schaltet Ausgang 1.7 EIN
//--------------------------------------------------------------------------------
// E0.0 -> schaltet Ausgang 0.0 EIN
// E0.1 -> schaltet Ausgang 0.1 EIN
// E0.2 -> schaltet Ausgang 0.2 EIN
// E0.3 -> schaltet Ausgang 0.3 EIN
// E0.4 -> schaltet Ausgang 0.4 EIN
// E0.5 -> schaltet Ausgang 0.5 EIN
// E0.6 -> schaltet Ausgang 0.6 EIN
// E0.7 -> schaltet Ausgang 0.7 EIN
// E1.0 -> schaltet Ausgang 1.0 EIN
// E1.1 -> schaltet Ausgang 1.1 EIN
// E1.2 -> schaltet Ausgang 1.2 EIN
// E1.3 -> schaltet Ausgang 1.3 EIN
// E1.4 -> schaltet Ausgang 1.4 EIN
// E1.5 -> schaltet Ausgang 1.5 EIN
// E1.6 -> schaltet Ausgang 1.6 EIN
// E1.7 -> schaltet Ausgang 1.7 EIN


// ===============================================================================
// Webschalter(HTML) oder digitaler Eingang steuert digitalen Ausgang an
// ===============================================================================
A0.0 = S0.0 || E0.0
A0.1 = S0.1 || E0.1
A0.2 = S0.2 || E0.2
A0.3 = S0.3 || E0.3
A0.4 = S0.4 || E0.4
A0.5 = S0.5 || E0.5
A0.6 = S0.6 || E0.6
A0.7 = S0.7 || E0.7

A1.0 = S1.0 || E1.0
A1.1 = S1.1 || E1.1
A1.2 = S1.2 || E1.2
A1.3 = S1.3 || E1.3
A1.4 = S1.4 || E1.4
A1.5 = S1.5 || E1.5
A1.6 = S1.6 || E1.6
A1.7 = S1.7 || E1.7


// ===============================================================================
// digitalen Eingang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H2.0 = E0.0
H2.1 = E0.1
H2.2 = E0.2
H2.3 = E0.3
H2.4 = E0.4
H2.5 = E0.5
H2.6 = E0.6
H2.7 = E0.7

H3.0 = E1.0
H3.1 = E1.1
H3.2 = E1.2
H3.3 = E1.3
H3.4 = E1.4
H3.5 = E1.5
H3.6 = E1.6
H3.7 = E1.7


// ===============================================================================
// digitalen Ausgang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7

H1.0 = A1.0
H1.1 = A1.1
H1.2 = A1.2
H1.3 = A1.3
H1.4 = A1.4
H1.5 = A1.5
H1.6 = A1.6
H1.7 = A1.7


// ===============================================================================
// Watchdog und Stromausfall loggen
// ===============================================================================
// Powerfail 4
P8.0 = Y1.5 TXT "Powerfail 4 - Stromausfall";

// Watchdog
P8.1 = Y1.4 TXT "Watchdog - Zykluszeit ueberschritten";


// ===============================================================================
// Programmende
// ===============================================================================

analog

Standardrules für Web@SPS Analog

// ===============================================================================
// Projektdaten
// ===============================================================================
// Projekt:	Standardrules Analog												  
// Autor:	brangl electronics
// Stand:	03.07.2018
// Version:	0.4


// ===============================================================================
// Programmbeschreibung
// ===============================================================================
// Die Standardrules für Web@SPS Analog enthält folgende Funktionen.
// - Analogparametrierung
// - Analogprotokollierung auf Console und in Logfile
// - Ansteuerung der digitalen Ausgänge über Webschalter oder digitale Eingänge
// - Melderanzeige auf Visualisierung
// - Stromausfall und Watchdog loggen


// ===============================================================================
// Versionshinweis
// ===============================================================================
// Rules-Programm lauffähig unter Web@SPS 3 Analog, ab Firmwareversion 4
// Haftungsausschluss: Dieses Programm ist ein Beispiel und sollte als solches 
// verwendet werden. Wenn Sie dieses Programm oder Teile davon in Ihrer Anwendung 
// verwenden möchten, müssen Sie den Code selbst validieren.


// ===============================================================================
// Symbolikreferenz / Kommentare / Notizen
// ===============================================================================
// S0.0 -> schaltet Ausgang 0.0 EIN
// S0.1 -> schaltet Ausgang 0.1 EIN
// S0.2 -> schaltet Ausgang 0.2 EIN
// S0.3 -> schaltet Ausgang 0.3 EIN
// S0.4 -> schaltet Ausgang 0.4 EIN
// S0.5 -> schaltet Ausgang 0.5 EIN
// S0.6 -> schaltet Ausgang 0.6 EIN
// S0.7 -> schaltet Ausgang 0.7 EIN
// S1.0 -> schaltet Analogfreigabe Kanal 0 EIN
// S1.1 -> schaltet Analogfreigabe Kanal 1 EIN
// S1.2 -> schaltet Analogfreigabe Kanal 2 EIN
// S1.3 -> schaltet Analogfreigabe Kanal 3 EIN
// S1.4 -> schaltet Analogfreigabe Kanal 4 EIN
// S1.5 -> schaltet Analogfreigabe Kanal 5 EIN
// S1.6 -> nicht belegt
// S1.7 -> nicht belegt
// -------------------------------------------------------------------------------
// E0.0 -> schaltet Ausgang 0.0 EIN
// E0.1 -> schaltet Ausgang 0.1 EIN
// E0.2 -> schaltet Ausgang 0.2 EIN
// E0.3 -> schaltet Ausgang 0.3 EIN
// E0.4 -> schaltet Ausgang 0.4 EIN
// E0.5 -> schaltet Ausgang 0.5 EIN
// E0.6 -> schaltet Ausgang 0.6 EIN
// E0.7 -> schaltet Ausgang 0.7 EIN


// ===============================================================================
// Analogwert Parameter Info
// ===============================================================================
// Funktion:	OFF = AUS
//       		E-- = Eingang auf Ausgang
//       		S-- = Sollwert auf Ausgang
//       		P-- = P-Regler
//				R-- = Rampe
//       		Z-- = Zweipunktregler
//       		EZ- = Eing. a. Ausg + Zweipunktregler
//      		SZ- = Sollw. a. Ausg. + Zweipunktregler
//      		PZ- = P-Regler + Zweipunktregler
//				RZ- = Rampe + Zweipunktregler
//
// OFF:			keine Parameter
//
// E--:			keine Parameter
//
// S--:			keine Parameter
//
// P--:			1. Parameter:	Verstärkung P-Regler: 	0.01 bis 5.00
//
// R--:			1. Parameter: 	Sollwert Rampe AUF 		innerhalb Scalmin/max
//				2. Parameter: 	Zeit für Rampe AUF 		Sekunden (REAL)
//				3. Parameter: 	Zeit für Rampe AB 		Sekunden (REAL)
//
// Z--:			1. Parameter:	unterer Grenzwert:		innerhalb Scalmin/max
//				2. Parameter:	oberer Grenzwert:		innerhalb Scalmin/max
//				3. Parameter:	unterer Schwellwert:	innerhalb Scalmin/max
//				4. Parameter:	oberer Schwellwert:		innerhalb Scalmin/max
//
// EZ-:			1. Parameter:	unterer Grenzwert:		innerhalb Scalmin/max
//				2. Parameter:	oberer Grenzwert:		innerhalb Scalmin/max
//				3. Parameter:	unterer Schwellwert:	innerhalb Scalmin/max
//				4. Parameter:	oberer Schwellwert:		innerhalb Scalmin/max
//
// SZ-:			1. Parameter:	unterer Grenzwert:		innerhalb Scalmin/max
//				2. Parameter:	oberer Grenzwert:		innerhalb Scalmin/max
//				3. Parameter:	unterer Schwellwert:	innerhalb Scalmin/max
//				4. Parameter:	oberer Schwellwert:		innerhalb Scalmin/max
//
// PZ-:			1. Parameter:	Verstärkung P-Regler: 	0.01 bis 5.00
//				2. Parameter:	unterer Grenzwert:		innerhalb Scalmin/max
//				3. Parameter:	oberer Grenzwert:		innerhalb Scalmin/max
//				4. Parameter:	unterer Schwellwert:	innerhalb Scalmin/max
//				5. Parameter:	oberer Schwellwert:		innerhalb Scalmin/max
//
// RZ-:			1. Parameter: 	Sollwert Rampe AUF 		innerhalb Scalmin/max
//				2. Parameter: 	Zeit für Rampe AUF 		Sekunden (REAL)
//				3. Parameter: 	Zeit für Rampe AB 		Sekunden (REAL)
//				4. Parameter:	unterer Grenzwert:		innerhalb Scalmin/max
//				5. Parameter:	oberer Grenzwert:		innerhalb Scalmin/max
//				6. Parameter:	unterer Schwellwert:	innerhalb Scalmin/max
//				7. Parameter:	oberer Schwellwert:		innerhalb Scalmin/max


// ===============================================================================
// Analogparametrierung
// ===============================================================================
W0.0 = S1.0 SZ- 80;20;70;30;	// Sollwert auf Ausgang + ZPR
W1.0 = S1.1 SZ- 80;20;70;30;	// Sollwert auf Ausgang + ZPR
W2.0 = S1.2 SZ- 80;20;70;30;	// Sollwert auf Ausgang + ZPR
W3.0 = S1.3 SZ- 80;20;70;30;	// P-Regler + ZPR
W4.0 = S1.4 Z-- 20;40;50;70;	// ZPR
W5.0 = S1.5 Z-- 20;40;50;70;	// ZPR


// ===============================================================================
// Analogprotokollierung - im 20s (Y0.6) Takt 
// ===============================================================================
M0.0 = S1.0 && Y0.6
M0.1 = S1.1 && Y0.6
M0.2 = S1.2 && Y0.6
M0.3 = S1.3 && Y0.6
M0.4 = S1.4 && Y0.6
M0.5 = S1.5 && Y0.6

P0.0 = M0.0 TXT "[ SW0 = {SW0} | AE0 = {AE0} | AA0 = {AA0} ]";
P0.1 = M0.1 TXT "[ SW1 = {SW1} | AE1 = {AE1} | AA1 = {AA1} ]";
P0.2 = M0.2 TXT "[ SW2 = {SW2} | AE2 = {AE2} | AA2 = {AA2} ]";
P0.3 = M0.3 TXT "[ SW3 = {SW3} | AE3 = {AE3} | AA3 = {AA3} ]";
P0.4 = M0.4 TXT "[ AE4 = {AE4} ]";
P0.5 = M0.5 TXT "[ AE5 = {AE5} ]";


// ===============================================================================
// Webschalter(HTML) oder digitaler Eingang steuert digitalen Ausgang an
// ===============================================================================
A0.0 = S0.0 || E0.0
A0.1 = S0.1 || E0.1
A0.2 = S0.2 || E0.2
A0.3 = S0.3 || E0.3
A0.4 = S0.4 || E0.4
A0.5 = S0.5 || E0.5
A0.6 = S0.6 || E0.6
A0.7 = S0.7 || E0.7


// ===============================================================================
// digitalen Eingang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H2.0 = E0.0
H2.1 = E0.1
H2.2 = E0.2
H2.3 = E0.3
H2.4 = E0.4
H2.5 = E0.5
H2.6 = E0.6
H2.7 = E0.7


// ===============================================================================
// Reglerfreigabe auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H1.0 = W0.0
H1.1 = W1.0
H1.2 = W2.0
H1.3 = W3.0


// ===============================================================================
// digitalen Ausgang auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H0.0 = A0.0
H0.1 = A0.1
H0.2 = A0.2
H0.3 = A0.3
H0.4 = A0.4
H0.5 = A0.5
H0.6 = A0.6
H0.7 = A0.7


// ===============================================================================
// Analogmeldungen von ZWR auf Visualisierung anzeigen -> Webmelder(HTML)
// ===============================================================================
H3.0 = W0.1
H3.1 = W0.2
H3.2 = W0.3
H3.3 = W0.4
H3.4 = W1.1
H3.5 = W1.2
H3.6 = W1.3
H3.7 = W1.4

H4.0 = W2.1
H4.1 = W2.2
H4.2 = W2.3
H4.3 = W2.4
H4.4 = W3.1
H4.5 = W3.2
H4.6 = W3.3
H4.7 = W3.4


// ===============================================================================
// Watchdog und Stromausfall loggen
// ===============================================================================
// Powerfail 4
P8.0 = Y1.5 TXT "Powerfail 4 - Stromausfall";

// Watchdog
P8.1 = Y1.4 TXT "Watchdog - Zykluszeit ueberschritten";


// ===============================================================================
// Programmende
// ===============================================================================