Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 9 von 9

Thema: Codesys : INT_TO_TIME

  1. #1
    Registriert seit
    17.04.2007
    Ort
    Kiel
    Beiträge
    496
    Danke
    162
    Erhielt 67 Danke für 63 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kann mir mal jemand kurz auf die Sprünge helfen. Ich möchte unter Codesys eine Zeitverzögerung mit Hilfe der Timer Funktion TON der Standard.LIB realisieren. Die Zeitverzögerung in Sekunden wird vom PLS als Integerwert vorgegeben.
    Jetzt die Frage : Wie wandel ich meinen Integerwert (immer Sek.) in das Format Time ?
    Hat jemand eine Idee?

    Schon jetzt vielen Dank.
    So einfach wie möglich – so kompliziert wie nötig.
    Zitieren Zitieren Codesys : INT_TO_TIME  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wert := DINT_TO_TIME(1000*INT_TO_DINT(SekundenVorgabe));
    If you open your Mind too much, your Brain will fall out.

  3. #3
    Avatar von Kieler
    Kieler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.04.2007
    Ort
    Kiel
    Beiträge
    496
    Danke
    162
    Erhielt 67 Danke für 63 Beiträge

    Standard

    Vielen Dank Zotos,

    das sieht ja ganz einfach aus, wenn ich den jetzt wüsste, wo ich die Funktion DINT_TO_TIME hernähme. Was bewikrt eigentlich die 1000? Hat das was mit der verwendeten Zeitbasis zu tun?
    So einfach wie möglich – so kompliziert wie nötig.

  4. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    DINT_TO_TIME ist doch fester Bestandteil von CoDeSys.

    1s sind 1000ms das TIME Format arbeitet halt mit Millisekunden.
    If you open your Mind too much, your Brain will fall out.

  5. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    Kieler (23.12.2008)

  6. #5
    Avatar von Kieler
    Kieler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.04.2007
    Ort
    Kiel
    Beiträge
    496
    Danke
    162
    Erhielt 67 Danke für 63 Beiträge

    Standard

    Vielen Dank Zotos,

    Du hast mich kurz vor den Feiertagen noch in die richtige Richtung geschoben. Habe gleich etwas rumgespielt.
    Es geht auch :
    WERT := INT_TO_TIME(VG*1000);
    Erstaunlicher Weise geht es auch dann noch, wenn das Ergebnis schon lange nicht mehr in ein Integer passt.

    Nochmals vielen Dank.
    So einfach wie möglich – so kompliziert wie nötig.

  7. Folgender Benutzer sagt Danke zu Kieler für den nützlichen Beitrag:

    zotos (23.12.2008)

  8. #6
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Kieler Beitrag anzeigen
    ...
    Es geht auch :
    WERT := INT_TO_TIME(VG*1000);
    Erstaunlicher Weise geht es auch dann noch, wenn das Ergebnis schon lange nicht mehr in ein Integer passt.
    ...
    Das überrascht mich nicht wirklich. Der Integer wert VG wird ja mit einer Konstante 1000 Multipliziert und das Zwischenergebnis wird in einem 32Bit Format behandelt. Also macht der Compiler eine Implizite Typumwandlungen. Ich finde Explizite Typumwandlungen aber verständlicher auch wenn diese den Code aufblähen.
    If you open your Mind too much, your Brain will fall out.

  9. #7
    Avatar von Kieler
    Kieler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.04.2007
    Ort
    Kiel
    Beiträge
    496
    Danke
    162
    Erhielt 67 Danke für 63 Beiträge

    Standard

    Ich werde jetzt meine "Feiertage" nutzen um ein Codesys Programm zu schreiben. Über 10 Jahre Siemens prägen doch ganz schön, obwohl man immer sagt die Sprache spielt eine untergeordnete Rolle. Hatte mich etwas in Richtung BIBLIOTHEK verrannt, weil die Zeiten ja auch nur über diesen Weg gehen. Habe ich das richtig verstanden, das die eingebundenen Bibliotheken immer vollständig mit in die Steuerung geladen werden? Haut man den Speicher der Steuerung so nicht unnötig voll?
    So einfach wie möglich – so kompliziert wie nötig.

  10. #8
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Der Compiler zieht sich aus den Bibliotheken raus was er braucht und nicht mehr.

    Man sieht bei den Bibliotheken auch was benötigt wird und was nicht die benötigten Elemente sind schwarz die nicht verwendeten sind grau dargestellt ("Ausnahme" ist die Standard.lib die ist komplett drin).

    Das angesprochene INT_TO_TIME ist z.B. nicht in einer Bibliothek sondern direkt ein "Sprachelement" von allen CoDeSys Sprachen. Das Typecasting hat in der IEC61131-3 eine elementare Bedeutung und von daher kannst Du fast jeden Type in einen anderen Type mit "Type_TO_Type" wandeln.
    If you open your Mind too much, your Brain will fall out.

  11. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    Kieler (23.12.2008)

  12. #9
    Avatar von Kieler
    Kieler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.04.2007
    Ort
    Kiel
    Beiträge
    496
    Danke
    162
    Erhielt 67 Danke für 63 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von zotos Beitrag anzeigen
    Der Compiler zieht sich aus den Bibliotheken raus was er braucht und nicht mehr.
    ...na dann ist ja gut
    So einfach wie möglich – so kompliziert wie nötig.

Ähnliche Themen

  1. CoDeSys
    Von doug82 im Forum PC- und Netzwerktechnik
    Antworten: 6
    Letzter Beitrag: 02.11.2011, 21:29
  2. EoE mit CoDeSys 3.4 sp3
    Von HomerX im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 07.06.2011, 10:54
  3. Codesys V2.x VS V3 ?
    Von Humbe im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 19.04.2011, 07:50
  4. CodeSys
    Von Mark4you im Forum Suche - Biete
    Antworten: 6
    Letzter Beitrag: 01.02.2011, 10:28
  5. FC in S7 = was in Codesys
    Von Beginner09 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 26.02.2009, 11:30

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •