Elektroda.pl
Elektroda.pl
X
SterControlSterControl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STEP7 - wydobycie danych o dacie

25 Cze 2012 23:14 1124 3
  • Poziom 18  
    Witam.

    Potrzebuję wydobyc dane o aktualnej dacie w step7 (s7-300) i z liczb zrobić stringa.

    Generalnie już sobie poradziłem, ale niestety z jakiegoś powodu dostaję co prawda np. rok jako liczbę 12 ale w zapisie szesnastkowym co oznacza, że po zmianie na integer dostaję liczbe 18 :\.

    Więc.. jak wydobyć rok, miesiąc, dzień, godzinę, minutę i sekundę z tego sterownika.. i zrobić z tych liczb stringa np. dzisiejsza data to: 120625231400
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • SterControlSterControl
  • SterControlSterControl
  • Pomocny post
    Specjalista Automatyk
    Jeśli masz zmienną 8 bytową DATE_AND_TIME to każdy kolejny bajt tej zmiennej to kolejno rok, miesiąc, dzień, godzina, minuta, sekunda. Jeżeli masz tą zmienną z adresem startowym M100.0 to wpisujesz:

    L MB100
    BTI
    T Year

    L MB101
    BTI
    T Month

    L MB102
    BTI
    T Day

    L MB103;
    BTI
    T Hour

    L MB104
    BTI
    T Minute

    L MB105
    BTI
    T Second

    gdzie zmienne czasu deklarujesz gdzie chcesz i są typu INT.
    A do konwersji INT na STRING to chyba FC16 I_STRNG IEC?
  • Poziom 18  
    Dzięki kolego Rkacz.
    W całej procedurze brakowało mi właśnie tego BTI stąd te błędy o których pisałem w moim poście.

    Teraz mi to działa jak powinno (fragment):
    Code:


      CALL  "READ_CLK"
           RET_VAL:=#return
           CDT    :=#czas

          LAR1  P##czas

          L     B [AR1,P#0.0]
          BTI   
          T     #year

          L     B [AR1,P#1.0]
          BTI   
          T     #month

          L     B [AR1,P#2.0]
          BTI   
          T     #day

          L     B [AR1,P#3.0]
          BTI   
          T     #hour

          L     B [AR1,P#4.0]
          BTI   
          T     #minute

          L     B [AR1,P#5.0]
          BTI   
          T     #second

          L     B [AR1,P#6.0]
          BTI   
          T     #nano