Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Besonderer Betriebstundenzähler

tiego
2010-06-27
2010-06-30
  • tiego - 2010-06-27

    Hallo

    könnte uns bitte jemand sagen wie man einen betriebstundenzähler machen kann der volgende sachen ausgeben kann?

    Eingänge

    -in = Ein oder Aus

    Ausgabe

    -Betriebstunden in sec. genau

    -Letzte Einschaltung (Uhrzeit)

    -Letzte Ausschaltung(Uhrzeit)

    -Wie viele Einschaltvorgänge

    Könnte uns da bitte jemand weiterhelfen.

    das ganze müssten wir als block anlegen.

    Danke für Hilfe

     
  • gravieren - 2010-06-27

    Hi

    Schau doch mal zu w www.oscat.de w

    Da gibt es schon fertige.

    Notfalls mal den beiliegenden Quellcode anpassen.

    Fertig.

     
  • tiego - 2010-06-27

    Leider kenn ich mich mit den quellcodesachen nicht aus.

    könntest du mir bitte ein wenig weiter helfen?

    Welche blöcke ich z.b. brauche

     
  • gravieren - 2010-06-28

    Hi

    Lade dir die Bibliothek und das Handbuch herunter.

    Suche im Handbuch was du benötigst.

    Teste dieses.

    Wenn du den Quellcode ändern willst öffne die *.lib und ändere die Bibliothek nach deinen wünschen.

    Fertig.

     
  • tiego - 2010-06-28

    Hallo

    könntest du mir bitte sagen wie ich die zeit der letzten ein bzw auschaltvorgang ausgeben kann?

    Grüsse und vielen dank

     
  • CFCler - 2010-06-28

    Hi gravieren,

    tiego hat eine Frage gestellt, er bekommt eine pauschale Antwort schau bei oscat nach, Handbuch, .lib, ist frei undundund.

    Ich habe es inzwischen aufgegeben .

    Oscat ist bestimmt eine gute Sache für Profis,

    aber es gibt auch blutige Anfänger die hier Hilfe suchen, und dann immer

    die gleiche Antwort O....., lesen im Handbuch usw.

    Das Handbuch hat inzwischen über 500 ? Seiten, wie sollen wir Anfänger uns da zurechtfinden, .

    Ich benütze Foren um Hilfe von Profis bei meinen Problemen zu erhalten, und um zu lernen, das Gebiet der Programmierung ist für mich als Seiteneinsteiger eh schon schwierig und kompliziert genug, und dann meist: lese mal nach bei O....,, benütze die .lib na ja.

    Nichts für Ungut, musste einfach mal raus.

    Malcom

     
  • Anonymous - 2010-06-29

    Originally created by: mg

    Pssst .... nicht aufregen.

    Der geeignete Befehl im OSCAT ist ONTIME.

    Allerdings das mit der letzten Uhrzeit ist schon VIEL schwieriger: Hier spielt das Zielsystem schon eine Rolle: Hat das Zielsystem eine Sommer- Winterumschaltung? Man kann das Ganze mit dem Oscat machen, dann muß man die Uhrzeit / SoWi-Umschaltung / Abweichung geg. über Greenwichtime dort festlegen. OSCAT rechnet nämlich normerweise immer mit der GREENWICH-TIME. Das heißt in unseren Längengraden +1h und je nachdem mit Sommer- bzw. Winterzeit + eine weitere h. Des weiteren ist's mit der Uhrzeit nicht getan. Man braucht auch noch das Datum dazu! Probleme gibts dann noch zusätzlich, wenn man eine automatische Aktualisierung über SNTP verwendet und die Alarmliste bzw den Trend in der VISU verwendet. Dann ist das mit dem OSCAT auf einmal nicht mehr so einfach möglich.

    Wie gesagt auch ich verweise immer auf das ach so dicke Handbuch! Obwohl ich das Ganze mit dem Oscat mache, muß ich halt auch immer wieder dort mal nachschauen, weil ich mir die geeigneten Befehle natürlich von Projekt nach Projekt weiterkopiere und mir (in meinem Hirnchen) nicht jeden Code merken kann.

     
  • tiego - 2010-06-29

    danke!

    das mit den ontime habe ich schon gefunden.

    als kontroller verwende ich einen 841! mit echtzeituhr.

    den ontime habe ich schon im griff nur die letzte ein ausschaltzeit auszugebn habe ich keine ahnung.

    aber vieleicht könnte mir ja jemand ein beispiel machen oder erklären wie man das ausgeben könnten...

    Vielen Dank

     
  • Anonymous - 2010-06-29

    Originally created by: mg

    Verwendest Du das Alarmjournal in der WebVisu?

     
  • tiego - 2010-06-29

    Nein das verwende ich nicht.

    ich würde das c.a. 30 mal in einem block brauchen.

     
  • Anonymous - 2010-06-29

    Originally created by: mg

    Ok dann stelle die Uhrzeit im Controller auf GREENWICH TIME (Über die RS232).

    Mit folgenden Befehlen die Uhr stellen:

    ** DEKLARATION **

    PROGRAM PLC_PRG

    VAR

    CALENDAR_CALC_GLOBAL:CALENDAR_CALC;
    
                systemcal:CALENDAR;
    
                TIME_ON_dt: DT; (* Einschaltzeit,datum *)
    
                TIME_OFF_dt: DT; (* Ausschaltzeit,datum *)
    
                feedback_x:BOOL; (* zu überwachende Variable *)
    
                old_feedback_x:BOOL; (* Zwischenvariable *)
    

    END_VAR

    ** PROGRAMM ***

    ( globale Uhrvariablen )

    systemcal.UTC:=SysRtcGetTime(dummy:=TRUE);

    systemcal.DST_EN:=TRUE; ( Sommerzeit )

    systemcal.OFFSET:=60; ( Zeitverschiebung zur GREENWICH TIME )

    ( Oscat Kalender/Uhr-Funktion starten )

    CALENDAR_CALC_GLOBAL(XCAL:=systemcal);

    IF feedback_x<>old_feedback_x ( aktiv nur bei Wertänderung )

    THEN

    old_feedback_x=feedback_x;

    IF feedback_x:=TRUE ( aktiv nur bei Änderung auf TRUE )

    THEN

    TIME_ON_dt:=systemcal.LTD;

    END_IF;

    ELSE

    old_feedback_x=feedback_x;

    IF feedback_x:=FALSE ( aktiv nur bei Änderung auf FALSE )

    THEN

    TIME_OFF_dt:=systemcal.LTD;

    END_IF;

    END_IF;

    Das Prg ist UNGETESTET ! das überlasse ich Dir. Sollte aber gehen. Man beachte, daß die Auswirkung eines Stromausfalles berücksichtigt werden muß! wie? ... das weiß ich selber noch nicht! Die Deklaration sollte evtl. zumindest teilweise als PERSISTANT RETAIN ausgeführt werden.

    Das ist bei Gott nicht die einzigste Lösung ... es gibt sicher noch tausende andere!

    PS: Ich muß meinen Vorrednern beipflichten. Bitte Ihr sollt schon ein bischen Ahnung von der Programmierung haben bevor Ihr hier postet. Das Forum ist KEIN Programmierkurs!

     
  • tiego - 2010-06-29

    leider bekomme ich beim einsetzen der daten die fehlmeldungen:

    Fehler 3740: uhr (3): Unbekannter typ 'Calendar_calc'

    Fehler 3740: uhr (3): Unbekannter typ 'Calendar'

    Ich bin leider änfänger im Strukturierten text.

    aber mit fub komme ichg nicht recht weit.

    Bitte helft mir weiter

     
  • Anonymous - 2010-06-30

    Originally created by: mg

    So wie ich das sehe hast die die OSCAT3.20 nicht oder fehlerhaft eingebunden oder die verwendeten Bausteine sind nicht aktiv:

    siehe RESSOURCEN (ist der Reiter/Karteikarte ganz unten)

    weiter auf BIBLIOTHEKSVERWALTER klicken

    auf der rechten Bildschirmseite muß eine Bibliothek (ich nehme mal an daß Du die aktuelle verwendest dann ists...) C:...\OSCAT320.lib ... erscheinen. (wenn nicht ... bitte nochmals korrekt einbinden)

    Wenn man dort draufklickt kann man sich die DATENTYPEN = CALENDAR und die BAUSTEINE = Time&Date/CALENDAR_CALC ansehen. Dann sollte es korrekt sein! Bitte NUR EINE OSCAT einbinden. Niemals 2 Versionen gleichzeitig!

    Wenn man das alles gemacht hat, muß wegen der Einschränkung der maximalen Bausteinanzahl auch noch der zu verwendete Baustein gewählt werden. (Hierfür gibt es bereits VIELE Meldungen im OSCAT-Forum). Aber ich erkläre es kurz nochmals wie man das ganze MANUELL macht (es gibt auch was automatisches aber ich hatte immer wieder Probleme damit - sollte aber auch gehen ... ich nehme an, Du hast das automatische Verfahren gewählt und nun sind auch die beiden CALENDAR Elemente nicht aktiv ... wenn ich Recht habe kannst Du so weiterverfahren): Man gehe in das Menü: PROJEKT/OPTIONEN ... es öffnet sich ein Fenster.

    Und dort weiter unter ÜBERSETZUNGSOPTIONEN und klicke in der rechten Bildschirmhälfte auf den Button "OBJEKTE AUSSCHLIESSEN ..." Hier suche man sich mit VIEL Mühe (beachte die Untermenü's) die Objekte Datentypen/CALENDAR und Bausteine/Time&Date/CALENDAR_CALC.

    Man aktiviere die beiden Bausteine/Datentypen.

    Versuche eine neue Übersetzung. Der Fehler bei den beiden Bausteinen/Datentypen ist nun nicht mehr da. Dafür werden weitere Bausteine mit der selben Fehlernummer erscheinen, die nicht übersetzt werden können (die dir aber nicht bekannt sind). Das ist logisch. Da OSCAT in den beiden aktivierten Bausteinen/Datentypen, weitere Bausteine aus der eigenen Bibliothek verwendet hat, die nun ebenfalls logischerweise verwendet werden. D.h. Du mußt nun die weiteren Bausteien in den ÜBERSETZUNGSOPTIONEN/OBJEKTE AUSSCHLIESSEN... suchen (viel Arbeit!) und aktivieren. Aber nach 2-3 Übersetzungen bist Du meist am Ziel. (Beachte: OSCAT verwendet Untermenü's, dh.: Du mußt in den Untermenü's die Bausteine suchen ... und das kann evtl ziemlich aufwändig sein!)

    Viel Spass

    (Bin heute nur noch bi 8°° erreichbar sonst wieder morgen!)

    PS: Strukturierte Text ... ist kein Problem. Ist nur eine andere Darstellungsart und man gewöhnt sich nahezu sofort daran. Probiers einfach mal. Ich verwende zB kein FUP dafür aber CFC. Ist jedem seine Sache und im Ergebnis kommt man auf das gleiche. (mit dem Hinweis daß mit ST die Möglichkeiten am größten sind)

     

Log in to post a comment.