Software Units – Nowości TIA Portal V15.1

Wstęp

Tia Portal w wersji 15.1 wprowadza szereg nowości . Jedną z nich którą chciałbym Wam przybliżyć jest funkcjonalność Software units. „Software units” daje nam możliwość podzielenia projektu na fragmenty, dzięki czemu nad jednym projektem może pracować kilku programistów nie ingerując w swoje części programu. Założenie jest bardzo dobre i powinno skrócić znacząco czas uruchomienia dużych projektów.

Informacje podstawowe

– Funkcjonalność Software units jest dostępna dla CPU S7-1500 w wersji 2.6 lub wyższej.

– Możemy zastosować do 255 folderów dla danego CPU

– Opcja „Optimized block access” jest zaznaczona dla wszystkich bloków znajdujących się w obrębie folderu software unit i nie może być wyłączona

– Stworzony online backup urządzenia z funkcjonalnością software units nie może być zastosowany do urządzenia nie wspierającego tej funkcjonalności

– Informacje o programie zawierają dane dotyczące wszystkich bloków programowych niezależnie czy są wewnątrz folderu software units czy nie

– Bloki danych i zmienne z folderów software units są także widoczne w „device proxy” i mogą być eksportowane i importowane. Nie ważne czy bloki danych są „published” czy nie.

Dodanie folderu Software Unit

Aby dodać nowy folder, musimy rozwinąć folder Software units w katalogu naszego PLC. Następnie klikamy „Add new software unit, podajemy nazwę i tyle. Każdy z nowo utworzonych folderów posiada :

– Relacje

– folder bloków programowych

– folder zmiennych

– folder typów danych

– Alarmy PLC

– listę tekstów alarmów

Relacje

Zanim przejdziemy do programowania z wykorzystaniem nowej funkcjonalności, musimy poznać możliwości relacji z elementami znajdującymi się poza folderem danego unitu. Bez wykorzystania relacji moglibyśmy korzystać tylko z elementów znajdujących się wewnątrz danego folderu.

Typy relacji

1. Relacja z innym folderem Software unit – pozwala nam na korzystanie z zasobów innego folderu ale tylko z tych elementów które są opublikowane.

Aby opublikować dany element musimy kliknąć prawym przyciskiem myszy na danym bloku funkcyjnym lub bloku DB . Następnie przejść do zakładki properties i w zakładce General zaznaczamy opcję Access: Published.

2. Relacja z blokiem danych znajdującym się poza folderami Software units – pozwala na korzystanie z zasobów bloków danych utworzonych w ramach folderu Program blocks.

3. Relacja z obiektem technologicznym – pozwala na korzystanie z zasobów obiektów technologicznych (napędów, regulatorów, szybkich liczników, rfid)

Programowanie

Zanim zaczniemy wspólną pracę nad jednym projektem musimy się odpowiednio przygotować . Chciałbym zaznaczyć iż jest to nowa funkcjonalność i przedstawię Wam mój punkt widzenia na prace z wykorzystaniem Software units. Jednak nie musi to być najlepszy sposób i może znajdziesz lepsze bardziej optymalne rozwiązanie. Proszę podziel się nim w komentarzu.

Utworzenie katalogów Software Unit

Pierwszym katalogiem który powinniśmy utworzyć jest folder główny (Main). W tym folderze powinien się znaleźć blok OB1 (musimy go przerzucić z folderu Program Blocks), w którym wywołamy poszczególne funkcje z innych unitów. Zastanawiacie się pewnie czemu blok OB1 nie może pozostać w Program blocks? Dlatego że nie możliwe jest wywołanie funkcji znajdującej się w Software units z poziomu folderu Program elements (przynajmniej mi się nie udało).

Kolejnym krokiem jest utworzenie folderów podstacji nad którymi będziemy pracować osobno. Proponuje aby w każdym folderze utworzyć funkcję (z zaznaczoną opcją published), która będzie wywołana w głównym folderze. Te funkcje będą głównymi blokami programowymi danych podstacji w nich będą wywoływane inne funkcje. W zależności od projektu może się okazać że lepszą opcją będzie skorzystanie tutaj z bloków OB przerwań cyklicznych ale nie chciałbym tutaj wchodzić w takie szczegóły.

Po utworzeniu folderów możemy przejść do relacji. W folderze głównym musimy dodać relacje do wszystkich utworzonych przez nas unitów. W moim przypadku są to dwie stacje : Stacja_1 i Stacja_2.

W bloku Ob1 który znajduje się w folderze MAIN wywołuje dwie funkcje FC : OB_Stacja_1 oraz OB_Stacja_2.

Następnie możemy utworzyć elementy z których będą korzystać wszyscy programiści. Wspólne bloki DB w folderze Program blocks oraz obiekty technologiczne takie jak napędy, regulatory itp…

Tak przygotowany projekt możemy podzielić miedzy programistów i każdy może rozpocząć prace nad własnym folderem.

Oczywiście najlepiej od razu ustalić z jakiego obszaru bloków FC,FB,DB korzysta każdy z programistów aby uniknąć wszelkiego rodzaju konfliktów. Jednak nawet jak się zdarzy sytuacja w której będziemy chcieli wgrać nasz folder do sterownika z funkcja, którą już dodał nasz kolega, program nas o tym poinformuje stosownym komunikatem.

Mamy tutaj dokładną informacje, który blok wymaga zmiany nazwy.

Pracując w trybie online, widzimy na bieżąco wszystkie zmiany których dokonują inni programiści. Możemy kliknąć prawym przyciskiem myszy na ich foldery i po prostu pobrać zawartość ze sterownika, wtedy będziemy mieli aktualną wersje również ich części projektu.

 

Podsumowanie

Nowa funkcjonalność Software units bardzo przypadła mi do gustu. Działa to bardzo dobrze i myślę iż może to znacząco ułatwić prace kilku programistów nad jednym projektem. Jeżeli macie jakieś pytania albo coś jest dla Was nie jasne śmiało piszcie w komentarzu lub na grupie Pasja Automatyki na facebooku.

Od niedawna jest również formularz kontaktowy na stronie.

Zapraszam Was również do obserwowania profilu pasja_automatyki na Instagramie oraz do zapisania się do Newslettera (wysyłam tylko powiadomienia o nowych postach)

1 myśl na temat “Software Units – Nowości TIA Portal V15.1

  1. mkl Odpowiedz

    całość przestaje działać bardzo dobrze gdy w grę wchodzi sterownik safety i wymiana danych z pozostałymi unitami lub relacji zaczyna przybywać. Bo licznych nieciekawych doświadczeniach u nas zdecydowano się przejść na multiuser server. Jednocześnie czekam na to aż nowe wersje firmware i TIA poprawia sytuacje.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *