Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Manuál pro školitele systému PROMOTIC

- Ověřit, zda mají všichni nainstalovaný PROMOTIC požadované verze
- Verze PROMOTIC na školení

Část 1.

- Jak nainstalovat PROMOTIC
- cesta k PM bez mezer, diakritiky
- adresář pro projekty – cesta bez mezer, diakritiky
- říct co vše je v adresáři PM
- umístění PmProj
 
- Jak spouštět aplikace
- klikem na .pra, z promotic.exe, přík.řádek .exe s parametrem .pra
 
- Založení projektu
- předkonfigurace – společné znaky
- dialog pro nastavení parametrů PreCfg (např. kom. médium Ethernet x COM -> IP x COM port, atd.)
- je možné později změnit, upravit, přidat, smazat
- zapnout WEB, JavaScript
- říct, že vše je v PRA souboru
- PmWorkspace – vysvětlení a ukázka (velikost rámce 20px, 20%, *)
- vysvětlit PmRoot, PmWeb
- použití PmFolder v PmRoot a PmFolder
 
- Vytvořit /Kotelna/Kotel1/Data
- proměnné Teplota, Vykon - datové typy
 
- Vytvořit /Kotelna/Kotel1/Kotel
- PmiBar, PmiText pro Teplota
- PmiSlider, PmiText zapnout editaci v místě (pro Vykon)
- netvořit datové vazby v PreCfg - vysvětlit složené grafické prvky
- formátování dle C

Část 2.

- INFO systém
- zjišťování chyb v aplikaci, ladění komunikací, DEBUG okno
- zadání teploty přes INFO system, pro vývojáře, ne pro operátory
- max. počet oken = 4 (všechny jsou závislé na hlavním, ale vlastní refresh)
 
- První spuštění aplikace v prohlížeči (localhost, 127.0.0.1)
- vypnout antivir
 
- Co je to objekt na příkladě člověka
- vlastnosti (pro čtení, zápis): věk, pohlaví, výška
(a=obj.Value, obj.Value=12.5)
- parametry vlastností: zub, ale který
(b=obj.vlastnost(parametry))
- metody (můžeme je spustit): jdi s parametrem kam
- události (vyskytují se – informují o stavu objektu): jdi ke dveřím a potvrď, že jsi došel
 
- Časovač /Kotelna/Kotel1/Timer 1 sec
 
- Script pro změnu teploty
- zvětšit fonty
- lokální menu script editoru
- nejdřív průvodce pro odkaz na objekt
- skript bez proměnných – vysvětlení neefektivity skriptu
- If...Then...Else, absolutní/relativní cesty
- lokální proměnné – existence, vliv na velikost aplikace
- průvodci pro VBScript příkazy (Set, Dim)
- Undo/Redo
- průvodce
- rem, ' – zakomentářování skriptu
Příklad:
pMe.Pm("../Data/#vars/Teplota").Value = pMe.Pm("../Data/#vars/Teplota").Value + 3
  
Dim oTemp
Set oTemp = pMe.Pm("../Data/#vars/Teplota")
'pMe.Pm("../Data/#vars/Teplota").Value = pMe.Pm("../Data/#vars/Teplota").Value + 3
If oTemp.Value < 100 Then
   oTemp.Value = oTemp.Value + 3
Else
  oTemp.Value = 0
End If
 
- Záložka Události (dva parametry)
- pMe.Pm – dědění rozhraní

Část 3.

- Trendy
- vytvořit /Kotelna/Kotel1/PmTrend pro Teplota a Vykon
- PmTrend pro úschovu a nabízení ale i GetData, statistika, SaveToFile, atd.
- vytvořit /Kotelna/PanelTrend z Předkonfigurace PROMOTIC objektů
- TrendsView
- ukázka nastavení trendu v runtime, uložení nastavení TG
- nastavení ve vývojovém prostředí
- slovně další možnosti (automatické načtení TG při otevření panelu trendů, použití parametrů atd.)

- přesnost času v trendech
- způsob zápisu času (lokální čas/letní čas/ vždy zimní čas)
- v prohlížečce vždy ve správném čase
- lepší je standardní čas
- způsob zápisu – zálohovací (backups) a cyklický (cyclic),
- různé formáty,
NEUKLÁDAT ZMĚNY
- optimalizace zápisu
- jednoduchá dle změny hodnoty
- dle změny "rychlosti změny" hodnoty
- necitlivost = 4 (+2/-2)- záložka Data/Rozšíření
- pokud není změna, ulož po 3600 s
- zpožděný zápis na disk – počet intervalů z bufferu paměti na disk
- přepnout trendy zpátky na dBase

Část 4.

- PmPanel
- co to je, parametry, způsoby otevření - příklad
- kdy existují prvky v PmPanel, jak zjišťovat
- seznam obrazů – Ctrl+O
- v MainPanel vytvořit PmiText (editace na místě hodnoty) a PmiWEdit s vazbou PP na proměnnou Vykon
– ovládaní, aktuální prvek x označený prvek,
- skupinové operace pomocí klávesy Shift
- kopírování pomocí klávesy Ctrl
- nejsou vrstvy -> pořadí prvků – tlačítko "O" nad aktuálním objektem
 
- Grafické prvky jako objekty
- přístup k prvkům ze skriptu
- proč nepracovat s grafickými prvky v editoru aplikace
- nutné zjišťovat, zda panel je otevřený
- pouze v lokální aplikaci, ne na WEBu
- Pmi prvky x PmiW prvky (v Rt -> PmiWEdit stačí fokus)
- hromadná editace
- PmiItem – předek graf. prvků
- jak najít kompletní rozhraní grafického prvku
- Složené graf. prvky
 
- OpenView
- způsob volání - metoda objektů PmWorkspace a PmPanel
- parametry metody
- tlačítko na otevření obrazu
pMe.PmPanel.OpenView("../../PanelTrend", "", ""); pMe.PmPanel.OpenView("../Kotel_1/Kotel", "", "");
- použití v jiných graf. objektech – událost onMousePress
- v MainPanel obrázek s kotlem, na klinutí otevřít Kotel
dvojklik v události onMousePress:
if (pEvent.Action == 2) // dvojklik
{
  pMe.PmPanel.OpenView("/Kotelna/Kotel_1/Kotel", "", "");
}
- V obraze Kotel vytvořit Button pro ../MainPanel
pMe.PmPanel.OpenView("/MainPanel", "", "");
 
- Způsoby zadávání vstupních dat do PROMOTIC:
- další způsoby (ukázka se skriptem z dokumentace):
- PmForm, příklad PmiButton + Akce "Otevřít okno formuláře"
- modální okno (OpenViewModal vs OpenView)
- do MainPanel vložit panel ModalDlg (Obecné modální okno)
 
- Typy datových vazeb w aplikaci PROMOTIC:
- změna barvy sloupce teploměru - použití vazby
- GP - Vazba na vlastnost grafického prvku (PmiButtonTwo, vrtule, plamen – animace povolena)
 
- Seznam grafických prvků
- PmiRasterImage
- SVG ale i jiné (rastrové) formáty
- kde dávat vlastní obrázky - Resource
- PmiAnimImage
- animovaný GIF
- výhody použití (nenáročný, WEB)
- PmiWAnimate
- multimediální soubory
- nevýhody (CPU, kodeky, WEB)
- k čemu používat (videotutoriály)
- potrubí – zapnout animaci, možnost vazby, WEB
- PmiCanvas na konec
- princip + ukázka (np. trojúhelník z Elementárních)
- záložka Draw
- vždy JavaScript, kdy se provádí
- omezen přístup mimo prvek
- měřiče
- statická vs dynamická část
- grafy, vzduchotechnika

Část 5.

- Alarmy/Eventy
- vytvořit /Kotelna/Kotel1/PmAlarm
- Datová rozšíření typu ExtAlarmAnalog pro teplotu
- výhody a omezení ExtAlarmAnalog
- jeden alarm pro všechny stavy
- když zanikne nelze ani potvrdit
 
- VBScript
- založit nové proměnné Tlak_1-3 v PmData (kde teplota), možno trendovat
- generování hodnot tlaků
- cyklus For...Next - průvodce
- Select Case - (ukázat na existujícím ToolBar)
- použít PmKey (F2)
Příklad 1:
Dim oData, i, oAlm
Set oData = pMe.Pm("../Data")
Set oAlm = pMe.Pm("../Alarms")
  
For i=1 To 3
  oData.Item("Tlak" & i).Value = rnd * 100
  ' oData.Item(i + 2).Value = rnd * 100 (nutno znát index proměnné v PmData)
Next
 
- Datová rozšíření typu ExtAlarmAnalog pro Tlak_1
(Typ deaktivace = 2, meze: 5,10,90,95)
- alarmy ve skriptu
- PmKey, alarmování Tlak_2
Příklad 2:
If oData.Item("Tlak_2").Value < 5 Then
  oAlm.ActivateNew "Tlak_2_ll", "alarm0", "Můj kotel č. 1", _
   "Příliš nízký tlak 2 v kotli č. 1", oData.Item("Tlak_2").Value
Else
  oAlm.Inactivate "Tlak_2_ll"
End If
 
- Inteligentní metody ActivateNew/Inactivate – Pokud alarm ne/existuje -> ne/vytvoří se
 
- PmiButtonTwo pro Status
- s ikonou – State0
- zapni/vypni - bit 0
- MAN/AUTO – bit 1
 
- PmiRasterImage (žárovka) - znázornění poruchy kotle - Status, bit 2
- datová vazba T (tabulka)
 
- Vytvořit /Kotelna/Kotel1/PmEvent
- vytvořit Datová rozšíření typu ExtEvent pro Vykon (testuj celou hodnotu, při každé změně)
- vytvořit Datová rozšíření typu ExtEvent pro Status Bit(0), Zapnutí kotle -> změna na true
- vytvořit Datová rozšíření typu ExtEvent pro Status Bit(0), Vypnutí kotle -> změna na false
 
- PmData
- Implicitní vlastnosti
- příklad PmData.Item("...").Value
- lze bez datových vazeb
- Transformační a konverzni funkce (CDbl, TransformValue, ArrayOper ..)
 
 
- VBScript/VisualBasic vs JavaScript
- co je to objekt: vlastnosti/metody/události
- jak s nimi pracovat v PROMOTIC
- parametry metod s () – metoda vrací hodnoty, a bez () – metoda nevrací hodnoty
- jazyk VBScript
- podmnožina VB = omezení -> proto globální objekt Pm
- Globální objekt Pm, Debug v objektu PmTimer
Pm.Debug "Aktuální čas: " & Pm.Time
- Dokumentace PROMOTIC
- úplný index
- v příkladech jsou odkazy na metody/vlastnosti
- název vlastnosti nebo metody – přímý odkaz na help
 
- Globální metody a proměnné
- vytvoření metody Add se dvěma parametry
Debug v těle metody:
Dim c
c = a + b
Pm.Debug "Metoda 'Add': " & c, 2
pResult = c
volání metody v PmKey:
- bez návratové hodnoty
Pm.Methods.Add 3.14159, 2.78456
- s návratovou hodnotou
Pm.Debug "PmKey-add: " & Pm.Methods(2, 5.3), 2
pMe.Pm("../Kotel").Methods.Add 5, 2
 
- PmFolder Methods
v PmPanel Kotel vytvořit metodu GetData
Příklad 3:
Dim aValues(), i
ReDim aValues(30)
For i = 0 To 30
  aValues(i) = Rnd * 100
Next
pResult = aValues
 
- PmPanel Methods
tlačítko v obraze volající metodu pro různé testy (onButtonUp)
Příklad 4:
var aRes = pMe.PmPanel.Methods.GetData();
if (Pm.IsValid(aRes))
{
  Pm.Debug(aRes, 3);
  Pm.Debug("Value 0: " + aRes.GetItem(0), 2);
}
 
- fungují ve WEB aplikacích
- jak volat takové metody (aplikace vs. panel)
 
- Řízení přístupu
- skupiny uživatelů
- definice uživatelů
- systémové skupiny, uživatelé
- implicitní nastavení aplikace
- po startu useroper – proč
- ukázka jak to funguje bez toho
- Záložka Oprávnění
- mají objekty, u kterých to má smysl
- vše co jde do WEBu
- řízení přístupu v graf.prvcích
- v tlačítku zapni/vypni, Ovládaní povoleno - UP/TestInGroup("$ADMIN")
 

Část 6.

- Komunikace
- Pm.FileText...
- zdůraznit: nepoužívat absolutní cesty ale PROMOTIC cesta k souborům nebo složkám
- Makro výraz $path
- - pouze z PmDoc práce se soubory:
- textovými (FileTextRead, FileTextWrite)
- PmDll
- kontejner pro samotnou DLL knihovnu, vlastnost Fce
- umí pouze volání funkcí, nepodporuje události
- PmActiveX
- kontejner pro samotnou knihovnu ActiveX, vlastnost Acx
- umí vlastnosti, metody i události ActiveX knihovny
- ExtDdeClient
(DDE jen zmínit)
- ExtOpcClient
- čtení dat z OPC -> po navázaní spojení PROMOTIC čeká na data, u kterých došlo ke změně – ty budou zaslány z paměti CACHE
- zápis dat do OPC -> PM zapisuje skrz OPC (tunel) přímo do zařízení a to vrací hodnotu do paměti CACHE
- ukázat na Graybox OPC simulátoru
- pro Tlak_2 přidat rozšíření OpcClient, Item ID: numeric.sin.double, k:1, d:2, q:50
- dále dodat rozšíření Trend
- PmComm, PmModem, Ethernet
- Dokumentace a návody na komunikaci ( Allen-Bradley, Simatic, ADAM, ...)
- vysvětlení datové vazby
- Praktická ukázka na PreCfg Komunikace protokolem Modbus TCP/IP s měřičem TH2E
- IP addr: 192.168.1.240

Část 7.

-Parametry + PmPrototype/PmInstance
- jak na aplikace, které obsahují více stejných objektů (kotlů)
- vytvořit vždy novou strukturu – pracné, neefektivní
- kopie + úprava parametrů
- rychlejší, nutnost pamatovat co všechno upravit
- parametrizace
– jako výše, ale jednodušší množení
- potíž při dodatečné změně
- prototypy/instance – vyšší úroveň
- snadné dodatečné změny
- (téměř) stejné objekty (dle parametrů)
- parametry Pm objektů
- ukázka na folderu Kotel1
- parametrizovat PmPanel, PmData, PmTrend, PmAlarmEvent,... (název pro zobrazení, ID skupiny, WEB adresy atd.)
- parametrizovat skript v PmTimer
Příklad:
Dim oTemp, nInt
Set oTemp = pMe.Pm("../Data/#vars/Teplota")
'pMe.Pm("../Data/#vars/Teplota").Value = pMe.Pm("../Data/#vars/Teplota").Value + 3
nInt = Pm.ToNumber(pMe.GetPar("boil"))
If oTemp.Value < 100 Then
  oTemp.Value = oTemp.Value + nInt + 2
Else
  oTemp.Value = 0
End If
Pm.Debug "Now: " & Pm.Time
 
- kopie Kotel1 na Kotel2 se změnou parametru
- použití parametrů v PmPrototyp/PmInstance
- obsah folderu Kotel1 zkopírovat do prototypu Kotel_Vzor
- vytvořit několik instancí kotle
- P/I v DEVELOP vs RT (kdy je jaký obsah)
- parametry grafických prvků
- parametry se vyhodnocují při překladu
- v ../Kotelna/ vytvořit PmPanel "Kotelna"
- v něm vytvořit inteligentní kotel (teplota, název, kliknutí atd.)
$.join($.text("appxxx","boiler"),$.par("boil"))
- vícejazyčná aplikace / editace pomocí Total Commander atd.
- kopírování + změna parametrů
- grafické prototypy/instance
- rozdíly vůči Proto/Inst v Edit.Apl
- inteligentní kotel přenést do PmiPrototype
- nezapomenout na odstranění parametrů z kotle
- zavést parametr do prototypu/instance boil:0;
- vytvoření X instancí vč. změny hodnoty parametru (pro každý kotel)
- ukázka snadné změny prvku
 
- Tenký klient
- principy vytváření Web aplikací
- ve skriptech grafických prvků nejsou dostupné objekty z editoru aplikace
- aplikace lokálně (na serveru), obraz (panel) u klienta
- přístup možný pouze pomocí metod panelu
- pro jiné prohlížeče nutno panel do JavaScript, všechny skripty se musí přepsát do JavaScriptu
- Tlustý klient
- Data/Web klient
- Koncepce jak dělat Pm projekty
- 2 aplikace - komunikační a vizualizační
- v jednom projektu 2 foldry - logika a komunikace
- pak ve 3.foldru lze udělat emulace komunikace a zakazovat objekty
- Souhrnny seznam PmObjektu
- Komponenty PROMOTIC
- bezpečnostní komponenty :

Část 8.

- Práce s databázemi
- nic se nevytváří, pouze povídání
- ukázka na hotových aplikacích
- rozdělení databází (souborové vs serverové)
- základy práce s DB
- otevření databáze, tabulky, zavření DB, TBL
- pohyb po tabulce
- MoveFirst/MoveLast
- MoveNext/MovePrev
- proč nepoužívat Move a MoveTo
- jak zajistit bezchybnost při procházení tabulky (IsBOE, IsEOF)
- přístup k hodnotám záznamu (FieldValues, Fields)
- základní SQL příkaz typu select
- jazyk SQL – musí se naučit mimo školení PM
- transakce - co to je, jak se to používá
- bez příkladu
- PmAdo
- vlastnost ADO ConnectionString – kde lze najít
- MS objekty dostupné v PM
- odchytávání chyb u Ado
- ukázka práce s DB
– aplikace Examples/Others/AppDb
- aplikace "Příklady v aplikaci" z Welcome obrazovky
- Obchodní část
- ceník PM
- verze PM
– jedna instalace=DEVELOP/RT/FREE
- stabilní vs vývojové verze
- rozšíření RT licencí
- pouze web/data klienti prodáváni na kusy, ostatní licence ANO/NE
- distribuce licencí
- HW klíč
- SW klíč s kontr. HW – nestandard, nevýhody
- NET key – jak používat
- rozšíření licence
- PmUpgrade10
- pouze když chce rozšířit nebo nový PM
- RT funguje bez časového omezení
- služby
- tech. support (placený vs neplacený)
- aplikace
- různé stadium rozpracovanosti
- www.promotic.eu
- aktuální verze PM + letáky
- bez registrace
- e-shop
- on-line dokumentace vždy k poslední verzi
- nabídka služeb
- kontakty
- naše kontakty
- distributoři
- integrátoři
- reference
Navigace:
 
 
- Manuál pro školitele systému PROMOTIC
 
 
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice