Wiosenne porządki i nieustający marsz naprzód

Witajcie użytkownicy SZARPa! Wiosna nadeszła, a za kilka dni będziemy jeść wielkanocne jajka, pomyśleliśmy ze to bardzo dobry moment żeby napisać co działo sie z SZARPem przez ostatnie klka tygodni:

  • wypuściliśmy nową wersję SZARPa dla Windows, jej głównym atutem w stosunku do wersji poprzedniej jest znaczące przyśpieszenie synchronizacji danych (ponad 2,5-krotne), poza tym ta wersja zawiera wszystkie nowe ficzery które znajdują się w linuxowej wersji systemu SZARP.
  • nasz kolega zakończył pracę nad nową aplikacją systemu – PyIPK. PyIPK jest to oparte na pluginach narzędzie do edycji konfiguracji systemu SZARP (plików params.xml). Jako pierwsza aplikacja w SZARPie posiada zarówno graficzny (oparty na Qt) jak i tekstowy interfejs użytkownika.
  • uporządkowaliśmy kod serwera komentarzy oraz najbardzej chyba złożonej częsci draw3 – kontrolera wykresów dodaliśmy nowy duży feature do draw3 – parametry i zestawy sieciowe (ale o tym już pisaliśmy).

Ta lista w żaden sposób nie wyczerpuje wszystkich zmian jakie zaszły w SZARPie od naszego ostaniego podsumowania, w tym czasie do repozytorium SZARPa zostało wprowadzonych ponad 700 zmian zawierających dużo drobnych poprawek i usprawnień których nie sposób tutaj wymienić.
Do następnego razu i udanego dyngusa!

Pakiety SZARPa dla dystrybucji Ubuntu Oneric

Właśnie zamieściliśmy pakiety SZARPa skompilowane dla dystrybucji Ubuntu Oneric. Najnowszą wersję SZARPa skompilowną dla Oneiric-a można zainstalować po wprowadzeniu następującego adresu repozytorium w menadźerze pakietów:

  • http://newterm.pl/debianoneiric main

Od tej chwili Oneric staje się oficjalnie wspieraną przez nas wersją Ubuntu.

SZARP jesienią

Ostatnie miesiące były bardzo pracowitym okresem dla deweloperów systemu SZARP którzy byli zaangażowani w dwa większe projekty rozwojowe dotyczące SZARPa. Projekty te prawdopodobnie ujrzą świtało dzienne na początku przyszłego roku. W międzyczasie udało nam się przygotować kilka mniejszych i nie takich znowu małych zmian do systemu SZARP:

  • Uzupełniono dokumentację daemona uśredniającego meaner3.
  • Przywrócono przycisk 'SEZON’ w interfejsie programu przeglądającego.
  • Poprawiono obsługę kodowania ISO-8859-2 w programie raporter.py.
  • W daemonie k601dmn dodano zabezpieczenie na wypadek braku dostępu do portu szeregowego. Program będzie próbował odzyskać połączenie co minutę.
  • Poprawiono dwa drobne błędy we wtyczce modbus do daemona boruta.
  • Dodano funkcję logowania aktywności programu przeglądającego pozwalającą na lepsze dostosowanie aplikacji do potrzeb użytkowników.
  • Poprawiono system logowania zdarzeń w programie przeglądającym żeby nie blokował programu w wypadku braku połączenia sieciowego.
  • Usunięto błąd powodujący wyłączanie się programu przeglądającego przy używaniu parametrów i zestawów sieciowych w przypadku nie skonfigurowanego serwera komentarzy.
  • Poprawiono wyświetlanie informacji o dostępności nowej wersji programu przeglądającego.
  • Usunięto błąd w menu programu przeglądającego.
  • Poprawiono wsparcie dla pythona2.x w skryptach wykorzystujących ten język.
  • Dodano nową aplikację do edycji konfiguracji – pyipk.
  • Poprawiono skrypty instalacyjne pakietu szarp-xsltd aby nie nadpisywał konfiguracji przy aktualizacji.
  • Poprawiono wsparcie dla protokołu Modbus ASCII w daemonie boruta.
  • Usprawniono obsługę zestawów zawierających więcej niż 12 wykresów w programie przeglądajacym.
  • Poprawiono program filler aby poprawnie zachowywał się na Debianie Squeeze.
  • Zmieniono domyślnie używany parser konfiguracji na szybszy i mniej pamięciożerny parser oparty na xmlReader API.

Co w SZARPie piszczy

Lato się kończy, nasi użytkownicy na pewno już wrócili z wakacji. By zaspokoić zżerającą ich ciekawość – co działo się z ich ulubionym systemem SCADA gdy wypoczywali – zamieszczamy listę ostatnich zmian i zachęcamy do samodzielnego wypróbowania najnowszej wersji SZARPa:

  • Dodana możliwość ustawiania adresu serwera w skrypcie szrsync przez zmienną środowiskową SZRSYNC_SERVER.
  • Poprawka błędu w aplikacji szbwriter (nieprawidłowa asercja).
  • Dodane logowanie adresów IP połączeń do serwera synchronizacji SZARP.
  • Dodana dokumentacja instalacji pośrednika dla protokołu DDE pod Windows.
  • Poprawki w oknie wyboru daty w aplikacjach SZARP.
  • Dodana w programie przeglądającym możliwość kopiowania nazwy aktualnie wybranego parametru do schowka.
  • Okręgi wokół punktów wykresu X/Y w programie przeglądającym rysowane są także w trybie uśredniania wartości.
  • Poprawki w szablonach XSLT synoptyki ISL dla biblioteki python-lxml  wersjach powyżej 2.2.8.2.
  • Poprawki w formacie danych dla szndremover – narzędzia do maskowania przerw w zbieranych przez SZARP danych.
  • Poprawki w programie przeglądającym – prawidłowe odświeżanie listy parametrów w oknie edycji parametrów użytkownika.
  • Usunięta awaria programów przy ładowaniu błędnego pliku konfiguracyjnego params.xml.
  • Poprawka w obliczeniu wartości „zoptymalizowanych” parametrów LUA odnoszących się do parametrów o typie LUA_AV (średnia z wartości).
  • Dodana nowa paczka debianowa szarp-dbg-symbols, zawierająca wszystkie programy z dołączonymi symbolami do śledzenia błędów; przydatna przy analizie zrzutów pamięci z maszyn produkcyjnych.
  • Możliwość konfiguracji skalowania osi wykresów w zestawach definiowalnych w programie przeglądającym.
  • W wykresach X/Y w programie przeglądającym punkty wykresu otoczone są okręgami o promieniu proporcjonalnym do logarytmu z ilości pomiarów odpowiadających danemu punktowi na wykresie.
  • Poprawki w programie przeglądającym: poprawka w automatycznym ustawianiu sumowania godzinowego dla wykresów, poprawka przy przełączaniu na zestaw z wyłączonymi niektórymi wykresami, poprawka w obsłudze zestawów z dużą ilością wykresów.

SZARP wchodzi w rok 2012

Wszystkiego najlepszego w Nowym Roku użytkownikom systemu SZARP życzy zespół programistów Waszego ulubionego systemu SCADA!  oto lista ostatnich zmian w SZARPie:

  • Do systemu SZARP dodano bibliotekę libpyszbase. Biblioteka ta pozwala na dostęp do bazy danych SZARPa z poziomu języka Python. W bibliotece znajdują się funkcje służące do wyszkuwania danych oraz pobierania wartości parametrów. Możliwy jest dostęp do dowolnych rodzajów średnich (wliczając w to próbki 10-sekundowe). Jednym z celów wprowadzenia tej biblioteki było ułatwienie integracji systemu SZARP z innymi systemami informatycznymi. Bardzo często zachodzi potrzeba eksportu danych z SZARPa do innego systemu w jakimś specyficznym formacie. Dotychczas sprowadzało się to do pisania skrytpów które wywoływały istniejące aplikacje systemu SZARP by pobrać dane z bazy szbase, było to rozwiązanie pod kilkoma względami nieidealne: mało wydajne, wymagało pisania kodu parsującego wyjście istniejących narzędzi szarpa (uciązliwe i nieeleganckie). Teraz dostęp do bazy szbase odbywa się w sposób natywny dla języka Python, co jest wyjściem najlepszych z możliwych.
  • W najnowszej wersji szarpa dodano nową aplikację o nazwie pyipk. W tej chwili pozwala ona na wygodne przeglądanie plików konfiguracyjnych szarpa oraz edytowanie ich przy pomocy metody drag’n’drop. Docelowo program ma pozwolić na generowanie konfiguracji od zera
  • Poprawiono błąd w demonie k601dmn.
  • Poprawiono stabilność działania serwera komentarzy – serwer komentarzy automatycznie wznawia połaczenie z bazą danych gdy zostanie ono zerwane.
  • Wprowadzono zmiany umożliwiające kompilację SZARPa z nowszą wersją biblioteki boost, dzięki czemu SZARP może korzystać z wersji tych bibliotek dostępnych w standardowych repozytoriach debiana/ubuntu
  • Zmiany w obsłudze niepoprawnie/niekompletych zestawów użytkownika, jest to konsekwencja wprowadzenia obsługi zestawów sieciowych – wykresy odnoszące się do nieistniejących parametrów nie są automatycznie usuwane, a pojawiają się w programie przeglądającym z oznaczeniem '***’, użytkownik może je usunąc samodzielnie
  • Przyśpieszono inicjazlizację bazy szbase dla konfigruacji zawierających dużą ilość parametrów drawdefinable korzystających z formuł RPN
  • Rozbudowano dokumentację wykresów XYZ o opis 2 wariantów tych wykresów, dodano także wyjaśnienie w jaki sposób wykresy te są generowane z wartości parametrów

Parametry i zestawy sieciowe w draw3!

Z przyjemnością informujemy że najnowsza wersja systemu SZARP znajdujący się w repozytoriach Ubuntu Natty oraz Debian unstable zawiera wsparcie dla zestawów i parametrów sieciowych. Zestawy i parametry sieciowe jest to funkcja nad którą pracowaliśmy od jakiegoś czasu. Funkcja ta umożliwa wzjemnie dzielenie się użytkownikom zdefiniowanymi zestawami oraz parametrami programu draw3. Mamy nadzieję że ta funkcjonalność będzie miała duży wpływ na sposób w jaki zestawy oraz paramtery definowalne będą używane. Przede wszystkim, zestawy i parametry sieciowe pozwalają w bardzo wygodny sposób na tworzenie i modyfikację zestawów i parametrów które są widoczne przez wszystkie komputery pracujące w ramach danej instalacji (ale ich funkcjonalnosć nie ogranicza się do jednej instalacji – zestawy i paramtery sieciowe tak jak ich wcześniejszy odpowiednik – zestawy lokalne – mogą odwoływać się do kilku konfiguracji systemu SZARP). Ponadto, nie będzie już konieczne ręczne eksportowanie/ importowanie zestawów między komputerami, które mają dzielić ten sam zbiór zestawów użytkownika. I może najmniej spektakularne, ale również bardzo istotne – wszystkie zestawy i parametry są backupowane na serwerach firmy Newterm – eliminuje to ryzyko, że w przypadku padu komputera/dysku użytkownik traci pracowicie zdefiniowane przez siebie zestawy i/lub parametry.

Wsparcie dla Ubuntu!

Jak dotąd w oficjalnych repozytoriach systemu SZARP (http://newterm.pl/debian) można było znaleźć gotowe paczki z systemem SZARP dla Debiana w wersji stable oraz unstable. Ponieważ Ubuntu jest oparte na Debianie, własnoręczne skompilowanie SZARPa dla Ubuntu nigdy nie stanowiło wilekiego problemu. Jednak dla użytkowników którzy używają SZARPa i Ubuntu, regularne kompilowanie tego systemu mogło być zajęciem dość uciążliwym. Od dzisiaj wychodząc naprzeciw tym użytkownikom, zaczynamy oficjalnie wspierać system SZARP na Ubuntu. W ramach wsparcia planujemy oferować pakiety dla aktualnie najnowszego wydania Ubuntu oraz tzw. wydania LTS (long term support). W dniu dzisiejszym zostało uruchomione repozytorium z paczkami dla Ubuntu Natty. URL repozytorium to http://newterm.pl/debian (tak, to nie pomyłka, ścieżka repozytorium jest taka sama jak dla dystrybucji Debian).

Życzymy udanej pracy z systemem SZARP na Ubuntu!

Nowości w SZARPie

Lista zmian w systemie SZARP które pojawiły się w trakcie ostatnich dwóch miesięcy:

  • Dodano eksperymentalny szybszy parser XML do biblioteki IPK – powinno to przyspieszyć uruchamianie programów SZARP oraz zmniejszyć zużycie pamięci.
  • W programie przeglądającym dodano opcję sortowania wykresów z aktualnego zestawu względem ich wartości minimalnej/maksymalnej/średniej lub wartości z sumowania godzinowego. Sortowanie uwzględnia okres aktualnie wyświetlany lub zaznaczony za pomocą rozdwojonego kursora.
  • W programie przeglądającym dodano automatyczne przydzielanie kolorów wykresów dla zestawów o dużej ilości wykresów.  Poprawki zachowania programu przeglądającego dla zestawów z dużą ilością wykresów.
  • Poprawki w wyświetlaniu udziału procentowego w tooltipie okna wartości sumarycznych w programie przeglądającym.
  • Poprawka w programie przeglądającym w obsłudze automatycznego wykrywania języka – dodano opcję „automatycznie” do menu wyboru języka.
  • Przyspieszono w programie przeglądającym zmianę okresu dla zestawów z dużą ilością wykresów.
  • Dodano nowy skrót klawiszowy „?” w programie przeglądającym, wyświetlający pełną nazwę aktywnego parametru
  • Usunięto z paska ikon w programie przeglądającym ikonę zmiany języka; inicjalizacja ustawień językowych programu została usprawniona, dodano możliwość automatycznego wykrywania języka na podstawie ustawień systemu.
  • Program do masowego zapisu danych do bazy SZARP (szbwriter) uzyskał nową opcję w pliku konfiguracyjnym (fill_how_many_sec) pozwalającą na automatyczne uzupełnianie przerw w plikach z próbkami 10-sekundowymi. Praca programu została także kilkukrotnie przyspieszona, przy jednoczesnym zmniejszeniu obciążenia procesora.
  • Ułatwiono korzystanie z okien Wartości średnie, Wykres XY i Wykres XYZ w programie przeglądającym – wykresy i okres do wyświetlenia są ustalane na podstawie aktualnie wyświetlanego zestawu w głównym oknie programu. Jest to szybsze i wygodniejsze niż dotychczasowa konieczność wybierania wykresów z listy, a czasu z kalendarza.
  • Wiele drobnych poprawek w programie przeglądającym: poprawki w drukowaniu, poprawione rysowanie osi czasu, usunięta awaria programu przy wyświetlaniu wykresu XYZ, poprawka przesuwania kursora za pomocą klawiszy strzałek przy wciśniętym klawiszu Shift.
  • Poprawki i usprawnienia w meta-demonie boruta: poprawki w ustawianiu parzystości i ustawianie maski wielkości znaków (character size) portu szeregowego, poprawki w obsłudze trybu Modbus ASCII, poprawki w zależnościach czasowych w sterowniku protokołu ZET.

Zmiany w SZARP – dekada i nie tylko

Program przeglądający systemu SZARP został wzbogacony o możliwość wyświetlania średnich rocznych z wartości parametrów. W tym widoku domyślnie pokazywane są dane z 10 lat, stąd nowy tryb otrzymał nazwę DEKADA. Pozwala on na szybkie porównywanie zmian parametrów w ciągu lat dla użytkowników z długą historią zbieranych pomiarów. Inną istotną zmianą jest usunięcie limitu 12 wykresów na zestaw. Począwszy od wersji 3 programu przeglądającego, ograniczenie to nie był związane z kwestiami technicznymi, ale wynikało raczej z konstrukcji interfejsu użytkownika i chęci zachowania zgodności z poprzednią wersją. Zdecydowaliśmy jednak o umożliwieniu użytkownikom konstruowania zestawów z dowolną ilością wykresów, przy czym wraz z jej zwiększaniem zapewne przewijanie listy wykresów robi się coraz mniej wygodne. Ze zmian niewidocznych bezpośrednio dla użytkowników poprawiliśmy kilka problemów pojawiających się na instalacjach z dużą ilością zbieranych pomiarów (ostatnio uruchomiliśmy instalację z ponad 10000 parametrów). Poprawek doczekała się też między obsługa trybów pasywnych protokołu Modbus (TCP serwer i RTU slave) meta-sterownika Boruta. Nową istotną funkcja Boruty jest też możliwość uruchamiania sterowników urządzeń przeznaczonych do transmisji za pomocą łącza szeregowego także przez połączenia sieciowe TCP. Pozwala to na uruchamianie takich sterowników bez zmian w kodzie także za pomocą różnego rodzaju przejściówek np. Ethernet/RS232.

Gotowi na Debiana 6.0

6 lutego ukazała się nowa wersja systemu operacyjnego Debian GNU/Linux – 6.0 o nazwie kodowej „Squeeze”. Zaledwie 3 dni później udostępniliśmy gotowe pakiety instalacyjne systemu SZARP dla tej dystrybucji. Dostępne są one z repozytorium apt o adresie

  • http://szarp.org/debian squeeze main

Ponieważ zawsze możliwa była kompilacja systemu SZARP także dla najnowszej niestabilnej wersji Debiana, przygotowanie paczek dla nowego wydania nie wymagało zmian w kodzie. Niemniej konieczne są drobne zmiany w celu przystosowania oprogramowania do nowo wprowadzanych standardów. Na przykład obecna wersja nie wymaga już skonfigurowania systemu w polskiej wersji językowej z kodowaniem ISO – można używać domyślnego kodowania UTF-8.
Obecnie nasze repozytorium dla wersji stabilnej nadal zawiera paczki dla Debiana w wersji 5.0 lenny. Zmiana nastąpi, gdy będziemy gotowi na przeprowadzenia uaktualnienia naszych automatycznie aktualizowanych instalacji SZARP, co wymaga niestety trochę czasu.
No i przy okazji gratulujemy całemu zespołowi Debiana nowego wydania!