Ach jo, to bude na dlouho. Můžeš mě alespoň nakopnout, jak vyřešit tu sestupnou hranu tlačítka? To momentálně vidím jako největší problém.
Znáš stav tlačítka. Potřebuješ stav z minulého cyklu - tedy musíš si stav zapamatovat. V příštím cyklu načteš stav tlačítka a porovnáš s minulým. Porovnáš a pokud je minulý stav “stisknuté” a aktuální “nestisknuté”, máš sestupnou hranu. Jen je potřeba vyřešit zákmity tlačítka/tlačítek. Buď na úrovni HW, ale častěji se tohle řeší pomocí SW. A nesmíš zapomenout před prvním cyklem načíst stav tlačítka a uložit ho i do proměnné minulého stavu.
Myslím, že ve STEP7 se to dělá stejně, ne ? Uložíš stav do markeru a v příštím skenu PLC porovnáváš stav vstupu s merkerem. Pokud stavy souhlasí = žádná změna, pokud ne, tak náběžná nebo sestupná.
Určitě by to takto udělat v Step7 šlo, ale je tam přímo možnost použit sestupnou hranu jakéhokoliv bytu, takže to dělat nemusím. Teď musím ještě zjistit jak zapsat a uložit stav vstupu do nějaké proměnné. Musím najít jak se to v Céčku dělá, problém je, že co jsem zatím našel na internetu mi kompiler nežere. Musím najít správný zápis a správně to nadeklarovat. A pak zajistit, aby to fungovalo jen při sestupné hraně a ne při jakékoli změně vstupu. To co píšeš, že je na pět minut už řeším týden a nijak jsem se výsledku nepřiblížil. Prostě skoro všechny příklady co najdu na internetu jsou pro mne nepoužitelné, protože prostě nejdou zkomplikovat a tak s nimi nemohu laborovat, abych zjistil jak napsat to co chci.
Mohlo by se Ti hodit následující :
Povídání o AVR procesorech - až pochytíš základy
Něco o ovládání IO - je tam poopsané dokonce to, co potřebuješ.
Na Internetu je toho samozřejmě mnohem více, je třeba jen hledat. A pochopitelně je třeba alespoň trochu pochytit angličtinu. Musíš se smířit s tím, že se prostě bez angličtiny neobejdeš.