DetStudio

Programovací prostředí firmy AMiT.

DetStudio - upozornění - jména obrazovek

Jméno obrazovky je rezervované slovo, a proto musí být jedinečné v celém projektu. Pokud si stejně nazvete např. proměnnou tak nejde použít ve skriptu (jde to, ale nefunguje :-)). Například chcete-li přiřadit stejně nazvané proměnné hodnotu, tak je vyhlášena chyba, protože není jasné, jestli se jedná o proměnnou nebo obrazovku. V příštích verzích detka bude možná jméno obrazovky zvýrazněno jako rezervované slovo nebo bude tato nefunkčnost odstraněna např. interním přejmenováním obrazovek. Též tomu lze předejít vhodným (nekolidujícím) pojmenováním obrazovek. Přikláním se k číslování obrazovek a tím dodržení logického stromu LCD. V tabulce obrazovek se obrazovky řadí podle jména, a tudíž může vzniknout pěkný chaos, pokud obrazovkám dáváme jen jména (logický sled je totálně fuč). Proto se přikláním ke konvenci ObrXXX_YYY (X – číslo; Y – jméno). Při použití této konvence je řazení obrazovek podle vámi zvoleného logického stromu (řazení podle jména nyní spíše podle čísla) a tím je zachována struktura a zároveň je obrazovka snadno dohledatelná podle jména. Ale to jen na okraj :-).

PSP3.56 - řazení podle widu

Používáte-li v databázi proměnných řazení podle widů, tak může dojít v některých případech při změně čísla stanice a použití kolizních widů ke smazání některých proměnných. Při řazení podle jména k tomuto nežádoucímu stavu nedochází. Tato nefunkčnost bude odstraněna v některé další verzi PSP3 (nejspíše v PSP3.58).

Komunikační rychlost

Pár větších aplikací mi běhá na komunikační rychlosti 57600Bd a potřebuji doplnit stanice, ale protože „S“ stanice tuto komunikační rychlost neumějí tak mám problém. Všude mi bylo řečeno, že je problém s touto rychlostí, a proto jsem nabyl dojmu, že jde o HW problém. Po konzultaci s Ing. Lónem jsme došli k závěru, že je to jen SW problém a nemožnost zvládnout 5 rychlostí dvojitým DIP přepínačem. Proto jsem navrhl možnost vytvoření PSE modulu, který by se použil v INI procesu a softwarově by se nastavila tato komunikační rychlost. Z mého pohledu i z pohledu Ing. Lóna by tvorba takového modulu neměla být nijak náročná.

2x LCD - konzultace se suportem AMiT

Je možné na řídicí systém AMiT připojit dva LCD (ať už stanice s integrovaným LCD + externí LCD, nebo stanice a dva externí LCD)? Hardwarově by to neměl být problém, ale co sw? Budu moc obsluhovat dva rozdílné LCD?
Toto možné není, v DetStudiu můžete zvolit jen jeden terminál/displej a pokud byste použil PSP3, tak v něm byste mohl mít nadefinovány dva terminály/displeje, ale aktivní by byl jeden nebo popřípadě druhý.
Řešení je v současné době jen použití dalšího řídicího systému, např. ART4000, který má totožné tlačítka a displej jako APT1000.
Nestálo by za to, aby byl nějaký terminál např. po MODBUSu?

AMiT - DM-GPRS - nejde vyčtení kreditu

Měl jsem modul DM-GSM, kde jsem úspěšně vyzkoušel vyčtení kreditu od mobilního operátora, tož jsem se zaradoval :-). Jaké bylo pro mě zklamání, když jsem stejný postup chtěl aplikovat na modul DM-GPRS, kde posílání SMS není problém, ale vyčtení kreditu ne a ne rozchodit. Vše jsem konzultoval s firmou AMiT a došli jsme k závěru, že tato funkce není v současném firmware 2.2 podporována, ale protože úprava je minimální a vhodnost implementace velká, takže dojde k doplnění. Myslel jsem, že dojde k úpravě do vyjití této aktualizace, ale zatím se tak nestalo (3 měsíce na drobnou úpravu je pro sw technika asi příliš málo času :-D), proto se těžte na úpravu, měla by být v dohledné době.

Hlídání watchdog a kontrola flash u řídicích systémů AMiT

Vytvořil jsem algoritmus pro watchdog programu a kontrolu flash.
Primární funkce algoritmu je hlídání provedení procesu Proc00 s periodou 100mS pro načtení vstupů a zápisu výstupů řídicího systému alespoň jednou za 500mS, jinak se vyhodnotí program jako "zaseknutý" a provede se restart.
Sekundární funkce algoritmu je v hlídání kontrolního součtu paměti flash a pokud nesouhlasí CRC součet po druhém a dalším restartu, tak je řídicí systém restartován až do souhlasného CRC.

Soubory: 

Počet proměnných ve stanici - informace

Celkový možný počet proměnných v DetStudiu je 65499 proměnných. Přidělování WIDů řeší DetStudio automaticky a nemusíte je editovat (až na výjimečné případy). Jakmile dojde k překročení čísla WIDu xx999 budou se WIDy u nových proměnných dále inkrementovat o 1, tudíž číslování WIDů bude pokračovat v další tisícovce.
Jak se tedy bude tedy chovat DB-Net a stanice v následujícím příkladu. Např. stanice 1 a stanice 2, kde na stanici 1 bude překročen počet proměnných a na stanici 1 bude proměnná se stejným WIDem jako na stanici 2? Vždyť musí zákonitě dojít ke kolizi. Už tedy neplatí 999 proměnných na stanici?

Stránky