Zähler als Multiinstanz

Zuviel Werbung?
-> Hier kostenlos registrieren
Systemfunktionen?
Sind IEC Funktionen im System der PLC?

Nicht so allgemein. Aber zumindest Timer, Zähler und Pulsgenerator sind Systemfunktionien.

Und einen sinnvoll programmierten und geprüften Zähler ist besser als sich auf Bibliotheken zu verlassen, die sich ändern können.

Du kannst davon ausgehen das nicht einmal Siemens an einem Zähler nennenswert was vermasseln kann.

Ich gehe mit dir einig das fürs Verständnis nicht schlecht ist mal einige Zählfunktionen selber zu erstellen. Aber Produktiv sollte man meiner Meinung nur schon aus Ressourcengründen wo immer möglich auf Systemfunktionen zurückgreifen.

mfG René
 
@hucki
Natürlich kann man Siemens-Zähler auch in multiinstanzierten FB verwenden, aber man muss dabei beachten, dass man (wie auch bei jedem anderen mehrfach aufgerufenen FB) die Zählernummer als IN-Parameter übergibt, sonst gibt es Chaos, und es scheint mir, als ob der TE genau das NICHT beachtet hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK,
dann muss man doch aber dem TE sagen, Du mußt das und das beachten und nicht einfach, das geht nicht.
Zumal ich hier den Eindruck habe, daß der TE mit den IEC-Funktionen noch weniger klar kommt.

Bei den S7-Timern muß man ja bei mehrfachen Aufruf des FBs das Gleiche beachten und das scheint er ja lt. Post 1 schon gemacht zu haben.



Und bei all dem bleibe ich bei meiner Aussage, das dies überhaupt nichts mit der Multiinstanz zu tun hat, sondern nur mit dem mehrfachen Aufruf des FBs innerhalb eines Programmzyklusses. Auch bei gemischtem Aufruf als Multiinstanz und normal FB,DB.


PS:
Natürlich kann man Siemens-Zähler auch in multiinstanzierten FB verwenden, aber man muss dabei beachten, dass man (wie auch bei jedem anderen mehrfach aufgerufenen FB) die Zählernummer als IN-Parameter übergibt, sonst gibt es Chaos, ...
Wenn der Siemenszähler im ganzen Programm nur das eine Mal in dieser Multiinstanz aufgerufen wird, muss ich auch die Zählernummer nicht übergeben, sondern kann sie ganz normal im FB an den Zähler schreiben.
 
Zuletzt bearbeitet:
Nein, aber es setzt ihn voraus, oder ist das hier jetzt eine Wortklauberei? :D
Keine Wortklauberei und wieder: Was hat das eine mit dem anderen zu tun?

...
Multiinstanz schrieb:
Multiinstanzen sind FBs, die innerhalb eines FBs aufgerufen werden und keinen eigenen DB haben (wie sonst für FBs obligatorisch). Sie bringen ihre Daten im DB des sie aufrufenden FBs unter. Man könnte sagen, sagen, dass die DBs von Multiinstanzen in einen anderen DB "geschachtelt" sind.
...

Multiinstanz und mehrfacher Aufruf von FBs sind einfach zwei verschiedene Sachen. Sie können zusammen auftreten, müssen aber nicht.
 
@hucki

Du hast doch meinem Beitrag #10 schon zu 100% zugestimmt :eek:

Wenn ich (MI-)FB´s schreibe, dann haben aber darin absolute Aufrufe und Parameter nichts zu suchen,
auch wenn der FB nur einmal aufgerufen wird;)

Stell´dir vor, du hast einen solchen FB in einem Projekt geschrieben, ein 1/2 jahr später wird dieser wegen
der tollen Funktionen in einem anderem Projekt nochmal benutzt, von mir auch mit Mehrfach-Aufrufen.
Die Jungs werden sich bedanken, erstmal absolute Timer und Zähler da rauszuprogrammieren.
Und ein Zähler oder Timer benötigt ja auch keinen eigenen DB, oder ?

gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kann aber mit jedem FB passieren, der absolute Parameter enthält, egal ob MI oder nicht.

Man kann doch einen FB (der nur einmal benötigt wird) zur besseren Lesbarkeit in mehrere Teile zerlegen, diese Teil-FBs in einen Ober-FB packen und alle Daten dazu in einem DB als Multiinstanz zusammen fassen.
Und ich kann einen FB auch mehrfach mit jeweils eigenen Instanzen/DBs aufrufen. In diesem Fall gilt auch das von Dir gesagte.


Was Sinn macht und was nicht, muss doch jeder für sich entscheiden.


Aber es bleibt nun mal dabei: MI bedingt keinen mehrfachen Aufruf und mehrfacher Aufruf bedingt keine MI.

Und es bleibt auch dabei: Beides geht auch mit Siemens-Zählern, ob sinnvoll oder nicht.
Und wenn jemand damit besser zurecht kommt, warum soll er sie dann nicht nutzen?


PS:
Stell´dir vor, du hast einen solchen FB in einem Projekt geschrieben, ein 1/2 jahr später wird dieser wegen
der tollen Funktionen in einem anderem Projekt nochmal benutzt, von mir auch mit Mehrfach-Aufrufen.
...
Und stell Du Dir vor, wieviele Hobby-Programmierer zuhause nur ihre eigene SPS programmieren und denen Wiederverwertbarkeit deshalb nicht so wichtig ist.
:p
 
Zuletzt bearbeitet:
Zurück
Oben