ikona telefon

ikona telefon  +48-692-961-191      

     ikona email stsystem@stsystem.pl 

Jesteśmy autorami wielu przydatnych bibliotek dla środowiska Codesys.
Poniżej znajdą Państwo fragment opisu niektórych naszych rozwiązań.

 Wielu z nas na pewno parokrotnie stanęło przed potrzebą użycia w wizualizacji Codesys rejestratora pamięci zdarzeń (np. dla wejść binarnych). Środowisko Codesys natywnie obsługuje element graficzny ?Tabela alarmów? współpracujący z systemowym archiwizerem aktywowanym w ustawieniach systemu docelowego (?Obsługa alarmów w obrębie sterownika?). Teoretycznie narzędzie to powinno całkowicie załatwić sprawę obsługi alarmów (rejestracji zdarzeń). Jednak jest ono jedną z tych funkcji Codesysa, która zachowuje się różnie w zależności od systemu docelowego. Na jednych sterownikach działa wyśmienicie, spełniając swoje zadanie w 100%. Z kolei na innych pomimo tego, że jest poprawnie skonfigurowana ? potrafi skutecznie odmówić współpracy. Dlatego właśnie powstał pomysł na wykonanie archiwizera (rejestratora zdarzeń) we własnym zakresie. Co zrobić w przypadku gdybyśmy chcieli wyświetlić kilka kanałów rejestracji zdarzeń? Do tego mieć możliwość indywidualnego dostosowania wyglądu każdego wyświetlanego kanału? Logika podpowiada, że dla każdego kanału musielibyśmy stworzyć:

- nowe zmienne przechowujące wartości,

- nowy element graficzny w którym wprowadzilibyśmy nazwy użytych zmiennych.

Przy dużej liczbie prezentowanych danych takie podejście jest żmudne i pracochłonne. Jednak projektanci środowiska Codesys zostawili nam wspaniałą ?furtkę? w postaci możliwości użycia w wizualizacji tzw. symboli zastępczych. Dzięki nim możemy ograniczyć ilość modyfikowanych w wizualizacji elementów do absolutnego minimum. Celem tego opracowania nie jest przepisywanie Helpa Codesysa ? wspomniane frazy każdy może sobie w nim wyszukać samemu. W tym opracowaniu skupię się na praktycznym użyciu wspomnianych możliwości i technik.

Powyżej przedstawiony został zarys projektu od strony prezentacji wizualnej danych. Jednak, aby móc zaprezentować dane, musimy najpierw dokonać ich akwizycji. W tym celu stworzyłem kod źródłowy, który znajduje się w projekcie ?ERROR_MEMORY.pro?. W dalszej części zaprezentuję poszczególne elementy składowe kodu oraz sposób jego użycia we własnym projekcie. Podstawowymi założeniami jakie przyświecały mi w trakcie pisania były:

- przygotowanie zwartego, krótkiego kodu,

- wykorzystanie wyłącznie funkcji, bez deklarowania instancji bloków funkcyjnych,

- możliwość użycia wielu, niezależnie konfigurowanych rejestratorów zdarzeń,

- absolutne zminimalizowanie czynności potrzebnych do implementacji kodu,

- możliwość definiowania kolorów zdarzeń.

Wszystkie z założeń zostały spełnione. Dzięki wykorzystaniu możliwości tworzenia własnych typów danych napisanie kodu okazało się dużo prostsze niż z początku zakładałem. Ponieważ moje nawyki programistyczne wywodzą się z systemów mikroprocesorowych programowanych w ?czystym? języku C, stąd w tym projekcie użyłem właśnie takich technik. Finalnego efektu nie zamykałem w formie hermetycznej biblioteki. Stwierdziłem, że warto pokazać zarówno własne podejście do rozwiązania problemu, jak również umożliwić użytkownikowi dowolną edycję kodu w zależności od własnych potrzeb. Na potrzeby dalszego opisu będę jednak używać nazwy ?biblioteka?.

Pliki do ściągnięcia:

 
 

Jeżeli są Państwo zainteresowani tworzeniem dedykowanych bibliotek - zapraszamy do kontaktu!

ST - SYSTEM [2013 - 2018]

Nasza strona korzysta z Cookies (oraz z kilku innych technologii bez których dzisiejszy internet nie byłby taki sam). Nie każdemu się to podoba, więc dajemy Ci możliwość zablokowania ich użycia. Tacy fajni jesteśmy :)