Tok programu PLC – Číslicová technika – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Tok programu PLC – Číslicová technika – Fórum – Programujte.comTok programu PLC – Číslicová technika – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jakub
~ Anonymní uživatel
865 příspěvků
2. 2. 2015   #1
-
0
-

Zdravím páni,

chcel by som sa spýtať na jednu otázku ktorá ma zaujíma už dlhšie. 

Ako je možné že je v poriadku použiť nejakú premennú v programe skôr ako je vyhodnotená? Napríklad určitá premenná je použitá pri vyhodnocovaní podmienky na riadku 1, ale ona sama je vyhodnocovaná až na základe podmienky na riadku 2 (alebo 3,4...x)?

Pre lepšie vysvetlenie prikladám obrázok:

Připojen obrázek.

Nahlásit jako SPAM
IP: 62.197.228.–
Reklama
Reklama
Jakub
~ Anonymní uživatel
865 příspěvků
2. 2. 2015   #2
-
0
-
Nahlásit jako SPAM
IP: 62.197.228.–
svoby10
Newbie
3. 2. 2015   #3
-
0
-

Cus. Musis u PLC uvazovat jinak , neni to seqvencni program jako treba C assembler a tak, predstav si ze to jako ze to funguje "vse najednou", jako kdyz bys to sestavil z konktrenich hradel v ttl nebo cmos. A take to neni promena, je to signal tzn. stav log1 nebo log0. Abys pochopil funkci musi uz jen znat jak se chova konkretni log. slen , jaky ma napr. stav na vystupu po zapnuti.

Nahlásit jako SPAM
IP: 62.240.162.–
Jakub
~ Anonymní uživatel
865 příspěvků
3. 2. 2015   #4
-
0
-

#3 svoby1
Docela ma to zmiatlo pretoze som bol praveze zvyknuty ako vravis na programovanie C

Nahlásit jako SPAM
IP: 80.242.41.–
DraBe
~ Anonymní uživatel
4 příspěvky
14. 11. 2015   #5
-
0
-

#3 svoby1
Tak to je trochu matouci popis, jak funguje PLC. U drtive vetsiny PLC neni mozne to, co jsi napsal. To by se jiz potom prestalo jednat o PLC jako takove. Program nefunguje cely najednou, ale funguje sekvencne, kdy OS v PLC prochazi postupne vsemi kroky tak, jak jsou napsany. Jedinou vyjimkou jsou ruzna preruseni, ale to uz je trochu slozitejsi pojem.

Spravna odpoved je ta, ze PLC, narozdil od mnohych jinych jazyku, funguje sice sekvencne, ale v neustalych cyklech. A potom zalezi na typu promenne jako takove, zda je pevne stanovena (staticka), ci zda je temporary. V pripade pevne danych promennych si PLC vezme hodnotu z predchoziho cyklu. Ale v podstate se ptas spravne. Je to navyk nekterych programatoru, ze pisi sekvenci takto, a pak dochazi prave k nahodnym porucham a dalsim neprijemnostem. Takto vytvorena sekvence by mela opravneni/omluveni pouze v urcitych pripadech:

1) Promenna je staticka (nachazi se v pametove oblasti, ktera je pevne definovana a ktera si zachovava hodnotu z predchoziho cyklu).

2) Je potreba provest nejakou akci (aktivovat vystup primym zapisem, atd.) a nasledne se vyhodnocuje odezva zarizeni (vycist hodnotu vstupu primym ctenim).

3) Promenna je pouzita ve vice castech sekvence.

Nahlásit jako SPAM
IP: 213.28.22.–
DraBe
~ Anonymní uživatel
4 příspěvky
14. 11. 2015   #6
-
0
-

#2 Jakub
Abych zde neplácal jen tak do větru, tak uvedu i drobný rozbor.

1) Dle uživatelského prostředi a užitých funkcí bych to tipnul na TwinCaT (Beckhoff), případně CoDeSys (Wago, ...).

2) Celkově vzato je příklad vytržen z kontextu. Chybí zde uvést i deklaraci proměnných, jelikož v sekvenci jsou užité symboly, nikoliv absolutní adresace. Ale jelikož se nejspíše jedná o Beckhoff, či Wago, tak lze s velkou pravděpodobností předpokládat, že dané proměnné jsou definovány jokažto merker/flag. Což znamená, že jsou statické a uchovávájí si hodnoty z předchozího cyklu.

3) Z dané sekvence jde jasně vidět, že se jedná právě o tu třetí podmínku, nebo-li proměnné jsou užity ve více částech skvence.

A teď trochu přímo k dané logice:

- Jedná se o počítání stisknutí tlačítka v rozmezí 1 až 3 stisky.

- První "řádek": Při náběžné hraně se na jeden cyklus nasetuje proměnná "druhy". Pokud je promenná "druhy" v log. 1 a současně s tím je proměnná "podruhe_1" také v log. 1, tak se nasetuje proměnná "potreti_1".

- Druhý "řádek": Při náběžné hraně se na jeden cyklus nasetuje proměnná "prvni". pokud je proměnná "prvni" v log. 1 a současně s tím je proměnná "interval" také v log. 1, tak se nasetuje proměnná "podruhe_1". Zde je potřeba si všimnout jedné věci, pokud by se přehodil první a druhý řádek, tak by se vždycky automaticky nastavila proměnná "potreti_1". Proto jsou tyto řádky právě v tomto pořadí.

- Třetí "řádek": Při stisku tlačítka se generuje puls po dobu 3,5 minuty. Pokud je tento puls aktivní a nebo je proměnná "podruhe_1" v log. 1 ¨, tak se aktivuje proměnná "svit_7"

- Čtvrtý řádek: Při stisku tlačítka se generuje puls po dobu 2,5 sekundy, který aktivuje proměnnou "interval". Tento interval je schválně téměř na konci, aby se opravdu počítal pouze první stisk. A nezapočetlo to rovnou jako druhý nebo třetí.

- pátý řádek je pouze resotování počítání při třetím cyklu.

Nahlásit jako SPAM
IP: 213.28.22.–
DraBe
~ Anonymní uživatel
4 příspěvky
14. 11. 2015   #7
-
0
-

#6 DraBe
*pátý řádek je pouze resetování při třetím stisku

Nahlásit jako SPAM
IP: 213.28.22.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Tok magnetického pole — založil Avatar

Začínám s PLC — založil stoker303

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý