[ Pobierz całość w formacie PDF ]
.___________________________________________________________________________2/83B2.9-11 RóÝnica pomi´dzy dwiema datami (z czasem)Jest to funkcja umoÝliwiajàca obliczenie róÝnicy mi´dzy dwiema datami z uwzgl´dnie-niem pory dnia.Wynikiem jest wartoÊc bezwzgl´dna zapisywana w s"owie podwójnym.StrukturaJ´zyk Ladder J´zyk ListLD TRUE[%MD10 := DELTA_DT (%MW2:4,%MW6:4)]J´zyk ST%MD10 := DELTA_DT (%MW2:4, %MW6:4) ;Przyk"ad: %MD10 := DELTA_DT (%MW2:4, %MW6:4)%MW2:4 := data numer1 (np.1994-05-01-12:00:00)%MW6:4 := date numer2 (np.1994-05-01-12:01:30)==> %MD10 = 900 (==> róÝnica = 1 minuta i 30 sekund)Sk"adniaOperator Wynik :=DELTA_DT(Data1,Data2)ArgumentyTyp Wynik Data 1 i 2Indeks.s"owa podwójne %MD,Nieindeksowalne s"owa %QDpodwójneTablica o d"ugoÊci 4 s"ów %MW:4, %KW:4w formacie DTWynik ma format TIME natomiast Data 1 i 2 - format DT.WartoÊç zapisywana jest w formacie TIME z dok"adnoÊcià do 1/10 sekundy.NatomiastwartoÊci w formacie DT definiuje si´ z dok"adnoÊcià do 1 sekundy.Stàd teÝ, obliczonaróÝnica czasu b´dzie wielokrotnoÊcià 10.Uwaga" JeÝeli wynik przekracza wartoÊç maksymalnà dla okresu czasu (format TIME),to nast´puje przepe"nienie.Wynikiem jest wtedy 0, a bit %S18 ma stan 1." JeÝeli jeden z parametrów wejÊciowych nie moÝe byç prawid"owo zinterpre-towany lub jest niezgodny z formatem DATE, to bit systemowy %S17 przyjmujewartoÊç 1, a wynikiem jest 0.___________________________________________________________________________2/84Instrukcje z"oÝone 2B2.9-12 RóÝnica pomi´dzy dwoma czasamiTa funkcja umoÝliwia obliczanie róÝnicy pomi´dzy dwoma czasami okreÊlajàcymipor´ dnia.Wynik jest wartoÊcià bezwzgl´dnà zapisywanà w s"owie podwójnym.StrukturaJ´zyk Ladder J´zyk ListLD TRUE[%MD10 := DELTA_TOD (%MD2, %MD4)]J´zyk ST%MD10 := DELTA_TOD (%MD2, %MD4) ;Przyk"ad: %MD10 := DELTA_TOD (%MD2, %MD4)%MD2 := czas1 (np.02:30:00)%MD4 := czas2 (np.02:40:00)==> %MD10 = 6600 (==> róÝnica = 11 minut)Sk"adniaOperator Wynik :=DELTA_TOD(Czas1,Czas2)ArgumentyTyp Wynik Czas 1 i 2Indeks.s"owa podwójne %MD %MD,%KDNieindeksowalne s"owa %QD %ID,%QDpodwójne WartoÊç bezp., Wyr.numeryczneWynik ma format TIME natomiast Czas 1 i 2 majà format TOD.WartoÊç zapisywana jest w formacie TIME z dok"adnoÊcià do 1/10 sekundy.NatomiastwartoÊci w formacie TOD definiuje si´ z dok"adnoÊcià do 1 sekundy.Stàd teÝobliczona róÝnica czasu b´dzie wielokrotnoÊcià 10.UwagaJeÝeli jeden z parametrów wejÊciowych nie moÝe byç prawid"owo zinterpre-towany i jest niezgodny z formatem TOD, to bit systemowy %S17 przyjmujewartoÊç 1, a wynikiem jest 0.___________________________________________________________________________2/85B2.9-13 Konwersja daty na "a’cuch znakówTa instrukcja powoduje przeliczenie daty (bez czasu) na "a’cuch znaków o formacieRRRR-MM-DD (10 znaków).¸a’cuch ko’czy znak ko’ca "a’cucha.KaÝdemuznakowi R,M,D odpowiada liczba.StrukturaJ´zyk Ladder J´zyk ListLD TRUE[%MB2:11 := DATE_TO_STRING (%MD40)]J´zyk ST%MB2:11 := DATE_TO_STRING (%MD40) ;Przyk"ad: %MB2:11 := DATE_TO_STRING (%MD40)%MD40 := DATE (np.1998-12-27)==>Sk"adniaOperator Wynik :=DATE_TO_STRING(Data)ArgumentyTyp Wynik DataTablice o d"ugoÊci 11 bajtów %MB:11Indeks.s"owa podwójne %MD,%KDNieindeksowalne s"owa %ID,%QDpodwójne WartoÊç bezp., WyraÝenie num.Uwagi: JeÝeli parametr wejÊciowy (data) nie moÝe byç w"aÊciwie zinterpretowana lub jestniezgodna z formatem DATE, to bit systemowy %S17 przyjmuje wartoÊç 1, a funkcja zwracanast´pujàcy "a’cuch: ' **** - ** - ** '.JeÝeli docelowy "a’cuch jest za krótki, to nast´pujeobci´cie, a bit systemowy %S15 przyjmuje wartoÊç 1.%MB2:8 := DATE_TO_STRING (%MD40)==> %S15 = 1==>JeÝeli "a’cuch docelowy jest zbyt d"ugi, to jest on uzupe"niany znakami ko’ca "a’cucha.%MB2:12 := DATE_TO_STRING (%MD40)==>___________________________________________________________________________2/86Instrukcje z"oÝone 2B2.9-14 Konwersja pe"nej daty na "a’cuch znakówTa funkcja umoÝliwia konwersj´ daty (wraz z czasem) na "a’cuch znaków o nast´-pujàcym formacie: RRRR-MM-DD-GG:MM:SS (19 znaków).¸a’cuch ko’czy znakko’ca "a’cucha.KaÝdemu znakowi R,M,D,G,M,S odpowiada liczba.StrukturaJ´zyk Ladder J´zyk ListLD TRUE[%MB2:20 := DT_TO_STRING (%MW50:4)]J´zyk ST%MB2:20 := DT_TO_STRING (%MW50:4) ;Przyk"ad: %MB2:20 := DT_TO_STRING (%MW50:4)%MW50:4 := Data i czas (typ DT) (np.1998-12-27-23:14:37)Sk"adniaOperator Wynik :=DT_TO_STRING(Data)ArgumentyTyp Wynik DataTablica 20-bajtowa %MB:20Tablica o d".4 s"ów %MW:4, %KW:4w formacie DTUwaga: JeÝeli parametr wejÊciowy (data) nie moÝe byç poprawnie zinterpretowany lub jestniezgodny z formatem DT (DATE_AND_TIME), to bit systemowy %S17 przyjmuje wartoÊç 1,a w wyniku otrzymuje si´ "a’cuch znaków ' **** - ** -** - ** : ** : **'
[ Pobierz całość w formacie PDF ]