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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 43

Thema: s5time Multiplizieren

  1. #11
    settelma ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.05.2007
    Beiträge
    280
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Na ja schau mer mal.

    Ich versuchs mal.

    Danke für die Hilfe.

    Gruß Markus

  2. #12
    settelma ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.05.2007
    Beiträge
    280
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Wenn du nun weißt, wie du die Zahlen eingeben willst, kannst du die Zahl umrechnen.
    Die Integerzahl überprüfen welcher Zahlenrahmen benutzt wird.
    Du kannst es als 10 in Bit 12 und 13 deklarieren, die Zeit aus Integer in BCD wandeln und an den Timer anschalten.
    Du musst nur die Zahlen auf Gültigkeit und das gewandelte Ergebnis prüfen, wenn da ein Fehler drin ist geht die PLC auf Stopp.

    Alles geklärt?


    bike
    Tja das funktioniert wunderbar bis zur Zahl 12. Ab 13 passen die Werte nicht mehr. Ich hab das mit dem Bit 12 und 13 noch nicht verstanden.

    Kannst du mir das ( für Einsteiger ) nochmal erklären.

    Danke

    Gruß Markus

  3. #13
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von settelma Beitrag anzeigen
    Tja das funktioniert wunderbar bis zur Zahl 12. Ab 13 passen die Werte nicht mehr. Ich hab das mit dem Bit 12 und 13 noch nicht verstanden.

    Kannst du mir das ( für Einsteiger ) nochmal erklären.

    Danke

    Gruß Markus
    Die ersten 3 Nibble(4bit) beinhalten die Zahl im BCD Format.
    Da kann Maximal 999 drin stehen.
    Mit den beiden Bits, 12 und 13 wird skaliert.
    00 = Zeitbasis 0,01s
    01 = 0,1s
    10 = 1 s
    11 = 10s

    wenn du 0,3 sek hast, dann schaut das Zeitwort so aus:
    xx01 0000 0000 0101
    Die beiden xx sind relevant 01 = skaliert auf 0,1 s und am ende die 3 sind hoffe ich klar.

    Du nimmst eine Integerzahl und wandelst diese mit I_BCD?
    Und was machst du dann?


    bike

  4. #14
    settelma ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.05.2007
    Beiträge
    280
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ich habs so im Programm stehen.
    Den DB100.DBW 2 lege ich direkt auf den Zeiteingang der Einschaltverzögerung.

    L DB100.DBW 0 // der einstellbare Wert am TP als int
    ITD
    DTR
    L 1.700000e+000 // Multiplikationswert
    *R
    RND
    ITB
    T DB100.DBW 2 // Istwert am Eingang der Einschaltverzögerung als s5time

  5. #15
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von settelma Beitrag anzeigen
    Ich habs so im Programm stehen.
    Den DB100.DBW 2 lege ich direkt auf den Zeiteingang der Einschaltverzögerung.

    L DB100.DBW 0 // der einstellbare Wert am TP als int
    ITD
    DTR
    L 1.700000e+000 // Multiplikationswert
    *R
    RND
    ITB
    T DB100.DBW 2 // Istwert am Eingang der Einschaltverzögerung als s5time
    Und was steht in dem DBW?
    Zum skalieren musst du die Bits setzen
    set
    = db100.dbx12.0
    clr
    = db100.dbx13.0
    damit du auf die 0,1 sek Skalierung kommst.


    bike

  6. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von settelma Beitrag anzeigen
    Ich hab hald schon die Siemens Timer im Programm verwendet und will nicht alles umstellen. Wär schon schön wenns S5t wär.
    Tip1: Wenn Du am Panel die Zeit unbedingt als S5TIME eingeben willst, dann kannst Du auch den Eingabewert mit FC33 S5TI_TIM in TIME# umwandeln, Deine Multiplikation machen und anschließend mit FC40 TIM_S5TI in S5TIME zurückwandeln (Standard Library > IEC Function Blocks).
    Tip2: Ganzzahl-Multiplikation mit Runden: TIME# * 1,7 = (TIME# * 17 + 5) / 10

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #17
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Skalieren kann das Panel eigentlich auch selbst:
    In den Eigenschaften der Variablen gibt es unter "Eigenschaften" den Punkt "Lineare Skalierung". Da gibst Du bei "Anfangswert" auf beiden Seiten "0" ein und als "Endwert" bei "Steuerung" einen Wert ein, der 1,7-mal höher ist, als der, den Du bei "Bediengerät" eingibst.
    In der Steuerung musst Du dann nichts mehr machen, da das Panel direkt die S5TIME skaliert, einschließlich der richtigen Zeitbasis.
    Gruß
    Michael

  8. #18
    settelma ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.05.2007
    Beiträge
    280
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das mit der Skalierung funktioniert ja einwandfrei.

    Habs gerade mal getestet. Und ich brauch keine Hand ans Programm zu legen.

    Vielen Dank für den Tipp.

    Hat das auch irgendwelche Nachteil.

    Gruß Markus

  9. #19
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von settelma Beitrag anzeigen
    Hat das auch irgendwelche Nachteil.
    Wenn da ein Fragezeichen stehen sollte, dann ja.
    Denn es ist für jeden der das Programm nicht erstellt hat, wenn 10 eingegeben wird und mit 17 gearbeitet wird.
    So etwas ist fatal und die schlechteste Lösung die ich mir vorstellen kann.
    Was soll der arme Instandhalter oder nachfolgende Programmierer tun, wenn er nicht das gesamte Programm und die Visualisierung analysieren will/kann.

    Jeder kann irgend etwas irgendwie verbiegen, doch ist das sinnvoll?



    bike


    Ps: es geht auch anders. Doch scheinbar ist die Bequemlichkeit mehr wert als gute Programme zu erstellen.
    Meine Meinung, das ist MIST!

  10. #20
    settelma ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.05.2007
    Beiträge
    280
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Genau deshalb hab ich gefragt.
    Das ist keine Sache von Bequemlichkeit. Ich hab das Programm mittlerweile auf IEC Timer umgestellt. Hab also jetzt beide Versionen. Für mich ist es aber sehr hilfreich um neue Sachen zu lernen.

    Nochmal zu der Geschichte mit den IEC Timern. Das hat noch nicht so richtig funktioniert.

    Ich hab den Timer in einen FC gezogen und genauso angesteuert wie den Siemens Timer. An Ausgang Q einen Merker gesetzt den ich dann im Programm wie den Siemens Timer verschalten hab.
    Allerdings hat mir der Timer den Merker nie gesetzt bzw. die Zeit ist nicht abgelaufen. Ich weiss wiedermal nicht an was das liegt. Ich habs so gemacht wie es in der Hilfe steht.

    Noch ne andere Frage. Ich benötige 20 Timer. Muss dann wirklich für jeden ein eigener Datenbaustein erzeugt werden. Da bekommt man ja ganze Massen zusammen.

    Gruß Markus

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 10.01.2014, 11:30
  2. Zeit (Time) multiplizieren mit Real
    Von Lars Bizare im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 24.11.2011, 13:07
  3. S5Time
    Von penki im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.05.2010, 13:26
  4. SCL verschiedene Typen multiplizieren
    Von hulla66 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 04.12.2008, 18:28
  5. Zeit multiplizieren!
    Von Moritz im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 21.04.2006, 11:20

Lesezeichen

Berechtigungen

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