Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onDataReceive - událost objektu PmOpcClientData

Popis:
Událost je vyvolána po příjmu dat z OPC serveru.

Způsob volání této události závisí na nastavení konfigurátoru Událost "onDataReceive". Je doporučeno nastavení "A = volat pro všechny zaregistrované proměnné (v tomto objektu i v jiných PmData objektech)".

Parametry:
pMe(Object) Reference na Promotic objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt popisující podrobněji informace o dané události.
pEvent.Items - (Array) Vlastnost je nastavena pouze když je konfigurátor Událost "onDataReceive" nastaven na hodnotu:
- "A = volat pro všechny zaregistrované proměnné (v tomto objektu i v jiných PmData objektech)".

Tehdy každá položka tohoto pole představuje objekt "datové rozšíření ExtOpcClient" proměnné, která je definovaná buď v tomto PmOpcClientData objektu nebo v jiném PmData objektu.

- "B = volat pro celou skupinu přijatých proměnných - jen pro proměnné definované v tomto objektu (zastaralé)".

Tehdy každá položka tohoto pole představuje objekt "proměnná Var", která je definovaná v tomto PmOpcClientData objektu. Proměnné v jiných PmData objektech (které mají datové rozšíření ExtOpcClient) se zde nezachycují.

V obou případech když se z OPC serveru přijme najednou například 10 datových položek, pak se událost vyvolá pouze jednou a v tomto poli je těchto 10 položek.

pEvent.VarName - (String) Název položky dat. Vlastnost je nastavena pouze když je konfigurátor Událost "onDataReceive" nastaven na hodnotu "C = volat pro každou proměnnou zvlášť - jen pro proměnné definované v tomto objektu (zastaralé)".

Například když se z OPC serveru přijme najednou 10 datových položek, pak se událost vyvolá pro každou položku zvlášť a v pEvent.VarName je název této položky.

pEvent.Reason - (Long) Důvod příjmu.
0 - Příjem z automatické aktualizace. Tzn. pokud je nastaven konfigurátor Obnovit ze serveru při změně na serveru.
1 - Po volání metody Read.
2 - Po volání metody Refresh.
Poznámka:
Vyvolání této události lze i emulovat v INFO systému, když se při prohlížení tohoto objektu stiskne tlačítko "Akce". Viz oprávnění PmRoot > Oprávnění > InfoEdit.
Příklad:
Konfigurátor Událost "onDataReceive" je nastaven na "A = volat pro všechny zaregistrované proměnné (v tomto objektu i v jiných PmData objektech)". Do položky Debug_info INFO systému vypíšeme informace o všech přijatých datech:
Dim i,u
u = UBound(pEvent.Items)
Pm.Debug "OPC onDataReceive: Count=" & (u+1) & ", Reason=" & pEvent.Reason
For i=0 To u
  Pm.Debug " Name=" & pEvent.Items(i).Var.Name
  Pm.Debug " Value=" & pEvent.Items(i).Var.Value
  Pm.Debug " Quality=" & pEvent.Items(i).Var.Quality
  Pm.Debug " ItemId=" & pEvent.Items(i).ItemId
Next
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice