1 Naposledy upravil: LeosL (2012-12-08 21:31:48)

Téma: Synchronizace času pomocí NTP

Aktuálně se problém týká SDS micro,
Toto je *BETA-VERSION* verze hw SoC-ARM REV4 100Mbit DF5, ze dne 13.11.2012.
© AN-D.cz , eshop: OnlineTechnology.cz , web: Micro.MereniEnergie.cz

Stejně se však chová i s poslední verzí, tedy s RC1.

Problém je následující…

Používáme v síti vlastní NTP server stratum 2,

root@ns1:/etc# ntptrace
localhost: stratum 2, offset -0.000466, synch distance 0.001901
tak.cesnet.cz: stratum 1, offset 0.000004, synch distance 0.000000, refid 'GPS'
root@ns1:/etc#

,pro jistotu jsem ještě ověřil i s nastavením NTP na jiné servery dle http://bass.wz.cz/ntp.html

V programu pomocí

if (sys[10] == 5 ) odesli_data_na_sql();                                       // pokud je systemovy cas 5, odeslou se data na sql server

odesílám každou 5 sec. data na sql server.
Na straně serveru pak vypadá záznam takto:


ID
datum
cas

1    2012-12-01    00:00:05
2    2012-12-01    00:01:05
3    2012-12-01    00:02:05
4    2012-12-01    00:03:05
5    2012-12-01    00:04:05
6    2012-12-01    00:05:05
7    2012-12-01    00:06:05
8    2012-12-01    00:07:05
9    2012-12-01    00:08:05
10    2012-12-01    00:09:05


Na fw ze 6.7. je vše OK, ale na vyšším firmware dochází k posunu času v sds, výsledek pak vypadá tak, že čas v db se mění..


ID
datum
cas
1    2012-12-06    01:13:14
2     2012-12-06    01:14:14
3     2012-12-06    01:14:15
4     2012-12-06    01:15:16
5    2012-12-06    01:16:17
6    2012-12-06    01:17:18
7    2012-12-06    01:18:19
8    2012-12-06    01:19:20
9    2012-12-06    01:20:21


Zkoumáním jsem zjistil, že čas v SDS se rozchází s časem serveru, vyčítal jsem ručně každou celou minutu čas v LXu a v SDS a zjistil jsem tento posun:


So pro  8 20:02:19 CET 2012
root@sds:~# date
So pro  8 20:03:20 CET 2012
root@sds:~# date
So pro  8 20:04:21 CET 2012
root@sds:/etc# date
So pro  8 20:05:22 CET 2012
root@sds:/etc# date
So pro  8 20:06:23 CET 2012
root@sds:/etc# date
So pro  8 20:06:24 CET 2012
root@sds:/etc# date
So pro  8 20:07:25 CET 2012


Právě o +1 sec každých 60 sec. Proto dochází k posunu času při zápisu dat do databáze.

Neshledal se někdo další s podobným chováním ??

L.

2

Re: Synchronizace času pomocí NTP

Nechám to prověřit / opravit.
Uvidíme co se tam děje.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: Synchronizace času pomocí NTP

adamn napsal:

Nechám to prověřit / opravit.
Uvidíme co se tam děje.

Jo jo, na 100% chybou v fw, dnes jsem udělal downgrade na v ze dne 27.3.
Toto je verze hw SoC-ARM REV4 100Mbit DF5, ze dne 27.3.2012.
© AN-D.cz , eshop: OnlineTechnology.cz , web: Micro.MereniEnergie.cz .

a zde je výsledek... v každé 8-mé vteřině zapsány data do sql, přesně jak má být

if (sys[10] == 8 ) odesli_data_na_sql();

    Upravit     Odstranit     52     2012-12-09     11:11:08
    Upravit     Odstranit     53     2012-12-09     11:12:08
    Upravit     Odstranit     54     2012-12-09     11:13:08
    Upravit     Odstranit     55     2012-12-09     11:14:08
    Upravit     Odstranit     56     2012-12-09     11:15:08
    Upravit     Odstranit     57     2012-12-09     11:16:08
    Upravit     Odstranit     58     2012-12-09     11:17:08


Díky,
L.

4

Re: Synchronizace času pomocí NTP

Dnes byl vydán firmware RC2 pro SDS MICRO, ve kterém je tento problém opraven.
Docházelo tam k pomalému zanášení chyby do aktuální hodnoty času (kvůli chvilkovému zvýšení priority pro 1-Wire sběrnici) , a tato chyba (zhruba několik setin jedné msec) pak postupně způsobila že SDS se o vteřinu zpožďovalo.

Teď už by to mělo být dobré - byl bych rád za kontrolu po několika hodinách běhu.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5

Re: Synchronizace času pomocí NTP

adamn napsal:

Dnes byl vydán firmware RC2 pro SDS MICRO, ve kterém je tento problém opraven.
Docházelo tam k pomalému zanášení chyby do aktuální hodnoty času (kvůli chvilkovému zvýšení priority pro 1-Wire sběrnici) , a tato chyba (zhruba několik setin jedné msec) pak postupně způsobila že SDS se o vteřinu zpožďovalo.

Teď už by to mělo být dobré - byl bych rád za kontrolu po několika hodinách běhu.

OK,
díky za info.

Dnes uplodnu rc2 a dám echo..

L.

6 Naposledy upravil: LeosL (2012-12-12 18:42:47)

Re: Synchronizace času pomocí NTP

LeosL napsal:
adamn napsal:

Dnes byl vydán firmware RC2 pro SDS MICRO, ve kterém je tento problém opraven.
Docházelo tam k pomalému zanášení chyby do aktuální hodnoty času (kvůli chvilkovému zvýšení priority pro 1-Wire sběrnici) , a tato chyba (zhruba několik setin jedné msec) pak postupně způsobila že SDS se o vteřinu zpožďovalo.

Teď už by to mělo být dobré - byl bych rád za kontrolu po několika hodinách běhu.

Uploadnuta RC2,
zatím to vypadá dobře.. Ještě napíšu po několika hodinách...

Celé texty     ID     datum     cas
    Upravit     Odstranit     17672     2012-12-11     13:56:10
    Upravit     Odstranit     17673     2012-12-11     13:57:10
    Upravit     Odstranit     17674     2012-12-11     13:58:10
    Upravit     Odstranit     17675     2012-12-11     13:59:10
    Upravit     Odstranit     17676     2012-12-11     14:00:10
    Upravit     Odstranit     17677     2012-12-11     14:01:10



L.

7

Re: Synchronizace času pomocí NTP

LeosL napsal:
LeosL napsal:

Uploadnuta RC2,
zatím to vypadá dobře.. Ještě napíšu po několika hodinách...

Celé texty     ID     datum     cas
    Upravit     Odstranit     17672     2012-12-11     13:56:10
    Upravit     Odstranit     17673     2012-12-11     13:57:10
    Upravit     Odstranit     17674     2012-12-11     13:58:10
    Upravit     Odstranit     17675     2012-12-11     13:59:10
    Upravit     Odstranit     17676     2012-12-11     14:00:10
    Upravit     Odstranit     17677     2012-12-11     14:01:10



L.



Po 30 hodinách provozu čas sedí...
Díky za opravu.

L.