1

Téma: [vyřešeno] Dotaz: použivání simulátoru 1-W

Simulátor mi nepřejde přes :

label cekam_na_teplotu:
t=sys[310];
if (t == 16777216) goto cekam_na_teplotu;

Záložku 1-wire, čidlo 1 mám zaškrtnuté, hodnotu jsem tam taky vložil.

Používám to špatně anebo je to chyba?

Dík

2

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Je tam vše co je potřeba ?
Co takhle:

main

{
var t;
cekam_na_teplotu:

t=sys[310];

if (t == 16777216) goto cekam_na_teplotu;
}
SDS micro DIN - firmware 8.7.2014, SDS micro DIN - firmware Beta xx.x.2014
SDS nováček :-) Správce sítě, programátor, kutil .... :-)

3

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Tak to mám. V zařízení to pracuje. Pouze na simulátoru to nejede.

4

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Tak bude jiná verze simulátoru ... já mám ze dne 4.1.2014 a jede !!!

SDS micro DIN - firmware 8.7.2014, SDS micro DIN - firmware Beta xx.x.2014
SDS nováček :-) Správce sítě, programátor, kutil .... :-)

5

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Zaškrtnutí čidla simuluje jeho fyzické připojení na drát sběrnice 1-W.
Odpovídá to tomu, jako by v reálu někdo vzal čidlo a připojil ho za provozu ke sběrnici.
Taky ho SDS bude v tomto případe ignorovat - až do rescanu sběrnice.
Takže po zaškrtnutí (nebo odebrání) čidla či čidel, je potřeba ve stejném okně (simulátor 1-W) zmáčknout tlačítko RESCAN (dole) pro danou sběrnici.
Pozn.: hodnoty změřené teploty, a chyby, lze měni a vyvolávat za provozu bez nutnosti mačkat rescan.
Pozn.: rescan vyžaduje běžící simulátor, tzn. "běží spolu s programem".

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

6

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Díky. Já jsem dal vždy ten rescan až když to bylo v té čekací smyčce na teplotu a to bylo pozdě. Musí se to udělat předtím.

7

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Lze to udělat i kdykoliv potom (v průběhu simulace), jen je potřeba počkat dostatečně dlouhou dobu - stejně dlouhou, jakou by to trvalo za provozu zařízení (samozřejmě simulace musí být spuštěna, sledujte "UpTime" jak roste v desítkách msec).

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

8

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Simulátor projevuje dvě závady:
1. Když nastavuji některé hodnoty (čas,1-wire,network) tak zpomalí a už se nerozjede na maximální rychlost. Dělá mi to. když čtu celou dataflash, a pak to trvá dlouho.

2. když dělám http get a nastavím chybu (1026,400) tak po několika průchodech hlásí STACK OVERFLOW a hodnoty se odešlou, i když je chyba stále nastavena.

9

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

ad 1. to nechám zkontrolovat

ad 2. to je špatně napsaným SDS-C programem (volá funkci z funkce tak dlouho, až se vyčerpá celý návratový stack SDS-C programu - buď rekurze, nebo příliš hluboké vnoření)

Příklad rekurze:

funkce
{
   // funkce volá sama sebe - což by nemuselo být nutně zlé, pokud bude omezen počet takových volání
   funkce();
}

Takže nakonec takto:

Simi napsal:

2. Skok pomocí "goto" z vlastní funkce do main asi není dobrý nápad (přetečení zásobníku ??).

Pokud se program napíše správně, neměl by to být problém (můžete skočit dalším goto zase zpátky do funkce atd.). Ale určitě to není "běžný" způsob programování, a tak to při nesprávném programu snadno způsobí že se vyčerpá stack.

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

10

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Díky.

K tomu bodu 1. Zvýším rychlost na maximum a stačí pouze změnit velikost okna a rychlost klesne.

11

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Zkuste nový SDSC.exe

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

12

Re: [vyřešeno] Dotaz: použivání simulátoru 1-W

Paráda, díky. Zdá se, že to funguje. Před tím to i při zvýšení rychlosti čekalo na  wait(1000); tu sekundu.