Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.8 – Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
W poprzednim artykule dowiedziałeś się jak działają bloki funkcyjne służące do zliczania impulsów w sterowniku PLC i jak je wykorzystywać.
Ta lekcja kursu jest podzielona na dwie istotne części – o konwersji danych i o przemieszczaniu rejestrów. Wiedzę teoretyczną z każdej części wykorzystasz w praktyce poprzez rozbudowanie Twojej aplikacji.
Programowanie PLC od podstaw – kurs dla automatyków i elektryków
Podstawy programowania sterowników PLC
- 1. Wprowadzenie. Jak skonfigurować, podłączyć oraz uruchomić sterownik PLC?
- 2. Jak tworzyć i edytować projekty w oprogramowaniu Cscape?
Programowanie sterownika PLC w języku drabinkowym
- 3. Jak tworzyć oraz konfigurować bazę zmiennych w środowisku Cscape?
- 4. Jak korzystać ze styków, cewek i bloków operacji arytmetycznych w programie sterującym?
- 5. Jak odmierzać czas w programie sterującym i jak konfigurować timery?
- 6. Jak porównywać wartości i wykorzystać wyniki operacji logicznych?
- 7. Jak zliczać impulsy i konfigurować liczniki?
- 8. Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
- 9. Jak sterować wykonywaniem programu logicznego? Instrukcja skoku warunkowego
Programowanie zintegrowanego panelu HMI
- 10. Jak budować ekrany operatorskie z obiektami do wizualizacji i zadawania wartości zmiennych?
- 11. Jak umożliwić nawigację między ekranami operatorskimi oraz jak korzystać z gotowych obiektów graficznych w środowisku Cscape?
- 12. Jak wizualizować zmienne analogowe oraz jak modyfikować ich wartości przy pomocy obiektów dostępnych w oprogramowaniu Cscape?
- 13. Obiekt Menu
- 14. Alarmy i Data trend
Komunikacja sterowników PLC w sieci szeregowej i Ethernet
- 15. Komunikacja szeregowa Modbus RTU Master i Slave
- 16. Komunikacja CsCAN
- 17. Komunikacja Ethernet Modbus TCP i Email
Zaawansowane funkcje sterownika PLC
- 18. Regulator PID
- 19. Składowanie danych: Data logging oraz karta MicroSD
- 20. Trendy historyczne oraz receptury w programie
- 21. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
- 22. Hasła i zabezpieczenia w programie, ustawienia języka oraz edytor dostępny w narzędziu, opcja autodokumentacji / Dodatkowe ustawienia i możliwości edycji
Część I: Jak i po co robić konwersję typów zmiennych
Bloki do konwersji pozwalają na zamianę typów danych. Głównie wykorzystywane są bloki do konwersji między typami: INT (16-bitowy), DINT (32-bitowy) i REAL (32-bitowy). Ponadto możliwa jest też konwersja znaków ASCII czy liczb typu long.
Pamiętaj, że operacja konwersji dotyczy wartości, a nie miejsca zajmowanego przez zmienną w pamięci sterownika.
Podczas konwersji możesz mieć do czynienia z sytuacjami takimi jak:
- zmniejszenie dokładności – co nie jest traktowane jako błąd i program jest prawidłowo wykonywany,
- konwertowanie dużej wartości na typ, który nie jest w stanie reprezentować tej wartości – błąd jest sygnalizowany i wynik działania programu może być nieoczekiwany.
Jakie bloki do konwersji typów zmiennych dostępne są w sterownikach PLC Horner?
- Blok służący do konwersji typu INT na REAL – blok konwertuje wartość INT (16-bitową), zadaną parametrem IN1 na wartość REAL (32-bitową), zapisywaną w parametrze Q.
- Blok służący do konwersji typu DINT na REAL – blok konwertuje wartość DINT (32-bitową), zadaną parametrem IN1 na wartość REAL (32-bitową), zapisywaną w parametrze Q.
- Blok służący do konwersji typu REAL na INT – blok konwertuje wartość REAL (32-bitową), zadaną parametrem IN1 na wartość INT (16-bitową), zapisywaną w parametrze Q.
- Blok służący do konwersji typu REAL na DINT – blok konwertuje wartość REAL (32-bitową), zadaną parametrem IN1 na wartość DINT (32-bitową), zapisywaną w parametrze Q.
- Blok służący do konwersji typu INT na DINT – blok konwertuje wartość INT (16-bitową), zadaną parametrem IN1 na wartość DINT (32-bitową), zapisywaną w parametrze Q.
- Blok służący do konwersji typu DINT na INT – blok konwertuje wartość DINT (32-bitową) zadaną parametrem IN1 na wartość INT (16-bitową), zapisywaną w parametrze Q.
Programowanie w akcji!
Krok 1: Jak dodać i skonfigurować bloki konwersji typów danych w środowisku Cscape?
W tworzonej aplikacji zawartość zbiorników reprezentowana jest przez rejestry typu real. Do tworzenia wizualizacji stanów zbiorników na ekranach operatorskich niezbędne będą wartości typu int.
Teraz wykorzystaj bloki konwersji danych w każdym podprogramie służącym do napełniania i opróżniania odpowiedniego zbiornika.
Ikony służące do konwersji danych dostępne są z poziomu górnego paska narzędziowego.
Jeśli ich tam nie znajdujesz, włącz je, wybierając Menu -> View -> Toolbars -> Convert Operations.
W pierwszej kolejności dodaj nowe zmienne typu int. W oknie Project Navigator wybierz opcję I/O Names i za pomocą przycisku Add dodaj zmienne:
- Adres: %R00020, Nazwa: Zbiornik_1_INT
- Adres: %R00021, Nazwa: Zbiornik_2_INT
- Adres: %R00022, Nazwa: Zbiornik_3_INT
Następnie przejdź do podprogramu Zbiornik_1 i w trzecim szczeblu drabinki, po styku normalnie otwartym ALWAYS_ON, wstaw blok konwersji REAL na INT. Nie musisz obawiać się błędnego wyniku, ponieważ wartości rejestru nie przekraczają zakresu obsługiwanego przez int.
Klikając dwukrotnie na dodany blok przejdziesz do jego konfiguracji. Jako Source wybierz zmienną Zbiornik_1 o adresie %R00001. W polu Destination wybierz stworzoną przed momentem zmienną Zbiornik_1_INT o adresie %R00020.
Chcesz nauczyć się programować sterowniki PLC?
Wszystkie odcinki kursu, bezpłatne oprogramowanie oraz dodatkowe materiały znajdziesz na stronie: Kurs - programowanie PLC od podstaw
Sprawdź pozostałe bezpłatne kursy i poradniki na Poradniku Automatyka.
source: ASTOR
Keywords
ASTOR, automatyka, PLC, Poradnik Automatyka, programowanie plc, sterownik PLC