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

Results 1 to 9 of 9

Thread: Codesys : INT_TO_TIME

  1. #1
    Join Date
    17.04.2007
    Location
    Kiel
    Posts
    650
    Danke
    198
    Erhielt 79 Danke für 74 Beiträge

    Default


    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.
    Reply With Quote Reply With Quote Codesys : INT_TO_TIME  

  2. #2
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

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

  3. #3
    Kieler's Avatar
    Kieler is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    17.04.2007
    Location
    Kiel
    Posts
    650
    Danke
    198
    Erhielt 79 Danke für 74 Beiträge

    Default

    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
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    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
    Kieler's Avatar
    Kieler is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    17.04.2007
    Location
    Kiel
    Posts
    650
    Danke
    198
    Erhielt 79 Danke für 74 Beiträge

    Default

    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
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    Quote Originally Posted by Kieler View Post
    ...
    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
    Kieler's Avatar
    Kieler is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    17.04.2007
    Location
    Kiel
    Posts
    650
    Danke
    198
    Erhielt 79 Danke für 74 Beiträge

    Default

    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
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    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
    Kieler's Avatar
    Kieler is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    17.04.2007
    Location
    Kiel
    Posts
    650
    Danke
    198
    Erhielt 79 Danke für 74 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by zotos View Post
    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.

Similar Threads

  1. Codesys 2.3 und CAA Netbase Services aus CodeSys 3
    By philipp75 in forum CODESYS und IEC61131
    Replies: 2
    Last Post: 25.11.2019, 07:59
  2. Konvertieren eines Codesys V2 Programm in Codesys V3
    By lieuthnant in forum CODESYS und IEC61131
    Replies: 1
    Last Post: 28.10.2019, 16:35
  3. Replies: 0
    Last Post: 21.03.2018, 15:47
  4. Codesys V3 Visu betrieb an einer Codesys V2 CPU möglich?
    By mnuesser in forum CODESYS und IEC61131
    Replies: 0
    Last Post: 29.12.2015, 12:36
  5. Replies: 1
    Last Post: 07.04.2015, 13:50

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •