Domů Nápověda Vyhledávání Přihlásit Registrovat
Novinky:               PROSÍME VŠECHNY UŽIVATELE, PŘED POUŽITÍM DISKUSÍ ČTĚTE MÍSTNÍ PRAVIDLA! ZDE ...!


+  Diskuse Elektrika.cz
|-+  HYBRIDNÍ zóna
| |-+  Firemní podpora
| | |-+  TECO - Foxtrot chytré instalace. ODBORNÍCI radí spotřebitelům!
| | | |-+  Technická podpora výrobce TECO Kolín radí odborníkům
| | | | |-+  Jaké jsou možné příčiny chyby 9380 u Foxtrot CP-1001?
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Poslední příspěvky Tisk

Upozornění!
Odpovědi na témata nejsou právně závazné!
Na elektrickém zařízení smí pracovat pouze osoba s příslušnou kvalifikací dle nařízení vlády 194/2022 Sb. Podrobnosti zde!

Autor Téma: Jaké jsou možné příčiny chyby 9380 u Foxtrot CP-1001?  (Přečteno 5229 krát)
Jaroslav Kutílek
Neverifikovaný uživatel @1

Offline Offline



« kdy: 21.01.2020, 07:10 »

Jaké jsou možné příčiny chyby 9380?
  93 80 pcpcpc      SP cannot be set - system stack range exceeded

Platforma:
TECO FOXTROT CP-1001

Používám knihovny Lightslib_V16 pro ovládání světel, iControlLib_V2 5 pro ovládání zásuvek a detektorů, WeatherLib_V19 pro načítání počasí, InternetLib_V5 2 pro synchronizaci času přes NTP a EnergyLib_V24 pro čítání energií.

Číslo řádku chyby ukazoval na mé bloky, které obsahovali čisté volání knihovních bloků v CFC. Svůj program jsem musel drasticky zmenšit, abych dokázal dát PLC do RUNu. Nyní jsem ve stavu, že při přidání dalšího volání FB, jde PLC do chyby 9380. Číslo řádku ukazuje na knihovní bloky, podle toho, které volání vložím (světla, zásuvky, načítání počasí,...) .

Funkční program nyní obsahuje cca - 34 světel, 9 topných okruhů, 30 PIR detektorů. Jsem opravdu na CP-1001 příliš náročný a systémové prostředky už nedostačují pro další volání?
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Milan Bydžovský
*
Offline Offline




« Odpověď #1 kdy: 21.01.2020, 07:51 »

Chyba 93 80 pcpcpc souvisí s prostorem na proměnné VAR_TEMP.
Systém disponuje 6kB paměti na tyto proměnné. Při volání bloku s VAR_TEMP se po dobu jeho vykonávaní z této paměti odebere velikost těchto proměnných. Pokud blok volá uvnitř další blok, který má VAR_TEMP odebere se další paměť.
Jinými slovy, při vnořeném volání se velikost VAR_TEMP sčítá. Jak se bloky ukončují paměť se opět uvolňuje.
Řešením problému, je omezení velikosti VAR_TEMP, využitím standardních VAR (Při převodu je třeba brát ohled na to, že VAR ve funkčních blocích a programech nejsou inicializovány při každém volání, ale drží hodnotu z volání předchozího. U funkcí je jejich chování shodné.)
Druhou možností je omezení hloubky vnoření volání.
34 světel, 9 topných okruhů, 30 PIR detektorů je velikost úlohy, kterou by systém měl bez problému zvládnout.
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Jan Novotný2
Neverifikovaný uživatel @4
***
Offline Offline



« Odpověď #2 kdy: 21.01.2020, 12:20 »

Zaujala mě věta "Druhou možností je omezení hloubky vnoření volání".
Mám totiž také problém s pamětí R registrů.
Vytvořil jsem si obsáhlý funkční blok, který ve finále zabírá velké množství paměti, a když ho použiji 3, tak jsem v problémech.
FB je postaven tak že je spousta funkcí za sebou, tak aby se plynule došlo k výsledku (od vstupní proměnné až k výstupní proměnné je to cca 50-60 fukncí.
Je toto tedy špatně kkdyž jsou za sebou? Měl jsem právě za to, že když vše poskládám plynule za sebe, použiju minimum proměnných a je to pro hospodárnost s pamětí lepší..

Mám tedy udělat vstupní proměnnou, funkci, výstupní proměnnou. A tu výstupní pak zase použít jako vstupní pro další funkci?? Je toto myšleno tou hloubkou vnočení? Nevadí tedy když tam budu mít 50 proměnných, ale jen jedno úrovňové funkce?
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Milan Bydžovský
*
Offline Offline




« Odpověď #3 kdy: 21.01.2020, 16:08 »

Zaujala mě věta "Druhou možností je omezení hloubky vnoření volání".
Mám totiž také problém s pamětí R registrů.
...
Výše zmíněný problém se netýká registrů R, ale dočasných proměnných VAR_TEMP, které se vytvářejí při volání bloku (blokem je myšlena programová organizační jednotka, tedy funkce nebo funkční blok) a ruší se když se blok ukončí. VAR_TEMP proměnné nečerpají R registry.
Pokud se vrátím k hloubce vnoření, ta se zvyšuje pouze pokud volaná funkce (nebo funkční blok) volá ve svém těle jinou funkci (nebo funkční blok). Vizuálně je hloubka vnoření vidět při ladění ve stromu v okně 'Kontext ladění' (záložka se zeleným broukem).

Pokud máte vysokou spotřebu registrů R, je nutné zkontrolovat zda programy a funkční bloky neobsahují zbytečné proměnné (nepoužité proměnné jsou hlášeny při překladu),  zda není možné některé proměnné použít vícekrát nebo přesunou z VAR do VAR_TEMP (v případě dočasných proměnných) a zda se nepoužívají zbytečně dlouhé proměnné STRING (u proměnné typu STRING je možné nastavit délku, pokud není uvedena použije se 80 znaků).
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Jan Novotný2
Neverifikovaný uživatel @4
***
Offline Offline



« Odpověď #4 kdy: 21.01.2020, 16:34 »

Výýýborně, děkuji za radu, STRING byl ten problém, ty jsem opravdu měl bez vymezení velikost.
Moc díky!
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Jaroslav Kutílek
Neverifikovaný uživatel @1

Offline Offline



« Odpověď #5 kdy: 21.01.2020, 20:31 »

Děkuji za vysvětlení pana Bydžovského. Uživatelské bloky jsou vnořeny max. do 3. úrovně (MainProgram -> fb části domu -> FB knihovních bloků) a jako TEMP proměnné používám pár BOOL proměnných a UINT pro FOR cykly. Hledat tedy musím v knihovních blocích, kde může být vnoření značné.

Opravdu pomáhá např. funkce pro synchronizaci času či načítání počasí "vysunout ven" do hlavního programu.

Problém asi vidím v tom, že např. FBiTimeProgWee k1 (dost náročný blok z iControl knihovny) volám ve vnořeném bloku, který si pak musí rezervovat všechny TEMP proměnné těchto FB najednou a tím zásobník přeteče. Myslel jsem, že místo zásobníku se rezervuje těsně před voláním FB a uvolňuje hned po ukončení volání FB. Tedy problém přetečení nestává jen když volání přerušuji jiným voláním.
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Miroslav Krhounek
Neverifikovaný uživatel @2
*
Offline Offline



« Odpověď #6 kdy: 30.01.2020, 14:36 »

Dobré také je zkontrolovat "Mapu uživatelských registru".
Tam je sloupeček "Velikost" kde je velikost, kterou daná instance FB/funkce potřebuje.

Také záleží jakým způsobem ve svých POU předáváte data v parametrech. Pokud nejsou nárocné struktury/pole předána "odkazem" pak si funkce musí vyhradit místo podle typu pro nakopírování hodnot. Pro ušetření místa je možné použít VAR_IN_OUT, pak se předává jen ukazatel na proměnnou. Tady je pak ale potřeba hlídat/vědět co daná POU dělá, aby nedošlo k nežádoucímu přepisu dat ;-)
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Ivan Libicher
Neverifikovaný uživatel @5
*****
Offline Offline




WWW
« Odpověď #7 kdy: 31.01.2020, 16:26 »

Přesně jak píše p. Krhounek, větší data do/z POU je obecně žádoucí nepředávat pomocí VAR_INPUT ani VAR_OUTPUT, nýbrž VAR_IN_OUT !
Jen pozor, že sloupec "Velikost" v "Mapa uživatelských registrů" se týká registrů R tj. zahrnuje VAR_INPUT a VAR_OUTPUT, ale nezahrnuje VAR_TEMP.
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Ivan Libicher
Neverifikovaný uživatel @5
*****
Offline Offline




WWW
« Odpověď #8 kdy: 31.01.2020, 17:42 »

Výsledek reálného testu
Kód:
TYPE T : ARRAY[1..4000] OF USINT; END_TYPE
// Pri velikosti 4000 havaruje az vnorene volani f2() z f3()
// Pri velikosti 4100 havaruje uz prvni nevnorene volani f1()

FUNCTION f1 : BOOL VAR_TEMP a: T; END_VAR END_FUNCTION
FUNCTION f2 : BOOL VAR_TEMP a: T; END_VAR END_FUNCTION
FUNCTION f3 : BOOL VAR_TEMP a: T; END_VAR f2(); END_FUNCTION

PROGRAM prgMain
  f1();
  f2();
  f3();
END_PROGRAM

Zásobník pro VAR_TEMP se tedy, jak popsal p. Bydžovský, skutečně rezervuje jen po dobu volání odpovídající POU. Ale limit 4000+ je o dost nižší než očekávaných 6kB...
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Stran: [1] Nahoru Poslední příspěvky Tisk 
« předchozí další »
SLEDUJTE PODOBNÁ TÉMATA ZDE!

Příbuzné diskuse a články z Elektrika.cz

 Budete sledovat LIVE První kroky k Foxtrotu? Vysíláme 13.10 ve 20:00
 První kroky k FOXTROTu (#1a)
 První kroky k FOXTROTu (#1b)
 FOXTROT v monitoringu experimentů ve štole Josef!
 TECO: Řízení instalací Foxtrotem #1
 Dají se připojit k Foxtrotu i jiné sytémy s vlastním řízením?
 Jak to vypadá s hlasovým modulem pro Foxtrot?
 Jak nastavit modul C-RI-0401S?
 Jak přístupovat k souborům z prohlížeče?
 Musí být HW klíč pro Mosaic v PC?
 Je možné připojit kameru k web stránkám Foxtrotu?
 Jak na nastavení offsetu teploty na vstupech C-RI-0401S?
 Bude někdy možné připojení periferních modulů FOXTROT k TC700?
 Jakým přiřazovacím příkazem mohu nastavit konkrétní bit v proměnné typu byte?
 Jaká je interoperabilita systémů Foxtrot a Inels přes CIB?
 VIDEO: Víte co je nového ve Foxtrotu na jaře 2012?
 Jak ochránit reléové kontakty na jednotce Foxtrot CP-1004?
 TECO: Jaromír Klaban a Pavel Smílek o prvcích chytrých budov na AMPERu 2012
 Které prvky mohou reagovat na čidlo CO2?
 Existují nějaká funkční propojení Foxtrot <=> VOIP?
 Jak připojit stmívač s otočným ovládání pro regulaci jasu světla?
 Foxtrot - jak zjistit čas jednotlivých programů, popřípadě procesů?
 Jak lze připojit k Foxtrotu přístroje určené na sběrnici KNX/EIB?
 TECO: Školení o systémech Foxtrot v Brně
 Ake vylepsenia dorobit do FoxTool?
 Kde ziskavat meteodata do systému regulace domu?
 Jak měřit Foxtrotem zda je silový okruh zapnutý?
 Jaká je dostupnost C-DM-0006M ILED?
 Jak je to s podporou uživatelského kódu ve webmakeru?
 Je nekde priklad komunikace Open Therm UC-1204 s elektronikou Siememens?
 Termoregulátory pro Cfox v deasignu LOGUS90 nebo EATON INTENSE?
 Co může být příčinou nefunkčního spojení s PLC přes VPN?
 K čemu všemu lze nápaditě využít systém Tecomat Foxtrot?
 Jaké máte zkušenosti se spolehlivostí přenosu mezi jednotkami RFox?
 Novinka! Foxtrot podporuje propojení se světem instalací KNX
 Pamatují Online změny na aktualizaci pointerů?
 FOXPART# jedinečný technický kurs
 TECO získává ocenění!
 Čo to znamená u Foxtrotu hlásenie na displeji ID-18 "no XMZ file!"?
 Fóry foxtrotího fóra?
 Lze nastavit Foxtrot Datalogger přes interní webovou stránku?
 TECO: Změna u centrálních jednotek FOXTROT
 Může být klasický vypínač jako bezpotenciálový vstup Foxtrotu?
 Jakými relé je osazen modul C-OR-0008M ?
 Jak zprovoznit předpověď počasí na Foxtrotu?
 TECO: Inteligentní byty se stávají běžným standardem moderního bydlení
 Jak hlídat přítomnost osob v místnosti aby se po odchodu poslední aktivoval EZS?
 SIN#4 První kroky k FOXTROTu (#1b)
 FOXPART#1 Srdce sytému Foxtrot CP 1000
 FOXPART#2 Rozšíření CP1000
 Jaké komponenty TECO použít pro stmívání osvětlení?
 Vyhlášení výsledků soutěže Ovládej svůj dům přes webové stránky Foxtrotu
 FOXPART #3, modul COR008M
 Chtěli byste na hraní svůj VLASTNÍ Foxtrot doma?
 TECO: FOXPART#5, bezdrátové jednotky
 Kdo uhodne co je to a k čemu?
 FOX part#4, jednotky vstupů/výstupů IB1301 a IR1501
 Jak zabránit vzájemnému rušení MI2-02M modulů?
 FOXPART #7: Modul C-HM-1113M
 AMPER 2013: O novinkách společnosti TECO
 Jake jsou moznosti pripojeni kotlu Buderus?
 Víte, čemu se u Foxtrotu říká "bužírka"?
 Novinky systému Foxtrot v říjnu 2013
 Pomohl by mi tu někdo naprogramovat panel ID- 17 od firmy TECO?
 Jak řešit komunikace mezi instalací INELS a FOXTROT?
 Jak propojit Foxtrot s Jablotronem 100?
 Mohou být bezdrátové ovladače RFox Tecomat ve venkovním prostředí?
 Umí Foxtrot komunikovat po DeviceNetu?
 Jak komunikovat pomocí UDP?
 Jak zabránit ztrátě dat z RETAIN proměnných?
 Víte, že právě startuje od TECO nová služba TECO Route?
 Jde s Foxtrotem komunikovat přes sériové sběrnice 1-Wire, I2C či SPI?
 Jak budete trávit Vánoce s Foxtrotem vy?
 TECO: Foxtrot rozšiřuje možnosti komunikace s FV měniči od tří desítek výrobců
 Máte zkušenosti s integrací pohonů žaluzií sofy do systému foxtrot ?
 Chce po vás klient ovládání elektroinstalace i mobilem?
 Jak spravne updatovat system Foxtrot?
 Jak připojit DHT22 k Foxtrotu?
 Řídicí systém Tecomat Foxtrot oceněn na AMPERu 2014
 Existuje nějaká komunikace mezi tepelným čerpadlem od Vailant a FOXTROTem?
 Light+Building 2014: Automatizační technika slibuje velké úspory energie v budovách
 TECO: Služba TecoRoute přechází do placeného režimu
 Mate někdo zkušenosti s iridium mobile a foxtrotem?
 Opravdu existuje nějaká inteligentní instalace?
 Proč nefunguje zobrazení web stránek Foxtrotu na Windows Phone 8.1 ?
 Co je vlastně na inteligentní instalaci inteligentního?
 TECO: Novinky řídicího systému Tecomat Foxtrot
 Jaký software používáte pro tvorbu a správu projektů se systémem Foxtrot?
 Která tepelná čerpadla jsou integrovatelná do Foxtrotu?
 Jakým způsobem se snaží jednotka získat adresy z DHCP serveru?
 Jaký je login/heslo pro přístup k foxtrotu přes prohlížeč?
 ENIKA: Katalog Komponenty pro automatizaci
 Jde canvas užít i pro panel ID-18 ?
 TECO: Čidlo solární radiace na sběrnici CIB
 Co si myslíte o užitku systémových elektroinstalací?
 Jak pracovat s jednotkou SOPHY2L?
 Jak vyřešit chybu komunikace EZS s PLC CP-1000?
 Jak propojit a donutit komunikovat dvě PLC CP-1000?
 Nemate prosim nekdo nejake schema na testovaci panel od Foxtrotu?
 Nemá někdo zkušenost se stmíváním pomocí jednotek od TECO C-DM-0006M ILED/ULED?
 Víte o novinkách Foxtrotu na jaře 2015?
 Komu doporučíte chytrou žárovku LED Bluetooth Playbulb?
 Kde seženu náhradní díly na systémovou instalaci po delší době?
 TECO: Nový showroom vybavený systémem Tecomat Foxtrot
 Pro jaké jiné námitky kromě ceny se odmítá použití chytrých instalací?
 Prečo od 24.3.2016 nefunguje komunikácia so serverom YahooWeather?
 Jak pripojit k Foxtrotu prutokomer s vystupem 12...202 Hz/TTL?
 V jakém stádiu je iFoxtrot pro Android?
 Lze binární vstupy dvou C-JC-0201B připojit na jedno dvojtlačítko?
 Jak připojit zařízení ke sběrnici CIB?
 Je možné integrivať do systému Foxtrot vnútorné ovládače od Niko?
 Lze komunikačně propojit Foxtrot a EZS Satel?
 Jak ovládat screensaver u panelu ID-31?
 Nové TECO #1 V kanceláři obchodního ředitele
 Vyšlo nové TecoInfo 39 v pdf!
 Lze přímo na vstup k Tecomat TC700 připojit inkrementální snímač?
 Řešil někdo komunikaci Tecomat - Arduino přes 485?
 Je nějaký důvod, proč Foxtrot nekomunikoval s jednotkami Inels?
 Co znamená na panelu ID-28 chybové hlášení No XMZ file?
 TECO představuje Foxtrot 2!
 Co s nefunkčními tlačítky pro manuální ovládání výstupů u CFOx modulů?
 Jak efektivně stáhnout PDF dokumentaci k CP-2xxx ?
 Existuje firma / programátor u koho lze objednat programování TECO?
 Jak připojit aplikaci iFoxtrot (Android) k CP-1004?
 Jak řešit komunikaci mezi Foxtrot a TČ Stiebel Eltron řady wpf?
 Jaké jsou dostupné bezdrátové prvky pro Foxtrot?
 Nemáte někdo krátký příklad RS-232 komunikace Foxtrotu?
 TECO LIVE: Jak umí FOXTROT řídit veřejnou, elektromobilní a fotovoltaickou ...
 Proč CP-1001 nerozpozná C-IR-0303M?
 Nový konfigurátor iCOOL 4 pro Tecomat Foxtrot zítra živě!
 Jde stmívání DALI komunikaci převodníku nějakým způsobem obejít?
 Proč při spojení s CP-2973 přes USB nejde otevřít komunikační kanál?
 Jak kdysi Pavel Smílek popisoval Foxtrot v praxi
 Nový TECOMAT pokřtěn u barmanů v Brně! Jedinečný záznam zde!

Příbuzné diskuse a články z Kutil.elektrika.cz

Aktuální slova (1)



Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Validní XHTML 1.0! Validní CSS!
+420 910 100 100
Stránka vytvořena za 0.049 sekund, 24 dotazů.