1

Téma: Nefunkční přepínání tarifů přes SDS-C

Dobrý den,
chtěl jsem se zeptat, zda není v předposlední (a podle changelogu i poslední) verzi firmwaru chyba u přepínání tarifů pomocí SDS-C kódu? Samotný tarif se sice přepne (změna je vidět v přehledu http://192.168.20.250/s0.htm), ale spotřeba narůstá jen pro denní tarif i když je aktivní noční. U daného vstupu mám zatrženo použití tarifního rozdělení.

Děkuji,
           Pavel



Zařízení: SDS MACRO LM
Verze použitého firmware: 26.6.2020

2

Re: Nefunkční přepínání tarifů přes SDS-C

podívám se na to

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

3

Re: Nefunkční přepínání tarifů přes SDS-C

Děkuji. Pavel

4

Re: Nefunkční přepínání tarifů přes SDS-C

Vyzkoušeno s aktuálním FW a funguje to jak má.

V programu SDS-C se tarif T1 zapne takto:

 sys[495] = 1;

a vypne (přepne na T0) takto:

 sys[495] = 0;

Samozřejmě je potřeba mít nastaveno že tarif se řídí SDS-C a ne optovstupem (nastavení na webovém rozhraní) a nastaveno že daný S0 vstup je dvoutarifní.

Máte to v nastavení přepnuto na řízení tarifu z SDS-C ?

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

5

Re: Nefunkční přepínání tarifů přes SDS-C

Dobrý den, omlouvám se, asi jsem to nepopsal úplně dobře - přepínaní tarifu funguje, ale i když mám řízení nastaveno přes SDS-C, tak to nemá žádný vliv a hodnoty se přičítají jen u denního tarifu. Přikládám snímky obrazovky s nastavením a projevem chování.

Děkuji,
           Pavel

https://photos.app.goo.gl/y6QPp84xtLYXTdp6A

Naposledy upravil: Petronie (2020-07-31 09:28:07)

6

Re: Nefunkční přepínání tarifů přes SDS-C

Bez problému, napsal jste to správně, pochopil jsem to - přepínáte tarif svým programem v SDS-C a to se vám tak i zřejmě odpovídajícím způsobem zobrazuje (vybraný tarif), ale přicházející impulsy se vám zapisují stále do jednoho stejného počítadla.

Tohle jsem včera odzkoušel na SDS MACRO s aktuálním firmware a tento problém jsem nezaznamenal - funguje mi to tady správně. Pomocí SDS-C si přepnu tarif na T0 nebo T1 a přicházející impulsy na S0 vstupu se mi zapisují do toho správného počítadla (tedy ne stále do stejného). Pokud se vám to děje tak je potřeba zjistit proč.

Podle screenshotu máte nastavení správné, takže v tuto chvíli nevím kde by mohl být problém. Jaký SDS-C kód používáte, pošlete mi to pro kontrolu, třeba mne něco napadne.

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

7

Re: Nefunkční přepínání tarifů přes SDS-C

Dobrý den,
tady je kód, kterým řeším / chtěl bych řešit přepínání tarifu. Napadá Vás nějaký problém?

Děkuji.
    Pavel




var i;
var j;

#define NTP_STATUS sys[38]

#define DEN sys[5]
#define MESIC sys[6]
#define ROK sys[7]

#define DEN_PORADI sys[11] //0-6 pocet dni od nedele
#define HODINA sys[8]
#define MINUTA sys[9]

#define HDO_TARIF sys[459]

#define ODPOCITAVAC_SEKUND sys[64]


init
{
   
  //HDO_TARIF = 0
   j=2;
   echo('---init--; hdo_tarif: ',HDO_TARIF,' j: ',j,' den_poradi: ',DEN_PORADI,' hodina: ',HODINA,' minuta: ',MINUTA);
   

}

main
{

//echo('---MAIN--; hdo_tarif: ',HDO_TARIF,' j: ',j,' den_poradi: ',DEN_PORADI,' hodina: ',HODINA,' minuta: ',MINUTA);

//pracovni tyden
i = 1;
label cyklus:
if (DEN_PORADI == i && (HODINA ==0 && MINUTA == 0 && HDO_TARIF != 0) && ) {HDO_TARIF = 0;};
if (DEN_PORADI == i && (HODINA == 2 && MINUTA == 15) && HDO_TARIF != 1) {HDO_TARIF = 1;i = 7;};
if (DEN_PORADI == i && (HODINA ==7 && MINUTA == 32) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == i && (HODINA ==13 && MINUTA == 10) && HDO_TARIF != 1) {HDO_TARIF = 1;i = 7;};
if (DEN_PORADI == i && (HODINA ==15 && MINUTA == 57) && HDO_TARIF != 0) {HDO_TARIF = 0;};
i+=1;
if (i<6) goto cyklus;


//sobota
if (DEN_PORADI == 6 && (HODINA ==0 && MINUTA == 0) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 6 && (HODINA == 4 && MINUTA == 5) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 6 && (HODINA == 7 && MINUTA == 57) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 6 && (HODINA == 14 && MINUTA == 45) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 6 && (HODINA == 16 && MINUTA == 47) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 6 && (HODINA == 21 && MINUTA == 40) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 6 && (HODINA == 23 && MINUTA == 52) && HDO_TARIF != 0) {HDO_TARIF = 0;};

//nedele
if (DEN_PORADI == 0 && (HODINA ==0 && MINUTA == 0) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 0 && (HODINA == 4 && MINUTA == 5) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 0 && (HODINA == 7 && MINUTA == 57) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 0 && (HODINA == 14 && MINUTA == 45) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 0 && (HODINA == 16 && MINUTA == 47) && HDO_TARIF != 0) {HDO_TARIF = 0;};
if (DEN_PORADI == 0 && (HODINA == 21 && MINUTA == 40) && HDO_TARIF != 1) {HDO_TARIF = 1;};
if (DEN_PORADI == 0 && (HODINA == 23 && MINUTA == 51) && HDO_TARIF != 0) {HDO_TARIF = 0;};

//pockam 1 vterinu (interni odpocitavac sys[64])
ODPOCITAVAC_SEKUND = 1;
cekej_dale:
if (ODPOCITAVAC_SEKUND != 0) goto cekej_dale;

//kontrolni vypis kdy by melo dojit ke zmene tarifu
if (j!=HDO_TARIF) {
                  echo('---MAIN--; hdo_tarif: ',HDO_TARIF,' den_poradi: ',DEN_PORADI,' hodina: ',HODINA,' minuta: ',MINUTA);
                  j=HDO_TARIF;
                  };
//konec - main bude spusteno automaticky znovu
}