program

Funkce

Vzhledem k obecné programovatelnosti všech virtuálních přístrojů pozbyl virtuální přístroj program své kdysi výsadní postavení, coby jediný virtuální přístroj implementující jazyk OCL. Tento virtuální přístroj byl jako jediný schopen vykonávat obecný algoritmus a volat nativní OCL procedury jiných přístrojů.

Identickou funkci jako přístroj program dnes má jakýkoliv přístroj implemetující systémovou událostní proceduru OnActivate(). Virtuální přístroj program byl v systému ponechán především z důvodu zpětné kompatility s aplikacemi pro starší verze systémů Control Panel a Control Web, stále se ale může uplatnit v situacích, kdy je zapotřebí použít zvláštní virtuální přístroj obsahující pouze procedury a sám o sobě nevykonávající žádnou činnost.

Vzhledem k neexistenci procedur ve starších verzích systémů Control Panel a Control Web byla i forma zápisu algoritmu odlišná od zápisu procedury OnActivate(). Algoritmus se zapisoval přímo za klíčovým slovem begin a byl ukončem klíčovým slovem end, bez deklarace hlavičky procedury. Z důvodů zpětné kompatibility je přístroj program stále schopen načíst tuto formu zápisu.

program p;
  timer = 0.1;
  begin
    (* algoritmus *)
  end;
end_program;

Pokud je ale zdrojový text generován z grafické podoby, je kód již vygenerován s procedurou OnActivate().

program p;
  timer = 0.1;
  
  procedure OnActivate();
  begin
    (* algoritmus *)
  end_procedure;

end_program;

Syntax

  program program_name;
    rem = string;
    timer = timer_name;
    send_same_data;
  end_program;

Specifické parametry přístroje

Přístroj nemá žádné specifické parametry.

Nativní procedury přístroje

Run()

Volání této nativní procedury je ekvivalentí volání procedury OnActivate() a je ponecháno z důvodů udržení kompatibility se staršími aplikacemi.

Událostní procedury přístroje

Přístroj může volat standardní událostní procedury:

OnActivate()

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.

Specifické událostní procedury přístroje

Přístroj nemá specifické událostní procedury.