DetStudio - výpis aplikace


Projekt
Název : AMiNi2D 1MB RAM
Verze : 1
Autor : Jaroslav Valter
Stanice
Typ : AMiNi2 (AMiNi2D) AMiNi2D 1 MB RAM
Verze : 0
Generováno : 22. března 2009 17:09:11
DetStudio : DetStudio 1.2.16
 
Copyright (c) Máca měření a regulace 384 32 11 90
Obsah
 Poznámky k procesní stanici 
 Konfigurace procesních vstupů a výstupů 
 Databázové proměnné 
 Alias-Proměnné 
 Procesy 
 Podprogramy 
 - Funkční bloky - 
 Obrazovky: 

Poznámky k procesní stanici


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ů řídícího systému alespoň jednou za 500mS, jinak se vyhodnotí program jako "zaseklý" 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 řídící systém restartován až do souhlasného CRC.
K algoritmu: Parametrem Timeout  modulu Watchdog se udává doba, za kterou se modul Watchdog musí občerstvit. Tzn. musí vám do zadané doby alespoň jedenkrát proběhnout proces, ve kterém je modul Watchdog na daném kanále aktivní. Skutečná doba, po které vypršení limitu vyvolá restart systému, může být až o 100 mS delší, než je hodnota parametru Timeout. V této závěrečné fázi před restartem (po vypršení zadaného limitu) ovšem nelze zaručit, že případná obsluha vypršeného hlídacího časovače zabrání restartu systému. Minimální hodnota parametru Timeout modulu Watchdog je 320 mS. Pokud chceme provést restart bez zacyklení programu (řízený restart od špatného CRC paměti flash), je nutné umístit kód do procesu s periodou minimálně 420 mS, aby hodnota periody procesu byla větší než minimální zadatelný čas + 100mS. Nyní k "magické" hodnotě 320 resp. 420 mS. Pokud do parametru Watchdog zadáte jakoukoliv hodnotu, menší jak 320 mS, bude tato automaticky v modulu Watchdog zvětšena na 320 mS tj. parametr Timeout můžete zadat v rozmezí 0 .. XYZ, vždy se ale bude počítat v rozmezí (320 .. XYZ)+100. Toto neplatí pro větší hodnoty.
U řídících systémů s novým procesorem (řada "S") je počítání kontrolního součtu paměti flash zatím nefunkční (problém modulu MemCheck PSP3.53 a nižší). Následně má být tato nefunkčnost odstraněna.

...


Konfigurace procesních vstupů a výstupů

 Typ/Signál  Jméno  Komentář  Log.kanál 
 DIO        0 
   DI.00       
   DI.01       
   DI.02       
   DI.03       
   DI.04       
   DI.05       
   DI.06       
   DI.07    NC   
 DIO_AC        1 
   DI.00    NC   
   DI.01    NC   
   DI.02    NC   
   DI.03    NC   
   DI.04    NC   
   DI.05    NC   
   DI.06    NC   
   DI.07    NC   
 DAI0        2 
   DI.00    NC   
   DI.01    NC   
   DI.02    NC   
   DI.03    NC   
   DI.04    NC   
   DI.05    NC   
   DI.06    NC   
   DI.07    NC   
 DAI0_AC        3 
   DI.00    NC   
   DI.01    NC   
   DI.02    NC   
   DI.03    NC   
   DI.04    NC   
   DI.05    NC   
   DI.06    NC   
   DI.07    NC   
 DO0        0 
   DO.00       
   DO.01       
   DO.02       
   DO.03       
   DO.04       
   DO.05       
   DO.06    NC   
   DO.07    NC   
 AI0        0 
   AI.00    NC   
   AI.01    NC   
   AI.02    NC   
   AI.03    NC   
   AI.04    NC   
   AI.05    NC   
   AI.06    NC   
   AI.07    NC   
 Ni1000        1 
   AI.00    NC   
   AI.01    NC   
   AI.02    NC   
   AI.03    NC   
   AI.04    NC   
   AI.05    NC   
   AI.06    NC   
   AI.07    NC   
 PWR        2 
   AI.00  Vpwr  Napájecí napětí 0..55 V.   
   AI.01  Vibatt  Napětí zálohovací baterie 0..5 V.   
 AO0        0 
   AO.00    NC   
   AO.01    NC   
   AO.02    NC   
   AO.03    NC   

...


Databázové proměnné:

 Poř.  Jméno  Typ  WID  Warm  Init hodnota  St.  Komentář 
 1  DI0  I  1082      1  Vstupy pro program 
 2  DO0  I  1407  *    1  Digitalni vystupy 
 3  f_FLASH  I  1332      1  Zabespečení flash 
 4  f_FLASH_CMP  I  1338      1  Flash při teplém restartu 
 5  f_FLASH_CRC  I  1337      1  Flash po nahrání programu 
 6  f_start  I  1001      1  Jaký nastal start systému 
 7  INDEX_PD  I  1900      1  Index provozního deníku 
 8  Ix  I  1000      1  Proměnná pro cyklus For 
 9  Lx  L  1002      1  Čítaní 
 10  PDENIK  MI[1,808]  1901      1  Provozní deník 

...


Alias-Proměnné

 Poř.  Alias  proměnná.  Bit  Komentář 
 1  @zacykleni  f_FLASH  5  spust cyklus For (zacykleni) 
 2  @f_watchdog  f_FLASH  3  Selhání systému - restart watchdog 
 3  @f_FLASH_err  f_FLASH  1  Porucha FLASH 
 4  @f_FirstRun  f_FLASH  0  První rozběh systému 

...


Procesy

 Nazev  Jazyk  Typ  Perioda  Offset  Komentář 
 Proc00  Pse  Normal_0  100  0  Digitalni vstupy, vystupy + watchdog 
 Proc01  Pse  Normal_1  500  0  Flash 
 Proc02  Pse  Normal_2  1000  0  Proces pro zkoušku zacyklení 
 ProcIDLE  Pse  Idle  1000  0  Obsluha LCD 
 ProcINIT  Pse  Init  1000  0  Init po restartu 

...


Proc00 - Digitalni vstupy, vystupy + watchdog

Jazyk:Pse
Typ:Normal_0
Perioda:100
Ofs/Hrana:0

       //REM "Vstupy, výstupy"
       //Čtení DI0
       DigIn #0, DI0, 0x0000
       //Zápis na DO0
       DigOut DO0, #0, 0x0000
	//Restart systému po načtení/zápisu V/V
	Watchdog 0, 400

	
	
  
Procesy

Proc01 - Flash

Jazyk:Pse
Typ:Normal_1
Perioda:500
Ofs/Hrana:0

 	//Restart systému po kontrole FLASH
       if @f_FLASH_err
		Watchdog 1, 5
	endif
		
  
Procesy

Proc02 - Proces pro zkoušku zacyklení

Jazyk:Pse
Typ:Normal_2
Perioda:1000
Ofs/Hrana:0

//Spuštění zacyklení
If @zacykleni
	//Cyklus For (jen pro ukazku funkčnosti modulu Watchdog 0, 500)
	For Ix,0,9999,1
		Let Lx = Lx + Ix
	EndFor
EndIf
Procesy

ProcIDLE - Obsluha LCD

Jazyk:Pse
Typ:Idle
Perioda:1000
Ofs/Hrana:0


	Lcw3Idle NONE
Procesy

ProcINIT - Init po restartu

Jazyk:Pse
Typ:Init
Perioda:1000
Ofs/Hrana:0

      //REM "Jaký start systému + RESTART od watchdog"
       StartType f_start, @f_watchdog, NONE
       Let @f_FirstRun = if( f_start == 0, true, false)
	//REM "Kontrola FLASH"
       If @f_FirstRun, :NONE
         MemCheck NONE, f_FLASH_CRC
       Else :NONE
         MemCheck NONE, f_FLASH_CMP
         Let @f_FLASH_err = bool(if(f_FLASH_CMP==f_FLASH_CRC, 0, 1))
       EndIf 
Procesy

Podprogramy

 Nazev  Jazyk  Komentář 

...



- Funkční bloky -

Nejsou žádné funkční bloky.

...

Adresa

Obrazovky:

 Obrazovka  Počet prvků  Popis 
 Obr001  1  Provozní deník 

...

Obr001 - Provozní deník


Obrazovky:
 Prvek  Typ  Umístění (X,Y)  Velikost (šířka,výška) 
 LogView1  LogView  0, 0  122, 32 

Konec výpisu aplikace - Aplikace systému DetStudio