Promotic

Rozszerzenie danych ExtWriteAction - okno konfiguracyjne

Opis:
Konfiguracja rozszerzenia danych ExtWriteAction - Rozszerzenie danych do przetestowania oraz korektę zapisywanej wartości
Konfiguratory:
Identyfikator rozszerzenia danychTekst systemowy (bez spacji i znaków diakrytycznych - tzn. narodowo zależne znaki). Służy do jednoznacznej identyfikacji rozszerzenia danych w danej pozycji danych (np. w metodzie Extension).
Domyślną wartością jest "wact".
Zdarzenie "onItemBeforeWrite"Opcja, kiedy zostanie wywołane zdarzenie onItemBeforeWrite.
Jest zalecane stosowanie tego zdarzenia tylko dla specjalnych nieodzownie koniecznych przypadkach. Bowiem po zezwoleniu tego zdarzenia zapis wartości jest wewnętrznie wykonywany w bardziej skomplikowany sposób.
Jeżeli zapis został wywołany w wątku głównym, wtedy zdarzenie zostanie wywołane synchronicznie a zapis zostanie zakończony również synchronicznie.
Natomiast jeżeli zapis został wywołany z innego wątku (web, komunikacja, obiekt PmaSequencer), wtedy zdarzenie zostanie wywołane asynchronicznie, tzn. wywołanie tego zdarzenia oraz rzeczywisty zapis do zmiennej nie jest wykonywany bezpośrednio lecz dopiero po zakończeniu bieżącego skryptu. Opóźniony asynchroniczny zapisu spowoduje, że po zapisie do zmiennej wartość jeszcze nie znajduje się w zmiennej, czyli następny odczyt wartości (skrypt, trendy) zawiera poprzednią wartość.
NIGDY nie wywołuj dla tej pozycji
wywołaj przed KAŻDĄ ZMIANĄ wartości tej pozycji
wywołaj przed KAŻDYM ZAPISEM do tej pozycji
Zdarzenie "onItemAfterWrite"Opcja, kiedy zostanie wywołane zdarzenie onItemAfterWrite.
NIGDY nie wywołuj dla tej pozycji
wywołaj po KAŻDEJ ZMIANIE wartości tej pozycji
wywołaj po KAŻDYM ZAPISIE do tej pozycji
Test poprawnej jakości wartościJeżeli jest zezwolone QualityTestEnabled, wtedy podczas zapisu wartości do zmiennej jest testowana jakość zapisywanej wartości (patrz właściwość PmVar.Quality). Jeżeli jakość nie jest poprawna, wtedy do zmiennej zostanie zapisana wartość zastępcza QualitySubstValue.
Konfigurator ten stawia wartość początkową właściwości QualityTestEnabled.
Zastosuj wartość zastępcząWartość zastępcza podczas niepoprawnej jakości.
Konfigurator ten stawia wartość początkową właściwości QualitySubstValue.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Test wartości minimalnejJeżeli jest zezwolone MinTestEnabled, wtedy w trakcie zapisu wartości do zmiennej jest testowana minimalna dozwolona wartość MinValue. Jeżeli wartość jest mniejsza, wtedy do zmiennej zostanie zapisana wartość zastępcza MinSubstValue i/lub jakość zastępcza MinSubstQuality.
Konfigurator ten stawia wartość początkową właściwości MinTestEnabled.
MinimumMinimalna dozwolona wartość zmiennej.
Konfigurator ten stawia wartość początkową właściwości MinValue.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Zastosuj wartość zastępcząZapisz wartość zastępczą.
Konfigurator ten stawia wartość początkową właściwości MinSubstValueEnabled oraz MinSubstValue.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Zastosuj jakość zastępcząZapisz wartość zastępczą.
Konfigurator ten stawia wartość początkową właściwości MinSubstQualityEnabled oraz MinSubstQuality.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Test wartości maksymalnejJeżeli jest zezwolone MaxTestEnabled, wtedy w trakcie zapisu wartości do zmiennej jest testowana maksymalna dozwolona wartość MaxValue. Jeżeli wartość jest wyższa, wtedy do zmiennej zostanie zapisana wartość zastępcza MaxSubstValue i/lub jakość zastępcza MaxSubstQuality.
Konfigurator ten stawia wartość początkową właściwości MaxTestEnabled.
MaksymumMaksymalna dozwolona wartość zmiennej.
Konfigurator ten stawia wartość początkową właściwości MaxValue.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Zastosuj wartość zastępcząZapisz wartość zastępczą.
Konfigurator ten stawia wartość początkową właściwości MaxSubstValueEnabled oraz MaxSubstValue.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Zastosuj jakość zastępcząZapisz wartość zastępczą.
Konfigurator ten stawia wartość początkową właściwości MaxSubstQualityEnabled oraz MaxSubstQuality.
Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana po uruchomieniu aplikacji).
Notatka:
Opisywane okno konfiguracyjne można otworzyć z konfiguratora "Rozszerzenia danych" w zmiennej obiektu PmaData.

Uwaga: To rozszerzenie jest przeznaczone do rozszerzonej konfiguracji funkcjonalności obiektu PmVar połączone z zapisem nowej wartości. Na wskutek takiego rozszerzenia nie powstaje połączenie obiektu PmVar z innymi komponentami systemu (np. alarmy, eventy, trendy, komunikacje itd.). Z tego powodu takie rozszerzenie w ramach obiektu PmVar można wytworzyć tylko jedno (bądź rozszerzona funkcjonalność istnieje , lub nie).
 
Kolejność opracowania zapisywanej wartości jest następująca:
- wywołanie zdarzenia onItemBeforeWrite
- zaokrąglenie oraz zamiana zapisywanej wartości na wymagany typ danych
- przetestowanie zapisywanej wartości pod względem jakości
- przetestowanie zapisywanej wartości pod względem wartości minimalnej
- przetestowanie zapisywanej wartości pod względem wartości maksymalnej
- wywołanie zdarzenia onItemAfterWrite
 
Jeżeli jest zezwolone wywołanie zdarzenia onItemBeforeWrite, wtedy to zdarzenie zostanie wywołane dla danej zmiennej zawsze bezpośrednio przed zapisem lub przed zmianą wartości zmiennej. Nierozważne zezwolenie zdarzenia dla wszystkich pozycji może spowodować zbędne obciążenie czasowe procesora. Na przykład jeżeli obiekt zawiera 1000 zmiennych i każda m adozwolone wywołanie, wtedy zapis nowych wartości do wszystkich zmiennych obiektu może spowodować, że zostanie 1000 razy wywołane zdarzenie onItemBeforeWrite (za każdym razem z innym parametrem pEvent.Item). Jest również bardziej korzystne (jeżeli istnieje konieczność reagowania na zapis lub zmianę zmiennej) zezwolić zdarzenie onItemAfterWrite zamiast onItemBeforeWrite. Zezwolić onItemBeforeWrite jest zatem stosowne tylko jeżeli zachodzi konieczność testowania zapisywanej zmiennej i w przypadku konieczności jej zmiana (filtrowanie). Właściwość pEvent.NewVal jest w zdarzeniu onItemBeforeWrite przeznaczona zarówno do odczytu i zapisu i dlatego w zdarzeniu można wmusić inną wartość, niż jest rzeczywiście zapisywana.
Jeżeli jest zezwolone wywołanie zdarzenia onItemAfterWrite, wtedy to zdarzenie zostanie wywołane dla danej zmiennej zawsze po zapisie lub po zmianie wartości zmiennej. Dla zezwolenia tego zdarzenia odnoszą się podobne notatki jak w przypadku zezwolenia onItemBeforeWrite. Zezwolenie onItemAfterWrite jest stosowne w przypadku zmiennych, które zbyt często nie zmieniają swej wartości i w tym przypadku jest korzystne zezwolenie wywołania 'po zmianie'.
Uwaga: Zdarzenie onItemBeforeWrite i zdarzenie onItemAfterWrite nie zostanie wywołane, jeżeli zapis do zmiennej nie jest wykonywany bezpośrednio, tzn. jeżeli zmienna jest połączona powiązaniem danych z inną wartością.
Patrz również:

Historia:
Pm9.00.13: Dodano testowanie zapisywanej wartości pod względem jakości, minimum oraz maksymum
Pm8.03.00: Wytworzono
© MICROSYS, spol. s r.o.