Takže nechcete dynamické přidávání za běhu runtime ale jen při spuštění aplikace.
To lze udělat následujícím postupem:
1. Komunikační proměnné nebudete definovat v PmaCommGroup ale v PmaData s tím že budou mít datové rozšíření pro komunikaci
viz
https://www.promotic.eu/cz/pmdoc/Objects/Others/PmVar/DExtn/ExtComm/ExtComm.htm2. Vytvoříte si maximální počet objektů PmaData, každý s 1 proměnnou (nebo s více proměnnými pokud se proměnné přidávají ve skupinách)
Každá proměnná bude mít datové rozšíření ExtComm a toto rozšíření bude parametrizováno makro výrazem $.cfgfile
viz
https://www.promotic.eu/cz/pmdoc/Directions/Macro/MacroCfgfile.htm3. Každý takový objekt PmaData bude mít nastaven konfigurátor "Zakázat objekt při spuštění" opět pomocí makro výrazy $.cfgfile
viz
https://www.promotic.eu/cz/pmdoc/Objects/Pma/PmaObject/Cfg/Object.htmTak se při spuštění aplikace vytvoří např. jen 5 objektů PmaData (ze 100 možných objektů)
a každý se zinicializuje podle obsahu konfiguračního souboru.
Každá proměnná těchto objektů se zaregistruje do PmaCommGroup, tzn jednou bude v PmaCommGroup 5 proměnných a jindy třeba 100.
Pozn1: Pravděpodobně by bylo lepší místo 100 objektů PmaData vytvořit jeden PmaPrototype a 100 PmaInstance.
Pozn2: Do budoucna plánujeme zobecnit PmaInstance tak že by se nemuselo vytvářet 100 objektů PmaInstance ale parametrem v Cfg souboru by se 1 instance "roznásobila sama".