Autor Thema: Betriebsstundenzähler in Anwenderbaustein  (Gelesen 1727 mal)

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Betriebsstundenzähler in Anwenderbaustein
« am: Mai 15, 2023, 21:19:39 Nachmittag »
Die Ausstattung der E4 mit 4 Betriebsstundenzähler ist nicht gerade üppig
wenn die Betriebsstunden aller Antriebe einer Anlage aufgezeichnet oder gemeldet werden sollen.

Der Versuch, den Herstellerbaustein OT in einem Anwenderbaustein einzufügen
scheitert an dem dann fehlenden Herstellerbaustein OT.

Warum ist dieser bei direktem Aufruf vorhanden, für den Aufruf in einen Anwenderbaustein nicht?

Ist dieses gewollt oder ein Programmfehler, da bei etlichen anderen Herstellerbausteinen auf diesem Wege die Anzahl der Bausteine
erweitert werden können.

Gruß, Jürgen







Offline w.sprungmann

  • Full Member
  • ***
  • Beiträge: 201
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #1 am: Mai 31, 2023, 13:56:16 Nachmittag »
Hallo Jürgen,
leider fehlt mal wieder die Antwort von der Entwicklungsabteilung,
es wäre doch eine nette Geste eine Antwort zu geben.
Gruß Wilhelm

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #2 am: Mai 31, 2023, 16:07:41 Nachmittag »
Hallo Wilhelm,

wie recht du hast!

Vielleicht ist es auch ein bisschen zu viel verlangt, einem Anwender Rede und Antwort zu stehen.
Es reicht doch, wenn dieser die Gerätschaften gekauft hat, soll er doch sehen wie er damit klar kommt.

Gruß, Jürgen

Offline JansenDa

  • Administrator
  • easy god
  • *****
  • Beiträge: 10040
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #3 am: Juni 01, 2023, 13:31:04 Nachmittag »
Hallo Jürgen & Wilhelm,

entschuldigt bitte meine späte Antwort. Ich schaffe es leider nicht jeden Tag ins Forum zu schauen und alles direkt zu beantworten.

Dafür gibt es jetzt die ungefilterte Antwort des Kollegen der Entwicklungsabteilung zu diesem Thema:

Zitat
Alle Bausteine, die globale Ressourcen des easyOS zur Ausführung benötigen (und dazu gehören auch OT) sind generell nicht für AFBs freigeschaltet – sonst gibt es unerwünschte Effekte durch Mehrfachinstanziierung oder Mehrfachverwendung. FB OT sind immer remanent und die Speicherung dieser Remanenzdaten erfolgt in 4 festen Datenfeldern des Headers (und nicht wie sonst im Remanenzblock). Die Zuordnung zum Datenfeld erfolgt FB-intern anhand der FB OT Instanznummer. Deshalb die Limitierung auf 4, die auch nicht durch Verlagerung in den AFB umgangen werden kann.

Nachträglich füge ich noch hinzu: Der Wert des OT kann man ja als Eingang am AFB setzen und hat somit den Wert im AFB zur Verfügung.

Viele Grüße aus Bonn,
Daniel

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #4 am: Juni 01, 2023, 19:29:47 Nachmittag »
Hallo Daniel,

danke für die Rückmeldung, die aber im Kern nicht meine Frage beantwortet.

In der Praxis sind 4 OT zu wenig. Was mache ich, wenn mehr als 4 OT benötigt werden?

Der Hinweis auf die Verwendbarkeit des OT-Ausganges in einem AFB
für den Ablauf von vorgegebenen Betriebsstunden-Intervallen
mit entsprechenden Hinweisen auf Wartungen etc. ist nachvollziehbar,
würde sich dann aber auch auf die vorgenannten 4 OT beschränken.

Muss hierfür ein Anwender-OT mit Minuten- u. Stundenzähler mit einem Ausgang - der dann als MW oder DW remanent abgelegt wird - erstellt werden?

Gruß, Jürgen

Offline ELWMS

  • Jr. Member
  • **
  • Beiträge: 89
  • 400er...500...800...e4...Galileo
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #5 am: Juni 02, 2023, 11:44:29 Vormittag »
Hallo!
Nur so eine fixe Idee. Ein Betriebstundenzähler ist nichts anderes, als ein Zähler der nach einer abgeschlossenen Zeiteinheit, den Zähler um eins erhöht. Welche Zeiteinheit man wählt, (Sekunden, Minuten, Stunden, ...) ist dem Anwender überlassen, und richtet sich aber auch danach ob man MW(32768)  oder MD (2147483648) verwenden will. das könnte man auch schick in einen Anwenderbaustein verpacken. Das der Speicherberiech dann remanent gewählt werden muss, ist Grundvorausssetzung. Es geht ganz spartanisch oder oder luxeriös, am besten in ST programmiert. Ich denke wenn man Betriebsstunden zählt, sind Sekunden eher zweitrangig.

MW:     32768 Minuten sind ca. 546 Stunden
MD:      2147483648 Minuten sind  ca. 35791394 Stunden
MD:      2147483648 Sekunden sind ca. 35791394 Minuten  sind ca. 596523 Stunden

Gruß,

ELWMS
C64...ABB ACS100 bis 880...ABB SAL...EPLan P8...STEP7...300/400 & TIA... EASY E4... GALILEO... EATON SWD... SEW...STÖBER...AUTOSEN...IT...PROFIBUS...PROFINET

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 230
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #6 am: Juni 02, 2023, 12:25:07 Nachmittag »

...Nur so eine fixe Idee. Ein Betriebstundenzähler ist nichts anderes, als ein Zähler der nach einer abgeschlossenen Zeiteinheit, den Zähler um eins erhöht...


Hallo ELWMS!
Danke! - Die "fixe Idee", wie du es nennst, ist natürlich die Lösung  ;). Einfach easy.

Grüße
Konni
Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #7 am: Juni 02, 2023, 12:57:42 Nachmittag »
Hallo,
hab mal auf die schnelle einen Vorschlag geschrieben

Anfang Hauptprogramm, Taktmerker erzeugen.
RC01 (
EN := ,
DT => ,
E1 => ,
YY => ,
MM => ,
DD => ,
WD => ,
HR => ,
MN => ,
SC => );
//Sec aus der RTC einlesen und M01 als Taktmerker
M01:= false;
IF MB512 <> RC01SC THEN
M01:= true ;
END_IF;
MB512:= RC01SC;

Anwenderbaustein:
//I01 = aktiv; I02 = Takt; I03 = reset;  MD01 remanent machen
IF I01 and I02 THEN
MD01:= MD01 + 1;
END_IF;
// Reset
IF I03 THEN
MD01:= 0;
END_IF;
//Sollwert erreicht
Q01:=(QA01 >= IA01);
//Ausgabe Betriebsstunden
QA01= MD01 / 3600;


Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #8 am: Juni 03, 2023, 23:54:25 Nachmittag »
Da ich der ST-Programmierung nicht mächtig bin,
habe ich mal einen Anwenderbaustein in FU-Programmierung erstellt
und bitte um dessen Testung und Rückmeldung.

Schöne Grüße, Jürgen
« Letzte Änderung: Juni 03, 2023, 23:56:22 Nachmittag von Juergen__R »

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 594
  • it has to be easy, it's a easy!
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #9 am: Juni 04, 2023, 17:23:11 Nachmittag »
Hallo Jürgen,
ich sehe bei deiner Schaltung das Problem dass du die Sekundenwerte nicht Remanent hast, das bedeutet dass alle einschaltdauern unter einer Minute verlierst. (das Problem hatten wir schon mal bei älteren easy's)

Den Zähler mit Minuten zu füttern halte ich nicht für notwendig da die Sekunden (wenn ich mich nicht verrechnet habe) erst nach 68 Jahren überlaufen würden ;) und wenn Zähler, dann kann man gleich diese Remanent setzen  8)

Ich würde das ganze etwas einfacher lösen wollen, siehe Anhang ...

Gruß

PS: den Zeitwert für den Sekundentakt würde ich bei 990 ms anlegen da es damit vermutlich etwas genauer werden würde  8)
« Letzte Änderung: Juni 04, 2023, 17:26:19 Nachmittag von weiss_nix »
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #10 am: Juni 04, 2023, 20:48:03 Nachmittag »
Hallo weiss_nix,

danke für die Rückmeldung mit Anhang.

Sicher hast du recht mit dem jeweiligen Verlust der ersten Minute. Dieses steht der Ungenauigkeit deines Timers gegenüber.
Dieses dürfte bei der Anzeige von Betriebsstunden belanglos sein, da hier der Minutenimpuls genauer sein sollte.
Hier muss man sich dann wohl entscheiden, Pest oder Colera.

Gruß, Jürgen

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 594
  • it has to be easy, it's a easy!
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #11 am: Juni 04, 2023, 22:00:09 Nachmittag »
... alles klar  ;), ich würde dennoch die Uhr (RC01) außerhalb der Anwenderfunktion realisieren da es scheinbar ein Problem gibt wenn mehrere Instanzen davon verwendet werden. siehe hier

Dar Anwenderbaustein könnte dann in etwa so aussehen ...
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 255
  • I love easy-Forum.net
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #12 am: Juni 06, 2023, 18:52:26 Nachmittag »
Ich habe am seit dem Wochenende mehrere Betriebsstundenzähler im Testmodus am laufen.

Betriebsstundenzähler 1: als Anwenderbaustein mit dem Sekundenausgang des Echtzeitbaustein  programmiert,
Betriebsstundenzähler 2: als Anwenderbaustein über ein Zeitbaustein programmiert,
Betriebsstundenzähler 3: als Herstellerbaustein OD01 programmiert.

Alle 3 Betriebsstundenzähler werden zeitgleich mit dem Eingang I1 gestartet.
Der Zeitraffer ist auf 600 Sekunden eingestellt.

Nach Ablauf von ca. 5800 Stunden stelle ich folgendes fest:

Die Betriebsstunden von Zähler 1 + 3 sind gleich. bei jedem Start kann eine Abweichung zwischen 0 und 1 Minuten vorliegen.
Betriebsstundenzähler 2 hat hohe Abweichungen.

Die Abweichungen sind auch nicht durch Änderung des Zeitwertes im Timer zu kompensieren,
da der einzustellende Wert wohl zwischen 2 Möglichkeiten liegt und entweder zu groß oder zu klein ist.

Fazit: Wenn die Betriebsstundenzähler OT1..4 nicht ausreichen, ist vorzugsweise mit dem Sekundenwert der Echtzeit zu arbeiten.

Wie genau sollte ein Betriebsstundenzähler sein?

Gruß, Jürgen


Offline w.sprungmann

  • Full Member
  • ***
  • Beiträge: 201
Antw:Betriebsstundenzähler in Anwenderbaustein
« Antwort #13 am: Juni 07, 2023, 06:49:42 Vormittag »
Hallo Jürgen,
hast du dich verschrieben?
Es sind nicht 5800Std sondern 5800Min, also 5800 / 60 = 96Std
Gruß Wilhelm
« Letzte Änderung: Juni 07, 2023, 11:37:23 Vormittag von w.sprungmann »