Anwendung von BLIND_CONTROL_S

Begonnen von Frozengun, 06. September 2017, 17:16:37

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Frozengun

Hallo zusammen,

ich hoffe ich werde hier nicht gleich gesteinigt, aber ich komme trotz probieren und lesen nicht wirklich weiter :( Meine Hardware besteht aus einer S7 414-3 CPU und diversen Baugruppen. Gesteuert werden, sollen 9 Rolladen. Ich habe die Buildings Library auch soweit eingebunden. Nach langen Probieren festgestellt, dass man zum Betrieb noch andere Bausteine in das Projekt fügen muss, inkl. Datenbaustein etc. Der Baustein funktioniert wohl auch. Jetzt wollte ich z.B. noch ein BLIND_INPUT in das Netzwerk fügen, aber ich kann die einzelnen Anschlüsse nicht verdrahten. Das einzige was passiert, sieht man auf dem Screenshot.

Profis rollen jetzt sicher nur die Augen, aber das ist mein erster Kontakt mit der S7 Welt. Sonst fliege ich woanders rum ^^

Wenn jemand ein Beispielprojekt hat, nehme ich dies natürlich auch gerne an!

Vielen Dank schonmal.

Liebe Grüße Sebastian

[gelöscht durch Administrator]

Ajuba

Du möchtest wohl "Verbindungslinien" zwischen den Bausteinen ziehen.
Das geht in Step7 aber nicht direkt.
Du musst die Ein-und Ausgänge mit Merkern oder Datenbausteinpunkten verbinden.
Du kannst direkt beim Baustein M0.0, M0.1 bzw. MB1, MB2, usw schreiben
Wenn du nun möchtest, dass ein Ausgang vom ersten Baustein mit einem Eingang vom zweiten Baustein verbunden wird schreibst du bei beiden den gleichen Merker rein.

ACHTUNG:
Richtige Datentypen: BIT, BYTE, WORD, ...
Keine Merker Doppelbelegungen: Extras/Referenzdaten anzeigen

Erst wenn du das gemacht hast kannst du wirklich beurteilen ob es läuft. Werte kannst du dir in der Online Ansicht des Bausteins oder in einer Variablentabelle ansehen.


Hoffe, das hilft für den Anfang

Frozengun

Vielen Dank für deine Antwort! Mit den Merkern bin ich bereits weiter gekommen. Also es tut sich schonmal was ^^ Muss man für jeden Rolladen ein Netzwerk anlegen, mit diesen Baustein, oder geht das auch eleganter?

Gibt es eine Bausteinkonstellation, wo der Automatikmodus immer nur aktiv ist, wenn er extern eine neue Position bekommt und im Handbetrieb die Relais nach erreichen der Endpositionen auch abschalten? Das wäre so mein Ziel. Die Position schreibe ich von Symcon in den Baustein, auch das klappt schonmal. Zusätzlich sind jeweils noch 2 Schalter vorhanden, welche zu Taster getauscht werden.

Ajuba

Zu der Funktion der Bausteine treffe ich keine Aussagen weil ich selbst noch damit kämpfe.

Netzwerke sind eine sinnvolle Sache um das Programm zu strukturieren.
Ich weiß nicht was schlecht daran sein soll, für jeden Rollläden ein eigenes Netzwerk zu haben mit der richtigen Überschrift und im Idealfall sogar einem Kommentar.
Und glaube mir, du wirst noch einige Netzwerke brauchen um zusätzliche Aufgaben zu erledigen. Wenn du nicht alles in ein Netzwerk packst wird es mitunter sogar übersichtlicher

Frozengun

Habe deinen anderen Thread gesehen. Ich werde noch etwas probieren, wenn ich was rausfinde, werde ich es posten.

Übersichtlicher sind getrennte Netzwerke schon, aber ist auch recht umständlich dann mit den vielen Merkern. Kann man da eigentlich immer den gleichen gleichen FB248 nehmen, oder muss ich da auch mehrere erstellen oder was anderes beachten?

Ajuba

Auf diese Frage habe ich schon gewartet.  ;D

1. Zu den Merkern
Auch ich würde mir oft wünschen, dass ich einfach "Linien" ziehen kann und nicht überlegen muss wo noch ein Merker frei ist.
- Aber dann kriegst du haufenweise Linien-Kreuzungspunkte und es sieht auch nicht besser aus.
- Außerdem sieh es mal so, wenn du einen Merker dazwischen hast kannst du dort über Variablentabellen immer nachschauen, wie der Status dort ist (Fehlersuche)
- Du kannst und sollst idealerweise den Merkern auch sinnvolle Symbolnamen geben. Das macht es auch übersichtlicher.
- Statt der vielen Merker könntest du auch einen DB anlegen wo von allen Rolladen alle Werte reinkommen. Da sollte man sich aber vorher eine sinnvolle Struktur und Reihenfolge aller Werte überlegen.
- Zu jammern hilft nichts, es ist halt so. Und beim programmieren sollte man sich ja theoretisch immer vorher überlegen welche Variablen man braucht.  ;)

Zu den FBs
Du hast das Ganze laut dem ersten geposteteten Bild schon mal in einen FB1 gepackt was gut ist.
- Den FB248 kannst du aufrufen so oft du willst (das ist ja der Sinn von FBs und ist vergleichbar mit Unterprogrammen in Hochsprachen) ABER du must ihm zu jedem Aufruf immer einen neuen DB oben reinschreiben. DB248, DB249 usw. für jeden Rolladen.
- Wenn du nicht so viele DBs "rumliegen" haben möchtest kannst du eleganter den FB1 zu einem Multiinstanzen FB machen. Dann werden alle Daten der die sonst in DB248, DB248, usw. wären im DB des FB1 gespeichert. Wie geht das? Geh oben in die Variablendefinition (bei deinem Screenshot ist der Bereich zugeschoben). Dort findest neben Ein- und Ausgangsvariablen auch "stat". Dort trägst du dann z.B. Control_Wohnzimmer, Control_Schlafzimmer, ... ein. Bei der Typ-Auswahl musst du ganz nach unten scrollen (heißt FB oder so ähnlich) und nach der Auswahl schreibst du 248 rein damit es nicht mehr rot ist. Bei jedem das Gleiche. Deine FBs ziehst du dir jetzt nicht mehr von der OSCAT Library rein sondern du findest unter Multiinstanzen die soeben definierten Control_Wohnzimmer, Control_Schlafzimmer, ...
Das hab ich aus dem Kopf beschrieben und hoffe, dass es so stimmt - sonst musst du nur "Multiinstanzen" googeln um genaue Anleitungen zu finden.

Zum Thema Doppelklick von meinem anderen Thread bitte ich dich auch um Tests und deine Rückmeldung. Wir zwei sind anscheinend die einzigen die in diesem Forum aktiv schreiben.  :-X