1

Téma: SDS MICRO DIN IO6 R6-24V - tlacitko a detekcni rele

Resim ted automatizaci pro ovladani primotopu. Hodlam pouzit SDS MICRO DIN IO6 R6-24V, ktere bude ovladat 6ks silovych rele 230/16A (treba VS116K-230/24) a napajet to zdrojem MEAN WELL DR-15-24. Na vstupech bude 4ks teplotnich cidel, tlacitko a detekcni rele.

Vystupy, tj. ovladani rele jsou mi celkem jasne. Teplotni cidla asi taky.

Co jsem ale v dokumentaci nenasel je reseni co se vstupy, tak aby k nim mohl pripojit tlacitko a detekcni rele.

Pokud chapu, tak zapojeni:

* +24V pres rezistor (2k2?) na OPTO 1 +
* GND na tlacitko/detekcni rele
* a z nej pak na OPTO 1 -

Nikde jsem ovsem nezjistil jaky je ten integrovany odpor v serii s optoclenem. Pokud s nim nebudu pocitat tak podle vypoctu co mate na wiki, bych tam mel byt rezistor 2k2. Je to spravne?

Dale co nevim jak v SDC-C pracovat se vstupy. Je na to nejaka dokumentace/priklady?

U detekcniho rele mi staci se jednou za cas zeptat na stav 0/1. U tlacitka bych ale potreboval aby tam bezela nejake detekce. Klidne tam muze bezet nejaky citac a ja si pak budu jen porovnat v programu zmeny hodnot citace.

2 Naposledy upravil: MightyPork (2014-08-08 18:45:58)

Re: SDS MICRO DIN IO6 R6-24V - tlacitko a detekcni rele

Nejsem SDS expert, ale mám pocit že optočleny žádný vestavěný odpor nemají - konkrétně něco o tom je na wiki stránce o S0.

Pokud bude odpor moc velký, nic se tím nezkazí (lepší než moc malý a spálit optočlen), ale 2k2 mi přijde akorát.

Pro to hlídání vstupu (tlačítko na opto), tohle by mohlo fungovat.

// opto vstup, 0 = zapnuto (viz dokumentace)
#define SYS_OPTO_1 sys[151]

// nastaveni rychlosti
#define SYS_SPEED sys[63]
#define SPEED_LOW 0
#define SPEED_HIGH 128

var tmp;
var old_opto1; // ulozeni stare hodnoty vstupu

check_inputs {
    tmp = SYS_OPTO_1;
    if (tmp == 0 && old_opto1 != 0) {
        echo('Prave stisknuto.');
    }

    if (tmp != 0 && old_opto1 == 0) {
        echo('Prave uvolneno.');
    }

    // ulozit starou hodnotu
    old_opto1 = tmp;
}

init {
    // vypnout omezeni rychlosti
    SYS_SPEED = SPEED_HIGH;

    // initializace
    old_opto1 = SYS_OPTO_1;
}

main {
    // hlavni smycka
    loop:
        check_inputs();
        // zkontrolovat teplotu atd...
    goto loop;
}

Mimochodem, můžete vyzkoušet SDSCP - je to můj nový projekt na vylepšení SDS-C syntaxe smile

Zatím umí např. #include a přidává lepší podporu maker.

Chcete #include, lepší makra, řídící struktury atd. v SDS-C? Nástroj SDSCP vám to umožní!

3

Re: SDS MICRO DIN IO6 R6-24V - tlacitko a detekcni rele

Dekuji za odpoved. Na test pritomnosti napeti mi to staci. Ale cyklicky testovat stav tlacitka bych nerad. SDS urcite musi delat i jine veci nez provadet SDS-C kod, takze by to mohlo to zmacknuti tlacitka propast. Nebo je opravdu beh web serveru a podobne narocnejsi veci tak dobre odstinen od SDS-C kodu?

4 Naposledy upravil: MightyPork (2014-08-11 15:09:14)

Re: SDS MICRO DIN IO6 R6-24V - tlacitko a detekcni rele

Nevím přesně jak to uvnitř funguje, ale beží to snad na nejakém ARMu, rozhodně tedy o výkon není nouze - když se vypne to omezení rychlosti, tak myslím není šance propásnout tlačítko.

Rozhodně bych se nebál takové smyčky - main() by se i bez toho volalo stále znova, a firmware umí dělat víc věcí najednou (např. http_get na pozadí), takže nekonečná smyčka to určitě nezasekne.

Chcete #include, lepší makra, řídící struktury atd. v SDS-C? Nástroj SDSCP vám to umožní!