Shutter Controll legacy

Ich hatte vor Jahren eine Logo mit IPS im Einsatz und hatte den Shutter control dazu im Einsatz.
Jetzt hab ich wieder einen Logo jetzt wollte ich das wieder aktivieren, aber ich hab keinen Blasen was die Scripts hier suchen

Kann mir jemand helfen?

Da die Zeitstempel der Variablen einen aktuellen Zeitstempel haben, scheinen die Instanzen und auch das Shutter Control zu funktionieren.

Das was du da siehst sind keine Skripte sondern Ereignisse. Diese haben scheinbar keinen Bezug mehr auf die auslösende Variable.
Ich vermute du hast damals darüber deinen Shutter auf eine bestimmte Position gefahren.
Zeigen dir die Ereignisse noch eine Konfiguration an wenn du auf diese „Doppelklickst“.

Wenn nicht, einfach neu konfigurieren auf die von dir gewollte Aktion einrichten.

Also einfach die Ereignisse lösche?

Entweder löschen oder per Doppelklick neu konfigurieren.

Irgendwas stimmt da nicht.

Das verhält sich komplett Gaga.
Wenn der Rollo unten sein soll, dauert es über einen Minute bis der Anschluss lastfrei ist.

Keine Ahnung was da passiert

Also ich hab folgendes festgestellt, IPS schaltet manchmal einfach nicht aus.
Sprich ich fahre den Rollo ganz runter, die beiden Befehle rauf runter sind aus.
Ich fahre auf 99% rauf geht kurz an und dann aus. Fahr ich von da aus auf 50% bleibt der Befehl rauf an

Wie kann ich das regeln das dann Stopp ist?

Mein Tipp!

Wenn du eine neue LOGO! eingesetzt hast, mach das ganze neu z.B: LOGO! Anwendungsbeispiele | Logikmodul LOGO! | Siemens Deutschland

Und dann mit der Kopplung zu SYMCON alles andere ist vergebliche Mühe.

Bei der Verwendung der Beispiele darauf achten, dass die Eingänge (I) durch Merker (M) ersetzt werden, wenn du über SYMCON steuerst.

Danke, das mit den Merkern hab ich auch schon gemacht, bzw. habe sie hinzugeführt

Die Logo ist schon komplett Programmiert, hab da auf was fertiges zugegriffen.
Mir geht es ja nur um das hoch und runterfahren.

Ich muss halt schauen was da los ist mit dem Shutter

Also hier das Problem nochmal genauer.

Ich fahre den Rollo runter, beide Schalter hoch und runter sind aus.
Ich fahre von da aus auf einen beliebige Position, Schalter hoch wird eingeschaltet bis zur Position, sagen wir Mitte, dann wird er Schalter wieder ausgeschaltet.
Jetzt möchte ich auf 25% und klick drauf, Schalter hoch geht an, aber nicht mehr aus.

Und egal was ich jetzt mache, der Schalter Hoch bleibt weiter an.

Kannst du denn im „Tippbetrieb“ also setzen und rücksetzen der Merker in der LOGO! jede Position anfahren?

Also wenn ich es über die andere App mache dann kein Problem.

Danke SEWO der mich drauf hinwies das die LOGO wie ein Schalter funktioniert und nicht wie ein Taster. Kommt es mir so vor, als ob das Shuttermodul zwar startet aber den Befehl nicht mit Stopp beendet.

Wenn du einen Taster benötigst muss der Merker gesetzt werden, 20 - 100 ms gewartet und der Merker rückgesetzt werden. Oder in der LOGO! die Flanken-Funktion verwendet werden. Benutze mal die Suchfunktion für weitere Infos.

Ich spreche ja die Merker an.

Es gibt in dem Programm Eingänge, zu denen habe ich die Merker gesetzt.
Einfach analog gedacht, Eingang I3 ist Taster hoch, Eingang I2 ist Taster runter.

Das Shutter modul wird eigentlich so programmiert, das ich angebe wie lange brauchst du von Position a nach b und gebe das ein. Und genau da hakt es.

Du musst die Merker als Taster im Skript oder Ablaufsteuerung programmieren, siehe meinen vorherigen Beitrag. Sonst funktioniert die vorgegebene Steuerung in der LOGO! nicht.

Und da sind sie wieder…die berühmten Probleme …wie geht das mit dem Merker als Taster?

https://www.symcon.de/service/dokumentation/vorgehensweisen/wie-kann-ich/

Ok, aber wie passe ich das hier an:

<?php //Variables provided by ShutterControl Module //IPS_LogMessage("InstanceID", $_IPS['INSTANCE']); /* InstanceID */ //IPS_LogMessage("Direction", $_IPS['DIRECTION']); /* {0..2} Stop, Up, Down */ //IPS_LogMessage("Duration", $_IPS['DURATION']); /* ms */ if($_IPS['SENDER'] != "ShutterControl") { die("This script can only be started by the ShutterControl Module"); } define("SC_DIRECTION_STOP", 0); define("SC_DIRECTION_UP", 1); define("SC_DIRECTION_DOWN", 2); $instance = IPS_GetInstance($_IPS['INSTANCE']); switch($instance['ModuleInfo']['ModuleID']) { //Siemens Device S7/LOGO case "{932076B1-B18E-4AB6-AB6D-275ED30B62DB}": switch($_IPS['DIRECTION']) { case SC_DIRECTION_STOP: S7_WriteBit($_IPS['INSTANCE'], false); S7_WriteBit($_IPS['INSTANCE2'], false); break; case SC_DIRECTION_UP: S7_WriteBit($_IPS['INSTANCE'], true); if($_IPS['DURATION'] > 0) { IPS_Sleep($_IPS['DURATION']); S7_WriteBit($_IPS['INSTANCE'], false); } break; case SC_DIRECTION_DOWN: S7_WriteBit($_IPS['INSTANCE2'], true); if($_IPS['DURATION'] > 0) { IPS_Sleep($_IPS['DURATION']); S7_WriteBit($_IPS['INSTANCE2'], false); } break; } break; Und vor allem wo werden den die Informationen gespeichert die ich angebe wegen den Laufzeiten? Ich bin was das angeht, wirklich ein DAU

Versuche es erst einmal ohne das Modul, ganz konventionell wenn du die Merker als Taster anspricht, die eigentliche Steuerung ist ja in der LOGO! vorhanden. Alle anderen Bedingungen kannst du mit der Ablaufsteuerung einrichten.

Also Wenn ich den merker anspreche schalten die auch, also wenn es hoch gehe soll geht es an und wieder aus und das gleich wenn es runter geht.

Mal was anderes, gibt es einen Möglichkeit in IPS herauszubekommen was ein nicht mehr vorhandenes Objekt war?

Objekt #15500 existiert nicht

Musterschaltung LOGO mit Skript