Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2020/04/55.jpg

Software Units, czyli dzielenie programu

autor: karol.

Wraz z pojawieniem się wersji TIA Portal 15.1 użytkownicy zostali obdarowani nową funkcjonalnością jaką jest: Software Units, czyli dzielenie programu na części. Funkcja pozwala ułatwić pracę automatyków działających w różnych obszarach programu i podczas uruchomień unikać wzajemnych oskarżeń o podmienianie ud-tów czy bloków, tym samym pozwalając na pracę równoległą.

Rys. 1 Praca online dla dwóch unitów

Tworzenie programu w strukturze Software Unit

Struktura Unitu przypomina strukturę jednolitego programu, są jednak pewne różnice. Po pierwsze Unit nie zawiera Hardwaru, Technology objects oraz watch/force table. Poza komponentami takimi jak: Program bloks, PLC tags, PLC data types, PLC alarms, PLC text lists  Unit zawiera element Relations, w którym możemy ustawić dostęp z naszego unitu do pozostałych elementów programu, np.:

  • „Opublikowane” bloki oraz ud-ty z innych unitów;
  • DB-ki z globalnego programu (poza software unitami);
  • Technology objects

Rys. 2 Drzewko programu ze struktura Software Units

Dostęp z danego unitu do bloków z innych unitów możliwy jest tylko wtedy,  gdy są one opublikowane oraz dodane do struktury Relations. Jednak jest to niemożliwe dla OB (organization blocks) oraz PLC tags, które są dostępne tylko z danego Unitu.


W Software Unit niedozwolone są również obiekty safety.

Rys. 3 Safety w software unit

Aby opublikować dany blok w software unit, należy we właściwościach bloku wybrać opcję Published tak jak na obrazku poniżej.

Rys. 4 Published data block

Relations

Kolejnym krokiem jest stworzenie „Relacji”. Używając Relations można s

Tworzyć połączenie z obiektami poza danym software unitem. Podstawową zasadą tworzenia Relations  jest jednokierunkowość wiązań oraz brak możliwości tworzenia Relations ze wzajemnymi odniesieniami. Nie ma możliwości tworzenia „wiązań” z zewnątrz Software Unitu  do Software Unitu.

Rys. 5 Właściwości Software Unitów

Obraz poniżej przedstawia przykład tworzenia relacji w Unit_1.

Rys. 6 Przykład tworzenia Relations

Kompilacja i wgrywanie Software Units

Software units są częścią programu, który może zostać skompilowany, a następnie wgrany do sterownika niezależnie od pozostałej części programu. Jeżeli Unit zawiera powiązania z zewnętrznymi obiektami, a obiekty te zostały zmienione, będą one dodane przy wgrywaniu programu. Dotyczy to wszystkich publikowanych bloków poza danym software unitem, ale także globalnych bloków oraz obiektów technologicznych. Natomiast jeżeli nie ma powiązań z innymi częściami programu, można wgrać unit bez względu na różnice w innej części.

Ponadto wgrywanie Software unitu możliwe jest gdy spełnione są pozostałe wymagania takie jak:

  • W urządzeniu lub w karcie pamięci istnieje już konfiguracja hardwarowa, jeżeli nie – należy wgrać cały program.
  • Wszystkie typy danych (PLC data types) na urządzeniu zgadzają się z tymi w offlinowej wersji programu.
  • Operacja wgrywania nie zawiera części programu z tą samą nazwą lub numerem, które występują w innym miejscu programu na urządzaniu lub na karcie pamięci.
  • Wgrywanie nie zawiera bloków systemowych, które występują już w urządzeniu.

Rys. 7 Wgrywanie software unitów

Podczas wgrywania Software Unitów należy zaznaczyć na drzewku programu, który Unit chcemy wgrać, a następnie wybrać, którą opcją chcemy się posłużyć.

  • Software (only changes) – Pozwala na wgranie tylko zaznaczonego unitu. Jednakże, gdy występują zmiany w innych unitach, które w konsekwencji doprowadzają do niespójności naszego unitu, też należy wgrać te zmiany. W związku z tym opcja ta nie będzie mogła być wykonana, należy w takim przypadku wybrać drugą opcję – Software (with software unit relations)
  • Software (with software unit relations) – Pozwala na wgranie zaznaczonego Unitu wraz z Unitami, do których posiada on odwołanie. Opcja ta wgrywa również zmiany do software unitów, do których zaznaczony unit posiada powiązanie.


Software Units w połaczeniu z OPC UA

Możliwe jest korzystanie z OPC UA w połączeniu z software unitami. Przy kompilacji programu należy zwrócić uwagę na poniższe punkty:

  • Gdy client interface będzie skompilowany, utworzony zostanie odpowiedni blok dla OPC UA. Jednakże zostaje on utworzony poza software unitami, należy przeciągnąć go do odpowiedniego software unitu.
  • Nowe typy danych (PLC data types) również tworzone poza software unitami. Należy przeciągnąć je do folderu PLC data types do odpowiedniego software unitu.
  • Podczas zmiany nazwy list (read/write/method lists) również tworzone są nowe typy danych, które należy przeciągnąć do właściwego software unitu.
  • Jeżeli utworzysz nowy węzeł (node), należy wykonać powtórnie kompilacje a następnie zaktualizować bloki oraz typy danych w odpowiednich software unitach.

Rys. 8 OPC UA blok danych w software unit

Podsumowanie

Software units to przydatne narzędzie pozwalające na bezbolesny rozdział kilku obszarów programu dla ułatwienia równoległej pracy kilku użytkowników. Niewątpliwą zaletą jest większa swoboda zmian, bez narażenia na podgrywanie starej wersji innej części programu. Jednak, gdy zaczniemy powiązywać Unity sytuacja również może się skomplikować.

Wygląda na to, że nie tylko w życiu, ale i w programie należy rozważnie dobierać relacje.

Bibliografia:

  1. TIA Portal v15.1 Information System
  2. indico.cern.ch/event/820481/contributions/3519072/attachments/1912246/3160183/Teamengineering_Software_Units_en.pdf
Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Kwiecień 2020.Nagrodę Voucher na szkolenie + zestaw gadżetów  dostarcza ambasador konkursu, firma EMT-SYSTEMS.


Utworzono: / Kategoria: , ,

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY