Podręcznik do protokołu Ge Gbs20kbracc And

Podręcznik do protokołu GBS20KBRACCC jest przydatnym narzędziem dla inżynierów i techników, którzy chcą zapoznać się z możliwościami interfejsu wyjściowego Ge GBS20KBRACCC. Podręcznik zawiera szczegółowe informacje o jego funkcjach, włącznie z określeniem parametrów wejścia/wyjścia, opcji zabezpieczeń i instrukcji programowania. Instrukcje pozwalają użytkownikom tworzyć dokładnie dostosowane konfiguracje, które są w stanie w pełni wykorzystać wszystkie dostępne funkcje interfejsu. Podręcznik zawiera również szczegółowe informacje o kompatybilnych zestawach narzędzi, dzięki czemu technicy mogą szybko i łatwo skonfigurować i skonfigurować interfejs.

Ostatnia aktualizacja: Podręcznik do protokołu Ge Gbs20kbracc And

E-podręcznik. Organizacja żywienia i usług gastronomicznych. HGT. 12. Część 1 - w Księgarni WSiP

  • Przejdź do menu głównego
  • Przejdź do treści

UWAGA PRODUKT ELEKTRONICZNY.

Podręcznik przedstawia dokładną analizę składników odżywczych oraz normy i zalecenia dotyczące ich spożycia. Koncentruje się na problematyce zdrowia, omawia różnorodne diety chroniące przed chorobami, a także trendy żywieniowe, które mogą zwiększać ryzyko zachorowania. Posiada najnowsze dane i przedstawia je uczniom w postaci licznych tabel. Publikacja zawiera najnowszą wersję piramid żywieniowych.

Na uwagę zasługuje staranne omówienie programu WIKT i zadania ułożone specjalnie do wersji demonstracyjnej tego programu, by uczeń mógł poćwiczyć w praktyce pracę ze specjalistycznym oprogramowaniem używanym przez dietetyków.

Rozbudowany został słowniczek terminów z ich tłumaczeniem na języki angielski i niemiecki, do którego dodano całkowitą nowość – tłumaczenie podstawowych zwrotów na oba te języki. Na końcu podręcznika znajduje się tabela z wartościami odżywczymi poszczególnych surowców.

Atutem podręcznika są też liczne pytania i polecenia po rozdziałach, które nie tylko sprawdzają poziom wiedzy, ale skłaniają do aktywności, samodzielnej pracy i krytycznego przyjrzenia się własnemu stylowi życia. Podręcznik to doskonały przewodnik po metodach utrzymania dobrego zdrowia i nawet jeśli z różnych przyczyn wybiera się inny styl żywienia, to warto poznać zalecane podstawy żywienia, by wiedzieć, jak mądrze wprowadzać modyfikacje, a czego się wystrzegać.

Korzystanie z e-podręcznika

  1. Dodaj do koszyka interesujący Cię e-podręcznik i kup go.
  2. Na podany podczas zakupów adres e-mail zostanie wysłany kod dostępu do kupionego przez Ciebie e-podręcznika.
  3. Zarejestruj się na platformie WSiPnet. pl jako uczeń lub skorzystaj z konta, które już masz.
  4. Zaloguj się.
  5. Kliknij +Dodaj e-podręcznik.
  6. Wpisz kod dostępu i zatwierdź przyciskiem +Aktywuj.
  7. Gotowe! Od teraz możesz korzystać z e-podręcznika po zalogowaniu na swoje konto w serwisie . Pamiętaj, że musisz mieć dostęp do Internetu.

Kod aktywacyjny daje Ci dostęp do e-podręcznika i możliwość korzystania z niego online. Kod jest jednorazowego użytku i może być wykorzystany tylko przez jednego użytkownika.

Więcej informacji o e-podręcznikach do nauki zawodu na stronie:
https://www. pl/e-podreczniki-liceum-i-technikum/

Zobacz fragment publikacji>>

Typ publikacji:publikacja pomocniczaNośnik:usługa PRODUKT ELEKTRONICZNYWydawnictwo:WSiPSymbol:E592B2ISBN:9788302203886

Inne z tej serii/cyklu

-20%


Dodano do koszyka

Ilość: szt.

Cena:

Wartość koszyka:

Zerknij na rozdział 9 w podręczniku, jeśli masz na myśli sprzętowy PWM.Jeśli programowy to poszukaj generator impulsów albo fali prostokątnej, bo było wiele razy na wielu sterownikach, np. przy użyciu timerów.http://www. elektroda. pl/rtvforum/topic644938. htmlhttp://www. pl/rtvforum/viewtopic. php? p=3706096PS: Nano nie ma tyle wejść/wyjść. Podaj numer katalogowy, może miałeś na myśli Micro.

GE Fanuc Automation
Sterowniki programowalne

Sterownik VersaMax Nano i Micro

Podręcznik użytkownika

Znaki ostrzegawcze i uwagi
Niebezpieczeństwo
Symbolem tym oznaczono w niniejszym podręczniku informacje o niebezpiecznie wysokich napięciach, dużych
prądach, temperaturach oraz innych czynnikach, związanych z urządzeniem lub współpracującym z nim
sprzętem, które mogą spowodować obrażenia cielesne lub uszkodzenie urządzenia.

Ostrzeżenie
Symbolem tym oznaczono informacje, których nieprzestrzeganie może prowadzić do uszkodzenia urządzenia.

Uwaga
Symbolem tym oznaczono informacje o szczególnie dużym znaczeniu dla zrozumienia zasad eksploatacji i
użytkowania urządzenia.
Niniejszy podręcznik przygotowano w oparciu o informacje dostępne w czasie publikacji. Podjęto wszelkie starania,
aby zamieszczone informacje były dokładne, nie mniej jednak nie można zagwarantować, że uwzględnione zostały
wszystkie szczegółowe dane i zmiany wprowadzone w sprzęcie i oprogramowaniu, jak również nie jest możliwe
uwzględnienie wszystkich sytuacji, które mogą wystąpić w czasie instalowania, obsługi lub konserwacji urządzenia.
Mogą występować różnice pomiędzy opisami zamieszczonymi w niniejszym dokumencie a dostarczonymi
urządzeniami i oprogramowaniem. GE Fanuc Automation nie zobowiązuje się do informowania właścicieli niniejszego
podręcznika o wprowadzanych zmianach.
GE Fanuc Automation nie udziela żadnej gwarancji, jawnie sprecyzowanej lub domniemanej oraz nie ponosi
odpowiedzialności za dokładność, kompletność, pełność oraz użyteczność informacji zawartych w niniejszym
podręczniku. Nie jest udzielana gwarancja na przydatność handlową i techniczną.
Podane poniżej znaki towarowe są zastrzeżone przez GE Fanuc Automation North America, Inc.
Alarm Master
CIMPLICITY
CIMPLICITY Control
CIMPLICITY 90-ADS
PowerTRAC
VersaMax

Field Control
Genet
Genius
Genius PowerTRAC
Helpmate
Logicmaster
Workmaster

Modelmaster
Motion Mate
PowerMotion
ProLoop
PROMACRO
Series Five

Series 90
Series One
Series Six
Series Three
VuMaster

Rozdział 1

Wprowadzenie............................................................................................ 1-1
Sterowniki VersaMax Nano........................................................................ 1-1
Sterowniki VersaMax Micro....................................................................... 1-1
Moduły rozszerzające do sterowników VersaMax Micro........................ 1-2
Porównanie sterowników VersaMax serii Nano i Micro.......................... 1-3

Rozdział 2

Charakterystyka sterowników VersaMax Nano........................................ 2-1
Wyjścia sterowników VersaMax Nano...................................................... 2-4
IC200NDR001............................................................................................. 2-4
IC200NDD101............................................................................................. 2-4

Schematy obwodów wewnętrznych i połączeń
zewnętrznych sterowników VersaMax Nano............................................ 2-5
Wejścia sterowników IC200NDR001 i IC200NDD101.............................. 2-5
Wyjścia przekaźnikowe sterownika IC200NDR001.................................... 2-6
Wyjścia tranzystorowe 24 VDC sterownika IC200NDD101...................... 2-7
Schematy połączeń zewnętrznych sterowników VersaMax Nano............... 2-7

Rozdział 3

Charakterystyka sterowników VersaMax Micro....................................... 3-1
Ogólna charakterystyka modeli 14-punktowych...................................... 3-1
Ogólna charakterystyka modeli 23- i 28-punktowych.............................. 3-3
Ogólna charakterystyka modułów rozszerzających................................. 3-6
Zasilanie sterowników i modułów rozszerzających Micro....................... 3-7

Rozdział 4

Wejścia i wyjścia sterowników VersaMax Micro...................................... 4-1
Logika dodatnia i ujemna........................................................................... 4-1
Wejścia pracujące w logice dodatniej.......................................................... 4-1
Wejścia pracujące w logice ujemnej............................................................ 4-1
Wyjścia pracujące w logice dodatniej.......................................................... 4-2

Charakterystyka elektryczna wejść sterowników Micro......................... 4-2
Wejścia 24 VDC działające w logice dodatniej lub ujemnej
(IC200UDR001/002/005/010, UAL006, UDD104/110,
UEX011/012/014)........................................................................................ 4-2
Wejścia 24 VDC jako wejścia licznika impulsów wysokiej
częstotliwości (IC200UDR001/002/005/010, UAL006,
UDD104/110, UEX011/012/014)................................................................ 4-3
Wejścia AC (IC200UAA003/007)............................................................... 4-4
Wejścia analogowe (IC200UAL006)........................................................... 4-5
Wejścia analogowe - potencjometry nastawcze (wszystkie modele)........... 4-6
Wyjścia przekaźnikowe (IC200UDR001/002/005/010,
UAL006, UEX011/012)............................................................................... 4-6
Zabezpieczenie obwodów wyjść przekaźnikowych..................................... 4-7
Wyjścia AC (IC200UAA003/007).............................................................. 4-7
Wyjścia tranzystorowe LCDC i HCDC
(IC200UDD104/110, UEX014)................................................................... 4-8
Wyjście DC (IC200UDR005/010, UAL006)............................................... 4-9
Wyjście analogowe (IC200UAL006)........................................................ 4-10

Funkcjonowanie wejść i wyjść analogowych
(dotyczy sterownika IC200UAL006)........................................................ 4-10

Wejścia analogowe.................................................................................... 4-10
Wyjście analogowe.................................................................................... 4-11
Kalibracja wejść i wyjść analogowych
(dotyczy sterownika IC200UAL006)............................................................... 4-11
Kanały wejściowe...................................................................................... 4-11
Kanał wyjściowy........................................................................................ 4-12
Procedura kalibracyjna............................................................................... 4-12
Zapis stałych kalibracyjnych...................................................................... 4-13

Rozdział5

Schemat połączeń zewnętrznych dla sterowników VersaMax Micro....... 5-1
Podstawowe informacje............................................................................... 5-1
Zdejmowane listwy zaciskowe.................................................................... 5-1

Zasady wykonywania połączeń................................................................... 5-2

Rozdział 6

Instalacja sterowników VersaMax Nano i Micro..................................... 6-1
Rozpakowanie sterownika.......................................................................... 6-1
Certyfikaty i zgodność z normami.............................................................. 6-1
Certyfikaty................................................................................................... 6-1
Zgodność z normami.................................................................................... 6-2

Warunki w miejscu instalacji..................................................................... 6-3
Instalacja sterownika zgodnie z wymaganiami symbolu CE................... 6-3
Instalacja...................................................................................................... 6-5
Montaż sterownika na szynie DIN i demontaż z szyny............................... 6-6
Montaż sterownika na płycie montażowej (panelu)..................................... 6-6
Uziemienie sterownika................................................................................. 6-6
Uziemienie komputera-programatora.......................................................... 6-7
Instalacja modułu rozszerzającego............................................................... 6-7
Wykonywanie połączeń elektrycznych........................................................ 6-8

Uruchamianie sterownika........................................................................... 6-9
Normalna sekwencja uruchomieniowa........................................................ 6-9
Błędy wykryte w trakcie procedury autodiagnostycznej........................... 6-10
Przyspieszone uruchamianie sterowników z zasilaniem DC..................... 6-10
Wyłączanie zasilania sterownika............................................................... 6-10
Instalacja lub wymiana baterii zasilającej pamięć..................................... 6-11
Wymiana bezpieczników w modelach z wyjściami AC............................ 6-12

Połączenia komunikacyjne........................................................................ 6-14
Porty szeregowe......................................................................................... 6-14
Port nr 1: RS-232....................................................................................... 6-14
Połączenie portu nr 1 z portem RS-232 komputera PC
(typ D, 9-stykowy)..................................................................................... 6-15
Port nr 2: RS-485....................................................................................... 6-15
Połączenie bezpośrednie (point-to-point) RS-485/RS-485........................ 6-16
Połączenie wielu sterowników na jednej linii (multidrop)......................... 6-16
Wymagania dotyczące kabli połączeniowych............................................ 6-17
Optoizolator portu RS-485......................................................................... 6-17
Montaż optoizolatora................................................................................. 6-18
Przykłady zastosowania optoizolatora....................................................... 6-19

Rozdział 7

Konfiguracja sterowników VersaMax Nano i Micro................................ 7-1
Konfigurowanie z programatora i autokonfiguracja............................... 7-1
Konfiguracja domyślna................................................................................ 7-1
Konfiguracja jednostki centralnej sterownika (CPU).................................. 7-2
Konfiguracja portu szeregowego nr 1.......................................................... 7-3
Konfiguracja portu szeregowego nr 2.......................................................... 7-4
Konfiguracja modułów rozszerzających (ekspanderów)............................. 7-5

Konfiguracja wejść i wyjść analogowych.................................................... 7-5
Konfiguracja funkcji licznika HSC oraz wyjść PWM i PTO....................... 7-5

Rozdział 8

Funkcjonowanie systemów sterownika..................................................... 8-1
Cykl pracy sterownika................................................................................. 8-1
Elementy cyklu pracy sterownika.............................................................. 8-1
Wewnętrzne operacje systemowe................................................................ 8-1
Odczyt stanu wejść...................................................................................... 8-1
Wykonanie programu sterującego............................................................... 8-3
Ustawienie wyjść......................................................................................... 8-3
Komunikacja z programatorem.................................................................... 8-3
Komunikacja systemowa............................................................................. 8-3
Obliczenie sumy kontrolnej programu sterującego...................................... 8-3

Standardowy tryb pracy (Standard Sweep Mode)................................... 8-4
Kontrolny zegar systemowy (Watchdog Timer).......................................... 8-4

Tryb pracy ze stałym czasem trwania cyklu
(Constant Sweep Mode)............................................................................... 8-4
Zegar stałego czasu trwania cyklu (Constant Sweep Timer)........................ 8-4

Cykl pracy sterownika w trybie STOP...................................................... 8-4
Przełącznik trybu pracy Run/Stop................................................................ 8-4

Sekwencje uruchomieniowe i wyłączeniowe.............................................. 8-5
Sekwencja uruchomieniowa........................................................................ 8-5
Pamięć flash................................................................................................. 8-6
Warunki wyłączenia sterownika.................................................................. 8-6
Wyłączenie i przywrócenie zasilania........................................................... 8-7
Filtracja programowa sygnału z wejść DC.................................................. 8-7
Filtracja sygnału z potencjometrów nastawczych........................................ 8-8

Bezpieczeństwo systemu.............................................................................. 8-9
Zabezpieczenie hasłem................................................................................ 8-9
Poziomy dostępu.......................................................................................... 8-9
Zmiana poziomu dostępu............................................................................. 8-9
Uwagi dotyczące korzystania z haseł dostępu........................................... 8-10
Zabezpieczenie producenta (OEM)........................................................... 8-10
Zerowanie pamięci..................................................................................... 8-10

Diagnostyka i obsługa błędów................................................................... 8-10
Rodzaje błędów.......................................................................................... 8-10

Zmienne systemowe sygnalizujące błędy................................................. 8-11

Rozdział 9

Liczniki impulsów wysokiej częstotliwości (HSC)
i wyjścia impulsowe (PWM i PTO)............................................................ 9-1
Podstawowe informacje............................................................................... 9-1
Zestawienie funkcji HSC, PWM i PTO
dla sterowników Nano i Micro.................................................................... 9-1
Sterowniki VersaMax Micro........................................................................ 9-2
Sterowniki VersaMax Nano......................................................................... 9-2
Wejścia i wyjścia sterownika wykorzystywane
przez funkcje HSC, PWM i PTO................................................................. 9-3

Licznik jednokierunkowy typu A............................................................... 9-5
Działanie licznika typu A............................................................................. 9-6

Licznik dwukierunkowy typu B................................................................. 9-7
Działanie licznika typu B............................................................................. 9-8
Kody błędów................................................................................................ 9-9
Wyjścia funkcji HSC, PWM i PTO........................................................... 9-10
Wyjścia funkcji HSC................................................................................. 9-11
Wyjście PWM............................................................................................ 9-11

Wyjście PTO.............................................................................................. 9-12
Korekcja współczynnika wypełnienia impulsów
na wyjściach PWM i PTO.......................................................................... 9-12

Blok funkcyjny COMMREQ.................................................................... 9-13
Przykłady zastosowań licznika HSC........................................................ 9-17
Wskaźnik prędkości obrotowej.................................................................. 9-17

Rozdział 10

Elementy programu sterującego.............................................................. 10-1
Struktura programu sterującego.............................................................. 10-2
Podprogramy.............................................................................................. 10-3
Deklarowanie podprogramu....................................................................... 10-4
Wywoływanie podprogramu...................................................................... 10-4
Blokowanie / odblokowywanie podprogramów........................................ 10-4

Języki programowania.............................................................................. 10-5
Język drabinkowy...................................................................................... 10-5

Zestaw instrukcji........................................................................................ 10-6
Styki........................................................................................................... 10-6
Przekaźniki................................................................................................. 10-6
Liczniki i przekaźniki czasowe.................................................................. 10-7
Funkcje matematyczne............................................................................... 10-7
Funkcje relacji matematycznych................................................................ 10-8
Funkcje do operacji na bitach.................................................................... 10-8
Funkcje do przemieszczania danych.......................................................... 10-9
Operacje tablicowe.......................................................................................... 10-9
Funkcje do konwersji danych.......................................................................... 10-9

Rozdział 11

Zmienne programu sterującego i przetwarzeanie
danych przez sterownik............................................................................ 11-1
Lokalizacja danych w pamięci sterownika.............................................. 11-2
Pamięć zorientowana rejestrowo..................................................................... 11-3
Pamięć zorientowana bitowo........................................................................... 11-3
Bity zmiany stanu i wymuszenia stanu............................................................ 11-4
Zarezerwowane adresy w pamięci sterownika................................................... 11-5
Zarezewowane adresy w pamięci zorientowanej bitowo:%I.......................... 11-5
Zarezewowane adresy w pamięci zorientowanej bitowo:%Q........................ 11-6
Zarezewowane adresy w pamięci zorientowanej rejestrowo%AQ................. 11-7
Zarezewowane adresy w pamięci zorientowanej rejestrowo%AI.................. 11-8
Zmienne z pamięcią stanu i zmienne bez pamięci stanu................................. 11-8
Używanie nazw zmiennych i opisów zmiennych............................................... 11-9
Nazwy zmiennych........................................................................................... 11-9
Lokalne nazwy zmiennych w procedurach...................................................... 11-9
Opisy zmiennych............................................................................................. 11-9

Zmienne systemowe................................................................................. 11-10
Korzystanie ze zmiennych systemowych................................................. 11-10
Zmienne%S............................................................................................. 11-10
Zmienne%SA, %SB i%SC.................................................................... 11-12

Format danych......................................................................................... 11-14
Liczby zmiennoprzecinkowe................................................................... 11-14
Błędy w operacjach i liczbach zmiennoprzecinkowych................................ 11-15

Rozdział 12

Zestaw instrukcji...................................................................................... 12-1
Funkcje do operacji na bitach.................................................................. 12-2
Długości danych w funkcjach do operacji bitowych................................. 12-2

Logiczne AND, logiczne OR...................................................................... 12-3
Logiczne AND........................................................................................... 12-3
Logiczne OR.............................................................................................. 12-3
Parametry funkcji AND i OR..................................................................... 12-4
Przykłady funkcji AND............................................................................. 12-4

Alternatywa wyłączająca OR (XOR)....................................................... 12-5
Parametry funkcji XOR............................................................................. 12-5

Negacja logiczna (NOT)............................................................................ 12-7
Parametry funkcji NOT............................................................................. 12-7

Przesunięcie bitowe w prawo/ w lewo.

12-8

Parametry funkcji do przesunięcia bitowego w prawo/ w lewo................. 12-9

Przesunięcie bitowe w obiegu zamkniętym w prawo/ w lewo.............. 12-10
Parametry funkcji do przesunięcia bitowego
w obiegu zamkniętym w prawo/ w lewo.................................................. 12-10

Sprawdzanie wartości bitu...................................................................... 12-11
Parametry funkcji BitTest........................................................................ 12-11

Ustawianie bitu, Zerowanie bitu............................................................. 12-12
Parametry funkcji do operacji bitowych:
Ustawianie bitu, Zerowanie bitu.............................................................. 12-12

Porównanie z maskowaniem................................................................... 12-13
Parametry funkcji Porównanie z maskowaniem...................................... 12-13

Szukanie pierwszego bitu o wartości 1................................................... 12-15
Parametry funkcji Bit Pos........................................................................ 12-15

Przemieszczanie bitu o wartości 1.......................................................... 12-16
Zapotrzebowanie na pamięć funkcji BITSEQ......................................... 12-16
Parametry funkcji Bit Seq........................................................................ 12-17

Funkcje sterujące..................................................................................... 12-18
Do IO......................................................................................................... 12-19
Korzystanie z funkcji DO IO z modułami dodatkowymi......................... 12-19
Parametry funkcji Do IO.......................................................................... 12-19
Obsługa wejść za pomocą funkcji Do IO................................................. 12-19
Przykłady obsługi wejść za pomocą funkcji Do IO:................................ 12-19
Obsługa wyjść za pomocą funkcji Do IO................................................ 12-19
Przykłady obsługi wyjść za pomocą funkcji Do IO:................................ 12-19

Call............................................................................................................ 12-21
End............................................................................................................ 12-22
Funkcje sterujące MCR/ End MCR....................................................... 12-23
Zagnieżdżanie funkcji MCR.................................................................... 12-23
Przykłady wykorzystania funkcji MCR/ENDMCR................................. 12-24

Jump, Label.............................................................................................. 12-25
Label........................................................................................................ 12-25
Przykłady instrukcji Jump/Label............................................................. 12-26

Comment.................................................................................................. 12-27
Funkcje do przemieszczania danych...................................................... 12-28
Move.......................................................................................................... 21-29
Move Data................................................................................................. 12-30
Parametry funkcji Move Data.................................................................. 12-30

Block Move............................................................................................... 12-31
Parametry funkcji Block Move................................................................ 12-31

Zerowanie bloku pamięci (BLKCLR).................................................... 12-32
Parametry funkcji BLKCLR.................................................................... 12-32

Rejestr przemieszczający (SHFR).......................................................... 12-33

Parametry funkcji SHFR.......................................................................... 12-33

Żądanie komunikacji (COMMREQ)).................................................... 12-35
Parametry funkcji COMMREQ............................................................... 12-35
Blok polecenia funkcji COMMREQ........................................................ 12-36

Funkcje do konwersji typów................................................................... 12-37
Konwersja danych typu liczba całkowita
ze znakiem na kod BCD.......................................................................... 12-38
Parametry funkcji INT TO BCD4............................................................ 12-38

Konwersja danych na liczbę całkowitą ze znakiem.............................. 12-39
Parametry funkcji -- & gt; INT...................................................................... 12-39

Konwersja danych na liczbę całkowitą
podwójnej precyzji ze znakiem............................................................... 12-40
Parametry funkcji -- & gt; INT...................................................................... 12-40

Konwersja danych na liczbę rzeczywistą............................................... 12-41
Parametry funkcji -- & gt; Real...................................................................... 12-41

Konwersja danych typu Real na dane typu Word................................ 12-42
Parametry funkcji -- & gt; Word.................................................................... 12-42

TRUNC..................................................................................................... 12-43
Parametry funkcji TRUNC...................................................................... 12-43

Funkcje matematyczne i numeryczne.................................................... 12-44
Konwersja danych w funkcjach matematycznych
i numerycznych........................................................................................ 12-44

Dodawanie, odejmowanie, mnożenie, dzielenie..................................... 12-45
Parametry standardowych funkcji matematycznych................................ 12-45
Typy danych standardowych funkcji matematycznych........................... 12-45
Przekroczenie zakresu wartości............................................................... 12-46

Dzielenie modulo...................................................................................... 12-47
Parametry funkcji MOD.......................................................................... 12-47

Skalowanie................................................................................................ 12-48
Parametry funkcji SCALE....................................................................... 12-48

Pierwiastek kwadratowy......................................................................... 12-49
Parametry funkcji SQRT.......................................................................... 12-49

Funkcje trygonometryczne..................................................................... 12-50
Sinus, cosinus i tangens........................................................................... 12-50
Arcus sinus, arcus cosinus i arcus tangens............................................... 12-50
Parametry funkcji trygonometrycznych................................................... 12-51

Funkcje logarytmiczne i wykładnicze.................................................... 12-52
Parametry funkcji logarytmicznych/ wykładniczych............................... 12-52
Przykład funkcji EXPT............................................................................ 12-52

Funkcje do konwersji radiany / stopnie................................................. 12-53
Parametry funkcji do konwersji miary kąta............................................. 12-53

Funkcje relacji matematycznych............................................................ 12-54
Typy danych w funkcjach relacji............................................................. 12-54

Równy, różny, mniejszy, mniejszy lub równy,
większy, większy lub równy.................................................................... 12-55
Parametry funkcji relacji matematycznych.............................................. 12-55

Range........................................................................................................ 12-56
Typy danych funkcji Range..................................................................... 12-56
Parametry funkcji Range.......................................................................... 12-56

Styki, przekaźniki i połączenia............................................................... 12-58
Styk otwarty, styk zamknięty, styk kontynuacji................................... 12-59
Styk otwarty -| |-....................................................................................... 12-59
Styk zamknięty --|/|--............................................................................. 12-59
Przekaźniki i styki kontynuacji................................................................ 12-59

Przekaźniki............................................................................................... 12-60
Kontrola wielokrotnego wykorzystywania zmiennych............................ 12-60

Przepływ sygnału i pamięć...................................................................... 12-60
Przekaźnik o stykach zamkniętych.......................................................... 12-61
Przekaźnik o stykach otwartych z pamięcią............................................. 12-61
Przekaźnik o stykach zamkniętych, z pamięcią....................................... 12-61
Przekaźnik uaktywniany zboczem narastającym sygnału........................ 12-62
Przekaźnik uaktywniany zboczem opadającym sygnału.......................... 12-62
Przekaźnik ustawialny SET..................................................................... 12-63
Przekaźnik ustawialny RESET................................................................ 12-63
Przekaźnik SET z pamięcią..................................................................... 12-63
Przekaźnik RESET z pamięcią................................................................ 12-63

Funkcje do operacji tablicowych............................................................ 12-64
Typy danych funkcji dla operacji tablicowych........................................ 12-64

Array Move.............................................................................................. 12-65
Parametry funkcji Array Move................................................................ 12-65

Przeszukiwanie tablicy (Search)............................................................. 12-67
Parametry funkcji Search......................................................................... 12-67

Liczniki i przekaźniki czasowe............................................................... 12-69
Generator sygnału prostokątnego............................................................. 12-69
Parametry przekaźników czasowych i liczników..................................... 12-70

Przekaźnik czasowy z pamięcią (ONDTR)............................................ 12-71
Parametry funkcji ONDTR.................................................................... 12-71
Działanie funkcji ONDTR....................................................................... 12-72

Przekaźnik czasowy bez pamięci (TMR)............................................... 12-73
Parametry funkcji TMR.......................................................................... 12-73
Działanie funkcji TMR............................................................................ 12-73

Przekaźnik czasowy z zanegowanym wejściem (OFDT)...................... 12-75
Działanie funkcji OFDT.......................................................................... 12-76

Licznik zliczający w górę (UPCTR)....................................................... 12-77
Parametry funkcji UPCTR....................................................................... 12-77

Licznik zliczający w dół (DNCTR)......................................................... 12-78
Parametry funkcji DNCTR...................................................................... 12-78

Rozdział 13

Funkcje specjalne sterownika................................................................. 13-1
Numery funkcji SVCREQ......................................................................... 13-2
Format funkcji SVCREQ.......................................................................... 13-3
Parametry funkcji SVCREQ...................................................................... 13-3
Przykład formatu funkcji SVCREQ........................................................... 13-3

SVCREQ 1: Zmiana/ odczyt czasu trwania cyklu
pracy sterownika w trybie ze stałym czasem cyklu................................ 13-4
Blok parametrów wejściowych funkcji SCVREQ 1 _________________ 13-4
Wyłączanie trybu ze stałym czasem trwania cyklu
(CONSTANT SWEEP)............................................................................. 13-4
Włączanie trybu ze stałym czasem trwania cyklu
Zmiana czasu trwania cyklu....................................................................... 13-4
Odczyt czasu trwania cyklu o stałej długości............................................ 13-4
Przykład funkcji SVCREQ 1..................................................................... 13-5

SVCREQ 2: Odczyt czasów z programatora.......................................... 13-6
Blok parametrów wyjściowych funkcji SVCREQ 2.................................. 13-6
Przykład funkcji SVCREQ 2..................................................................... 13-6

SVCREQ 3: Zmiana trybu komunikacji z programatorem.................. 13-7
Zmiana trybu komunikacji z programatorem............................................. 13-7
Przykład funkcji SVCREQ 3..................................................................... 13-7

SVCREQ 4: Zmiana trybu komunikacji systemowej............................. 13-8

Zmianę trybu komunikacji systemowej..................................................... 13-8
Przykład funkcji SVCREQ 4..................................................................... 13-8

SVCREQ 6: Odczyt/ zmiana liczby słów sumy
kontrolnej programu sterującego............................................................. 13-9
Format bloku parametrów funkcji SVCREQ 6.......................................... 13-9
Przykład funkcji SVCREQ 6................................................................... 13-10

SVCREQ 7: Odczyt/ zmiana wskazań zegara czasu rzeczywistego.... 13-11
Format bloku parametrów funkcji SVCREQ 7........................................ 13-11
Format bloku parametrów funkcji SCVREQ 7 Format BCD.................. 13-12
Rok w formacie 2 cyfr............................................................................. 13-12
Rok w formacie 4 cyfr............................................................................. 13-12
Format bloku parametrów funkcji SCVREQ 7
Dane zapisane w kodzie ASCII............................................................... 13-13
Rok w formacie 4 cyfr............................................................................. 13-13
Przykład funkcji SVCREQ 7................................................................... 13-14

SVCREQ 8: Zerowanie zegara systemowego........................................ 13-15
Format bloku parametrów funkcji SVCREQ 8........................................ 13-15
Przykład funkcji SVCREQ 8................................................................... 13-15

SVCREQ 9: Odczyt czasu trwania cyklu.............................................. 13-16
Format bloku parametrów funkcji SVCREQ 9........................................ 13-16
Przykład funkcji SVCREQ 9................................................................... 13-16

SVCREQ 10: Odczyt nazwy folderu...................................................... 13-17
Format bloku parametrów funkcji SVCREQ 10...................................... 13-17
Przykład funkcji SVCREQ 10................................................................. 13-17

SVCREQ 11: Odczyt numeru identyfikacyjnego (ID) sterownika..... 13-18
Format bloku parametrów funkcji SVCREQ 11...................................... 13-18
Przykład funkcji SVCREQ 11................................................................. 13-18

SVCREQ 13: Zatrzymanie sterownika.................................................. 13-19
Blok parametrów funkcji SVCREQ 13.................................................... 13-19
Przykład funkcji SVCREQ 13................................................................. 13-19

SVCREQ 14: Wymazanie komunikatów z tablicy
błędów sterownika i układów wejść/ wyjść........................................... 13-20
Blok parametrów wejściowych funkcji SVCREQ 14.............................. 13-20
Przykład funkcji SVCREQ 14................................................................. 13-20

SVCREQ 15: Odczyt ostatnio zarejestrowanego komunikatu
o błędzie działania sterownika lub układów wejść/ wyjść.................... 13-21
Blok parametrów wejściowych funkcji SVCREQ 15.............................. 13-21
Wskaźnik długości bloku szczegółowych informacji o błędzie............... 13-21
Przykład funkcji SVCREQ 15................................................................. 13-23

SVCREQ 16: Odczyt wskazań zegara odmierzającego
czas pracy sterownika.............................................................................. 13-24
Blok parametrów wyjściowych funkcji SVCREQ 16.............................. 13-24
Przykład funkcji SVCREQ 16................................................................. 13-24

SVCREQ 18: Kontrola występowania wymuszeń
zmiany wartości zmiennych wejściowych i wyjściowych..................... 13-25
Blok parametrów wyjściowych funkcji SVCREQ 18.............................. 13-25
Przykład funkcji SVCREQ 18................................................................. 13-25

SVCREQ 23: Odczyt sumy kontrolnej programu
sterującego i konfiguracji....................................................................... 13-26
Blok parametrów wyjściowych funkcji SVCREQ 23.............................. 13-26
Przykład funkcji SVCREQ 23................................................................. 13-26

VCREQ 26/30: Porównanie rzeczywistej konfiguracji
modułów wejść/ wyjść sterownika ze zdefiniowaną.............................. 13-27
Przykład funkcji SVCREQ 26................................................................. 13-27

VCREQ 29: Odczyt czasu trwania ostatniej przerwy
w zasilaniu sterownika............................................................................. 13-28
Blok parametrów wyjściowych funkcji SVCREQ 29.............................. 13-28
Przykład funkcji SVCREQ 29................................................................. 13-28

Protokoły Serial I/O / SNP / RTU........................................................... 14-1
Format funkcji COMMREQ.................................................................... 14-2
Parametry funkcji COMMREQ................................................................. 14-2
Blok polecenia funkcji COMMREQ.......................................................... 14-3
Przykład funkcji COMMREQ................................................................... 14-3

Konfigurowanie portu szeregowego za pomocą
funkcji COMMREQ:................................................................................. 14-4
Czasy wykonywania instrukcji.................................................................. 14-4
Wysyłanie innej funkcji COMMREQ do tego samego portu.................... 14-4
Niepoprawna konfiguracja portów............................................................. 14-4

Praca w charakterze stanowiska RTU Slave/ SNP Slave
z dołączonym programatorem.................................................................. 14-5
Blok poleceń COMMREQ do konfigurowania protokołu SNP............. 14-6
Blok danych COMMREQ do konfigurowania protokołu RTU............ 14-7
Blok danych COMMREQ do konfigurowania protokołu Serial I/O.... 14-8
Wywoływanie funkcji COMMREQ protokołu Serial I/O
w czasie cyklu pracy sterownika............................................................... 14-9
Kompatybilność......................................................................................... 14-9

Słowo statusu funkcji COMMREQ protokołu Serial I/O.................... 14-10
Funkcje COMMREQ protokołu Serial I/O........................................... 14-12
Wymagania odnośnie kolejności wywoływania
funkcji COMMREQ................................................................................. 14-13
Polecenia COMMREQ, których działanie musi
zostać zakończone.................................................................................... 14-13
Polecenia, które nie musza być zakończone przed
wywoływaniem następnych..................................................................... 14-13

Funkcja inicjalizacji portu (4300).......................................................... 14-14
Przykład bloku danych funkcji do inicjalizowania portu......................... 14-14

Funkcja ustawiania wielkości bufora wejściowego (4301)................... 14-15
Odczyt danych z bufora........................................................................... 14-15
Przykład bloku danych funkcji do ustawiania
wielkości bufora wejściowego................................................................. 14-15

Funkcja czyszczenia bufora wejściowego (4302).................................. 14-16
Przykład bloku danych funkcji do czyszczenia bufora wejściowego...... 14-16

Funkcja do odczytu statusu portu (4303).............................................. 14-17
Przykład bloku danych funkcji do odczytu statusu portu......................... 14-17
Status portu.............................................................................................. 14-18

Funkcja zapisu do portu (4304).............................................................. 14-19
Przykład bloku danych funkcji zapisu do portu....................................... 14-19
Słowo sterujące portu............................................................................... 14-19

Funkcja anulowania polecenia Commreq (4399).................................. 14-20
Przykład bloku danych funkcji do anulowania
polecenia Commreq................................................................................. 14-20

Funkcja automatycznego wybierania modemu (4400)......................... 14-21
Blok danych funkcji do automatycznego wybierania modemu............... 14-22
Przykład bloku danych funkcji do automatycznego
wybierania modemu................................................................................. 14-22

Funkcja do zapisu bajtów (4401)............................................................ 14-23

Przykład bloku danych funkcji do zapisu bajtów..................................... 12-23

Funkcja do odczytu bajtów (4402)......................................................... 14-24
Przykład bloku danych do odczytu bajtów.............................................. 14-24
Format danych zwracanych przez funkcję do odczytu bajtów................. 14-25

Funkcja do odczytu ciągu znaków (4403).............................................. 14-26
Przykład bloku danych funkcji do odczytu ciągu znaków....................... 14-26
Format danych zwracanych przez funkcję
do odczytu ciągu znaków......................................................................... 14-27

Rozdział 15

Funkcja PID............................................................................................. 15-1
Format funkcji PID................................................................................... 15-2
Parametry funkcji PID............................................................................... 15-3

Opis działania funkcji PID........................................................................ 15-4
Praca automatyczna................................................................................... 15-4
Sterowanie ręczne...................................................................................... 15-4
Częstotliwość wywoływania funkcji PID.................................................. 15-5
Skalowanie wejść i wyjść.......................................................................... 15-5
Przykład funkcji PID................................................................................. 15-5

Parametry bloku funkcyjnego PID.......................................................... 15-6
Parametry wewnętrzne w tablicy RefArray............................................... 15-6

Wybór algorytmu sterowania PID (PIDISA lub PIDIND)
oraz wzmocnień........................................................................................ 15-10
Regulator PID o niezależnych wyrazach (PIDIND)................................ 15-11
Wartości graniczne amplitudy i prędkości narastania
sygnału zadającego CV............................................................................ 15-12
Okres próbkowania bloku PID................................................................. 15-13

Wyznaczanie charakterystyk procesu.................................................... 15-14
Dostrajanie parametrów regulatora PID............................................... 15-15
Dobór współczynników wzmocnienia za pomocą metody
Zieglera i Nicholsa................................................................................... 15-16
Metoda idealnego dostrajania.................................................................. 15-16

Przykład prostego wywołania regulatora PID...................................... 15-17

Załącznik A

Czasy wykonywania elementów logicznych
programu sterującego............................................................................... A-1

Załącznik B

Porównanie możliwości sterowników serii 90-30,
90 Micro, i VesaMax Micro....................................................................... B-1
Różnice w funkcjonowaniu systemów operacyjnych........................ B-1
Różnice w programowaniu funkcji wyjść impulsowych (PWM i PTO)........... B-2
Funkcja PWM.............................................................................................. B-2
Funkcja PTO................................................................................................ B-2
Uaktywnienie wyjść PWM i PTO (bit Enable Output)................................ B-3
na wyjściach impulsowych.......................................................................... B-3
Wzory do konwersji częstotliwości i współczynników
wypełnienia impulsów ze sterownika serii 90 Micro
do sterownika VersaMax Micro i Nano....................................................... B-3
Improtowanie listy zmiennych.......................................................................... B-5
Zestawienie obsługiwanych funkcji języka programowania............................. B-5
Obszary pamięci dla zmiennych programmu sterującego i danych................... B-5

Załącznik C

Przykłady zastosowań funkcji HSC i PWM
z przystawkami analogowymi CALEX..................................................... C-1
Przykładowe zastosowania........................................................................ C- 2

Sterowanie natężeniem przepływu _______________________________C-2
Wejście analogowe ___________________________________________C-2
Wyjście analogowe ___________________________________________C-3

Wprowadzenie

Sterowniki programowalne VersaMax serii Nano i Micro to niedrogie, łatwe w instalacji i proste
w obsłudze urządzenia przeznaczone do pracy w niewielkich układach sterowania, zastępujących
tradycyjne układy przekaźnikowe. Dzięki szerokim możliwościom języka programowania oraz
zaimplementowanym zaawansowanym funkcjom typowym dla większych i droższych systemów
(operacje zmiennoprzecinkowe, bloki regulatora PID, protokoły komunikacyjne) sterowniki te
mogą również być wykorzystywane jako elementy bardziej rozbudowanych układów sterowania.

Sterowniki VersaMax Nano
Liczba
wejść/wyjść
10
10

Opis wejść/wyjść
6 wejść DC, 4 wyjścia tranzystorowe
LCDC*
6 wejść DC, 4 wyjścia przekaźnikowe

Zasilanie

Numer katalogowy

24 VDC

IC200NDD101

IC200NDR001

Sterowniki VersaMax Micro
wejść/wyjść

Opis wejść/wyjść

14

8 wejść DC, 6 wyjść przekaźnikowych

100 - 240 VAC

IC200UDR001

IC200UDR002

8 wejść AC, 6 wyjść AC

IC200UAA003

8 wejść DC, 2 wyjścia tranzystorowe HCDC* i
4 wyjścia LCDC*

IC200UDD104

23

13 wejść DC, 1 wyjście DC***, 9 wyjść
przekaźnikowych,
2 wejścia analogowe, 1 wyjście analogowe
16 wejść DC, 1 wyjście DC***, 11 wyjść
przekaźnikowych

IC200UAL006

IC200UDR005

IC200UAA007

28
28

16 wejść AC, 12 wyjść AC

IC200UDR010

16 wejść DC, 4 wyjścia tranzystorowe
HCDC** i 8 wyjść LCDC*

IC200UDD110

Astor Sp. z o. o. - Autoryzowany Dystrybutor GE Fanuc

1-1

1

Podręcznik użytkownika sterowników VersaMax Nano i Micro

Moduły rozszerzające do sterowników VersaMax Micro
Do każdego ze sterowników VersaMax Micro można podłączyć dodatkowo maksymalnie cztery
moduły rozszerzające, zwiększając w ten sposób liczbę wejść/wyjść w systemie.
14
*
**
***

1-2

8 wejść DC, 6 wyjść przekaźnikowych
8 wejść DC, 2 wyjścia tranzystorowe HCDC**
i 4 wyjścia LCDC*

100 - 240 VAC
24 VDC
IC200UEX011
IC200UEX012
IC200UEX014

LCDC: 0. 5A @ 12 VDC, 0. 75A @ 24 VDC
HCDC: 1. 0A @ 24 VDC
DC: 0. 25A @ 5VDC, 0. 75A @ 24 VDC

Rozdział 1 - Wprowadzenie

Porównanie sterowników VersaMax serii Nano i Micro
Sterowniki serii Nano i Micro mają postać pojedynczego, lekkiego modułu o zwartej budowie,
zawierającego jednostkę centralną (CPU), wejścia i wyjścia oraz układ zasilania (rysunek 1-1). Są
one przeznaczone do zabudowy na płycie montażowej lub na szynie DIN 35 mm.

10-punktowy sterownik VersaMax Nano

14-punktowy sterownik lub moduł rozszerzający VersaMax Micro

23- lub 28-punktowy sterownik VersaMax Micro

Rysunek 1-1. Sterowniki programowalne VersaMax Nano i Micro

1-3

Tabela 1-1. Dostępna pamięć dla danych i dla programu sterującego

Przeznaczenie obszaru pamięci
Program sterujący
Dyskretne zmienne wejściowe
Dyskretne zmienne wyjściowe
Dyskretne zmienne globalne
Dyskretne zmienne wewnętrzne
z pamięcią stanu
bez pamięci stanu
Dyskretne zmienne systemowe
Zmienne rejestrowe konfigurowalne
Analogowe zmienne wejściowe
i zmienne rejestrowe licznika HSC
Analogowe zmienne wyjściowe
Rejestry systemowe (tylko do
podglądu,
nie do użycia w programie
sterującym)

1-4

Rozmiar obszaru pamięci i zakres adresów
10-punktowe
14-punktowe
23- i 28modele Nano
modele Micro
punktowe
4 kilobajty
18 kilobajtów
512 bitów (%I0001 -%I0512)
512 bitów (%Q0001 -%Q0512)
1280 bitów (%G0001 -%G1280)
1024 bity (%M0001 -%M1024)
256 bitów (%T0001 -%T0256)
128 bitów
(%S0001 -%S0032, %SA0001 -%SA0032
%SB0001 -%SB0032, %SC0001 -%SC0032)
512 bajtów
4 kilobajty
%R0001 -%R0256
%R0001 -%R2048
256 bajtów (%AI0001 -%AI0128)
256 bajtów (%AQ0001 -%AQ0128)
32 bajty (%SR0001 -%SR0016)

Tabela 1-2. Podstawowe funkcje sterowników VersaMax Nano i Micro

Funkcja

modele Nano

modele Micro

23-punktowe
28-punktowe
Przełącznik trybu pracy Run/Stop
Przyłącze dla zewnętrznego
przełącznika trybu pracy
Wejścia analogowe w formie
potencjometrów nastawczych
Wejścia (2) i wyjście analogowe
Kondensatorowe podtrzymywanie
stanu pamięci RAM
Bateria litowa podtrzymująca stan
pamięci RAM
Diody LED - PWR, RUN, OK
oraz wskaźniki stanu wejść/wyjść
Wyjmowane listwy zaciskowe
Możliwość podłączenia do
czterech modułów
rozszerzających
Maksymalna liczba wejść/wyjść
z modułami rozszerzającymi
Port RS-232 ze złączem RJ-45
Protokół SNP/SNPX Slave
Protokół RTU Slave
Protokół Serial I/O
Port RS-485 ze złączem DB-15
Protokół SNP/SNPX Master
(wersja 2-przewodowa)
(wersja 4-przewodowa)
Programowanie przy użyciu listy
instrukcji oraz w logice
drabinkowej

*

?

?

?

?

?

?

?

?
?

?

Opcjonalnie

opcjonalnie

?

?

?

?
?

?
?

?
?

70

79

84

?
?
?
?

?
?

?
?

?
?
?
?

?
?
?
?

?

?
?
?

Funkcje języka
programowania zgodne z
funkcjami dla sterowników
serii 90-30 i serii 90-Micro
Procedury
Instrukcje
zmiennoprzecinkowe

*

?

brak

?

?
?
?
?

?

?

?
?

?

?

?

?

8
?

64
?

W sterownikach VersaMax Nano istnieje możliwość zainstalowania zewnętrznego przełacznika Run/Stop.

1-5

Charakterystyka sterowników
VersaMax Nano

Aktualnie dostępne są dwa modele sterowników programowalnych VersaMax serii Nano. Obydwa
modele zasilane są prądem stałym o napięciu 24 VDC. Wyposażone są one w 6 wejść 24 VDC
działających w logice dodatniej lub ujemnej, umożliwiających współpracę z typowymi urządzeniami
wejściowymi (wyłączniki krańcowe, przyciski i elektroniczne wyłączniki zbliżeniowe) i mogących
również pełnić rolę wejść licznika impulsów wysokiej częstotliwości (HSC). Sterowniki te posiadają
szereg wspólnych cech opisanych poniżej, różnią się jedynie rodzajem wyjść. Model IC200NDR001
dysponuje czterema wyjściami przekaźnikowymi zwiernymi o maksymalnym obciążeniu prądowym 2 A,
mogącymi sterować urządzeniami wyjściowymi zasilanymi napięciem od 5 do 30 VDC lub od 5 do 250
VAC. Model IC200NDD101 dysponuje czterema wyjściami tranzystorowymi 24 VDC, działającymi w
logice dodatniej lub ujemnej, które można również skonfigurować jako:
o wyjścia funkcji PWM (Pulse-Width Modulation), generujące impulsy prostokątne o zmiennym
współczynniku wypełnienia;
o wyjścia typu PTO (Pulse Train Output) generujące serię impulsów
o wyjścia licznika impulsów HSC.

Rysunek 1-1. Sterownik VersaMax Nano

Wspólne elementy charakterystyki sterowników VersaMax Nano są następujące:
o możliwość programowania przy wykorzystaniu oprogramowania VersaPro, w logice
drabinkowej (LD - Ladder Diagram) lub przy użyciu listy instrukcji (IL - Instruction List);
o możliwość stosowania w programie sterującym procedur programowych, bloków regulatora
PID oraz operacji zmiennoprzecinkowych w programie sterującym;
o zabezpieczenie pamięci za pomocą haseł dostępu na różnych poziomach dostępu;
o wbudowana funkcja licznika impulsów wysokiej częstotliwości (HSC) do 10kHz,
z możliwością konfiguracji jako trzy liczniki typu A lub jeden licznik typu A i jeden licznik
typu B;
o wbudowany szeregowy port komunikacyjny RS-232 ze złączem RJ-45, obsługujący protokoły
SNP i SNPX, Serial I/O oraz RTU Slave. Pracą portu można sterować za pomocą funkcji

2-1

2

o
o

COMMREQ z poziomu programu użytkownika. Port przełącza się automatycznie z protokołu
RTU na SNP do komunikacji z programatorem. Dodatkowo port może służyć do zasilania
urządzeń zewnętrznych (ze styku 7) prądem o napięciu 5 VDC i natężeniu do 100 mA
(IC200NDR001) lub do 155 mA (IC200NDD101);
diody LED wskazujące bieżący stan jednostki centralnej (PWR, OK, RUN) i obwodów
wejść/wyjść sterownika (osobna dioda dla każdego punktu wejściowego i wyjściowego);
pamięć flash (ROM) służąca do trwałego przechowywania programu sterującego
wprowadzonego przez użytkownika, oraz oprogramowania systemowego jednostki centralnej;
dwie zamocowane na stałe listwy zaciskowe do podłączenia obwodów wejść/wyjść;
możliwość podłączenia zewnętrznego przełącznika trybu pracy Run/Stop.

Tabela 2-1. Charakterystyka sterowników VersaMax Nano IC200NDR001 i IC200NDD101

Model
Parametry ogólne
Ciężar
Wymiary (wysokość×głębokość×szerokość)
Wejścia
Wyjścia
Rozmiary programu sterującego
Szybkość wykonywania programu sterującego
(zawierającego tylko styki)
Dokładność funkcji przekaźników czasowych
Parametry izolacji

Zasilanie sterownika
Zakres napięć zasilania
Dopuszczalne zmniejszenie napięcia zasilania
Prąd rozruchowy
Czas rozruchu
Pobór prądu podczas pracy
Parametry wejść
Nominalne napięcie sygnału wejściowego
Zakres napięć sygnału wejściowego
Natężenie prądu sygnału wejściowego
Rezystancja wejść
Napięcie progowe powodujące włączenie wejścia
Napięcie progowe powodujące wyłączenie
wejścia
Progowe natężenie prądu powodująca
włączenie wejścia
Progowe natężenie prądu powodująca wyłączenie
Czas reakcji

Parametry licznika impulsów wysokiej
częstotliwości
Tryby pracy
Maksymalna częstotliwość impulsów
2-2

160 g

150 g

80 × 47 × 75 mm
6 wejść 24 VDC
4 wyjścia przekaźnikowe
4 wyjścia tranzystorowe
zwierne 2 A
DC
4 kB
1. 2 ms/kB
? 0. 5%
1500 VAC (wart. Skuteczna)
pomiędzy obwodami wejść/wyjść a obwodami logicznymi
500 VAC (wart. Skuteczna) pomiędzy grupami wejść/wyjść
24 VDC (-20%, +25%)
19. 2 VDC przez 10 ms
Maksymalnie 1 A przy 24 VDC
10 ms przy 1 A
0. 12 A przy 24 VDC
Od 0 do 30 VDC
7. 5 mA
2. 8 kOhm
15 VDC
5 VDC
4. 5 mA
1. 5 mA
konfigurowany przez użytkownika od 0. 5 do 20 ms
(dla normalnego wejścia)
100 us dla wejścia skonfigurowanego jako
wejście licznika impulsów wysokiej częstotliwości

Trzy liczniki typu A lub jeden typu A i jeden typu B*
10 kHz
Rozdział 2 - Charakterystyka sterowników VersaMax Nano

Minimalna szerokość impulsów
Pojemność licznika
Wyjścia licznika

2
200 ms
16 bitów
3, dwustanowe (On/Off)
+ PTO/PWM (do 5 kHz)

* Liczniki typu A można skonfigurować na zliczanie impulsów w górę lub w dół (tryb domyślny to zliczanie w górę) oraz
na wykrywanie narastającego lub opadającego zbocza sygnału (tryb domyślny to wykrywanie narastającego zbocza).

2-3

Wyjścia sterowników VersaMax Nano
IC200NDR001
Sterownik Nano IC200NDR001 jest wyposażony w 4 wyjścia przekaźnikowe zwierne,
o maksymalnym natężeniu prądu 2 A, które pozwalają na sterowanie urządzeniami zewnętrznymi,
takimi jak rozruszniki silników elektrycznych, elektromagnesy, sygnalizatory świetlne, itp. Cewki
przekaźników są zasilane z wewnętrznego źródła napięcia 24 VDC sterownika; zasilanie urządzeń
zewnętrznych musi zapewnić użytkownik. Wyjścia przekaźnikowe nie posiadają bezpieczników użytkownik musi sam zabezpieczyć obwody wyjść. Wyjścia przekaźnikowe można również
skonfigurować jako wyjścia kontrolowane przez licznik impulsów wysokiej częstotliwości (HSC).

Tabela 2-2. Parametry wyjść przekaźnikowych
Napięcie robocze
Prąd upływowy
Maksymalne obciążenie wyjścia
Minimalne obciążenie wyjścia
Maksymalny prąd rozruchowy
Czas reakcji przy wyłączaniu i włączaniu przekaźnika
Mechaniczna żywotność styków przekaźnika
Elektryczna żywotność styków przekaźnika

Od 5 do 30 VDC
Od 5 do 250 VAC
15 mA (max. ) przy 240 VAC
2 A przy 24 VDC i 240 VAC
10 mA
5 A przez połowę cyklu
15 ms (max. )
20 000 000 operacji
200 000 operacji przy obciążeniu rezystancyjnym 2 A
lub przy obciążeniu 0. 6 A żarówką lub solenoidem

IC200NDD101
Sterownik Nano IC200NDD101 jest wyposażony w 4 wyjścia tranzystorowe 24 VDC, umożliwiające
załączanie takich urządzeń, jak zawory, lampy, przekaźniki itp. Wyjścia mogą być skonfigurowane jako
zwykłe wyjścia DC lub jako wyjścia sterowane przez licznik wysokiej częstotliwości HSC. Mogą też
pełnić rolę wyjść PWM lub PTO, umożliwiając sterowanie silnikami krokowymi i silnikami prądu
stałego.
Wszystkie wyjścia są izolowane w stosunku do obwodów logicznych sterownika i pracują w logice
dodatniej. Wyjścia mają jeden wspólny zacisk zasilania (VC) i jeden wspólny zacisk masy (COM).
Mogą one pracować przy wysokim prądzie rozruchu (8 razy większym niż prąd nominalny) i są
zabezpieczone przed impulsami ujemnego napięcia. Dzięki temu mogą realizować załączanie lamp oraz
odbiorników o charakterze indukcyjnym. Wyjścia nie są zabezpieczone przed zwarciem i wymagają
zewnętrznych bezpieczników, przy czym rekomendowane są bezpieczniki szybkodziałające.

Tabela 2-3. Parametry wyjść tranzystorowych 24 VDC
Maksymalne obciążenie
Minimalny prąd rozruchu
Spadek napięcia na wyjściu
Prąd upływowy w stanie
wyłączonym
Czas reakcji przy włączaniu
Czas reakcji przy wyłączaniu

2-4

12/24 VDC (24 VDC +10%, -43% na zaciskach V1, C1)
0. 75 A na wyjście Q1-Q4 przy 24 VDC i 100% współczynniku wypełnienia
0. 5 A na wyjście Q1-Q4 przy 12 VDC i 100% współczynniku wypełnienia
8 A przez 20 ms, 1 impuls (wyjścia 0. 75 A)
4 A przez 20 ms, 1 impuls (wyjścia 0. 5 A)
Maksymalnie 0. 3 V
maksymalnie 100 uA
Maksymalnie 0. 1 ms, przy 24 VDC i 0. 2 A
Maksymalnie 0. 2 A

2

Schematy obwodów wewnętrznych i połączeń zewnętrznych
sterowników VersaMax Nano
Wejścia sterowników IC200NDR001 i IC200NDD101

Rysunek 2-2. Typowy obwód wejścia 24 VDC działającego w logice dodatniej lub ujemnej

Rysunek 2-3. Typowy obwód wejścia licznika impulsów wysokiej częstotliwości
działającego w logice dodatniej

Rysunek 2-4. Typowy obwód wejścia licznika impulsów wysokiej częstotliwości
działającego w logice ujemnej

2-5

Wyjścia przekaźnikowe sterownika IC200NDR001

Rysunek 2-5. Typowy obwód wyjścia przekaźnikowego

Uwaga!
Wyjścia przekaźnikowe nie są zabezpieczone wewnętrznymi bezpiecznikami. Zaleca się, aby
użytkownik sam zabezpieczył obwody wyjść zewnętrznymi bezpiecznikami chroniącymi styki
przekaźników przed uszkodzeniem (prąd płynący przez styki może osiągnąć maksymalnie
2 A).
Gdy przekaźniki sterują obciążeniem indukcyjnym, zaleca się zastosowanie dodatkowych
obwodów przeciwzakłóceniowych (przykładowe obwody dla obciążenia DC i AC zilustrowano na
rysunku 2-6 poniżej). Dodatkowo zastosowanie takich obwodów umożliwia przedłużenie
żywotności styków sterujących obciążeniem indukcyjnym do poziomu odpowiadającemu
żywotności styków sterujących obciążeniem rezystancyjnym.

Rysunek 2-6. Obwody przeciwzakłóceniowe

2-6

Wyjścia tranzystorowe 24 VDC sterownika IC200NDD101

Rysunek 2-7. Typowy obwód wyjścia tranzystorowego 24 VDC

W przypadku wykorzystywania wyjść w trybie PWM lub PTO do generowania impulsów
o niskim współczynniku wypełnienia (poniżej 5%) konieczne jest włączenie rezystora
pomiędzy zacisk wyjścia (Q1-Q4) i zacisk C1 (zalecany jest rezystor 1. 5 kOhm 0. 5 W).
Ohm

Schematy połączeń zewnętrznych sterowników VersaMax Nano

Rysunek 2-8. Schemat połączeń dla modelu IC200NDR001

2-7

Rysunek 2-9. Schemat połączeń dla modelu IC200NDD101

2-8

Charakterystyka sterowników
VersaMax Micro

Sterowniki programowalne VersaMax Micro to urządzenia przeznaczone do pracy w niewielkich
układach sterowania, gdzie wymagana jest prosta obsługa i niewielki koszt instalacji. Znajdują one
szerokie zastosowanie w sterowaniu maszynami pakującymi, systemami transportowymi, itp.,
zastępując tradycyjne układy przekaźnikowe. Dzięki zaawansowanemu językowi programowania,
zaimplementowanym funkcjom typowym dla większych systemów (operacje zmiennoprzecinkowe,
bloki regulatora PID, protokoły komunikacyjne) oraz możliwości zwiększenia liczby wejść/wyjść
poprzez dołączenie maksymalnie czterech modułów rozszerzających, sterowniki te mogą również
być wykorzystywane jako elementy bardziej rozbudowanych układów sterowania.

Ogólna charakterystyka modeli 14-punktowych
Aktualnie dostępne są cztery 14-punktowe modele sterowników programowalnych VersaMax
Micro.
Tabela 3-1. Sterowniki VersaMax Micro - modele 14-punktowe

**

8 wejść 24 VDC, 6 wyjść przekaźnikowych
8 wejść AC, 6 wyjść AC
8 wejść 24 VDC, 2 wyjścia tranzystorowe HCDC**, 4
wyjścia LCDC*

Zasilanie
Numer
katalogowy
IC200UDR001
IC200UDR002
IC200UAA003
LCDC (niskoprądowe): 0. 75A @ 24 VDC
HCDC (wysokoprądowe): 1. 0A @ 24 VDC

Tabela 3-2. Ciężar 14-punktowych sterowników VersaMax Micro

Ciężar

380 g

300 g

IC200UDD004
280 g

3-1

3

STOP
VR1
L

RUN
VR2

EXP

H L

PORT

Rysunek 3-1. Sterownik VersaMax Micro - model 14-punktowy

Wspólne elementy charakterystyki 14-punktowych modeli sterowników VersaMax Micro to:

o możliwość podłączenia maksymalnie 4 modułów rozszerzających i rozbudowanie sterownika
3-2

do 70 punktów wejść/wyjść;
możliwość programowania przy wykorzystaniu oprogramowania VersaPro, w logice
możliwość stosowania w programie sterującym procedur programowych, bloków regulatora
PID oraz operacji zmiennoprzecinkowych;
wejścia 24 VDC mogą również pełnić rolę wejść licznika impulsów wysokiej częstotliwości
(HSC). W sterownikach można zaimplementować 4 liczniki typu A lub jeden licznik typu A
i jeden typu B;
zabezpieczenie dostępu do sterownika za pomocą haseł dostępu na różnych poziomach
dostępu;
wbudowany szeregowy port komunikacyjny RS-232 ze złączem RJ-45, obsługujący protokoły SNP i
SNPX oraz RTU Slave. Pracą portu można również sterować za pomocą funkcji COMMREQ
z poziomu programu użytkownika. Dodatkowo port może służyć do zasilania urządzeń zewnętrznych
prądem o napięciu 5 VDC i natężeniu do 100 mA (ze styku 7);
dwa potencjometry nastawcze działające jako wejścia analogowe, umożliwiające ustawienie
wartości w dwóch rejestrach%AI016 i%AI017 sterownika;
wbudowany przełącznik trybu pracy Run/Stop, umożliwiający również zabezpieczenie
zawartości pamięci RAM;
kondensatorowe podtrzymywanie stanu pamięci RAM przez co najmniej 3 dni;
możliwość skonfigurowania sposobu odczytu konfiguracji sterownika po włączeniu zasilania
z amięci RAM lub flash (ROM);
izolowane źródło napięcia 24 VDC do zasilania urządzeń wyjściowych, umożliwiające pobór
prądu do 200 mA (tylko IC200UDR001, IC200UDR02, IC200UDD104);
dwie zdejmowane listwy zaciskowe do podłączenia obwodów wejść/wyjść, zabezpieczone
odchylanymi pokrywami. Po wyłączeniu zasilania sterownika listwy zaciskowe wraz
z podłączonymi do nich przewodami można odpiąć od sterownika po odkręceniu dwóch
wkrętów.

Rozdział 3 - Charakterystyka sterowników VersaMax Micro

Tabela 3-3. Wspólne cechy 14-punktowych sterowników VersaMax Micro

Wymiary (wysokość × głębokość × szerokość)
Maksymalna liczba urządzeń slave w sieci

90 × 76 × 95 mm
18 kB
1. 0 ms/kB
? 0. 5%
1500 VAC (wartość skuteczna)
500 VAC (wartość skuteczna) pomiędzy grupami
8 (może być zwiększona przez użycia repeatera)

Ogólna charakterystyka modeli 23- i 28-punktowych
Aktualnie dostępny jest jeden model 23-punktowy i cztery 28-punktowe modele sterowników
programowalnych VersaMax Micro.

EXP.

H L H

Rysunek 3-2. Sterownik VersaMax Micro - model 23- i 28-punktowy

3-3

Tabela 3-4. Sterowniki VersaMax Micro - modele 23- i 28-punktowe

katalogowy

2 wejścia analogowe, 1 wyjście analogowe

16 wejść DC, 4 wyjścia tranzystorowe HCDC** i 8 wyjść
LCDC*

HCDC (wysokoprądowe): 1. 0A @ 24 VDC
Tabela 3-5. Ciężar 23- i 28-punktowych sterowników VersaMax Micro

IC200UAL006
IC200UDDD110

600 g

580 g

500 g

460 g

Tabela 3-6. Wspólne cechy 23- i 28-punktowych sterowników VersaMax Micro

Rozmiary programu sterującego

90 × 76 × 150 mm
18 kB

(zawierającego tylko styki)

1. 0 ms/kB

Dokładność funkcji przekaźników czasowych

? 0. 5%
oC),? 11 s/dzień (+55oC)
? 5 s/dzień (do +25
Typowa żywotność (bez poboru prądu): 5 lat (+30oC), 3 lata
(+55oC)

Dokładność zegara czasu rzeczywistego
Bateria litowa
3-4

Rozdział 3 - Charakterystyka sterowników VersaMax Micro

3

Elementy charakterystyki wspólne dla modelu 23-punktowego i dla wszystkich 28-punktowych
modeli sterowników VersaMax Micro są następujące:

do 79 (w przypadku modelu 23-punktowego) i 84 (w przypadku modeli 28-punktowych)
wejść/wyjść;

drabinkowej (LD - Ladder Diagram) lub przy użyciu listy instrukcji (IL - Instruction List);

PID oraz operacji zmiennoprzecinkowych;

o wejścia 24 VDC mogą również pełnić rolę wejść licznika impulsów wysokiej częstotliwości
i jeden typu B;

o wbudowane 2 szeregowe porty komunikacyjne, konfigurowane programowo: RS-232 ze
złączem RJ-45 (port nr 1), obsługujący protokoły SNP/SNPX Slave, oraz port RS-485 ze
złączem DB-15 (port nr 2), obsługujący protokoły SNP/SNPX Slave i Master, Serial I/O oraz
RTU Slave w wersji dwu- i czteroprzewodowej. Pracą portów można sterować za pomocą
funkcji COMMREQ z programu użytkownika. Obydwa porty mogą służyć do zasilania
urządzeń zewnętrznych prądem o napięciu 5 VDC i natężeniu do 100 mA (łącznie), ze styku 7
portu nr 1 i ze styku 5 portu nr 2;

o dwa potencjometry nastawcze działające jako wejścia analogowe, umożliwiające ustawienie
wartości w dwóch rejestrach%AI016 i%AI017 sterownika;

o diody LED wskazujące bieżący stan jednostki centralnej (PWR, OK, RUN) i obwodów
wejść/wyjść sterownika (osobna dioda dla każdego punktu wejściowego i wyjściowego);

o wbudowany przełącznik trybu pracy Run/Stop, umożliwiający również zabezpieczenie
zawartości pamięci RAM;

o zegar czasu rzeczywistego;
o kondensatorowe podtrzymywanie stanu pamięci RAM i pracy zegara czasu rzeczywistego
przez co najmniej 30 minut;

o możliwość zainstalowania baterii litowej podtrzymującej stan pamięci RAM i zapewniającej
nieprzerwaną pracę zegara czasu rzeczywistego;

o pamięć flash (ROM) służąca do trwałego przechowywania programu sterującego
wprowadzonego przez użytkownika oraz oprogramowania systemowego jednostki centralnej;

o możliwość skonfigurowania sposobu odczytu konfiguracji sterownika po włączeniu zasilania
z pamięci RAM lub flash (ROM);

o cztery zdejmowane listwy zaciskowe do podłączenia obwodów wejść/wyjść, zabezpieczone
wkrętów;

o izolowane źródło napięcia 24 VDC do zasilania urządzeń wyjściowych, umożliwiające pobór
prądu do 200 mA (tylko IC200UDR005, IC200UDR010, IC200UDD110, IC200UAL006).

3-5

Ogólna charakterystyka modułów rozszerzających
Aktualnie dostępne są trzy 14-punktowe moduły rozszerzające do sterowników
VersaMax Micro.
Tabela 3-7. Moduły rozszerzające do sterowników VersaMax Micro

wejść/wyjś
ć
8 wejść DC, 2 wyjścia tranzystorowe HCDC** i 4 wyjścia
HCDC: 1. 0A @ 24 VDC

Tabela 3-8. Ciężar modułów rozszerzających do sterowników VersaMax Micro

IC200UEX012

370 g

290 g

270 g

Charakterystyka modułów rozszerzających:

o Osiem wejść 24 VDC działających w logice dodatniej lub ujemnej;
o Sześć wyjść przekaźnikowych lub tranzystorowych DC;
o Izolowane źródło napięcia 24 VDC do zasilania urządzeń wyjściowych, umożliwiające pobór
prądu do 200 mA;
o Diody LED wskazujące bieżący stan modułu (PWR, OK) i jego obwodów wejść/wyjść (osobna
dioda dla każdego punktu wejściowego i wyjściowego);
o Dwa złącza, z których jedno służy do połączenia z poprzednim modułem rozszerzającym lub
bezpośrednio ze sterownikiem Micro, a drugie - do podłączenia kolejnego modułu
rozszerzającego;
o Dwie zdejmowane listwy zaciskowe do podłączenia obwodów wejść/wyjść, zabezpieczone
o Wymiary (wysokość × głębokość × szerokość): 90 × 76 × 95 mm;
o Parametry izolacji: 1500 VAC (wartość skuteczna) pomiędzy obwodami wejść/wyjść
a obwodami logicznymi 500 VAC (wartość skuteczna) pomiędzy grupami wejść/wyjść.

3-6

Rysunek 3-3. Moduł rozszerzający do sterownika VersaMax Micro

Zasilanie sterowników i modułów rozszerzających Micro
Pod względem rodzaju zasilania sterowniki VersaMax Micro można podzielić na
dwie grupy: modele zasilane prądem przemiennym o napięciu od 100 do 240 VAC
oraz modele zasilane prądem stałym o napięciu 24 VDC. Poniżej podano wymagania
dotyczące źródeł zasilania poszczególnych modeli sterowników.
Tabela 3-9. Wymagania dotyczące zasilania AC sterowników VersaMax Micro
i modułów rozszerzających

IC200UDR001, IC200UAA003, IC200UDR005, IC200UAL006, IC200UAA007, IC200UEX011
Zakres napięć

od 100 (-15%) do 240 (+10%) VAC

Częstotliwość

od 50 (-5%) do 60 (+5%) Hz

Dopuszczalny czas zaniku napięcia zasilania
Prąd rozruchowy:
Sterowniki 14-punktowe i moduły rozszerzające

Sterowniki 23-punktowe
Sterowniki 28-punktowe
Pobór prądu podczas pracy:
IC200UDR005
10 ms przy napięciu 85 do 100 VAC
20 ms przy napięciu 100 do 264 VAC
2 ms z poborem prądu 40 A
maksymalnie 18 A przy 120 VAC
maksymalnie 30 A przy 200 VAC
maksymalnie 40 A przy 265 VAC
maksymalnie 35 A przy 200 VAC
maksymalnie 46 A przy 265 VAC
0. 10 A przy 100 VAC
0. 06 A przy 200 VAC
0. 05 A przy 200 VAC
0. 20 A przy 100 VAC
0. 13 A przy 200 VAC
0. 10 A przy 200 VAC
3-7

IC200UEX001
Nominalny pobór mocy:
IC200UAA007
IC200UEX001

13 VA
11 VA
34 VA
26 VA
16 VA
13 VA

Tabela 3-10. Wymagania dotyczące zasilania DC sterowników VersaMax Micro
IC200UDR002, IC200UDR010, IC200UDD104, IC200UDD110, IC200UEX012, IC200UEX014
24 (-20%, +25%) VDC

Dopuszczalny zanik napięcia zasilania

10 ms przy napięciu 19. 2 VDC

Prąd rozruchowy*

1 A max. przy napięciu 30 VDC

Czas rozruchu

10 ms z poborem prądu 1 A

Pobór prądu podczas pracy:**
0. 16 A przy 24 VDC

Sterownik 28-punktowy IC200UDR010

0. 30 A przy 24 VDC

Sterownik 28-punktowy IC200UDD110

0. 20 A przy 24 VDC

4W

8W

5W

Uwagi:
*

3-8

Ze źródła napięcia 24 VDC jest pobierany prąd o większym natężeniu przy napięciu rozruchu (wynoszącym około 4
VDC) niż przy nominalnym napięciu zasilania. Do uruchomienia układu zasilania sterownika konieczny jest prąd o
natężeniu 2. 0 A.
Jeśli sterownik jest skonfigurowany tak, aby pomijał procedurę autodiagnostyczną przy rozruchu, rozpocznie on
wykonywanie programu sterującego 100 ms po osiągnięciu przez napięcie zasilania trwałego poziomu 24 VDC.
Źródło napięcia musi mieć możliwość dostarczenia prądu rozruchowego o podanym natężeniu, utrzymując
jednocześnie napięcie 24 VDC.

Wejścia i wyjścia sterowników VersaMax
Micro

W rozdziale tym podano szczegółową charakterystykę prądowo-napięciową oraz zamieszczono
schematy obwodów wewnętrznych wejść i wyjść występujących we wszystkich modelach
sterownika serii VersaMax Micro.

Logika dodatnia i ujemna
Poniżej zdefiniowano pojęcia logiki dodatniej i ujemnej, stosowane w niniejszym podręczniku
w odniesieniu do obwodów wejść i wyjść DC sterownika. W sterownikach VersaMax Micro
występują wejścia DC mogące pracować w logice dodatniej lub ujemnej, natomiast stosowane
wyjścia DC pracują tylko w logice dodatniej.

Wejścia pracujące w logice dodatniej
Zewnętrzne urządzenie wejściowe jest włączone pomiędzy dodatni biegun źródła zasilania
a zacisk przyłączeniowy odpowiedniego punktu wejściowego na listwie zaciskowej sterownika.
Ujemny biegun źródła zasilania jest podłączony do masy odpowiadającej danemu punktowi
wejściowemu.

Wejścia pracujące w logice ujemnej
Zewnętrzne urządzenie wejściowe jest włączone pomiędzy ujemny biegun źródła zasilania
Dodatni biegun źródła zasilania jest podłączony do masy odpowiadającej danemu punktowi
4-1

4

+24V

Wyjścia pracujące w logice dodatniej
Zewnętrzne urządzenie wyjściowe (obciążenie) jest włączone pomiędzy ujemny biegun źródła
zasilania a zacisk przyłączeniowy odpowiedniego punktu wyjściowego na listwie zaciskowej
sterownika.

User

Charakterystyka elektryczna wejść sterowników Micro
(IC200UDR001/002/005/010, UAL006, UDD104/110, UEX011/012/014)
Wejścia 24 VDC sterownika VersaMax Micro mogą działać w logice dodatniej lub ujemnej,
zarówno jako standardowe wejścia DC, jak i wejścia licznika impulsów wysokiej częstotliwości.
Przepływ prądu przez obwód wejściowy powoduje zapisanie logicznej jedynki w odpowiednim
miejscu tablicy stanu wejść%I sterownika. Charakterystyka obwodu wejściowego pozwala na
zastosowanie różnorodnych urządzeń zewnętrznych takich, jak np. przyciski, wyłączniki krańcowe
i elektroniczne wyłączniki zbliżeniowe.
Sygnał z wejść DC jest poddawany programowej filtracji, tzn. za odczytany zostaje uznany tylko
sygnał trwający dłużej, niż zadana stała czasowa filtra. Sposób filtracji opisano w rozdziale 9
" Funkcjonowanie systemów sterownika ".
Tabela 4-1. Parametry wejść 24 VDC
Napięcie progowe powodujące wyłączenie wejścia
Progowe natężenie prądu powodująca włączenie wejścia
wejścia

4-2

od 0 do 30 VDC
1. 5 mA

Rozdział 4 - Wejścia i wyjścia sterowników VersaMax Micro

Rysunek 4-1. Typowy obwód wejścia 24 VDC działającego w logice dodatniej lub ujemnej

Wejścia 24 VDC jako wejścia licznika impulsów wysokiej częstotliwości
Wejścia 24 VDC sterownika VersaMax Micro można wykorzystać jako wejścia licznika impulsów
wysokiej częstotliwości (HSC) mogącego przetwarzać sygnały impulsowe o częstotliwości do
10kHz i minimalnej szerokości (czasie trwania) impulsów wynoszącej 200 ms. Umożliwia to
zastosowanie sterowników Micro w aplikacjach realizujących pomiary przepływów, prędkości,
sterowanie transportem materiałów, sterowaniu ruchem, itp. Po skonfigurowaniu wejścia
sterownika jako wejścia licznika HSC, może ono również pracować w logice dodatniej lub
ujemnej.
Liczniki sterownika Micro można skonfigurować do pracy w jednym z dwóch trybów:
- maksymalnie cztery niezależne liczniki jednokierunkowe (typu A),
- jeden licznik jednokierunkowy (typu A) i jeden licznik dwukierunkowy (typu B).
Wejść, które nie są wykorzystywane przez licznik, można używać jako standardowych wejść DC.
Liczniki typu A można skonfigurować na zliczanie impulsów w górę lub w dół (tryb domyślny to
zliczanie w górę) oraz na wykrywanie narastającego lub opadającego zbocza sygnału (tryb
domyślny to wykrywanie narastającego zbocza). Licznik typu B realizuje funkcję A Quad B.
Pojemność rejestrów licznika wynosi 16 bitów.

Rysunek 4-2. Typowy obwód wejścia licznika impulsów wysokiej częstotliwości
działającego w logice dodatniej
4-3

Rysunek 4-3. Typowy obwód wejścia licznika impulsów wysokiej częstotliwości
Wejścia AC (IC200UAA003/007)
Obwody wejść AC są przystosowane do sygnałów o napięciu 120 VAC, 50/60 Hz. Mogą one
współpracować z szeregiem urządzeń wejściowych użytkownika, takich jak przyciski, wyłączniki
krańcowe lub elektroniczne wyłączniki zbliżeniowe. Przepływ prądu przez obwód wejściowy
powoduje zapisanie logicznej jedynki w tablicy stanu wejść (%I). Zasilanie urządzeń wejściowych
(tylko prądem przemiennym) musi być zapewnione przez użytkownika. Wejścia są zgrupowane
w 2 grupy po 4 wejścia w sterowniku UAA003 oraz w 4 grupy po 4 wejścia w sterowniku
UAA007).
Tabela 4-2. Parametry wejść AC

Częstotliwość
Maksymalne napięcie sygnału wejściowego
Progowa wartość natężenia prądu powodująca włączenie
Progowa wartość natężenia prądu powodująca wyłączenie
Czas reakcji
przy włączeniu
przy wyłączeniu

4-4

85-132 VAC
od 50 (-5%) do 60 (+5%) Hz
132 V (wartość skuteczna), 50/60 Hz
8 mA (wartość skuteczna)
przy 100 VAC, 60 Hz
80 V (wartość skuteczna)
30 V (wartość skuteczna)
4. 5 mA (wartość skuteczna)
2 mA (wartość skuteczna)
25 ms max.
30 ms max.

Rysunek 4-4. Typowy obwód wejścia 120 VAC

Wejścia analogowe (IC200UAL006)
Sterownik IC200UAL006 dysponuje dwoma dwuprzewodowymi, różnicowymi, analogowymi
kanałami wejściowymi, które można skonfigurować (niezależnie od siebie) na pracę w trybie
prądowym lub napięciowym. Wejścia analogowe wykorzystują dwa przyporządkowane na stałe
rejestry%AI018 i%AI019.
Tabela 4-3. Parametry wejść analogowych

Zakres sygnału wejściowego

0 - 10 V (maksymalnie 10. 24 V)
0 - 20 mA (maksymalnie 20. 5 mA)
4 - 20 mA (maksymalnie 20. 5 mA)

Rozdzielczość:
tryb 0 - 10 V
tryb 0 - 20 mA
tryb 4 - 20 mA
Dokładność
Liniowość
Czas odpowiedzi filtra na wymuszenie skokowe
Impedancja wejścia prądowego
Impedancja wejścia napięciowego

12 bitów (1 najmniej znaczący bit = 2. 5 mV)
12 bitów (1 najmniej znaczący bit = 5 uA)
& gt; 11 bitów (1 najmniej znaczący bit = 5 uA)
? 1% pełnego zakresu w całym zakresie temperatur
? 3 najmniej znaczące bity
20 ms (z błędem 1%)
249 Ohm
100 kOhm

Rysunek 4-5. Typowy obwód wejścia analogowego napięciowo-prądowego
4-5

Wejścia analogowe - potencjometry nastawcze (wszystkie modele)
We wnęce na płycie czołowej sterownika VersaMax Micro, pomiędzy portem szeregowym nr 1
a przełącznikiem Run/Stop (patrz rysunki 3-1 i 3-2) umieszczono dwa potencjometry nastawcze
oznaczone VR1 i VR2, które umożliwiają ręczne (za pomocą małego wkrętaka) nastawienie
wartości przechowywanych w rejestrach%AI016 (VR1) oraz%AI017 (VR2). Zakres wartości
odpowiadający 3/4 obrotu wynosi od 0 do 1023. Przekręcenie potencjometru w prawo powoduje
zwiększenie wartości analogowej w rejestrze odpowiadającym potencjometrowi.
Ze względu na potencjometryczny charakter wejść analogowych wartości w rejestrach%AI16
i%AI17 będą nieco fluktuować. Sterownik stosuje filtr uśredniający do ustabilizowania tych
sygnałów. Liczba uśrednianych próbek (od 0 do 128) jest obliczana na podstawie wartości
przechowywanej w rejestrze%AQ1. Sposób filtracji opisano w rozdziale 8 " Funkcjonowanie
systemów sterownika ".

Wyjścia przekaźnikowe (IC200UDR001/002/005/010, UAL006,
UEX011/012)
W sterownikach VersaMax Micro stosowane są wyjścia przekaźnikowe zwierne, o maksymalnym
natężeniu prądu 2A, które pozwalają na sterowanie urządzeniami zewnętrznymi, takimi jak
rozruszniki silników elektrycznych, elektromagnesy, sygnalizatory świetlne, itp. Cewki
zewnętrznych prądem stałym lub przemiennym musi zapewnić użytkownik. Wyjścia
przekaźnikowe nie posiadają bezpieczników - użytkownik musi sam zabezpieczyć obwody wyjść.
Wyjścia przekaźnikowe można również skonfigurować jako wyjścia kontrolowane przez licznik
impulsów wysokiej częstotliwości (HSC).
Tabela 4-4. Parametry wyjść przekaźnikowych

od 5 do 30 VDC
od 5 do 250 VAC
Rysunek 4-6. Typowy obwód wyjścia przekaźnikowego

4-6

Rozdział 4 - Wejścia i wyjścia sterowników VersaMax Micro

4

Zabezpieczenie obwodów wyjść przekaźnikowych
2A).
rysunku 4-7). Dodatkowo zastosowanie takich obwodów umożliwia przedłużenie żywotności
styków sterujących obciążeniem indukcyjnym do poziomu odpowiadającemu żywotności styków
sterujących obciążeniem rezystancyjnym.

Rysunek 4-7. Obwody przeciwzakłóceniowe

Wyjścia AC (IC200UAA003/007)
Wyjścia AC sterownika VersaMax Micro występują w izolowanych grupach liczących 2 lub 4
wyjścia. Wspólne przewody zasilające dla każdej z grup nie są połączone ze sobą wewnątrz
modułu, dlatego do zasilania wyjść różnych grup można wykorzystać różne fazy źródła zasilania.
Każda grupa wyjść jest zabezpieczona bezpiecznikiem 3. 15A. Ponadto każde wyjście jest
wyposażone w dławik RC, zabezpieczający przed zakłóceniami będącymi wynikiem stanów
przejściowych w sieci zasilającej.
Zasilanie urządzeń wejściowych (tylko prądem przemiennym) musi być zapewnione przez
użytkownika. Wyjścia AC cechują się dużym prądem rozruchowym (10-krotność prądu
nominalnego), co pozwala na zastosowanie szerokiej gamy urządzeń wyjściowych użytkownika,
np. żarówek, urządzeń elektromagnetycznych, itp.
Ponieważ bezpieczniki grupowe nie zapewniają całkowitego zabezpieczenia każdego
indywidualnego wyjścia przed zwarciem, zaleca się odrębne zabezpieczenie każdego wyjścia
bezpiecznikiem zewnętrznym (minimum 1A). W przypadku mniejszych obciążeń, bezpiecznik
wewnętrzny 3. 15A można zastąpić bezpiecznikiem 1A, co zapewni ochronę każdego
indywidualnego wyjścia przed zwarciem bez konieczności stosowania dodatkowych
bezpieczników zewnętrznych.

4-7

Tabela 4-5. Parametry wyjść AC

Nominalne napięcie w obwodzie wyjściowym
Maksymalne ciągłe obciążenie prądowe
Maksymalny spadek napięcia przy włączonym wyjściu
Maksymalny prąd upływowy przy wyłączonym wyjściu
Maksymalny czas reakcji

100 (-15%) do 240 (+10%) VAC
0. 5 A/punkt przy 240 VAC
5 A (1 cykl)/punkt
10 A (1 cykl)/grupę
1. 5 V (wartość skuteczna)
1. 8 mA (wartość skuteczna) przy 115 VAC
3. 5 mA (wartość skuteczna) przy 230 VAC
1 ms max.
0. 5 cyklu + 1 ms max.

I/O
Rysunek 4-8. Typowy obwód wyjścia 120 VAC

Wyjścia tranzystorowe LCDC i HCDC (IC200UDD104/110, UEX014)
Niskoprądowe i wysokoprądowe wyjścia tranzystorowe 24 VDC stosowane w sterownikach
VersaMax Micro różnią się dopuszczalnym obciążeniem prądowym. Mogą być one
skonfigurowane jako zwykłe wyjścia DC lub jako wyjścia sterowane przez licznik wysokiej
częstotliwości HSC. W tym drugim trybie mogą pełnić rolę wyjść PWM lub PTO, umożliwiając
sterowanie silnikami krokowymi.
Wyjścia HCDC i LCDC występują w grupach izolowanych w stosunku do obwodów logicznych
sterownika i działają w logice dodatniej. Mogą pracować przy wysokim prądzie rozruchu (8 razy
większym niż prąd nominalny) i są zabezpieczone przed impulsami ujemnego napięcia. Dzięki
temu mogą realizować załączanie lamp oraz odbiorników o charakterze indukcyjnym. Wyjścia nie
są zabezpieczone przed zwarciem i wymagają zewnętrznych bezpieczników, przy czym
rekomendowane są bezpieczniki szybkodziałające.
Tabela 4-6. Wyjścia wysokoprądowe i niskoprądowe 24 VDC
w sterownikach VersaMax Micro

IC200UDD104
IC200UDD110
4-8

Wyjścia wysokoprądowe (HCDC)
Q1, Q2
Q1, Q2, Q11, Q12
Q1, Q2

Wyjścia niskoprądowe (LCDC)
Q3 - Q6
Q3 - Q10
Q3 - Q6

Tabela 4-7. Parametry wysokoprądowych i niskoprądowych wyjść tranzystorowych 24 VDC

Maksymalne obciążenie:

12/24VDC (24VDC +10%, -43% na zaciskach V1, C1)
HCDC
LCDC

1. 0A na wyjście przy 24VDC i 100% współczynniku wypełnienia
0. 75A na wyjście przy 24VDC i 100% współczynniku wypełnienia
0. 5A na wyjście przy 12VDC i 100% współczynniku wypełnienia

8 A przez 20 ms, 1 impuls
4 A przez 20 ms, 1 impuls
Maksymalnie 100 uA

Minimalny prąd rozruchu

Rysunek 4-9. Typowy obwód wysokoprądowego i niskoprądowego wyjścia 24 VDC

Wyjście DC (IC200UDR005/010, UAL006)
Wyjście tranzystorowe 24VDC występuje w sterownikach IC200UDR005, IC200UDR010 oraz
IC200UAL006, zawsze jako wyjście Q1. Może być ono skonfigurowane jako zwykłe wyjście DC
lub jako wyjście sterowane przez licznik wysokiej częstotliwości HSC. Można je również
skonfigurować jako wyjście funkcji PWM (Pulse-Width Modulation) generujące impulsy
prostokątne o zmiennym współczynniku wypełnienia, lub jako wyjście typu PTO (Pulse Train
Output) generujące serię impulsów, co umożliwia sterowanie silnikami krokowymi i silnikami
prądu stałego.
Tabela 4-9. Parametry wyjścia tranzystorowego (Q1) 24 VDC

rezystancyjne
Prąd upływowy w stanie wyłączonym
5/12/24 VDC (24 VDC +20%, -80%)
0. 75 A przy 24 VDC
0. 5 A przy 24 VDC
0. 25 A przy 24 VDC
maksymalnie 0. 3 V
maksymalnie 0. 2 A
maksymalnie 0. 2 A

4-9

Wyjście analogowe (IC200UAL006)
Sterownik IC200UAL006 dysponuje jednym jednoprzewodowym analogowym kanałem
wyjściowym, który można skonfigurować na pracę w trybie prądowym lub napięciowym. Wartości
wysyłane są na wyjście analogowe z rejestru%AQ012.
Tabela 4-10. Parametry wyjścia analogowego
Wyjście prądowe:
Maksymalne napięcie
Obciążenie
Pojemność obciążenia
Indukcyjność obciążenia
Wyjście napięciowe:
Pojemność obciążenia

& gt; 11 bitów (1 najmniej znaczący bit = 5 uA)
o
? 1% pełnego zakresu w całym zakresie temperatur (od 0 C do 55 C)
10 V
od 0 do 500 Ohm
2000 pF (max. )
1 H (max. )
minimum 2 kOhm przy 10 VDC
1 uF (max. )

Rysunek 4-10. Typowy obwód wyjścia analogowego napięciowo-prądowego

Funkcjonowanie wejść i wyjść analogowych (dotyczy sterownika
IC200UAL006)
Wejścia analogowe
Sygnały z wejść analogowych są przetwarzane na sygnały cyfrowe za pomocą 12-bitowego
przetwornika analogowo-cyfrowego. Te z kolei są przekształcane przez oprogramowanie
systemowe sterownika VersaMax Micro na wartość liczbową, zapisywaną na etapie odczytu stanu
wejść w cyklu pracy sterownika w rejestrach%AI0018 i%AI0019 według wzoru:

%AI = sygnał z przetwornika A/D * wzmocnienie + przesunięcie
gdzie wzmocnienie kanału (Gain) i przesunięcie (Offset) są parametrami kalibracyjnymi dla
danego wejścia (domyślne wartości parametrów to Gain = 8 i Offset = 0).
W ten sposób zakres wartości 12-bitowego przetwornika analogowo-cyfrowego, czyli od 0 do
4095 (212 - 1) jest przeskalowywany na zakres wartości rejestru, czyli od 0 do 32767. Jeśli

4-10

obliczona wartość przekracza 32767 (wartość maksymalną), w rejestrze zapisywana jest wartość
32767. Jeśli obliczona wartość jest mniejsza od zera, w rejestrze zapisywane jest zero.

Wyjście analogowe
W celu wygenerowania analogowego sygnału wyjściowego, wartość z rejestru%AQ0012 (zakres
wartości od 0 do 32767) jest przetwarzana na sygnał cyfrowy dla przetwornika cyfrowoanalogowego, przyjmujący wartości od 0 do 4095 (212 - 1). Przetwornik podaje następnie na
wyjście napięcie lub natężenie prądu proporcjonalne do sygnału cyfrowego. Wartość liczbową
zapisaną w rejestrze%AQ0012 oprogramowanie systemowe przekształca wzoru:

sygnał dla przetwornika D/A =%AQ18 * wzmocnienie + przesunięcie
gdzie wzmocnienie kanału (Gain) i przesunięcie (Offset) są parametrami kalibracyjnymi wyjścia
(domyślne wartości parametrów to Gain = 0. 125 i Offset = 0). Jeśli obliczona wartość sygnału
cyfrowego przekracza 4095 (wartość maksymalną), przetwornik przyjmuje wartość 4095. Jeśli
obliczona wartość jest mniejsza od zera, przetwornik przyjmuje wartość zero.
W tabeli 4-11 podano zakresy napięć i natężeń prądu odpowiadające zakresom wartości zmiennych
rejestrowych%AQ i%AI (od 0 do 32767 jednostek) i sposób przeliczania poziomu sygnału
napięciowego i prądowego na zawartość rejestru.
Tabela 4-11. Poziomy napięcia i natężenia prądu
oraz odpowiadające im zawartości rejestrów

Tryb pracy
wejścia/wyjścia
Napięciowe 0-10 V
Prądowe 0-20 mA
Prądowe 4-20 mA

Zawartość rejestru
%AI lub%AQ
0 - 32000
0 - 32000

Zakres napięcia lub
prądu
0 - 10000 mV
0 - 20 000 uA
4000 - 20 000 uA

Wzór obliczeniowy
Zawartość rejestru = 3. 2 x mV
Zawartość rejestru = 1. 6 x uA
Zawartość rejestru = 2. 0 x uA 8000

Kalibracja wejść i wyjść analogowych (dotyczy sterownika IC200UAL006)
Kanały wejść i wyjścia analogowego są wykalibrowane fabrycznie i w normalnych warunkach nie
ma konieczności ponownej kalibracji. Jednakże w oprogramowaniu systemowym sterownika
VersaMax Micro przewidziano możliwość kalibracji kanałów analogowych. W pamięci flash
sterownika zapisane są fabrycznie 4 parametry kalibracyjne dla każdego kanału wejściowego
i wyjściowego: wzmocnienie i przesunięcie dla trybu napięciowego oraz wzmocnienie
i przesunięcie dla trybu prądowego. Wartości tych parametrów można zmienić za pomocą bloku
funkcyjnego SVCREQ.

Kanały wejściowe
W przypadku kanału wejściowego pracującego w dowolnym trybie, zakres wartości w rejestrze
%AI (od 0 do 32000) odpowiada zakresowi od 0 do 4000 działek przetwornika analogowocyfrowego. Tak więc standardowe wzmocnienie kanału wynosi 8, a przesunięcie jest równe 0.
Wzmocnienia samego przetwornika analogowo-cyfrowego są ustalone i niezmienne:
o zakres od 0 do 4000 działek w trybie napięciowym odpowiada zakresowi od 0 do 10000 mV,
co daje współczynnik wzmocnienia przetwornika A/D dla wejściowego sygnału napięciowego
równy 2. 5 i zerowe przesunięcie sygnału;
o zakres od 0 do 4000 działek w trybie prądowym odpowiada zakresowi od 0 do 20 000 uA, co
daje współczynnik wzmocnienia przetwornika A/D dla wejściowego sygnału prądowego
równy 5 i zerowe przesunięcie. Współczynniki te są jednakowe dla obydwu trybów
prądowych.

4-11

Tabela 4-12. Stałe kalibracyjne - wejścia analogowe

Tryb pracy

Napięciowy
Prądowy

Ustalony współczynnik
wzmocnienia
przetwornik A/D wejście
2. 5
5. 0

Zakres wartości
sygnału cyfrowego
przetwornika A/D

Zakres
wartości
rejestru%AI

0 - 4000
0 - 4000

Standardowe Standardowe
wzmocnienie przesunięcie
kanału

8
8

0
0

Kanał wyjściowy
W przypadku kanału wyjściowego, zakres od 0 do 4000 działek przetwornika odpowiada
zakresowi wartości od 0 do 32000 w rejestrze%AQ, tak więc we wszystkich trybach standardowe
wzmocnienie wynosi 0. 125, a przesunięcie jest równe 0.
Wzmocnienia samego przetwornika cyfrowo-analogowego są ustalone i niezmienne:
o zakres od 0 do 4000 działek odpowiada w trybie napięciowym zakresowi od 0 do 10000 mV,
co daje współczynnik wzmocnienia przetwornika D/A dla wyjściowego sygnału napięciowego
równy 2. 5 i zerowe przesunięcie sygnału.

zakres od 0 do 4000 działek w trybie prądowym odpowiada zakresowi od 0 do 20 000 uA, co
daje współczynnik wzmocnienia przetwornika D/A dla wyjściowego sygnału prądowego
prądowych.
Tabela 4-13. Stałe kalibracyjne - wyjścia analogowe

przetwornik D/A wejście
przetwornika D/A

rejestru%AQ

kanału
0. 125
0. 125

Procedura kalibracyjna
Do wykalibrowania kanałów wejściowych i wyjściowych potrzebny jest precyzyjny miernik
analogowy (zapewniający dokładność pomiaru napięcia 1 mV, a natężenia prądu 1 uA).

Powtórzyć poniższą procedurę dla każdego kanału:
1. Podać na wejście napięcie lub prąd o natężeniu bliskim dolnej granicy zakresu. Zmierzyć
dokładnie i zanotować zmierzoną wartość (miernikd).
2. Odczytać i zanotować wartość z rejestru%AI dla kalibrowanego kanału (%AId).
3. Podać na wejście napięcie lub prąd o natężeniu bliskim górnej granicy zakresu. Zmierzyć
dokładnie i zanotować zmierzoną wartość (miernikg).
4. Odczytać i zanotować wartość z rejestru%AI dla kalibrowanego kanału (%AIg).
5. Zapisać mnożnik kalibracyjny oraz przesunięcie dla wykalibrowanego kanału w pamięci
sterownika używając bloku funkcyjnego SVCREQ i podając wcześniej zmierzone odczytane
wartości (patrz punkt,, Zapis stałych kalibracyjnych"). Sterownik automatycznie obliczy
mnożnik kalibracyjny oraz przesunięcie kalibracyjne ze wzorów:

4-12

mnożnik kalibracyjny = wzmocnienie standardowe ×

(miernikg - miernikd)
(%AIg -%AId)

przesunięcie kalibracyjne = miernikg -

%AIg × mnożnik kalibracyjny

.

wzmocnienie standardowe

1.

Zapisać w rejestrze%AQ wartość bliską dolnej granicy zakresu (%AQd).
Zmierzyć na wyjściu napięcie lub prąd przy pomocy precyzyjnego miernika i zanotować
zmierzoną wartość (miernikd).
Zapisać w rejestrze%AQ wartość bliską górnej granicy zakresu (%AQg).
zmierzoną wartość (miernikg).
Zapisać mnożnik kalibracyjny oraz przesunięcie dla wykalibrowanego kanału w pamięci
sterownika używając bloku funkcyjnego SVCREQ i podając zmierzone wartości (patrz punkt
,, Zapis stałych kalibracyjnych"). Sterownik automatycznie obliczy mnożnik kalibracyjny oraz
przesunięcie kalibracyjne ze wzorów:
mnożnik kalibracyjny =

(%AQg -%AQd)

× wzmocnienie standardowe

przesunięcie kalibracyjne = wzmocnienie standardowe ×%AQg - mnożnik kalibracyjny miernikg

Zapis stałych kalibracyjnych
Końcowym krokiem kalibracji kanału analogowego jest zapis stałych kalibracyjnych w pamięci
flash. Krok ten wymaga dwukrotnego użycia bloku funkcyjnego SVCREQ:
o SVCREQ 34 (bez parametrów) uaktywnia tryb kalibracyjny sterownika. Po użyciu tego bloku
sterownik wczytuje standardowe wzmocnienie i przesunięcie i można rozpocząć kalibrację.
o SVCREQ 35 dokonuje kalibracji, przekształcając wartości otrzymane w bloku danych
(scharakteryzowanym poniżej) na parametry kalibracyjne dla każdego kanału i trybu pracy. Po
pomyślnym wykonaniu bloku SVCREQ sterownik wykorzystuje nowe parametry kalibracyjne.
Blok parametrów wejściowych funkcji SVCREQ 35 zawiera 32 słowa, a parametrów
wyjściowych - 2 słowa, podane w tablicy 6-5.
Uwagi:

Hasło (adres początkowy i adres początkowy + 1) musi zostać podane jako CALB. Bez podania
właściwego hasła kalibracja nie może zostać przeprowadzona. Podanie niewłaściwego hasła
powoduje zasygnalizowanie błędu nr 3 w słowie stanu.

Miejsce zapisu parametrów kalibracyjnych (adres początkowy + 2) określa, czy parametry mają
zostać zapisane w pamięci RAM, czy flash. Zaleca się kalibrowanie kanałów do skutku przy włączonej
opcji RAM, a po uzyskaniu pożądanego stanu kalibracji ustawienie opcji flash, aby parametry
kalibracyjne zostały zapisane na stałe i nie zostały utracone po wyłączeniu zasilania sterownika. Opcja
flash powoduje zapisanie parametrów kalibracyjnych nie tylko w pamięci flash, ale równocześnie
w RAM.

Parametry kanałów (adres początkowy + 3) umożliwiają dokonanie kalibracji w jednym
z czterech trybów:
0: Wykorzystane zostaną ostatnie parametry kalibracyjne użytkownika z pamięci flash (lub
ostatnie wartości fabryczne, jeśli użytkownik nie dokonywał wcześniej kalibracji).
1: Oprogramowanie systemowe obliczy nowe parametry kalibracyjne użytkownika
wykorzystując wartości z czterech kolejnych słów i zapisze je w pamięci flash lub RAM
(w zależności od parametru,, Miejsce zapisu parametrów kalibracyjnych").
2: Użyte zostaną parametry domyślne (standardowe).
3: Użyte zostaną parametry fabryczne.

4-13

Słowo stanu (adres początkowy + 33) sygnalizuje wykonanie lub niewykonanie funkcji
SVCREQ:
1 = Wykonana
2 = Dozwolona liczba kalibracji przekroczona
3 = Niewłaściwe hasło
4 = Tryb kalibracyjny nie został uruchomiony
5 = Niewłaściwe wartości sum kontrolnych dla kalibracji
6 = Nieprawidłowe dane kalibracyjne
Liczba pozostałych możliwych ponowień kalibracji (adres początkowy + 34) jest
zwracana za każdym razem, ponieważ dozwolona liczba kalibracji jest ograniczona przez
oprogramowanie systemowe do 50.

4-14

Tabela 4-14. Parametry funkcji SVCREQ 35
Opis

Lokalizacja

Hasło (,, CA" 4143H)

Adres początkowy

Hasło (,, LB" 424CH)

Adres początkowy + 1

Miejsce zapisu parametrów kalibracyjnych: 0 = RAM, 1 = Flash

Adres początkowy + 2

Parametry kanału 1 wejścia AI dla trybu napięciowego: 0 = ost., 1 = nowe, 2 = domyślne, 3 = Adres początkowy + 3
fabr.
Kanał wejściowy 1, wartość górna w%AI18, tryb napięciowy

Adres początkowy + 4

Kanał wejściowy 1, wartość dolna w%AI18, tryb napięciowy

Adres początkowy + 5

Kanał wejściowy 1, wartość górna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 6

Kanał wejściowy 1, wartość dolna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 7

Parametry kanału 1 wejścia AI dla trybu prądowego: 0 = ost., 1 = nowe, 2 = domyślne, Adres początkowy + 8
3 = fabr.
Kanał wejściowy 1, wartość górna w%AI18, tryb prądowy

Adres początkowy + 9

Kanał wejściowy 1, wartość dolna w%AI18, tryb prądowy

Adres początkowy + 10

Kanał wejściowy 1, wartość górna zmierzona miernikiem, tryb prądowy

Adres początkowy + 11

Kanał wejściowy 1, wartość dolna zmierzona miernikiem, tryb prądowy

Adres początkowy + 12

Parametry kanału 2 wejścia AI dla trybu napięciowego: 0 = ost., 1 = nowe, 2 = domyślne, 3 = Adres początkowy + 13
Kanał wejściowy 2, wartość górna w%AI19, tryb napięciowy

Adres początkowy + 14

Kanał wejściowy 2, wartość dolna w%AI19, tryb napięciowy

Adres początkowy + 15

Kanał wejściowy 2, wartość górna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 16

Kanał wejściowy 2, wartość dolna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 17

Parametry kanału 2 wejścia AI dla trybu prądowego: 0 = ost., 1 = nowe, 2 = domyślne, Adres początkowy + 18
Kanał wejściowy 2, wartość górna w%AI19, tryb prądowy

Adres początkowy + 19

Kanał wejściowy 2, wartość dolna w%AI19, tryb prądowy

Adres początkowy + 20

Kanał wejściowy 2, wartość górna zmierzona miernikiem, tryb prądowy

Adres początkowy + 21

Kanał wejściowy 2, wartość dolna zmierzona miernikiem, tryb prądowy

Adres początkowy + 22

Parametry kanału 1 wyjścia AQ dla trybu napięciowego: 0 = ost., 1 = nowe, 2 = domyślne, 3 Adres początkowy + 23
= fabr.
Kanał wyjściowy 1, wartość górna w%AI12, tryb napięciowy

Adres początkowy + 24

Kanał wyjściowy 1, wartość dolna w%AI12, tryb napięciowy

Adres początkowy + 25

Kanał wyjściowy 1, wartość górna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 26

Kanał wyjściowy 1, wartość dolna zmierzona miernikiem, tryb napięciowy

Adres początkowy + 27

Parametry kanału 1 wyjścia AQ dla trybu prądowego: 0 = ost., 1 = nowe, 2 = Adres początkowy + 28
domyślne, 3 = fabr.
Kanał wyjściowy 1, wartość górna w%AI12, tryb prądowy

Adres początkowy + 29

Kanał wyjściowy 1, wartość dolna w%AI12, tryb prądowy

Adres początkowy + 30

Kanał wyjściowy 1, wartość górna zmierzona miernikiem, tryb prądowy

Adres początkowy + 31

Kanał wyjściowy 1, wartość dolna zmierzona miernikiem, tryb prądowy

Adres początkowy + 32

Słowo stanu

Adres początkowy + 33

Liczba pozostałych możliwych ponowień kalibracji

Adres początkowy + 34

4-15

Tabela 4-15. Opis bloku funkcyjnego SVCREQ

Wejście/wyjście

Opis
Wejście uaktywniające blok funkcyjny.
Numer określający rodzaj polecenia SVCREQ.
Początkowy adres bloku parametrów dla polecenia.
Wyjście uaktywniane po pomyślnym wykonaniu funkcji.

enable
FNC
PARM
ok

Przykład: W przykładzie poniżej obok uaktywnienie wejścia%I0001 powoduje wykonanie
funkcji SVCREQ 35 dla bloku parametrów o adresie początkowym%R0001. Pomyślne wykonanie
operacji powoduje uaktywnienie wyjścia%Q0001.

%I0001

%Q0001
SVC_
REQ

CONST
00035
%R0001

4-16

PARM

Schemat połączeń zewnętrznych dla
sterowników VersaMax Micro

Podstawowe informacje
Ostrzeżenia

Sterownik VersaMax Micro musi być uziemiony w celu zminimalizowania niebezpieczeństwa
porażeniem prądem.

Podłączając przewody należy sprawdzić obliczeniowo,
wystarczająca dla przewidywanego natężenia prądu.

Przy podłączaniu przewodów tzw. linkowych należy sprawdzić, czy po zaciśnięciu
w zacisku końcówki przewodu nie wystają z niej druciki, mogące spowodować zwarcie
stykając się z sąsiednimi przewodami.

czy

ich

grubość

jest

Zdejmowane listwy zaciskowe
Listwy zaciskowe sterowników VersaMax Micro można oddzielić od sterownika w celu wykonania
połączeń elektrycznych. Sterowniki 14-punktowe są wyposażone w dwie listwy zaciskowe, zaś 23i 28-punktowe - w cztery listwy. Sterowniki dostarczane są z listwami przykręconymi do korpusu.
W celu ich odłączenia należy odkręcić po dwa wkręty mocujące każdą listwę (poluzowując je
stopniowo po obu stronach listwy) i zdjąć je z korpusu sterownika.

5-1

5

Podczas ponownego przykręcania listw należy pamiętać, aby każdą listwę zamocować
we właściwym miejscu (nie mają one żadnych oznaczeń) i nie pomylić wejść z wyjściami.

Nie wolno zdejmować i zakładać listw zaciskowych przy włączonym zasilaniu
sterownika, modułów rozszerzających lub urządzeń wejściowych i wyjściowych, gdyż
może to spowodować porażenie prądem i uszkodzenie sterownika. Nawet przy
wyłączonym zasilaniu sterownika na zaciskach listwy może być obecne napięcie
z urządzeń wejściowych i wyjściowych, powodując poważne zagrożenie.

Zasady wykonywania połączeń
Poniżej podano zasady, których należy przestrzegać wykonując połączenia sterowników VersaMax
Nano i Micro z urządzeniami zewnętrznymi oraz z zasilaniem. Schematy połączeń dla
poszczególnych modeli sterowników zamieszczono na kolejnych stronach.
o Przed podłączeniem urządzeń zewnętrznych należy wyłączyć zasilanie sterownika.
o Do wszystkich połączeń należy używać przewodów miedzianych, przeznaczonych do
stosowania w temperaturze do 75 C. W sterownikach VersaMax Micro do jednego zacisku
można podłączyć jeden przewód AWG#14 (2. 1 mm) lub dwa cieńsze przewody - od
AWG#20 (0. 36 mm) do AWG#16 (1. 3 mm). W sterownikach VersaMax Nano do jednego
zacisku można podłączyć jeden przewód od AWG#20 (0. 36 mm) do AWG#14 (2. 1 mm) lub
dwa cieńsze przewody o przekroju do AWG#18 (0. 86 mm).
o Zaleca się dokręcanie wkrętów zaciskowych momentem 0. 6 Nm.
5-2

Rozdział 5 - Schematy połączeń zewnętrznych dla sterowników VersaMax Micro

5

o Do każdego zacisku można podłączyć przewody lite lub plecione (linkowe), ale przewody
podłączone do tego samego zacisku powinny być tego samego typu i tej samej grubości.
o Nie wolno zaginać i naciągać przewodów poza rozsądne granice.
o Wszystkie przewody sygnałowe niskonapięciowe powinny być prowadzone oddzielnie od
pozostałych przewodów połączeniowych.
o Przewody zasilające AC powinny biec oddzielnie od przewodów DC.
o Przy korzystaniu z zasilania AC należy używać jednej fazy dla wszystkich zasilanych punktów.
o Przewody sygnałowe nie powinny przebiegać w pobliżu urządzeń mogących być przyczyną
zakłóceń elektrycznych i należy je prowadzić w miarę możliwości w pobliżu uziemionych
powierzchni.
o Jeśli występują silne zakłócenia, konieczne może okazać się zastosowanie dodatkowej filtracji
lub transformatora izolacyjnego.
o Do połączeń należy stosować przewody ekranowane.
o Należy pamiętać o prawidłowym uziemieniu urządzeń.
o Należy ściśle przestrzegać zakresów napięć zasilających sterownik oraz wejścia i wyjścia
podanych w niniejszym podręczniku. Przekroczenie zakresu może spowodować uszkodzenie
sterownika.
o Wszystkie przewody połączeniowe należy oznakować.

Rysunek 5-1. Schemat połączeń zewnętrznych dla sterownika IC200UDR001

5-3

Rysunek 5-2. Schemat połączeń zewnętrznych dla sterownika IC200UDR002

GND

Rysunek 5-3. Schemat połączeń zewnętrznych dla sterownika IC200UDD104

5-4

Rysunek 5-4. Schemat połączeń zewnętrznych dla sterownika IC200UAA003

LOAD

-

Rysunek 5-5. Schemat połączeń zewnętrznych dla sterownika IC200UAL006

Rysunek 5-6. Schemat połączeń zewnętrznych dla sterownika IC200UDR005

5-5

Podręcznik użytkownika sterowników VersaMax Nano i Micro
Rysunek 5-7. Schemat połączeń zewnętrznych dla sterownika IC200UDR010

Rysunek 5-8. Schemat połączeń zewnętrznych dla sterownika IC200UDD110

5-6

Rysunek 5-9. Schemat połączeń zewnętrznych dla sterownika IC200UAA007

Rysunek 5-10. Schemat połączeń zewnętrznych dla modułu rozszerzającego IC200UEX011

5-7

Rysunek 5-11. Schemat połączeń zewnętrznych dla modułu rozszerzającego IC200UEX012

24VDC

5-12. Schemat połączeń zewnętrznych dla modułu rozszerzającego IC200UEX014

5-8

Instalacja sterowników VersaMax Nano i Micro

W tym rozdziale opisano procedury instalacji sterowników VersaMax Nano i Micro oraz sposób
przygotowania sterownika do pracy. W rozdziale podano instrukcje dotyczące rozpakowania,
kontroli i instalacji sterownika oraz podłączenia go do urządzeń programujących. Zamieszczono
też informacje dotyczące kabli połączeniowych.

Rozpakowanie sterownika
1. Kontrola wzrokowa. Po odebraniu przesyłki ze sterownikiem należy dokładnie sprawdzić,
czy opakowanie nie zostało uszkodzone podczas transportu. Jeśli zostaną odkryte uszkodzenia,
należy niezwłocznie powiadomić przewoźnika. Uszkodzone opakowanie należy zachować jako
dowód.

2. Rozpakowanie. Rozpakować urządzenia i skontrolować zawartość. Jeśli sterownik ma być
przewożony, zachować opakowanie. Moduły sterownika należy transportować w fabrycznym
opakowaniu.

3. Sprawdzenie przed instalacją. Po rozpakowaniu sterowników należy zapisać wszystkie
numery seryjne. Będą one potrzebne w przypadku konieczności naprawy gwarancyjnej.

Certyfikaty i zgodność z normami
Certyfikaty
Sterowniki GE Fanuc VersaMax Nano i Micro są przeznaczone do stosowania w instalacjach
automatyki przemysłowej na całym świecie. Posiadają one następujące certyfikaty:
Certyfikat nadawany urządzeniom automatyki
przemysłowej w zakresie bezpieczeństwa

CL 508, CUL

W zależności od modułu*

Certyfikat bezpieczeństwa w zastosowaniach
w niebezpiecznej lokalizacji

UL1604 oraz CUL

Znak CE

Klasa I, Gr. II, A, B, C, D
Zgodność z europejską dyrektywą EMC

* Wykaz certyfikatów dla poszczególnych modułów można znaleźć w Internecie, na stronie serwisu technicznego GE
Fanuc pod adresem www. gefanucsupport. com.

6-1

6

Zgodność z normami
WARUNKI OTOCZENIA
Drgania

IEC68-2-6, JISC0911

Wstrząsy
Temperatura pracy
Temperatura
przechowywania
Wilgotność
Obudowa

IEC68-2-27, JISC0912

Przyspieszenie 2g przy 57-500 Hz,
Amplituda 0. 15 mm przy 10-57 Hz
15g przez 11ms
Od 0oC do +55oC
Od -10oC do +75oC

IEC529

Od 5% do 95%, bez kondensacji
Stopień ochrony IP54, ochrona przed pyłem i pryskającą
wodą

EMISJA ZAKŁÓCEŃ ELEKTROMAGNETYCZNYCH
Zakłócenia radiowe
i zakłócenia sieciowe

CISPR11, EN55011

Grupa 1, klasa A
(dotyczy modułów ze znakiem CE)
Część 15, punkt J

47 CFR 15
ODPORNOŚĆ NA ZAKŁÓCENIA ELEKTROMAGNETYCZNE
Wyładowania
elektrostatyczne
wg ENV 50140, ENV
50204
Wiązka impulsów w stanie
nieustalonym
Odporność na udar
napięciowy

Zakłócenia przewodnictwa

EN 61000-4-2
EN 61000-4-3

EN61000-4-4
IEC1000-4-5

IEC1000-4-12
EN61000-4-6

Wyładowanie bezstykowe 8 kV
Wyładowanie stykowe 4 kV
10V (rms)/m, od 80 MHz do 1000 MHz, modulowane

2 kV: zasilacze, 1 kV: obwody wejść/wyjść i obwody
komunikacyjne
Zasilacz dla napięcia zasilania do 50 V:
2 kV (pomiędzy przewodem napięciowym
a uziemieniem), 1 kV (pomiędzy przewodami
napięciowymi)
0. 5 kV (pomiędzy przewodem napięciowym
a uziemieniem), 0. 5 kV (pomiędzy przewodami
Porty komunikacyjne i obwody wejść/wyjść: 1 kV
Iniekcja sygnału 10 V, 150 kHz do 80 MHz do kabli
komunikacyjnych & gt; 30 m

IZOLACJA
Wytrzymałość
dielektryczna

UL508, UL840, IEC664 1. 5 kV w przypadku modułów pracujących pod napięciem
od 51V o 250V

ZASILANIE
Spadek i wahania napięcia
zasilania

IEC1000-4-11

Spadek napięcia do 30%-100%
Wahania napięcia AC? 10%
Wahania napięcia DC? 20%

* Dane specyficzne dla każdego modelu można znaleźć w publikacjach GE Fanuc dotyczących poszczególnych modeli
sterowników, dostępnych u autoryzowanych dystrybutorów GE Fanuc.

6-2

Rozdział 6 - Instalacja sterowników VersaMax Nano i Micro

6

Warunki w miejscu instalacji
Sterowniki VersaMax Nano i Micro powinny być instalowane w miejscach, w których warunki
otoczenia spełniają wymagania podane w tablicach na poprzedniej stronie. Dodatkowo należy
przestrzegać następujących zaleceń dotyczących lokalizacji sterownika:
o? emperatura otoczenia nie może zmieniać się gwałtownie, aby na urządzeniu lub wewnątrz
niego nie skraplała się para wodna;
o sterownika nie wolno instalować w atmosferze gazów palnych lub powodujących korozję oraz
w miejscu o wysokim stopniu zapylenia;
o w powietrzu nie mogą występować pyły materiałów przewodzących (proszki żelaza, itp. ) ani
też sól, które mogłyby spowodować wewnętrzne zwarcia;
o sterownik nie powinien być wystawiony na bezpośrednie działanie promieni słonecznych,
wody, oleju i chemikaliów;
o należy zapewnić odpowiednie odstępy wokół sterownika, umożliwiające prawidłową
wentylację (około 50 mm z każdej strony - patrz rysunki 6-2 i 6-3);
o nie wolno instalować sterownika nad urządzeniami wydzielającymi duże ilości ciepła podczas
pracy;
o jeśli temperatura otoczenia przekracza 55 C, należy zastosować wentylator lub urządzenie
klimatyzacyjne;
o nie wolno instalować sterownika w odległości mniejszej niż 200 mm od przewodów wysokiego
napięcia (powyżej 1000 V) i od przewodów obciążonych prądem powyżej 1 A (z wyjątkiem
wyjść obsługiwanych przez sterownik);
o ze względu na łatwość i bezpieczeństwo obsługi nie należy instalować sterownika w pobliżu
urządzeń wysokiego napięcia ani urządzeń wytwarzających energię elektryczną. Przy instalacji
w zasięgu silnych pól elektromagnetycznych i elektrostatycznych należy zachować
odpowiednie środki ostrożności;
o połączenia z urządzeniami zewnętrznymi należy wykonać według wskazówek zamieszczonych
w rozdziale 5.

Instalacja sterownika zgodnie z wymaganiami symbolu CE
Przy zastosowaniu sterownika w systemach oznaczonych symbolem CE muszą być spełnione
następujące wymagania z zakresu ochrony przed wyładowaniami elektrostatycznymi, udarem
napięciowym i stanami przejściowymi:
o sterownik jest przeznaczony do zastosowań przemysłowych, wewnątrz obiektów, w których
wykorzystywane są materiały antyelektrostatyczne, jak np. drewniane lub betonowe posadzki.
Jeśli sterownik jest używany w miejscach, gdzie znajdują się materiały elektrostatyczne, jak np.
dywany, pracownik obsługi powinien dotknąć prawidłowo uziemionego obiektu przed
kontaktem ze sterownikiem;
o jeśli wejścia i wyjścia sterownika są zasilane z sieci prądu przemiennego, powinna ona być
zabezpieczona przed zakłóceniami przekraczającymi dopuszczalny poziom dla sterownika
Micro;
o długość kabli zasilających sterownik napięciem do 50 V AC lub DC, czerpanym z lokalnej
sieci zasilającej AC i następnie przetworzonym nie powinna przekraczać 10 m;
o w 23- i 28-punktowych sterownikach VersaMax Micro z wejściami DC (IC200UDR005/010,
UAL006, UD110) połączenia portu szeregowego 2 powinny być wykonane zgonie z rysunkiem
6-1 w celu zminimalizowania zakłóceń (przecięty przewód pomiędzy stykiem FRAME GND
złącza i ekranem kabla, ekran kabla połączony bezpośrednio z zaciskiem GND sterownika);
o w sterownikach VersaMax Micro z wejściami DC, wejścia pełniące rolę wejść licznika
impulsów wysokiej częstotliwości powinny być zasilane oddzielnie, z odrębnego źródła
zasilania, zgodnie z rysunkiem 2-13;
o w sterownikach VersaMax Micro z wejściami DC, w warunkach testu odporności na udar
napięciowy (wg EN61000-4-5) licznik impulsów wysokiej częstotliwości może działać
nieprawidłowo. Efekt ten można zminimalizować poprzez użycie ekranowanego kabla o
długości poniżej 30 m;
6-3

o w wyniku zakłóceń komunikacja po łączu szeregowym może zostać przerwana.

Rysunek 6-1. Sposób podłączenia kabla do portu szeregowego nr 2
w sterowniku VersaMax Micro zgodnie z wymaganiami instalacji o symbolu CE

Rysunek 6-2. Sposób podłączenia zasilania do wejść licznika impulsów wysokiej częstotliwości
6-4

Instalacja
Sterownik VersaMax Nano i Micro można zamontować na szynie DIN 35 mm lub przykręcić
wkrętami do metalowej płyty montażowej (panelu). Sterownik musi zostać zainstalowany na
pionowej powierzchni (nie wolno montować sterownika na poziomej powierzchni - patrz rysunki
6-3, 6-4 i 6-5). Szyna DIN lub płyta montażowa muszą być prawidłowo uziemione.

Rysunek 6-3. Zalecana orientacja sterownika VersaMax Nano i Micro

80 mm
(

Rysunek 6-4. Wymiary montażowe dla sterowników VersaMax Nano

Rysunek 6-5. Wymiary montażowe dla wszystkich sterowników i modułów rozszerzających
6-5

Montaż sterownika na szynie DIN i demontaż z szyny
Sposób montażu sterownika VersaMax Nano i Micro na szynie DIN 35 mm zilustrowano poniżej.
Mały zatrzask umieszczony z tyłu obudowy utrzymuje sterownik na szynie. W celu zamontowania
sterownika należy nałożyć górną krawędź rowka w obudowie sterownika na szynę i wysunąć
zasuwkę blokującą z dołu sterownika. Następnie nałożyć dolną krawędź rowka w obudowie
sterownika na szynę i wcisnąć zasuwkę blokującą na swoje miejsce. W celu zdemontowania
sterownika z szyny DIN należy wykonać te same czynności, co przy montażu, tylko w odwrotnej
kolejności.

Rysunek 6-6. Montaż sterowników VersaMax Nano i Micro na szynie DIN 35 mm

Montaż sterownika na płycie montażowej (panelu)
Montaż sterownika na uziemionej, metalowej płycie montażowej zapewnia większą odporność na
drgania i wstrząsy. W celu zamontowania sterownika należy zaznaczyć na płycie miejsca na
otwory montażowe używając sterownika jako wzorca. Po wywierceniu otworów przykręcić
sterownik wkrętami 65x70 M4 (#8-32) o długości co najmniej 20 mm. Przy wkręcaniu stalowych
wkrętów w nagwintowane otwory w materiale o grubości co najmniej 2. 4 mm należy użyć
momentu 1. 1 do 1. 4 Nm.

Uziemienie sterownika
Poniżej podano zalecenia dotyczące uziemienia sterownika i urządzeń towarzyszących. Aby mógł
on pracować bezpiecznie, należy ściśle przestrzegać tych zaleceń:
o maksymalna zalecana rezystancja uziemienia wynosi 200Ohm (co odpowiada rezystancji 30
metrów miedzianego kabla AWG #12 o przekroju 3. 29 mm);
o uziemienie musi odpowiadać obowiązującym normom i przepisom;
o oddzielne przewody uziemiające poszczególnych urządzeń powinny zostać podłączone do
jednego punktu uziemienia, wspólnego dla całego systemu. Zilustrowano to na rysunku
poniżej;
o przewody uziemiające powinny być jak najkrótsze i o jak największym możliwym przekroju w
celu zminimalizowania ich rezystancji (zalecane są przewody AWG #12 o przekroju 3. 29 mm
lub większym). Przewody muszą być dostosowane do maksymalnego prądu zwarcia w danym
obwodzie.

6-6

Rysunek 6-7. Zalecany sposób uziemienia systemu

Uziemienie komputera-programatora
Aby zapewnić poprawne działanie systemu oraz wykluczyć niebezpieczeństwo porażenia prądem
lub uszkodzenia portów sterownika, sterownik i komputer-programator muszą mieć wspólne
uziemienie. Wymóg ten jest zwykle spełniany poprzez podłączenie sterownika i komputera do tego
samego źródła zasilania, z tym samym uziemieniem, ale należy zawsze sprawdzić, czy tak jest
naprawdę. Jeśli tak nie jest, w połączenie szeregowe między sterownikiem a programatorem należy
wpiąć optoizolator IC690ACC903.

Instalacja modułu rozszerzającego
Do sterowników VersaMax Micro można podłączyć jednocześnie (szeregowo) maksymalnie cztery
moduły rozszerzające (ekspandery). Z każdym modułem rozszerzającym dostarczany jest kabel
wstęgowy do podłączenia do sterownika. Budowa złączy kabla zapobiega nieprawidłowej
(odwrotnej) instalacji. Kable połączeniowe o różnych długościach są również dostępne jako
akcesoria. Nie należy zastępować ich kablami nieoryginalnymi.
o Przed podłączeniem modułu rozszerzającego należy wyłączyć zasilanie sterownika.
Podłączanie modułu przy włączonym sterowniku może spowodować uszkodzenie modułu.

o Sterownik i moduły rozszerzające powinny być podłączone do tego samego źródła
zasilania, a zasilanie sterownika i modułów rozszerzających należy włączać jednocześnie.
W przypadku pozostawienia modułu rozszerzającego bez zasilania, sterownik może nie
przechodzić poprawnie procedury rozruchowej.

o Włączenie zasilania systemu przy nieprawidłowo (odwrotnie) zamontowanych kablach
połączeniowych może spowodować uszkodzenie modułu rozszerzającego.

o Wszystkie moduły rozszerzające sterownika VersaMax Micro muszą być podłączone
w tej samym kierunku. Podłączenie modułu odwrotną stroną (względem sterownika)
spowoduje uszkodzenie obwodów DC wejściowych po włączeniu zasilania.

6-7

Rysunek 6-8. Instalacja modułu rozszerzającego (ekspandera)

Po połączeniu modułów kablem połączeniowym należy zamknąć klapkę gniazda połączeniowego.

Wykonywanie połączeń elektrycznych
Poniżej podano zalecenia dotyczące wykonywania połączeń elektrycznych w układzie sterowania
wykorzystującym sterowniki VersaMax Nano i Micro. Dodatkowo należy przestrzegać przepisów
obowiązujących w miejscu instalacji i dotyczących tego typu urządzeń. Zaniedbania w tym
zakresie mogą doprowadzić do niebezpiecznego porażenia prądem oraz uszkodzenia sprzętu.
W typowej instalacji fabrycznej występują cztery rodzaje okablowania:

o Przewody zasilające - przewody sieci fabrycznej oraz przewody zasilające urządzenia dużej
mocy, jak np. silniki elektryczne. Obwody te przewodzą prąd o napięciu od 220VAC wzwyż.

o Dyskretne przewody sygnałowe - zwykle przewodzące prąd stały o niskim napięciu lub
prąd 120/220 VAC o niewielkim natężeniu. Przykładem mogą być tu połączenia różnego
rodzaju wyłączników, styczników, wyłączników krańcowych, itp. Jest to generalnie poziom
sygnałów obsługiwanych przez dyskretne wejścia i wyjścia sterownika.

o Analogowe przewody sygnałowe - przewodzące sygnały wyjściowe z przetworników
i analogowe napięcia sterujące, obsługiwane zwykle przez wejścia i wyjścia analogowe.

o Łącza komunikacyjne - obejmujące okablowanie sieci komputerowych LAN, magistrale
komunikacyjne układów sterowania, itp.
Te cztery rodzaje okablowania powinny być w miarę możliwości odseparowane od siebie w celu
uniknięcia przebić izolacji, pomyłek w połączeniach elektrycznych i zakłóceń. Niemniej jednak
w niektórych miejscach (układy sterowania silnikami, pulpity i szafy sterownicze) trzy ostatnie
rodzaje okablowania mogą przebiegać wspólnie ze względu na niewielką ilość miejsca.
W ogólności dopuszczalne jest prowadzenie łączy komunikacyjnych w tych samych rynienkach co
przewody obwodów wejść/wyjść sterowników na długości do 15 m. Należy jednak unikać
prowadzenia we wspólnych wiązkach przewodów sygnałowych wrażliwych na zakłócenia,
a wszelkie skrzyżowania takich przewodów należy wykonywać pod kątem prostym. W miejscach,
gdzie występują zakłócenia elektryczne należy rozważyć użycie ekranowanych kabli.
Każda instalacja elektryczna powinna zawierać wyłączniki awaryjne, blokady, zabezpieczenia
i układy przeciwzakłóceniowe zainstalowane zgodnie z obowiązującymi normami i przepisami.
Szczegółowe zasady wykonywania połączeń sterowników VersaMax Nano i Micro z urządzeniami
zewnętrznymi oraz z zasilaniem podano w rozdziale 5. Zamieszczono tam również schematy
połączeń zewnętrznych dla sterowników VersaMax Micro. Schematy dla sterowników VersaMax
Nano można znaleźć w rozdziale 2.

6-8

Uruchamianie sterownika
Przed włączeniem zasilania sterownika należy:

Sprawdzić dwukrotnie, czy wszystkie połączenia elektryczne są wykonane starannie
i zgodnie ze schematami. Błędnie wykonane połączenia elektryczne mogą być przyczyną
uszkodzenia sterownika i wywołania poważnego zagrożenia dla życia i zdrowia.

Sprawdzić, czy zaciski połączeniowe są przykryte plastykową osłoną. Osłona ta
zabezpiecza użytkownika przed porażeniem prądem elektrycznym wskutek
przypadkowego dotknięcia zacisków.

Sprawdzić, czy wszystkie kable komunikacyjne są starannie osadzone w gniazdach.

Upewnić się, czy do modułów rozszerzających połączonych ze sterownikiem VersaMax
Micro podłączone jest zasilanie i czy moduły są zasilane z tego samego źródła. Jeśli do
któregoś z modułów nie dociera napięcie zasilające, sterownik może wykonać procedurę
uruchomieniową błędnie.

Przed każdorazowym demontażem lub montażem listw zaciskowych, odłączeniem lub
podłączeniem nowych przewodów sygnałowych, podłączeniem lub odłączeniem
uziemienia należy zawsze wyłączać zasilanie sterownika. Nieprzestrzeganie tego
zalecenia może być przyczyną uszkodzenia sterownika i wywołania zagrożenia dla życia
i zdrowia.

Po sprawdzeniu wszystkich wyżej wymienionych elementów systemu można włączyć
zasilanie sterownika.

Normalna sekwencja uruchomieniowa
Włączyć zasilanie sterownika doprowadzając napięcie do zacisków zasilających i obserwować
zachowanie diod LED.
o Dioda kontrolna oznaczona PWR powinna się zaświecić.
o Dioda kontrolna stanu jednostki centralnej oznaczona OK miga podczas wykonywania przez
sterownik procedury autodiagnostycznej. Po zakończeniu procedury z wynikiem pozytywnym
dioda OK pozostaje zaświecona.
o Dioda kontrolna stanu jednostki centralnej oznaczona RUN powinna świecić się, jeśli
sterownik jest skonfigurowany na przejście w tryb RUN po włączeniu zasilania.
o Jeśli dioda RUN nie zaświeci się po przestawieniu sterownika w tryb RUN, przyczyną tego
może być niepoprawna konfiguracja lub błąd krytyczny zapisany w tablicy błędów sterownika.
o Jeśli którekolwiek z wejść sterownika jest podłączone do urządzenia zewnętrznego
uaktywniającego to wejście, dioda LED sygnalizująca stan tego wejścia również powinna się
świecić.
o Jeśli dioda oznaczona RUN nie świeci się, wszystkie diody sygnalizujące stan wyjść sterownika
nie będą się świecić (w trybie STOP with I/O Disabled).
o Po wykonaniu procedury uruchomieniowej i załadowaniu programu sterującego należy
sprawdzić, czy program sterujący jest wykonywany poprawnie.

6-9

Błędy wykryte w trakcie procedury autodiagnostycznej
W tabeli 6-1 poniżej wyszczególniono możliwe wskazania diod kontrolnych oznajmiające
negatywny wynik procedury autodiagnostycznej sterownika serii VersaMax Nano lub Micro.
Tablica 6-1. Błędy wykryte w trakcie wykonywania procedury autodiagnostycznej
Sposób sygnalizacji

Zalecane działania

Dioda kontrolna PWR nie świeci 1. Sprawdzić, czy sterownik jest podłączony do właściwego źródła
się.
zasilania, czy napięcie zasilające ma prawidłową wartość. Przy wyłączonym zasilaniu sprawdzić, czy przewody zasilające są
właściwie podłączone.
Dioda kontrolna PWR świeci się.
Dioda OK nie świeci się.

Oznacza to, że źródło zasilania działa, a jednostka centralna wykryła
wewnętrzny błąd. Upewnić się, czy wszystkie przełączniki dwupozycyjne
DIP sterownika Micro są ustawione na OFF.

Diody OK i RUN migają
jednocześnie.

Sterownik oczekuje na załadowanie oprogramowania firmowego
z oprogramowania Winloader.

Dioda OK miga.

Sterownik emituje kody diagnostyczne ułatwiające diagnostykę
systemu.

Przyspieszone uruchamianie sterowników z zasilaniem DC*
Sterowniki VersaMax Micro zasilane prądem stałym można skonfigurować tak, aby pomijały
procedurę autodiagnostyczną po włączeniu zasilania. Jeśli jednak zastosowanie sterownika nie
wymaga niezwykle szybkiego procesu uruchomieniowego, zawsze zaleca się wykonywanie
procedury autodiagnostycznej. Jej wyłączenie uniemożliwia korzystanie z modułów
rozszerzających (jeśli do sterownika są podłączone takie moduły, po jego włączeniu w tablicach
I/O zostaną zapisane informacje o błędach).
Tablica 6-2. Czas wykonywania sekwencji uruchomieniowej przy wyłączonej procedurze
autodiagnostycznej
IC200UDR010
IC00UDR005/UAA007
Wszystkie sterowniki 14-punktowe

Czas
100 ms
300 ms (typowa wartość)
350 ms (typowa wartość)

Wyłączanie zasilania sterownika
Podczas stopniowego wyłączania zasilania, gdy napięcie zasilające spada poniżej
minimalnego napięcia roboczego, sterownik może wyłączać się i włączać się ponownie,
dopóki napięcie nie spadnie do poziomu uniemożliwiającego ponowne włączenie sterownika.
Jeśli jest to niepożądane w danym zastosowaniu sterownika, należy przedsięwziąć
odpowiednie środki zapobiegawcze.

* Załączenie funkcji przyspieszonego uruchamiania sterownika powoduje utratę certyfikatu CE.

6-10

Instalacja lub wymiana baterii zasilającej pamięć
W 23- i 28-punktowych sterownikach VersaMax Micro można zainstalować małą baterię litową
podtrzymującą stan pamięci RAM oraz zegar czasu rzeczywistego, gdy podstawowe zasilanie
sterownika jest odłączone. Baterię instaluje się w przeznaczonej dla niej kieszeni, przykrytej
pokrywą od strony czołowej sterownika.

Rysunek 6-9. Instalacja baterii litowej

W celu wymiany zainstalowanej wcześniej baterii należy zdjąć pokrywę kieszeni i wyjąć zużytą
baterię. Wymienić baterię na nową o symbolu:
GE Fanuc - IC200ACC403A
Hitachi-Maxell - CR2032WK
Zamontowanie baterii innego typu stwarza zagrożenie pożarem lub nawet wybuchem.
Bateria wyposażona jest we wtyczkę, którą należy włożyć do gniazda na dnie kieszeni (aż do
wyczuwalnego kliknięcia). Budowa wtyczki uniemożliwia omyłkowe włożenie jej do gniazda
odwrotną stroną.

Rysunek 6-10. Bateria litowa z kablem

Samą baterię należy włożyć do uchwytu po lewej stronie kieszeni i wcisnąć do środka przewody,
a następnie zamknąć pokrywę kieszeni.
Baterii nie wolno rozbierać, nagrzewać do temperatury przekraczającej 100 oC, wystawiać
na działanie ognia ani próbować powtórnie ładować. Wskutek niewłaściwej obsługi bateria
może eksplodować.

6-11

Wymiana bezpieczników w modelach z wyjściami AC
W sterownikach VersaMax Micro z wejściami DC i wyjściami
przekaźnikowymi oraz z wejściami i wyjściami DC nie występują żadne części
przeznaczone do samodzielnej wymiany przez użytkownika.
W sterownikach VersaMax Micro z wejściami i wyjściami AC (modele IC200UAA003/007)
występują bezpieczniki zabezpieczające obwody wyjściowe AC. Bezpieczniki te mogą być
wymieniane przez użytkownika. Każdy z nich zabezpiecza wspólną linię zasilającą grupę wyjść,
dlatego jego przepalenie powoduje odłączenie zasilania całej grupy (patrz schematy połączeń
zewnętrznych sterowników zamieszczone w rozdziale 5).
Ostrzeżenia:

o Ze względu na niebezpieczeństwo porażenia prądem, przed odłączeniem urządzeń
zewnętrznych lub przed zdjęciem pokrywy czołowej sterownika należy wyłączyć zasilanie
o Nie wolno próbować wyjmować samodzielnie płytek z obwodami ze sterownika, ani też
wymieniać bezpieczników na płytce z obwodami zasilania. Demontaż sterownika
w zakresie przekraczającym zdjęcie płyty czołowej i wymianę bezpieczników obwodów
wyjściowych AC może spowodować uszkodzenie urządzenia i jest podstawą do
unieważnienia gwarancji.
Wymienne bezpieczniki obwodów wyjściowych AC są umieszczone na płytce z obwodami
wejść/wyjść (patrz rysunek 6-11), usytuowanej bezpośrednio pod pokrywą czołową sterownika
VersaMax Micro. W celu wymiany bezpieczników należy:
1. Wyłączyć zasilanie sterownika i wejściowych/wyjściowych urządzeń zewnętrznych. Odłączyć listwy zaciskowe z przewodami połączeniowy od sterownika. Zdjąć pokrywę czołową urządzenia, wciskając lekko zatrzaski usytuowane z boku obudowy
i wysuwając pokrywę. Uwaga: płytka z jednostką centralną po zdjęciu pokrywy czołowej
pozostanie zatrzaśnięta w pokrywie.

Rysunek 6-11. Sposób zdejmowania pokrywy czołowej sterownika VersaMax Micro

4. Zastąpić przepalony bezpiecznik nowym, według tablicy 6-3.

6-12

Rozdział 6 - Instalacja sterowników VersaMax Nano i Micro

Sterowniki 14-punktowe (IC200UAA003)

Sterowniki 28-punktowe (IC200UAA007)

Rysunek 6-12. Lokalizacja bezpieczników na płytce z obwodami wejść/wyjść AC

o Bezpieczniki wymienione w tablicy poniżej są przeznaczone wyłącznie do zabezpieczenia
wyjść AC sterowników VersaMax Micro o numerach katalogowych IC200UAA003/007.
Nie wolno zastępować nimi innych bezpieczników ani w tym, ani w innych modelach
sterowników Micro.

o Bezpiecznik na płytce z obwodami zasilania, zajmującej dolne położenie wewnątrz
obudowy, nie jest przeznaczony do wymiany, a dostęp do niego jest utrudniony. Jego
celem jest zapewnienie bezpieczeństwa. Jeśli ulegnie przepaleniu, sterownik wskaże
awarię obwodu zasilania. W takim przypadku należy wymienić cały sterownik.
Tablica 6-3. Bezpieczniki na płytkach z obwodami wejść/wyjść AC w sterownikach
IC200UAA003/007
Model sterownika
IC200UAA003, 007

Lokalizacja wg rys. 6-12
F1
F2
F3
F4

Parametry bezpieczników

Zabezpieczane obwody wyjść
Q1 - Q2
Q7 - Q8
Q9 - Q12

Obciążalność prądowa
3. 15 A
Napięcie znamionowe
250 V
Producent
WICKMANN USA, Inc. (http://www. wickmannusa. com)
Numer katalogowy
TR5-F-373

6-13

Połączenia komunikacyjne
Porty szeregowe
Sterownik VersaMax Nano i Micro może komunikować się z innymi urządzeniami (z komputerem
- programatorem lub innymi sterownikami) wykorzystując port szeregowy RS-232 (nr 1),
a w modelach 23- i 28-punktowych również port szeregowy RS-485 (nr 2). Ograniczenia
dotyczące portu 2 podano w rozdziałach 1 i 3. Obydwa porty mogą służyć do zasilania
podłączonych do sterownika urządzeń zewnętrznych prądem o napięciu 5VDC i natężeniu do
100mA (z obydwu portów łącznie), ze styku 7 portu nr 1 i ze styku 5 portu nr 2.
Maksymalna długość kabli komunikacyjnych (odległość od CPU sterownika do ostatniego
urządzenia podłączonego do kabla) wynosi 15 m dla portu nr 1 i 1200 m dla portu nr 2. Szybkość
przesyłania danych dla obydwu portów można skonfigurować od 300 do 19 200 bitów/sekundę.

Port nr 1: RS-232
Port nr 1 jest portem RS-232 z 8-stykowym złączem typu RJ-45. Port ten umożliwia komunikację
z innymi urządzeniami, programowanie sterownika i ładowanie oprogramowania systemowego.
W tabeli 6-4 podano przyporządkowanie sygnałów stykom portu. Numerację styków zilustrowano
poniżej.

7
6
5
4
3
1

Rysunek 6-13. Port RS-232 sterowników VersaMax Nano i Micro

Tablica 6-4. Sygnały na stykach portu RS-232 sterowników VersaMax Nano i Micro
Styk
1
Sygnał
RTS
CTS
RXD
TXD
DCD
DTR
+5V
GND (masa)

Kierunek
sygnał wyjściowy
sygnał wejściowy
Uwaga: port nie posiada styku do podłączenia ekranu kabla.

6-14

Połączenie portu nr 1 z portem RS-232 komputera PC (typ D, 9-stykowy)
Do połączenia portu nr 1 sterownika z typowym 9-stykowym portem RS-232 komputera PC można
wykorzystać adapter RJ-45/DB9F, którego schemat połączeń wewnętrznych zilustrowano poniżej.
Kody barwne przewodów są standardowe dla większości adapterów tego typu, ale dla pewności
należy zapoznać się z dokumentacją zastosowanego adaptera.

Rysunek 6-14. Schemat połączeń wewnętrznych adaptera RJ-45/DB9F

Tablica 6-5. Sygnały adaptera RJ-45/DB9F
Kolor przewodu
adaptera
Nie podłączony
Zielony
Żółty
Czerwony
Niebieski
Czarny
Brązowy
Biały
Pomarańczowy

Styk gniazda DB9F

Styk wtyczki RJ-45

9

7

Sygnał sterownika
Nano/Micro
TXD (out)
RXD (in)
DCD (in)
GND (masa)
DTR (out)
CTS (in)
RTS (out)
+5V (out)

Sygnał komputera
PC
DSR (in)
RI (in)

Port nr 2: RS-485
Port nr 2 sterowników 23- i 28-punktowych VersaMax Micro jest portem RS-485 ze złączem
,, żeńskim", 15-stykowym, typu D. Do portu można podłączyć bezpośrednio konwerter RS-485/RS232 (numer katalogowy IC693ACC901 lub analogiczny). W tablicy 6-6 podano
przyporządkowanie sygnałów stykom portu. Numerację styków zilustrowano poniżej.

Rysunek 6-15. Numeracja styków portu RS-422 sterownika Micro

6-15

Tablica 6-6. Sygnały na stykach portu RS-422 sterownika Micro
2, 3, 4
9
11
12
13
15
Ekran

Ekran
Nie podłączone
RTS (A)
CTS (B')
RT - rezystor-terminator sygnału RDA' (120 Ohm);
tylko w ostatnim sterowniku na linii, między stykami 9 i 10
RD (A')
RD (B')
SD (A)
SD (B)
RTS (B)
CTS (A')
Połączenie bezpośrednie (point-to-point) RS-485/RS-485
Jeśli urządzenie podłączane do sterownika (np. komputer PC) jest wyposażone w interfejs RS-485,
można je połączyć bezpośrednio ze sterownikiem według poniższego schematu. Maksymalna
długość kabla połączeniowego wynosi 1200 m.

Rysunek 6-16. Typowe połączenie RS-485/RS-485 point-to-point ze wymianą
potwierdzeń (handshaking)

Połączenie wielu sterowników na jednej linii (multidrop)
W systemie obejmującym sterowniki VersaMax Micro do jednego urządzenia skonfigurowanego jako
master (sterownik Micro lub np. komputer PC), na jednym kablu szeregowym można podłączyć
maksymalnie 8 sterowników Micro skonfigurowanych jako slave. Liczbę tę można zwiększyć przy
użyciu wzmacniacza linii (np. repeatera HE485ISO485). Maksymalna odległość między urządzeniem
master a którymkolwiek z urządzeń slave wynosi 1200 m. Więcej informacji na temat komunikacji
szeregowej można znaleźć w publikacji GFK-0582 Series 90 PLC Serial Communications User's
Manual.
W każdej instalacji, w której sterowniki są podłączone przy użyciu kabla o długości
przekraczającej 15 m, należy stosować optoizolację.

6-16

(slave)

Rysunek 6-17. Połączenie multidrop

Połączenia na linii RS-485 muszą obejmować wymianę potwierdzeń (handshaking) W ostatnim
sterowniku na linii należy zewrzeć styki 9 i 10 złącza szeregowego (sygnał RD - Receive Data) powoduje to dołączenie wewnętrznego rezystora-terminatora. Jeśli sterowniki nie są podłączone do
wspólnego źródła zasilania, do poprawnego działania systemu niezbędne jest podłączenie
wszystkich sterowników do tego samego przyłącza uziemienia.

Wymagania dotyczące kabli połączeniowych
Do łączenia sterownika z urządzeniami zewnętrznymi przez port szeregowy nr 2 należy
przestrzegać następujących zaleceń:
o przewody powinny być izolowane, o polu przekroju poprzecznego min. 0. 22 mm (AWG 24),
kabel powinien być dodatkowo ekranowany;
o kable takie zapewniają komunikację z szybkością transmisji danych do 19. 2 kb/s na odległość
1200 m w przypadku interfejsu RS-485;
o zgodnie ze standardem interfejsu RS-485 różnica potencjałów między masami sygnałów
łączonych urządzeń nie może przekraczać? 7 V (w przeciwnym razie konieczna jest
optoizolacja);
o w przypadku interfejsu RS-485, do komunikacji na odległość do 15 m wystarczają dwie pary
skręconych przewodów, przy czym obydwa sygnały RD powinny być przesyłane jedną parą,
a obydwa sygnały SD - drugą. Zapobiegnie to powstawaniu nadmiernych zakłóceń. Powyżej
15m należy stosować optoizolację.

Optoizolator portu RS-485
Optoizolator portu RS-485 o symbolu IC690ACC903 można podłączyć bezpośrednio do portu RS485 sterownika lub też zamontować na panelu za pomocą 30 cm kabla przedłużającego, jeśli
bezpośredni montaż spowoduje wystawanie optoizolatora ze sterownika na zbyt dużą odległość,
przekraczającą ograniczenia w miejscu instalacji. Optoizolator może pracować w trybie single- lub
multidrop i jest konfigurowany za pomocą mechanicznego przełącznika umieszczonego z boku
obudowy. Optoizolator posiada następujące cechy:
o cztery optoizolowane kanały SD, RD, RTS i CTS,
o zgodność elektryczna z RS-485,
o konwerter 5V DC/DC,
o możliwość instalowania przy włączonym sterowniku.

FRONT VIEW

66. 04mm

17. 78mm

Rysunek 6-18. Optoizolator RS-485

6-17

Tablica 6-7. Parametry optoizolatora RS-485
Parametry mechaniczne
Złącza

15-stykowe typu D, " męskie ", umożliwiające bezpośrednie włączenie do
portu szeregowego sterownika
15-stykowe typu D, " żeńskie ", dla kabla komunikacyjnego

Parametry elektryczne
Napięcie zasilające
Typowy pobór prądu
Dopuszczalny pobór prądu
Parametry izolacji
Zgodność ze standardami
Szybkość transmisji danych

+5 VDC (z portu)
25 mA
100 mA (zasilanie urządzeń zewnętrznych)
500 V
EIA-422/485 Balanced Line
0 - 70oC
Odpowiednia do ustawionej dla sterownika

Tablica 6-8. Sygnały na stykach złączy zewnętrznych optoizolatora RS-485
15

Złącze " męskie "
SHLD (ekran)
+5 VDC
CTS (A')

9*
Złącze " żeńskie "
TESTID (rezystor ID)
RT (wewnętrzny rezystorterminator sygnału RD)
* Rezystor-terminator sygnału RD należy podłączyć w przypadku zastosowania optoizolatora do komunikacji między
dwoma urządzeniami połączonymi bezpośrednio lub na końcu sieci multidrop.

Montaż optoizolatora
W przypadku montażu bezpośrednio w porcie sterownika optoizolator należy przykręcić do
gniazda dwoma wkrętami M3 dostarczonymi z optoizolatorem (moment dokręcenia 0. 9 Nm). W
przypadku montażu na panelu optoizolator należy przykręcić dwoma wkrętami #6/32 (nie są
dostarczane z optoizolatorem) stosując moment 1.

Rysunek 6-19. Montaż optoizolatora RS-485 na panelu

6-18

Przykłady zastosowania optoizolatora

RT
SD(B)
SD(A)
RD(B')
RD(A')
RTS(B)
RTS(A)
CTS(B')
CTS(A')

CTS(A')
SHLD
24
25
21
23
22
RTS(A)

GND
SHLD

Rysunek 6-20. Konfiguracja typu multidrop z użyciem optoizolatora RS-485

Jeśli optoizolator jest zasilany z innego źródła niż port urządzenia, do którego jest podłączony,
należy wykonać własny kabel według zamieszczonego poniżej schematu.

6-19

Rysunek 6-21. Kabel do zasilania urządzeń zewnętrznych przez optoizolator RS-485

6-20

Konfiguracja sterowników VersaMax Nano
i Micro

W rozdziale tym opisano sposób konfigurowania sterowników VersaMax Nano i Micro.
Sterowniki konfiguruje się za pomocą komputera-programatora, można też wykorzystać funkcję
autokonfiguracji.

Konfigurowanie z programatora i autokonfiguracja
Sterowniki VersaMax Nano i Micro przy pierwszym włączeniu zasilania konfigurują się
automatycznie, wykorzystując domyślne wartości parametrów. Do momentu załadowania
z komputera-programatora innej konfiguracji, sterowniki będą konfigurować się automatycznie po
każdorazowym włączeniu zasilania. Po załadowaniu przez użytkownika własnej konfiguracji
zostanie ona zatrzymana w sterowniku i procedura autokonfiguracyjna przestanie być
wykonywana.
Konfigurację sterownika w komputerze-programatorze definiuje się w oprogramowaniu VersaPro a
następnie jest ona wgrywana do sterownika. Przy pierwszym podłączeniu komputera-programatora
do sterownika komunikuje się on z komputerem (używając domyślnych parametrów dla
komunikacji) przez port, do którego jest podłączony programator. Parametry te można również
zmodyfikować przy konfigurowaniu sterownika.

Konfiguracja domyślna
Domyślne parametry konfiguracyjne są następujące:

-
cykl pracy sterownika trwa tyle czasu, ile potrzebne jest do jego zakończenia;
w każdym cyklu pracy sterownika obliczana jest suma kontrolna liczby słów w programie
sterującym;
sterownik nie odczytuje stanu wejść i nie ustawia wyjść w trybie STOP;
jeśli wystąpi błąd krytyczny, sterownik przechodzi w tryb STOP. Błędu nie można
zignorować, a sterownika nie można uruchomić ponownie bez wyeliminowania przyczyny
błędu;
uaktywniona funkcja hasła dostępu, dostęp na poziomie 4;
w sterownikach Micro, przełącznik Run/Stop funkcjonuje jako przełącznik trybu pracy (może
on również służyć do zabezpieczenia pamięci RAM);
po włączeniu zasilania sterownik zachowuje się następująco:
odczytuje zarówno konfigurację, jak i program sterujący z pamięci RAM,
odczytuje dane rejestrowe z pamięci RAM,
wykonuje normalną procedurę autodiagnostyczną,
sterownik Nano lub 14-punktowy sterownik Micro zostaje ustawiony w tryb Stop,

7-1

7

23- lub 28-punktowy sterownik Micro wyposażony w baterię podtrzymującą stan pamięci
RAM zostaje ustawiony w taki sam tryb, w jakim znajdował się przed wyłączeniem.

Konfiguracja jednostki centralnej sterownika (CPU)
Tabela 7-1. Parametry konfiguracyjne jednostki centralnej sterownika VersaMax Micro

Parametr
Sweep Mode

Możliwe
wartości

Wartość
domyślna

Normal,
Parametr ten określa, czy czas trwania cyklu jest
ograniczony do wartości przechowywanej w Sweep
Constant Sweep
Tmr (Constant Sweep), czy też cykl trwa tyle czasu, ile
jest wymagane do jego zakończenia (NORMAL).

Normal

od 5 do 200 ms

100 ms

Constant Sweep Stały, zadany czas cyklu (w ms). Wartość można
Time
ustawić tylko wtedy, gdy parametr Sweep Mode jest
ustawiony na Constant Sweep.
Checksum
Words per
Sweep

Liczba słów w programie sterującym do obliczenia
sumy kontrolnej w każdym cyklu sterownika.

od 8 do 32

I/O Scan Stop

Parametr ten określa, czy wejścia mają być
odczytywane, a wyjścia ustawiane, gdy sterownik
znajduje się w trybie Stop.

Yes, No

No

Stop, Run

Stop

W przypadku 23- i 28-punktowych modeli sterowników
Micro możliwa jest jeszcze jedna opcja - Last (ostatni
aktywny tryb przed wyłączeniem zasilania).

Stop, Run, Last

Last

Źródło, z którego ma być czerpana konfiguracja
i program sterujący po włączeniu sterownika (dotyczy
23- i 28-punktowych modeli sterowników Micro).

RAM, Flash

RAM

Registers

Wybór źródła danych rejestrowych po włączeniu
Fatal Fault
Override

Parametr ten określa, czy możliwe jest zignorowanie
błędów krytycznych po włączeniu zasilania sterownika.

Enabled,
Disabled

Diagnostics

Parametr ten określa, czy po włączeniu sterownika ma
być wykonywana automatycznie procedura
autodiagnostyczna.

Enabled

Powerup Mode W przypadku sterowników Nano i 14-punktowych modeli
sterowników Micro parametr ten określa, czy po włączeniu
zasilania sterownika ma być on ustawiony w tryb Stop, czy
w tryb Run.

Logic/
Configuration
From

Jeśli zastosowanie sterownika nie wymaga niezwykle
szybkiego procesu uruchomieniowego, zawsze zaleca
się wykonywanie procedury autodiagnostycznej. Jej
wyłączenie uniemożliwia korzystanie z modułów
rozszerzających (jeśli do sterownika są podłączone
takie moduły, po jego włączeniu w tablicach I/O
zostaną zapisane informacje o błędach).
Jeśli sterownik jest skonfigurowany tak, aby pomijał
procedurę autodiagnostyczną przy rozruchu,
rozpocznie on wykonywanie programu sterującego
100 ms po osiągnięciu przez napięcie zasilania
trwałego poziomu 24 VDC. Źródło napięcia musi mieć
możliwość dostarczenia prądu rozruchowego o
podanym natężeniu, utrzymując jednocześnie napięcie
24 VDC.

7-2

Astor Sp. - Autoryzowany Dystrybutor GE Fanuc.

Rozdział 7 - Konfiguracja sterowników VersaMax Nano i Micro

Tabela 7-1. Parametry konfiguracyjne jednostki centralnej sterownika VersaMax Micro, c. d.

Switch
Run/Stop
Memory
Protect
Passwords

Data Bits

Default
Modem
Turnaround
Default Idle
Time

Parametr ten określa, czy przełącznik Run/Stop
funkcjonuje jako przełącznik trybu pracy.
funkcjonuje jako zabezpieczenie pamięci RAM.
Parametr ten określa, czy uaktywnione są hasła
dostępu (jeśli nie są uaktywnione, jedynym sposobem
ich uaktywnienia jest usunięcie zawartości pamięci
sterownika).
Parametr ten określa, czy CPU rozpoznaje słowa 7czy 8-bitowe (protokół SNP/SNPX wymaga słów 8bitowych).
Czas zwłoki modemu (w jednostkach 10 ms). Jest to
odstęp czasowy między odebraniem przez modem
żądania transmisji danych a rzeczywistym początkiem
transmisji.
Czas oczekiwania przez CPU na następną wiadomość
z urządzenia programującego, po którym CPU zrywa
komunikację z tym urządzeniem zakładając, że nie działa
ono (czas podawany w sekundach).

Disabled
domyślna
7, 8

od 0 do 255 ms

0 ms

od 1 do 60 s

10 s

Konfiguracja portu szeregowego nr 1
Port nr 1 jest portem typu RS-232 i służy do połączenia sterownika z programatorem (komputer
z uruchomionym oprogramowaniem VersaPro) lub do komunikacji w innym celu. Port ten
obsługuje protokoły SNP i SNPX, a w sterownikach Nano i 14-punktowych modelach
sterowników Micro - również protokół RTU Slave i Serial I/O. Port można skonfigurować
z poziomu programatora jako część konfiguracji sterownika. Jedynie komunikacja w protokole
RTU i Serial I/O wymaga skonfigurowania portu z poziomu programu drabinkowego przy użyciu
funkcji COMMREQ.
Tabela 7-2. Parametry konfiguracyjne portu nr 1 sterowników VersaMax Nano i Micro

Port 1 Mode
Parity
Data Rate
(bps)
Flow Control
(jeśli
wybranym
protokołem
dla portu 1
jest RTU)

Parametr ten określa protokół komunikacyjny dla portu
SNP, SNPX,
nr 1 (tylko w 14-punktowych sterownikach Micro).
RTU, Serial I/O
Kontrola parzystości.
Odd, Even, None
Szybkość transmisji danych (w bitach na sekundę).
300, 600, 1200,
2400, 4800,
9600, 19200
Określa sposób kontroli przepływu danych.
None, Hardware

SNP
Odd
19200

None

7-3

Port Type
jest SNP)
Stop Bits
SNP ID

Parametr ten konfiguruje port jako Slave w systemie
Master/Slave. Dotyczy tylko 14-punktowych sterowników
Micro. Dla 23- i 28-punktowych modeli typem portu jest
zawsze Slave.

Slave

Liczba bitów stopu (większość urządzeń wykorzystuje
jeden bit; powolniejsze urządzenia wykorzystują dwa).
8-bajtowy identyfikator dla portu 1.

1, 2

Konfiguracja portu szeregowego nr 2
Port nr 2 występuje w 23- i 28-punktowych sterownikach Micro. Jest portem typu RS-485 i służy
do komunikacji przy wykorzystaniu protokołów SNP, SNPX i RTU Slave. Port można również
skonfigurować jako SNP/SNPX Master. Konfigurowanie portu jest możliwe z poziomu
programatora lub z poziomu programu drabinkowego przy użyciu funkcji COMMREQ.
Tabela 7-3. Parametry konfiguracyjne portu nr 2 sterowników VersaMax Micro

Port 2 Mode

Data Rate (bps)

Flow Control (jeśli
protokołem dla
portu 2 jest RTU
lub Serial I/O)
Port Type (jeśli
portu 2 jest SNP)
Timeout
Stop Bits

7-4

Możliwe wartości

Parametr ten określa protokół komunikacyjny dla
portu nr 1 (tylko w 23- i 28-punktowych
sterownikach Micro).
Szybkość transmisji danych (w bitach na
sekundę).
Określa sposób kontroli przepływu danych.

Parametr ten konfiguruje port jako Master (port
urządzenia nadrzędnego) lub Slave (port
urządzenia podrzędnego) w systemie
Master/Slave.
Zestaw określonych czasów oczekiwania, które
mają być stosowane w protokole.
Liczba bitów stopu (większość urządzeń
wykorzystuje jeden bit; powolniejsze urządzenia
wykorzystują dwa).
8-bajtowy identyfikator dla portu 2.

SNP, Serial I/O,
RTU, Disabled

SNP

2400, 4800, 9600,
19200
RTU: None,
Hardware
Serial I/O: None,
Hardware, Software

Master, Slave

Long, Medium,
Short, None
Long

Konfiguracja modułów rozszerzających (ekspanderów)
Do sterowników VersaMax Micro można podłączyć maksymalnie cztery moduły rozszerzające.
Tabela 7-4. Parametry konfiguracyjne modułów rozszerzających

Parametr

Expansion Module Parametr ten służy do zasygnalizowania
obecności modułu.
Parametry tylko do odczytu
dla modułów UEX011, 012 i 014
%I Ref Adr
%I Size (Bits)
%Q Ref Adr
%Q Size (Bits)

EMPTY UNIT,
IC200UEX1/2
EMPTY UNIT

Wartość

Liczba dyskretnych zmiennych wejściowych
Liczba dyskretnych zmiennych wyjściowych

%I0001... 512
8
%Q0001... 512
Konfiguracja wejść i wyjść analogowych
Sterowniki VersaMax Micro o symbolu IC200UAL006 (23-punktowe) są wyposażone w dwa
analogowe kanały wejściowe oraz jeden analogowy kanał wyjściowy, które mogą pracować
w trybie napięciowym lub prądowym, w zależności od konfiguracji. Wejścia analogowe
wykorzystują dwa rejestry:%AI0018 i%AI0019. Wyjście analogowe wykorzystuje jeden rejestr
%AQ0012. Rejestry te są przypisane na stałe i nie można ich zmienić.
Tabela 7-5. Parametry konfiguracyjne wejść i wyjść analogowych

Patametr

Wartość domyślna

KONFIGURACJA WEJŚĆ ANALOGOWYCH
AI0018 Mode

Tryb napięciowy lub prądowy

Range

Zakres natężenia prądu w trybie
prądowym

AI0019 Mode

Voltage, Current

Voltage

4-20 mA, 0-20 mA

4-20 mA

KONFIGURACJA WYJŚCIA ANALOGOWEGO
AQ0012 Mode

Konfiguracja funkcji licznika HSC oraz wyjść PWM i PTO
Sterowniki VersaMax Nano i Micro z wejściami DC dysponują funkcją licznika impulsów
wysokiej częstotliwości (HSC), mogącego przetwarzać sygnały impulsowe o częstotliwości do 10
kHz. W sterownikach z wyjściem DC (Q1) można je wykorzystać jako:
o wyjście licznika HSC;
o wyjście funkcji PWM (Pulse-Width Modulation), generujące impulsy prostokątne o zmiennym
współczynniku wypełnienia;

7-5

wyjście typu PTO (Pulse Train Output), generujące serię impulsów. Szczegółowy opis tych
funkcji można znaleźć w rozdziale 10, natomiast poniżej zamieszczono krótką charakterystykę
parametrów konfiguracyjnych licznika.
Tabela 7-6. Parametry konfiguracyjne liczników HSC oraz funkcji PWM i PTO

HSC, PWM,
Pulse Train,
Standard,
Ramp

HSC

Up, Down

Up

Counter #1/2/3/4 Parametr ten determinuje zachowanie licznika po osiągnięciu
Mode
górnej lub dolnej granicy zakresu (High Limit lub Low Limit).
Ustawienie Continuous oznacza, że przy zliczaniu w górę, po
przekroczeniu górnej granicy zakresu zawartość akumulatora
zostaje przestawiona na wartość równą dolnej granicy i zliczanie
impulsów jest kontynuowane; przy zliczaniu w dół, po
przekroczeniu dolnej granicy zakresu zawartość akumulatora
zostaje przestawiona na wartość równą górnej granicy i zliczanie
impulsów jest również kontynuowane.
Ustawienie Single-Shot oznacza, że po przekroczeniu granicy
zakresu licznika licznik przestaje zliczać impulsy,
a w akumulatorze pozostaje wartość graniczna.

Contiinuous,
Single Shot

Continuous

Counter #1/2/3/4 Parametr ten determinuje jeden z dwóch trybów pracy licznika
Preload/Strobe (Preload/Strobe). W trybie Preload aktywne wejście
Selection
Preload/Strobe inicjuje załadowanie zadanej przez użytkownika
wartości do akumulatora; w trybie Strobe aktywne wejście
Preload/Strobe inicjuje załadowanie bieżącej zawartości
akumulatora do określonego rejestru.

Preload,
Strobe

Preload

Positive,
Negative
(liczniki typu B
i B2 - zawsze
Positive)

Positive

Channel
#1/2/3/4
Function

Parametr ten określa funkcję kanału.

Counter
Direction

Parametr ten dotyczy tylko liczników typu A. Determinuje on
kierunek zliczania impulsów: w górę (Up) lub w dół (Down).

Counter #1/2/3/4 W przypadku liczników typu A, wejście Count może reagować
Count Input Edge na narastające (Positive) lub opadające (Negative) zbocze
for Type A
sygnału.

Counter Output
#1/2/3/4 Enable

Parametr ten decyduje, czy wyjście licznika jest dostępne jako
normalne wyjście dla programu sterującego (Disabled), czy jest
zarezerwowane wyłącznie do użytku przez licznik (Enabled).

Output Stop
Mode

Time Base
#1/2/3/4

Jest to podstawa czasu dla obliczania liczby impulsów. Liczba
impulsów obliczona podczas ostatniego pełnego okresu
równego podstawie czasu jest zapisywana w rejestrze
Counts/Timebase.

od 10 ms do
65530 ms

1000 ms

High Limit
7-6

Parametr ten określa, jak zachowują się wyjścia, gdy sterownik Normal, Force
All Outputs
znajduje się w trybie Stop. Normal oznacza, że wyjścia licznika
HSC nadal realizują swoje funkcje (tak jakby jednostka centralna Off, Hold Last
sterownika pracowała nadal), reagując na zmiany stanu wejść
licznika. Force All Outputs Off oznacza wyłączenie wszystkich
wejść licznika i oczekiwanie na przejście sterownika w tryb Run.
Hold Last oznacza zachowanie przez wyjścia ostatniego stanu
sprzed zatrzymania sterownika.

Każdemu licznikowi muszą zostać przypisane dolna (Low Limit) i od - 32767 do
górna (High Limit) granica zakresu. Wartość High Limit musi być
+32767
większa od Low Limit.

+32767

Low Limit
Patrz powyżej.

od - 32767 do
ON Preset
ON Preset i OFF Preset są to wartości graniczne powodujące
włączenie lub wyłączenie wyjścia licznika. Muszą one zawierać
się pomiędzy High Limit i Low Limit.

od - 32767
do +32767

Jest to wartość początkowa, która jest ładowana do
akumulatora licznika.

OFF Preset
Preload
Register
Home Value
Acceleration

Przyspieszenie generowania ciągu impulsów dla wyjścia
PTO.

od 10 do
1000000

Deceleration

Opóźnienie generowania ciągu impulsów dla wyjścia PTO.

7-7

Funkcjonowanie systemów sterownika

W rozdziale tym opisano tryby pracy sterowników VersaMax Nano i Micro, w tym cykl pracy
sterownika, sekwencje uruchomieniowe i wyłączeniowe, systemowe zegary i przekaźniki czasowe,
sposoby zabezpieczenia systemu poprzez hasła dostępu oraz funkcjonowanie systemu wejść/wyjść.

Cykl pracy sterownika
Program sterujący jest wykonywany przez sterownik cyklicznie. Cykl obejmujący wszystkie
operacje niezbędne do jednorazowego, pełnego wykonania programu sterującego, nosi nazwę
cyklu pracy sterownika (sweep). Oprócz realizacji logiki programu obejmuje on odczyt danych
z urządzeń wejściowych, wysłanie danych do urządzeń wyjściowych, wewnętrzne operacje
systemowe i obsługę programatora (patrz rysunek 8-1).
W standardowym trybie pracy (Standard Sweep Mode) każdy cykl jest wykonywany tak szybko,
jak to jest możliwe, w wyniku czego czasy wykonania poszczególnych cykli zwykle różnią się.
Alternatywnym rozwiązaniem jest tryb ze stałym czasem trwania cyklu (Constant Sweep Mode).
W trybie tym można zadać stały czas trwania cyklu. Jeśli rzeczywisty cykl trwa krócej, rozpoczęcie
kolejnego cyklu zostanie opóźnione. Jeśli zadany czas trwania cyklu zostanie przekroczony,
kolejny cykl rozpoczyna się natychmiast po zakończeniu poprzedniego. Sterownik może również
zostać zatrzymany (Stop Mode), przy czym możliwe są dwie opcje: zatrzymanie sterownika
z wyłączonymi wejściami i wyjściami (Stop with I/O Disabled) oraz zatrzymanie sterownika
z włączonym skanowaniem wejść/wyjść (Stop with I/O Enabled).

Elementy cyklu pracy sterownika
Wewnętrzne operacje systemowe
Są to operacje wymagane do rozpoczęcia cyklu: obliczenie czasu trwania cyklu, określenie
momentu rozpoczęcia kolejnego cyklu, określenie trybu, w którym zostanie wykonany kolejny
cykl, zaktualizowanie tablic błędów, zaktualizowanie przekaźników czasowych.
Jeśli sterownik pracuje w trybie z ustalonym czasem trwania cyklu (Constant Sweep Mode),
rozpoczęcie następnego cyklu nastąpi po upływie wymaganego czasu. Jeśli czas ten został już
przekroczony, ustawiona zostaje zmienna systemowa%SA0002 (OV_SWP) i cykl rozpoczyna się
bez oczekiwania.

Odczyt stanu wejść
W tej części cyklu odczytywane są wejścia sterownika, od najniższego do najwyższego adresu,
a dane są zapisywane w rejestrach zmiennych wejściowych, odpowiednio, %I i%AI. Gdy
sterownik znajduje się w trybie STOP with I/O Disabled, etap ten jest pomijany.

8-1

8

Rysunek 8-1. Cykl pracy sterownika

8-2

Rozdział 8 - Funkcjonowanine systemów sterownika

Wykonanie programu sterującego
Wykonanie programu sterującego rozpoczyna się od pierwszej instrukcji i zostaje zakończone
wykonaniem instrukcji END. Jako wynik wykonania programu utworzony zostaje zbiór danych
wyjściowych.

Ustawienie wyjść
Bezpośrednio po wykonaniu programu sterującego ustawiane są wyjścia sterownika, od
najniższego do najwyższego adresu, przy wykorzystaniu danych z rejestrów%Q i%AQ. Gdy
Komunikacja z programatorem
Jeśli do sterownika jest podłączone urządzenie programujące, i jeśli występuje taka potrzeba,
kolejna część cyklu pracy sterownika poświęcana jest na komunikację z programatorem. Gdy
sterownik nie wymaga skomunikowania się z programatorem, ten element cyklu jest pomijany.
W domyślnym trybie z ograniczonym oknem komunikacyjnym (Limited Mode), w każdym cyklu
jednostka centralna akceptuje jedno polecenie z programatora. Limit czasowy dla komunikacji
wynosi 6 ms. Jeśli wykonanie polecenia wysłanego z programatora zajmie więcej niż 6 ms, jest
ono dzielone na kilka cykli, aby czas przeznaczony na to w każdym cyklu nie przekraczał 6 ms.
W trybie z szerokim oknem komunikacyjnym (Run to Completion Mode), szerokość okna jest
ograniczona do 100 ms. Jeśli wykonanie polecenia wysłanego z programatora zajmie więcej niż
100 ms, jest ono dzielone na kilka cykli, aby czas przeznaczony na to w każdym cyklu nie
przekraczał 100 ms.

Komunikacja systemowa
W następnej części cyklu jednostka centralna realizuje komunikację z innymi urządzeniami
w systemie.
W domyślnym trybie z szerokim oknem komunikacyjnym (Run to Completion Mode), szerokość
okna jest ograniczona do 100 ms. Jeśli wykonanie polecenia wysłanego z programatora zajmie
więcej niż 100 ms, jest ono dzielone na kilka cykli, aby czas przeznaczony na to w każdym cyklu
nie przekraczał 100 ms.
W trybie z ograniczonym oknem komunikacyjnym (Limited Mode), w każdym cyklu limit czasowy
dla komunikacji wynosi 6 ms. Jeśli wykonanie polecenia wysłanego z programatora zajmie więcej
niż 6 ms, jest ono dzielone na kilka cykli, aby czas przeznaczony na to w każdym cyklu nie
przekraczał 6 ms. W ten sposób komunikacja ma mniejszy wpływ na czas trwania cyklu
sterownika, ale przebiega wolniej.

Obliczenie sumy kontrolnej programu sterującego
Przy końcu każdego cyklu pracy sterownika obliczana jest suma kontrolna dla programu
sterującego. Użytkownik może określić liczbę słów (od 8 do 32) do obliczenia sumy kontrolnej.
Jeśli obliczona suma kontrolna nie odpowiada sumie wzorcowej, ustawiony zostaje bit
wskaźnikowy sumy kontrolnej, co powoduje odpowiedni zapis w tablicy błędów sterownika
i przejście sterownika w tryb Stop.

8-3

Standardowy tryb pracy (Standard Sweep Mode)
W standardowym trybie pracy każdy cykl jest wykonywany tak szybko, jak to jest możliwe, w
wyniku czego czasy wykonania poszczególnych cykli zwykle różnią się.

Kontrolny zegar systemowy (Watchdog Timer)
Zegar ten kontroluje czas trwania cyklu sterownika w standardowym trybie pracy (Standard Sweep
Mode) w celu wykrycia sytuacji awaryjnej, powodującej wyjątkowo długi cykl. Zegar systemowy
odlicza czas od początku każdego cyklu. Jeśli czas trwania cyklu przekroczy 200 ms (stała
czasowa zegara systemowego), dioda kontrolna LED jednostki centralnej oznaczona OK gaśnie,
jednostka centralna zostaje zresetowana, sterownik wykonuje procedurę uruchomieniową
i przechodzi w tryb Stop, rejestrując błąd kontrolnego zegara systemowego. Następuje również
czasowa przerwa w komunikacji.

Tryb pracy ze stałym czasem trwania cyklu (Constant Sweep
Mode)
W trybie tym użytkownik określa stały czas trwania cyklu. Umożliwia to odczyt wejść
i aktualizację wyjść w regularnych odstępach czasu. Jeśli rzeczywisty cykl trwa krócej,
rozpoczęcie kolejnego cyklu zostanie opóźnione. Jeśli zadany czas trwania cyklu zostanie
przekroczony, kolejny cykl rozpoczyna się natychmiast po zakończeniu poprzedniego. Do
uaktywnienia i wyłączenia trybu pracy ze stałym czasem trwania cyklu oraz do ustawienia nowego
lub odczytu zadanego czasu trwania cyklu w programie sterującym można wykorzystać funkcję
SVCREQ 1.

Zegar stałego czasu trwania cyklu (Constant Sweep Timer)
Zegar ten kontroluje czas trwania cyklu sterownika w trybie ze stałym czasem. W trybie tym
można zadać czas trwania cyklu od 5 do 200 ms (wartość domyślna 100 ms). Zadawany czas
powinien być przynajmniej o 10 ms dłuższy niż czas cyklu w trybie standardowym, w celu
zapobieżenia zbyt częstej sygnalizacji błędu przekroczenia czasu trwania cyklu. Jeśli rzeczywisty
cykl trwa krócej, rozpoczęcie kolejnego cyklu zostanie opóźnione. Jeśli zadany czas trwania cyklu
zostanie przekroczony, ustawiona zostaje zmienna systemowa%SA0002 (OV_SWP) i kolejny cykl
rozpoczyna się natychmiast po zakończeniu poprzedniego. Zmienna%SA0002 jest resetowana,
gdy czas trwania cyklu powróci do określonego limitu lub gdy sterownik przestaje pracować
w trybie ze stałym czasem trwania cyklu. Program sterujący może monitorować tę zmienną
i informować użytkownika o przekroczeniu zadanego czasu trwania cyklu.

Cykl pracy sterownika w trybie STOP
Sterownik może zostać zatrzymany (CPU nie wykonuje programu sterującego), przy czym
możliwe są dwie opcje: zatrzymanie sterownika z wyłączonymi wejściami i wyjściami (Stop with
I/O Disabled) oraz zatrzymanie sterownika ze włączonym skanowaniem wejść/wyjść (Stop with
I/O Enabled). Komunikacja z programatorem i urządzeniami zewnętrznymi jest kontynuowana
w obu tych trybach. Do zatrzymania sterownika z końcem kolejnego cyklu można wykorzystać
funkcję SVCREQ 13 w programie sterującym.

Przełącznik ten występuje standardowo tylko w sterownikach VersaMax Micro i umożliwia
zatrzymanie sterownika. Do sterowników VersaMax Nano można podłączyć zewnętrzny
przełącznik (traktowany jako wejście 24 VDC) pełniący identyczną funkcję. Jeśli sterownik jest
skonfigurowany tak, że przełącznik funkcjonuje jako przełącznik trybu pracy (jest to konfiguracja
domyślna; przełącznik może również służyć do zabezpieczania zawartości pamięci RAM przed

8-4

zmianami), działa on na wszystkich poziomach dostępu, ignorując wszelkie ograniczenia
zabezpieczenia sterownika hasłem. Stan przełącznika jest przechowywany w zmiennej systemowej
%S0022 (Run=1, Stop=0). W programie sterującym można monitorować i wykorzystywać tę
zmienną.

Gdy przełącznik funkcjonuje jako przełącznik trybu pracy, jego działanie ma
następujące skutki:
Gdy jednostka centralna nie odnotowała błędów krytycznych (Fatal Faults) i nie znajduje się
w trybie Stop/Fault, przestawienie przełącznika w pozycję Run powoduje przejście sterownika
w tryb Run (błędy nie zostają usunięte z tablicy błędów).

Gdy jednostka centralna odnotowała błędy krytyczne (Fatal Faults) i znajduje się w trybie
Stop/Fault, przestawienie przełącznika w pozycję Run powoduje miganie diody kontrolnej
RUN przez 5 sekund. W czasie gdy dioda miga, za pomocą przełącznika Run/Stop można
wyczyścić tablicę błędów sterownika i przestawić sterownik w tryb Run. Po przestawieniu
przełącznika w pozycję Run na co najmniej 0. 5 sekundy należy przestawić przełącznik
w pozycję Stop na co najmniej 0. 5 sekundy. Następnie należy przestawić przełącznik
z powrotem w pozycję Run. Błędy zostaną usunięte z tablicy błędów i sterownik przechodzi
w tryb Run. Dioda kontrolna RUN przestaje migać i pozostaje zaświecona. Procedurę tę
można powtórzyć w razie potrzeby.

Jeśli przełącznik nie zostanie przestawiony w sekwencji Run-Stop-Run, jak to opisano
powyżej, po 5 sekundach dioda kontrolna RUN gaśnie i sterownik pozostaje w trybie
Stop/Fault. Błędy pozostają zapisane w tablicy błędów.

Przełącznik może również służyć do zabezpieczenia przed zmianą programu sterującego,
konfiguracji sterownika i wymuszenia stanu wejść i wyjść dyskretnych. W tym celu należy zmienić
parametr Switch Memory Protect w konfiguracji jednostki centralnej z Disabled na Enabled.

Sekwencje uruchomieniowe i wyłączeniowe
Sekwencja uruchomieniowa
Sekwencja uruchomieniowa sterownika VersaMax Nano i Micro składa się z następujących
operacji:
1. Wykonania procedury autodiagnostycznej przez jednostkę centralną. Obejmuje ona
sprawdzenie, czy pamięć RAM funkcjonuje. W przypadku sterowników Micro procedurę tę
można wyłączyć w konfiguracji sterownika, jeżeli jest konieczne przyspieszenie rozruchu
sterownika, ale jeśli aplikacja nie wymaga niezwykle szybkiego rozruchu, nie jest to zalecane. Porównania rzeczywistej konfiguracji sprzętowej z konfiguracją programową. Wszelkie
wykryte niezgodności są sygnalizowane jako błędy. Jeśli nie ma konfiguracji programowej, sterownik przyjmuje do porównania konfigurację
domyślną. Określenie trybu pierwszego cyklu sterownika na podstawie konfiguracji jednostki centralnej.
Sterownik może zostać uruchomiony w trybie Run lub Stop (patrz tabela 8-1).

8-5

Tabela 8-1. Tryb pracy sterownika po wykonaniu sekwencji uruchomieniowej
Sterownik Nano
lub 14-punktowy
Bez baterii podtrzymującej
pamięć RAM

Z baterią podtrzymującą
Domyślny tryb pracy

Ostatni tryb pracy przed
wyłączeniem

Tryby pracy możliwe
do skonfigurowania

Run lub Stop

Run, Stop lub ostatni tryb
pracy przed wyłączeniem

23- i 28-punktowe sterowniki Micro

Pamięć flash
Sterowniki VersaMax Nano i Micro dysponują pamięcią trwałą flash, w której przechowywane jest
oprogramowanie systemowe. W pamięci tej może być przechowywany również (tylko jeden)
program sterujący oraz konfiguracja sterownika i tablice wartości.
Konfigurując sterownik VersaMax Micro można określić, czy ma on odczytywać konfigurację
i program sterujący z pamięci RAM czy flash. Sterownik VersaMax Nano zawsze odczytuje
program sterujący i konfigurację z pamięci flash, ponieważ nie dysponuje on pamięcią RAM
z podtrzymaniem bateryjnym/ kondensatorowym.
Tylko te sterowniki Micro, w których zainstalowana jest opcjonalna bateria litowa podtrzymująca
stan pamięci RAM, mogą odczytywać program sterujący i konfigurację z pamięci RAM po
wyłączeniu sterownika na dłuższy czas. Jeśli sterownik nie ma takiej baterii, po włączeniu zasilania
zawartość pamięci RAM może być nieokreślona. W takiej sytuacji program sterujący
i konfiguracja powinna być wczytana z pamięci flash.
Domyślny stan wyjść sterownika po włączeniu zasilania to wszystkie wyjścia wyłączone. Pozostają
one wyłączone do czasu wykonania pierwszego cyklu sterownika.
Tabela 8-2. Możliwości odczytu programu sterującego i konfiguracji po włączeniu zasilania
Konfiguracja

Program sterujący

Dane rejestrowe

Read From RAM

X

--

Read From
EPROM/FLASH

Ustawienia domyślne

Ustawienia zalecane

Warunki wyłączenia sterownika
Sterownik wyłącza się automatycznie, gdy nastąpi spadek napięcia zasilania poniżej wymaganego
poziomu.
Podczas stopniowego wyłączania zasilania, gdy napięcie zasilające spada poniżej minimalnego napięcia
roboczego, sterownik przechodzi w stan, kiedy wszystkie wyjścia są wyłączone. W tym stanie diody
LED oznaczone RUN i OK również gasną. Sterownik pozostaje w tym stanie do momentu aż zasilanie
zostanie wyłączone całkowicie, lub do czasu, gdy napięcie zasilające wróci do poziomu umożliwiającego
ponowne włączenie sterownika (powyżej minimalnego napięcia roboczego). W tym ostatnim przypadku
sterownik zostanie zresetowany i rozpocznie wykonywanie normalnej sekwencji uruchomieniowej.

8-6

Rozdział 8 - Funkcjonowanine systemów sterownika

Wyłączenie i przywrócenie zasilania
W tabeli 8-3 opisano skutki, jakie pociąga za sobą wyłączenie i przywrócenie zasilania sterownika
VersaMax Nano i Micro.
Tabela 8-3. Skutki wyłączenia i przywrócenia zasilania sterownika
Zaistniałe warunki
Wyłączenie zasilania nastąpiło podczas operacji
przegrywania programu sterującego do pamięci
RAM z komputera-programatora lub z pamięci
flash.
przegrywania konfiguracji sterownika do pamięci
przegrywania tablic wartości zmiennych do
pamięci RAM z komputera-programatora lub z
pamięci flash.
przegrywania programu sterującego, konfiguracji
sterownika lub tablic wartości zmiennych do
Jeśli system zawiera moduły rozszerzające:
Zasilanie sterownika zostało wyłączone
wcześniej, niż modułów rozszerzających.
później, niż modułów rozszerzających,
podczas skanowania wejść/wyjść.
Zasilanie sterownika zostało włączone
wcześniej, niż modułów rozszerzających.

później, niż modułów rozszerzających.

Skutki
Program sterujący zostanie wymazany z pamięci RAM sterownika
po włączeniu zasilania. Należy załadować jeszcze raz program
sterujący z komputera-programatora.
Konfiguracja sterownika zostanie wymazana z pamięci RAM po
włączeniu zasilania. Należy załadować jeszcze raz konfigurację
sterownika z komputera-programatora.
Tablice wartości zmiennych zostaną wymazane z pamięci RAM po
włączeniu zasilania. Należy załadować jeszcze raz tablice wartości
zmiennych z komputera-programatora.
Obszar pamięci flash używany do przechowywania programu
sterującego, konfiguracji sterownika lub tablic wartości zmiennych
zostanie potraktowany jako nie zawierający żadnych danych.
Należy załadować jeszcze raz program sterujący, konfigurację
sterownika lub tablice wartości zmiennych do pamięci flash.
Moduły rozszerzające zostaną zresetowane (wszystkie wyjścia
zostaną wyzerowane)
Zarejestrowany może zostać błąd braku modułu rozszerzającego
(Loss of Expansion Module).
Jeśli zasilanie modułów rozszerzających nie zostało włączone
równocześnie z zasilaniem modułu sterownika, zarejestrowany
może zostać błąd braku modułu rozszerzającego (Loss of
Expansion Module).
Wyjścia modułów rozszerzających pozostają wyłączone do czasu
zakończenia procedury uruchomieniowej i rozpoczęcia
skanowania wejść/wyjść przez sterownik.

Filtracja programowa sygnału z wejść DC
W sterownikach VersaMax Nano i Micro, wyposażonych w wejścia dyskretne, sygnały z tych
wejść są filtrowane w celu uniknięcia niepożądanego wzbudzenia wejść wskutek stanów
przejściowych, zakłóceń, niedoskonałości przełączników mechanicznych, itp. Dzięki filtracji
sygnały podawane na wejścia, ale trwające zbyt krótko, są ignorowane przez sterownik.
Filtracja sygnału z wejść dyskretnych (%I) jest realizowana programowo, co umożliwia łatwą
zmianę stałej czasowej filtra. Czas ten dla wejść dyskretnych można ustawić w granicach od 0. 5ms
do 20 ms w odstępach 0. 5 ms. Stała czasowa jest przechowywana w rejestrze%AQ11 i jest równa
iloczynowi zawartości rejestru razy 0. Tak więc, jeśli do rejestru wpisana zostanie wartość
10, stała filtra jest ustawiana na 5 ms. Zakres dozwolonych wartości w rejestrze wynosi zatem
od 1 (co odpowiada stałej filtra 0. 5 ms) do 40 (stała filtra 20 ms). Rejestru%AQ11 nie powinno
się używać do innych celów.
Realizacja filtracji w praktyce ma miejsce z dokładnością do? 0. 5 ms, co oznacza, że każdy sygnał
trwający dłużej niż zadana stała czasowa plus 0. 5 ms zostanie uznany za odczytany. Jeśli stała
zostanie ustawiona na 5 ms, każdy sygnał trwający dłużej, niż 4. 5 ms zostanie uznany. Dodatkowo,
sygnał musi trwać dłużej niż czas przeznaczony w cyklu pracy sterownika na odczyt wejść.

8-7

Filtracja sygnału z potencjometrów nastawczych
Sterowniki VersaMax Micro wyposażone są w dwa potencjometry nastawcze umieszczone we
wnęce na płycie czołowej, pomiędzy portem szeregowym nr1 a przełącznikiem Run/Stop (patrz
rysunki 3-1 i 3-2). Umożliwiają one ręczne nastawienie wartości przechowywanych w rejestrach
%AI016 i%AI017.
Wartości w rejestrach%AI16 i%AI17, odpowiadające stanowi potencjometrów nastawczych,
wykazują zwykle fluktuacje wynikające z charakteru wejść analogowych. Sterownik Micro filtruje
sygnał z potencjometrów poprzez zastosowanie filtra uśredniającego odczyt z kilku kolejnych
cykli. Liczbę cykli do uśrednienia zadaje się w rejestrze%AQ1, przy czym:

Liczba cykli do uśrednienia = 2

wartość%AQ1

Zawartość rejestru%AQ1 może przyjmować wartości od 0 do 7, co odpowiada od 0 do 128
uśrednianych próbek. Przykładowo, jeśli w rejestrze%AQ1 zapisana zostanie wartość 4,
uśredniany jest odczyt z 16 kolejnych cykli, jeśli w rejestrze zapisana jest wartość 5, uśredniany
jest odczyt z 32 cykli, itd. Domyślna wartość w rejestrze%AQ1 wynosi 4 (uśrednianie sygnału
z 16 kolejnych cykli).
Wartość sygnału analogowego jest zapisywana w rejestrze dopiero po wykonaniu przez sterownik
określonej liczby cykli i im większa liczba próbek do uśrednienia zostanie zadana, tym dłuższa jest
odpowiedź sterownika (np. dla 128 próbek, przy cyklu trwającym 100 ms, nowa wartość
w rejestrze związanym z potencjometrem pojawi się po 12. 8 sekundy). Jeśli użytkownik chce
otrzymywać sygnał z potencjometru w każdym cyklu sterownika, musi ustawić wartość 0
w rejestrze%AQ1.

8-8

Bezpieczeństwo systemu
Sterowniki VersaMax umożliwiają ograniczenie dostępu do wybranych funkcji poprzez
zabezpieczenie hasłem lub wykorzystanie funkcji zabezpieczenia przez producenta (OEM
Protection). Obydwa rodzaje zabezpieczeń można uaktywnić z poziomu oprogramowania
konfiguracyjnego.

Zabezpieczenie hasłem
Poziomy dostępu
Hasła zabezpieczają dostęp do sterownika, gdy programator znajduje się w trybie Online. Nie
działają one w trybie Offline. Hasła mogą zabezpieczać przed:

zmianami konfiguracji sterownika i systemu wejść/wyjść,
zmianami w programie sterującym,
odczytem danych ze sterownika,
odczytem programu sterującego.

System zabezpieczenia dostępu do sterownika obejmuje cztery poziomy dostępu (Privilege
Levels). Domyślny poziom dostępu (4) oznacza nieograniczony dostęp do zapisu i odczytu
konfiguracji, programu sterującego i tablic wartości zmiennych bez podawania hasła. Poziomy od
2 do 4 mogą być zabezpieczone pojedynczymi hasłami. Hasła te mogą się różnić, ale też można
wykorzystać to samo hasło do zabezpieczenia wspomnianych poziomów dostępu. Poziom 1 nie jest
zabezpieczony hasłem. Hasła można wprowadzać i zmieniać z poziomu oprogramowania
VersaPro. Hasło może mieć długość od 1 do 7 znaków ASCII. Przywileje przyznane
użytkownikowi na danym poziomie dostępu obejmują również przywileje wszystkich niższych
poziomów. Poziomy dostępu do sterownika Micro są następujące:

o Poziom 1
Możliwość odczytu wszystkich danych (program sterujący, tablice wartości zmiennych, tablice
błędów, itp. ) z wyjątkiem haseł dostępu. Brak możliwości zmian podglądanych wartości. Jest
to domyślny poziom dostępu w sterowniku zabezpieczonym hasłami na każdym poziomie.

o Poziom 2
Funkcje poziomu 1 plus możliwość zapisu w tablicach wartości zmiennych (%I, %Q, %R, itp. ),
możliwość uruchomienia i zatrzymania sterownika (przełączanie trybu Stop/Run) oraz
usuwanie zapisów o błędach z tablicy błędów sterownika i z tablicy błędów wejść/wyjść.

o Poziom 3
Funkcje poziomu 1 i 2 plus możliwość zmian w programie sterującym, konfiguracji sterownika
i wymuszanie wartości dyskretnych zmiennych wejściowych/wyjściowych (tylko w trybie
Stop), odczyt, zapis i weryfikacja zawartości pamięci flash, przełączanie pomiędzy
standardowym trybem pracy a trybem ze stałym czasem trwania cyklu.

o Poziom 4
Funkcje poziomu 1, 2 i 3 plus możliwość zmian konfiguracji, programu sterującego i wszelkich
wartości w pamięci sterownika oraz możliwość odczytu, zapisu i zmiany haseł dostępu do
poziomów 1, 2 i 3 w trybie Run i Stop (Uwaga:Sterowniki serii VeersaMax Micro/Nano
dopuszczają zmiany w konfiguracji i zmiany w programie serującym tylko w trybie Stop).

Zmiana poziomu dostępu
Po połączeniu sterownika z programatorem i skomunikowaniu obydwu urządzeń, oprogramowanie
VersaPro automatycznie ustawia sterownik na najwyższym poziomie nie zabezpieczonym hasłem.
Przejście na inny poziom wymaga podania poziomu i wprowadzenia hasła dla tego poziomu (lub
pustego łańcucha znaków dla poziomu nie zabezpieczonego hasłem). Podanie niewłaściwego hasła

8-9

uniemożliwia przejście na odpowiedni poziom i powoduje zapisanie informacji o błędzie w tablicy
błędów sterownika.

Uwagi dotyczące korzystania z haseł dostępu
W celu uaktywnienia haseł po ich uprzedniej dezaktywacji należy wyłączyć zasilanie
sterownika i usunąć z niego baterię podtrzymującą pamięć na tak długo, aby kompletnie
rozładować kondensator i wyzerować pamięć sterownika.

Jeśli hasło dostępu uniemożliwia zmianę trybu pracy z Run na Stop, w trybie Run nie można
zaktualizować oprogramowania systemowego sterownika.

Jeśli przełącznik Run/Stop jest uaktywniony, (zapewnia to odpowiednia konfiguracja
sterownika), funkcjonuje on na każdym poziomie dostępu bez względu na hasła.

Zabezpieczenie producenta (OEM)
Zabezpieczenie to zapewnia wyższy poziom bezpieczeństwa, niż zabezpieczenie za pomocą haseł
dostępu i umożliwia producentowi urządzeń i instalacji, w których wykorzystywany jest sterownik,
ograniczenie dostępu do programu sterującego i parametrów konfiguracyjnych. Zabezpieczenie
producenta jest włączane i wyłączane z poziomu oprogramowania VersaPro, za pomocą
hasła - klucza (OEM key) zawierającego od 1 do 7 znaków. Gdy zabezpieczenie to jest włączone,
użytkownik nie ma możliwości modyfikacji programu sterującego i może jedynie odczytać
konfigurację sterownika. Zabezpieczenie to pozostaje aktywne po wyłączeniu i włączeniu zasilania
Zerowanie pamięci
Funkcja Clear All umożliwia wyzerowanie pamięci RAM i wgranie nowego programu sterującego
z programatora niezależnie od poziomu dostępu do sterownika, nawet przy włączonym
zabezpieczeniu producenta (OEM). Funkcja ta nie ingeruje w pamięć flash; jeśli więc hasła
dostępu i hasło-klucz OEM zostały zapisane w pamięci flash, ponowne wczytanie zawartości
pamięci flash do RAM przywraca wszelkie zabezpieczenia sterownika.

Diagnostyka i obsługa błędów
W niniejszym podręczniku za,, błąd" uważa się sytuację (np. awarię lub określona kombinację
warunków), której skutkiem jest niewłaściwe działanie sterownika. Gdy procesor alarmów (moduł
oprogramowania systemowego) sterownika Micro wykryje sytuację, którą uzna za błąd, rejestruje
ten błąd w tablicy błędów sterownika (PLC Fault Table) lub w tablicy błędów wejść/wyjść (I/O
Fault Table). Zawartość tych tablic może być monitorowana i usuwana z poziomu
komputera - programatora.

Rodzaje błędów
Sterowniki VersaMaxNano i Micro wykrywają następujące rodzajów błędów: awarie wewnętrzne,
awarie zewnętrzne i błędy operacyjne. Poniżej podano kilka przykładów różnych błędów:

o Awarie wewnętrzne:
- uszkodzone płytki z obwodami elektronicznymi;
- błędy sumy kontrolnej pamięci sterownika;

o Awarie zewnętrzneL:
- awarie wejść/wyjść:

o Błędy operacyjne:
- przerwy w komunikacji;
- błędy w konfiguracji;
- niewłaściwe hasło dostępu.

8-10

Niektóre błędy są tolerowane przez system, inne powodują zatrzymanie sterownika. Pewne błędy
tolerowane przez sterownik mogą stanowić zagrożenie dla procesu, który jest kontrolowany przez
sterownik. Dlatego też każdy rodzaj błędu posiada dwa atrybuty:

o Skojarzona tablica błędów:
- tablica błędów wejść/wyjść (I/O Fault Table);
- tablica błędów sterownika (PLC Fault Table);

o Stopień zagrożenia i sposób reakcji na błąd:
- błąd krytyczny (Fatal);
- błąd diagnostyczny (Diagnostic);
- informacja (Informational).
Błędy krytyczne są odnotowywane w odpowiedniej tablicy, powodują ustawienie odpowiednich
zmiennych systemowych oraz zatrzymanie sterownika (przejście w tryb Stop/Faulted). Błędy
diagnostyczne są odnotowywane w odpowiedniej tablicy błędów i powodują ustawienie
odpowiednich zmiennych systemowych, natomiast informacje są tylko są odnotowywane
w odpowiedniej tablicy błędów.
Tabela 9-1. Charakterystyka możliwych błędów
Grupa błędów

Stopień
zagrożenia

Tablica
błędów

Niezgodność konfiguracji systemu

krytyczny

PLC

sy_flt

any_flt

sy_press

cfg_mm

Niezgodność konfiguracji modułu
rozszerzającego

Awaria sprzętowa sterownika

hrd_cpu

Błąd oprogramowania jednostki centralnej
sterownika*

sft_cpu

Błąd zapisu sekwencyjnego w sterowniku**

stor_er

Błąd sumy kontrolnej programu

pb_sum

Brak programu sterującego po włączeniu
no_prog

Awaria pamięci RAM

Nieznany błąd/awaria sterownika

Nieznany błąd/awaria wejść/wyjść

I/O

io_flt

io_pres

Zapełniona tablica błędów sterownika

diagnostyczny

---

sy_full

Zapełniona tablica błędów wejść/wyjść

io_full

Błąd aplikacji

apl_flt

Niewłaściwe hasło dostępu

bad_pwd

Przekroczony czas trwania cyklu w trybie
z ustalonym czasem trwania cyklu

ov_swp

Brak modułu rozszerzającego

io_press

los_iom

Dodany moduł rozszerzający

add_iom

Mnemoniki ustawianych zmiennych
systemowych

bad_ram

8-11

Dwóm błędom scharakteryzowanym poniżej towarzyszą specyficzne skutki, których możliwości wystąpienia
użytkownik powinien być świadomy:
* Błąd oprogramowania jednostki centralnej sterownika (PLC CPU Software Failure)
Po wykryciu i zarejestrowaniu tego błędu sterownik natychmiast przechodzi w specjalny tryb Error Sweep,
w którym możliwa jest tylko komunikacja z programatorem. Jedynym sposobem wyjścia z tego trybu jest
wyłączenie i włączenie zasilania sterownika.
** Błąd zapisu sekwencyjnego w sterowniku (PLC Sequence Store Failure)
Sequence Store jest to zapis bloków programu i innych danych poprzedzony specjalnym poleceniem Startof-Sequence i zakończony poleceniem End-of-Sequence. Jeśli w trakcie tego zapisu nastąpi przerwa
w komunikacji lub zakłócenie operacji zapisu w inny sposób, zarejestrowany zostaje błąd zapisu
sekwencyjnego, uniemożliwiający przejście sterownika w tryb RUN do czasu usunięcia błędu.

Zmienne systemowe sygnalizujące błędy
Procesor alarmów obsługuje 128 dyskretnych zmiennych systemowych%S, %SA, %SB i%SC.
Zmienne te można wykorzystać w programie sterującym do sygnalizowania i identyfikowania
błędów pojawiających się w systemie i zaprogramowania odpowiedniej reakcji na błędy tego typu.
Poniżej zilustrowano sposób zastosowania zmiennej systemowej%SA0002 (ov_swp) do
sygnalizowania przekroczenia czasu trwania cyklu w trybie z ustalonym czasem trwania cyklu poprzez
np. zapalanie lampki sterowanej zmienną o mnemoniku light_01. Zmienna ov_swp, a więc i zmienna
light_01 są zerowane poprzez zamknięcie styku%I0035.
| ov_swp
light_01
|----] [--------------------------------------------------------------------------------------------------------------()----
--
|
|%I0035
ov_swp
|----] [--------------------------------------------------------------------------------------------------------------(R)----
|

8-12

Liczniki impulsów wysokiej częstotliwości (HSC)
i wyjścia impulsowe (PWM i PTO)

Wszystkie sterowniki VersaMax Nano i Micro z zasilaniem DC dysponują funkcją licznika
impulsów wysokiej częstotliwości oraz wyjściami impulsowymi typu PWM (Pulse-Width
Modulation), generującymi impulsy prostokątne o zmiennym współczynniku wypełnienia i typu
PTO (Pulse Train Output), generującymi serię impulsów (z wyjątkiem modelu IC200UDR002).
Liczba możliwych do skonfigurowania liczników i wyjść zależy od modelu sterownika.
Konfigurację sterownika przeprowadza się za pomocą komputera-programatora, z poziomu
oprogramowania VersaPro, natomiast działaniem liczników i wyjść impulsowych można sterować
za pomocą specjalnych bloków funkcyjnych w programie sterującym.
Konfigurowanie funkcji liczników i wyjść impulsowych przebiega w następujących etapach:

uaktywnienie i skonfigurowanie każdej funkcji w oprogramowaniu VersaPro, przy konfigurowaniu
sterownika z komputera-programatora (patrz rozdział 7 " Konfigurowanie sterownika "),
wykorzystanie programu sterującego do sterowania działaniem liczników i wyjść
impulsowych.

Liczniki impulsów wysokiej częstotliwości pracują w trybie on-line niezależnie od cyklu jednostki
centralnej, tzn. wykrywają i zliczają impulsy oraz ustawiają odpowiednio wyjścia bez potrzeby
komunikacji z jednostką centralną. Gdy sterownik przechodzi z trybu Run w tryb Stop, liczniki nie
przestają działać; nie przestają one działać również w sytuacji chwilowej utraty i przywrócenia
zasilania. Gdy działanie licznika zostanie przerwane przez całkowite wyłączenie zasilania, po
przywróceniu zasilania licznik zaczyna natychmiast kontynuować działanie. Gdy sterownik
zostanie przestawiony z powrotem w tryb Run, do akumulatora zostaje załadowana
skonfigurowana wartość początkowa.
Jeśli do sterownika zostanie załadowana nowa konfiguracja, funkcje HSC, PTO i PWM działają
wykorzystując dotychczasową konfigurację. Dopiero przestawienie sterownika w tryb Run
powoduje rozpoczęcie pracy licznika według nowej konfiguracji i załadowanie do akumulatora
nowej, skonfigurowanej wartości początkowej.

Zestawienie funkcji HSC, PWM i PTO dla sterowników
Nano i Micro
Funkcje HSC, PTO i PWM wykorzystują te same wejścia i wyjścia. Podczas konfigurowania
sterownika użytkownik najpierw określa liczbę kanałów dla sterownika. Po skonfigurowaniu tego
parametru definiuje się funkcje (HSC, PTO lub PWM), oddzielnie dla każdego kanału.

9-1

9

Liczniki typu A są licznikami jednokierunkowymi, mogącymi zliczać tylko w górę lub w dół.
Liczniki typu B są licznikami dwukierunkowymi, realizującymi funkcję AQuadB.

Każdy kanał można skonfigurować jako HSC, PTO lub PWM. W tym samym kanale nie
można łączyć wejść licznika HSC z wyjściami PWM i PTO.

Kanał wykorzystujący skojarzone z nim wejścia jako wejścia licznika HSC może
wykorzystywać skojarzone z nim wyjścia jako wyjścia HSC lub wyjścia standardowe.

Kanał wykorzystujący skojarzone z nim wyjścia jako wyjścia PWM lub PTO może
wykorzystywać skojarzone z nim wejścia jako wejścia standardowe.

W sterownikach Micro można skonfigurować dwa lub cztery kanały. W pierwszym przypadku
odpowiada to jednemu licznikowi typu A i jednemu typu B, w drugim przypadku - czterem
licznikom typu A. Sterowniki IC200UDR005, IC200UDR010 i IC200UAL006 dysponują tylko
jednym wyjściem DC, dlatego też można w nich skonfigurować tylko jedno wyjście typu PWM lub
PTO. Dopuszczalne konfiguracje kanałów w sterownikach VersaMax Micro
Liczba i rodzaj kanałów

skonfigurowanych
liczników typu A

Cztery typu A

Jeden typu A i jeden typu
B

liczników typu B

Liczba wyjść PWM
lub PTO

W sterownikach Nano można skonfigurować dwa lub trzy kanały. W pierwszym przypadku
odpowiada to jednemu licznikowi typu A i jednemu typu B, w drugim przypadku - trzem licznikom
typu A.
Tabela 9-2. Dopuszczalne konfiguracje kanałów w sterownikach VersaMax Nano
Trzy typu A

9-2

Rozdział 9 - Liczniki impulsów wysokiej częstotliwości i wyjścia impulsowe

Wejścia i wyjścia sterownika wykorzystywane przez funkcje HSC, PWM
i PTO
Skonfigurowanie w sterowniku funkcji HSC, PWM lub PTO powoduje, że określone wejścia i wyjścia
sterownika realizują specjalne zadania. W tym samym sterowniku można łączyć funkcje związane
z liczeniem lub wysyłaniem impulsów o wysokiej częstotliwości ze standardowymi funkcjami wejść
i wyjść, jeśli sterownik dysponuje wystarczającą liczbą punktów wejściowych i wyjściowych.
Tabela 9-3. Funkcje HSC, PWM i PTO - wykorzystanie wejść sterowników Nano i Micro
Punkt

I0001
I0002
I0003
I0004
I0005
I0006
I0007
I0008
I0009I0048
I0494
I0495
I0496
I0497
I0498
I0499
I0500
I0501
I0502
I0503
I0504
I0505
I0506
I0507
I0508
I0509
I0510
I0511
I0512

Konfiguracja wyłącznie
z licznikami typu A
VersaMax Nano
VersaMax Micro
Impulsy dla licznika 1
Sygnał Preload/Strobe licznika 1
Impulsy dla licznika 2
Sygnał Preload/Strobe licznika 2

Konfiguracja z 1 licznikiem typu B
i 1 licznikiem typu A
Licznik typu B - faza 1
Nie używane
Licznik typu B - faza 2
Sygnał Preload/Strobe
dla licznika typu B
Impulsy dla licznika 3
Impulsy dla licznika typu A
Sygnał Preload/Strobe licznika 3
Sygnał Preload/Strobe Sygnał Preload/Strobe
licznika typu A
Impulsy dla licznika 4
Impulsy dla licznika typu
A
licznika 4
Nie używane

Zakończone wysyłanie impulsów na wyjście Q1
Zakończone wysyłanie impulsów na wyjście Q2
Zakończone wysyłanie impulsów na wyjście Q3
Bit stanu Strobe HSC1 (zawartość akumulatora przesłana do rejestru przechwytującego HSC1)
Bit stanu Strobe HSC2 (zawartość akumulatora przesłana do rejestru przechwytującego HSC2)
Bit stanu Strobe HSC3 (zawartość akumulatora przesłana do rejestru przechwytującego HSC3)
Zarezerwowane
Bit stanu Strobe HSC4
Bit stanu Preload HSC1 (wartość początkowa załadowana do akumulatora HSC1)
Bit stanu Preload HSC2 (wartość początkowa załadowana do akumulatora HSC2)
Bit stanu Preload HSC3 (wartość początkowa załadowana do akumulatora HSC3)
Bit stanu Preload HSC4
Bit stanu wyjścia HSC1
Bit stanu wyjścia HSC2
Bit stanu wyjścia HSC3
Bit stanu wyjścia HSC4
Zawsze 1
Nie używane (zawsze 0)
Zakończone wysyłanie
impulsów na wyjście Q4
ciągu impulsów na Q4
Wystąpienie błędu w liczniku

9-3

Tabela 9-4. Funkcje HSC, PWM i PTO - wykorzystanie wyjść sterowników Nano i Micro
Q0001
Q0002
Q0003
Q0004
Q0005
Q0006
Q0007
Q0009
Q0012
Q0017
Q0048
Q0494
Q0495
Q0496
Q0497
Q0498
Q0499
Q0500

Wyjście HSC/PWM/PTO nr 1
Wyjście licznika typu B
Wyjście HSC/PWM/PTO nr 2
Wyjście standardowe nr 2 Wyjście standardowe nr 2
Wyjście HSC/PWM/PTO nr 3
Wyjście licznika typu A Wyjście standardowe nr 3
Wyjście standardowe Wyjście HSC/PWM/PTO Wyjście standardowe nr 4 Wyjście licznika typu A
nr 4
Wyjścia standardowe
Wyjścia standardowe

(modele 23-punktowe)

(modele 28-punktowe)

Zarezerwowane

Q0501
Q0502
Q0503
Q0504

Q0505
Q0506
Q0507
Q0508

Q0509
Q0510
Q0511

Q0512

9-4

Rozpoczęcie wysyłania impulsów na wyjście Q1
Rozpoczęcie wysyłania impulsów na wyjście Q2
Rozpoczęcie wysyłania impulsów na wyjście Q3
Wyzerowanie bitu stanu Strobe HSC1
Wyzerowanie bitu stanu Strobe HSC2
Wyzerowanie bitu stanu Strobe HSC3
Wyzerowanie bitu stanu
Strobe HSC4
Wyzerowanie bitu stanu Preload HSC1
Wyzerowanie bitu stanu Preload HSC2
Wyzerowanie bitu stanu Preload HSC3
Preload HSC4
Uaktywnienie wyjścia HSC/PTO/PWM 1
Uaktywnienie wyjścia HSC/PTO/PWM 2
Uaktywnienie wyjścia HSC/PTO/PWM 3
Uaktywnienie wyjścia
HSC/PTO/PWM 4
Nie używane i niedostępne dla użytkownika
Rozpoczęcie wysyłania
Usunięcie błędów (wszystkie liczniki)

Strobe HSC4

Preload HSC4

HSC/PTO/PWM 4

impulsów na wyjście Q4

Licznik jednokierunkowy typu A
Licznik typu A jest jednokierunkowym, 16-bitowym licznikiem, mogącym zliczać impulsy w górę
lub w dół. Zakres licznika determinowany jest przez granice - górną (High Limit) i dolną (Low
Limit) - stanowiące parametry konfiguracyjne. Wyjście licznika ustawiane jest na 0 lub na 1
w zależności od stanu akumulatora i skonfigurowanych parametrów: wartości włączającej (On
Preset) i wartości wyłączającej (Off Preset). Licznik wykorzystuje następujące rejestry: akumulator
(Accumulator), rejestr wartości zadanej (Preload), rejestr liczby impulsów przypadających na
podstawę czasu (Counts-per-Timebase) i rejestr przechwytujący zawartość akumulatora (Strobe).

Rysunek 9-1. Schemat blokowy licznika typu A

Licznik może reagować na dwa sposoby na osiągnięcie górnej lub dolnej granicy zakresu. W trybie
Continuous, przy zliczaniu w górę, po przekroczeniu górnej granicy zakresu zawartość
akumulatora zostaje przestawiona na wartość równą dolnej granicy i zliczanie impulsów jest
kontynuowane; przy zliczaniu w dół, po przekroczeniu dolnej granicy zakresu zawartość
akumulatora zostaje przestawiona na wartość równą górnej granicy i zliczanie impulsów jest
również kontynuowane. W trybie One-Shot, po przekroczeniu górnej lub dolnej granicy zakresu
licznik przestaje zliczać impulsy, a w akumulatorze pozostaje wartość graniczna.
W przykładzie poniżej licznik został skonfigurowany na zliczanie w górę impulsów generowanych
przez narastające zbocze sygnału na wejściu impulsowym. Sygnał Count jest wewnętrznym
sygnałem pomocniczym wskazującym, w którym momencie w stosunku do impulsu wejściowego
następuje zwiększenie zawartości akumulatora.

Rysunek 9-2. Przykład działania licznika typu A

9-5

Działanie licznika typu A
Wejście impulsowe licznika można skonfigurować na wykrywanie narastającego lub opadającego zbocza
sygnału. Wykryty impuls na wejściu powoduje zwiększenie lub zmniejszenie (w zależności od sposobu
skonfigurowania licznika) stanu akumulatora o 1. Jeśli stan akumulatora przekroczy wartość
włączającą (On Preset) lub wyłączającą (Off Preset), wyjście licznika zostanie włączone lub
wyłączone.

Przykład liczbowy
Lo Limit (dolna granica zakresu) = 0
Hi Limit (górna granica zakresu) = 200
On Preset (wartość włączająca) = 150
Off Preset (wartość wyłączająca) = 160

Zliczanie impulsów w górę:

Zliczanie impulsów w dół:
On

W zależności od konfiguracji wejścia Preload/Strobe, sygnał podany na to wejście może
powodować załadowanie do akumulatora wartości początkowej (Preload) lub zapisanie aktualnej
wartości akumulatora w rejestrze przechwytującym (Strobe). Wejście Preload/Strobe reaguje tylko
na narastające zbocze sygnału.
Wartość początkowa dla trybu Preload musi zawierać się w zakresie licznika i jest ona jednym
z parametrów konfiguracyjnych licznika. Można ją jednak zmienić używając funkcji COMMREQ
w programie sterującym. Funkcję COMMREQ można również wykorzystać do załadowania do
akumulatora poprawki (adjustment value) o wartości od -128 do +127. Po załadowaniu do
akumulatora wartości początkowej ustawiany jest bit stanu funkcji Preload. W trybie Preload
liczniki typu A wykorzystują następujące rejestry:

Rejestry z wartościami
początkowymi
Rejestry akumulatorów
Bity stanu funkcji Preload
Bity stanu funkcji Reset

9-6

Licznik nr 1
AI0007

Licznik nr 2
AI0009

Licznik nr 3
AI0011

Licznik nr 4
AI0013

AI0006
Q0501

AI0008
Q0502

AI0010
Q0503

AI0012
Rozdział 9 - Liczniki impulsów wysokiej częstotliwości i wyjścia impulsowe

W trybie Strobe, po zapisaniu aktualnej wartości akumulatora w rejestrze przechwytującym
ustawiany jest bit stanu funkcji Strobe, wskazujący, że operacja została wykonana. Wartość ta jest
przechowywana w rejestrze przechwytującym do czasu, aż na wejście Strobe znów podany
zostanie sygnał. Wtedy w rejestrze przechwytującym zostaje zapisana nowa wartość
z akumulatora. Bit stanu funkcji Strobe pozostaje ustawiony do czasu wyzerowania go
w programie sterującym. W trybie Strobe liczniki typu A wykorzystują następujące rejestry:

Rejestry przechwytujące
Bity stanu funkcji Strobe
Bity zerujące funkcji Strobe

AI0007
Q0497

AI0009
Q0498

AI0011
Q0499

AI0013
Dla każdego z liczników można skonfigurować podstawę czasu do obliczania liczby impulsów. Jest to
wartość z zakresu od 10 ms do 65535 ms, co 1 ms. Wartością domyślną jest 1000 ms. Liczba impulsów
obliczona podczas ostatniego pełnego okresu równego podstawie czasu jest zapisywana w rejestrze
Counts-per-Timebase. Zakres wartości w tym rejestrze wynosi od -32768 do 32767 impulsów, znak (+/-)
wskazuje kierunek zliczania impulsów. Wybierając podstawę czasu należy pamiętać, że liczba impulsów
zarejestrowanych w podstawie czasu przy maksymalnej częstotliwości nie powinna przekroczyć
pojemności rejestru Counts-per-Timebase, w przeciwnym impulsy przekraczające zakres nie zostaną
policzone. Liczniki typu A wykorzystują następujące rejestry do obliczania liczby impulsów w podstawie
czasu:
Rejestry

Licznik nr 2

Licznik nr 3

Licznik nr 4

AI0002

AI0003

AI0004

AI0005

Licznik dwukierunkowy typu B
Licznik typu B wykorzystuje dwa wejścia sygnałowe (A i B) i zlicza impulsy w trybie AQuadB.
Impuls jest generowany przy każdej zmianie stanu sygnału na jednym z dwóch wejść, przy czym
kierunek zliczania zależy od tego, jak są względem siebie przesunięte w fazie obydwa sygnały
wejściowe:

o Licznik zlicza impulsy w górę, gdy sygnał A wyprzedza w fazie sygnał B:

o Licznik zlicza impulsy w dół, gdy sygnał B wyprzedza w fazie sygnał A:

9-7

Rysunek 9-3. Schemat blokowy licznika typu B

Działanie licznika typu B
Licznik typu B można skonfigurować na zliczanie w górę lub w dół. Licznik pracuje zawsze
w trybie Continuous. Oznacza to, że przy zliczaniu w górę, po przekroczeniu górnej granicy
zakresu zawartość akumulatora zostaje przestawiona na wartość równą dolnej granicy i zliczanie
impulsów jest kontynuowane, natomiast przy zliczaniu w dół, po przekroczeniu dolnej granicy
zakresu zawartość akumulatora zostaje przestawiona na wartość równą górnej granicy i zliczanie
Dla licznika typu B rejestr liczby impulsów w podstawie czasu nie zlicza faktycznej liczby
impulsów, na które zareagował licznik, ale sumę impulsów przy uwzględnieniu ich znaku.
Przykładowo, jeśli w akumulatorze licznika zapisana była wartość 10, następnie licznik
zarejestrował 10 impulsów w górę (+) i 5 w dół (-), w akumulatorze wartość wzrosła do 15. Tak
więc w rejestrze Counts-per-Timebase zapisana została liczba 5.

Rysunek 9-4. Przykład działania licznika typu B

Przykład liczbowy:
9-8

Kody błędów
Program sterujący powinien monitorować bit stanu%I0512, sygnalizujący wystąpienie błędów
w działaniu liczników. Gdy bit ten zostanie ustawiony na 1, należy skontrolować zawartość rejestru
%AI0001, w którym zapisywane są kody błędów licznika. Po usunięciu przyczyny błędu należy
ustawić bit Clear Error (%Q0512) na 1. Poniżej scharakteryzowano kody błędów.
Tabela 9-5. Kody błędów licznika
Kod
0-2
4-5
7-10
Niedozwolone polecenie
Niedozwolony numer
licznika
Błąd zakresu licznika 1
Błąd zakresu licznika 2
Błąd zakresu licznika 3
Błąd zakresu licznika 4

Znaczenie
--Otrzymane polecenie nie ma zastosowania w przypadku licznika HSC.
--Numer licznika w słowie sterującym jest niedozwolony w odniesieniu
do bieżącej konfiguracji licznika.
--Odrzucona granica zakresu licznika wskutek niezgodności
z aktualnymi wartościami granicznymi (High limit i Low limit)

9-9

Wyjścia funkcji HSC, PWM i PTO
Trzy wyjścia w sterownikach VersaMax Nano, a cztery wyjścia w sterownikach VersaMax Micro
można skonfigurować indywidualnie jako wyjścia licznika: PWM lub PTO. Gdy w sterowniku
skonfigurowane są jeden licznik typu A i jeden typu B, wyjścia od 1 do 3 nie mogą pracować jako
wyjścia funkcji PWM i PTO, gdyż kanały odpowiadające tym wyjściom są zarezerwowane dla
funkcji AQuadB.
Zmiana konfiguracji wyjść licznika: PWM i PTO następuje po przejściu sterownika z trybu Stop
w tryb Run. Dodatkowo bit Counter Output Enable (parametr konfiguracyjny) musi być ustawiony.
Poniżej zilustrowano ograniczenia dotyczące zależności współczynnika wypełnienia impulsów
wysyłanych na wyjścia PWM i PTO od częstotliwości impulsów. Wykresy te obowiązują w całym
zakresie temperatur roboczych i w całym zakresie napięć impulsów wyjściowych.
W przypadku wykorzystywania wyjść w trybie PWM lub PTO do generowania impulsów o niskim
współczynniku wypełnienia (poniżej 5%) konieczne jest włączenie rezystora pomiędzy zacisk
wyjścia i zacisk masy (zalecany jest rezystor 1. 5 k###, 0. Ograniczenia dla sterowników UDR005/010 i UAL006

Rysunek 9-5. Ograniczenia dla sterowników UDD104/110 i NDD101

9-10

Wyjścia funkcji HSC
Dla każdego wyjścia licznika konfigurowane są dwa parametry - wartość włączająca (On Preset)
i wartość wyłączająca (Off Preset). Są to wartości graniczne powodujące włączenie lub wyłączenie
wyjścia licznika. Muszą one zawierać się pomiędzy Hi Limit i Lo Limit, poza tym w zależności od
częstotliwości zliczanych impulsów wymagany jest pewien minimalny odstęp tych dwóch wartości.
Parametry On Preset i Off Preset można zmienić podczas pracy sterownika za pomocą funkcji
COMMREQ. W tablicy poniżej wyjaśniono zasady włączania i wyłączania wyjścia licznika:
Warunek

Wyjście włączone

Wyjście wyłączone

On Preset & lt; Off Preset

On Preset <= akumulator &amp; lt; Off Preset

Off Preset <= akum. lub akum. &amp; lt; On
Preset

Off Preset &amp; lt; On Preset

On Preset <= akum. &amp; lt; Off
Off Preset <= akumulator &amp; lt; On Preset

Rysunek 9-6. Przykład funkcjonowania wyjścia licznika

Minimalny odstęp wartości parametrów On Preset i Off Preset jest następujący:
Częstotliwość zliczanych impulsów

Minimalny rozstęp wartości On Preset i Off Preset

10 kHz

10 impulsów

5 kHz

5 impulsów

2 kHz

2 impulsy

1 kHz

1 impuls

poniżej 1 kHz

nie jest wymagany

Wyjście PWM
Wyjście PWM generuje impulsy o zadanej częstotliwości i współczynniku wypełnienia. Może być
wykorzystywane do sterowania silnikami prądu stałego i silnikami krokowymi. Częstotliwość
impulsów dla wyjścia PWM wynosi od 15 Hz do 5 kHz, współczynnik wypełnienia impulsów - od
0 do 100%, przy czym maksymalne i minimalne wartości współczynnika wypełnienia zależą od
częstotliwości impulsów. Praca wyjścia w trybie PWM jest możliwa poprzez ustawienie
w programie sterującym bitu aktywującego wyjście (Enable Output). Zarówno częstotliwość
impulsów, jak i współczynnik wypełnienia można zmieniać podczas pracy wyjścia, poprzez
zapisanie odpowiednich wartości w podanych poniżej rejestrach.

9-11

Częstotliwość impulsów
(od 15 do 50000)
Współczynnik wypełnienia
impulsów (od 0 do 10000)
Bit włączający Enable Output

Wyjście nr 1
AQ0002

Wyjście nr 2
AQ0004

Wyjście nr 3
AQ0006

Wyjście nr 4
AQ0008

AQ0003

AQ0005

AQ0007

AQ0009

Q0505

Q0506

Q0507

Gdy sterownik przechodzi w tryb Stop, wyjście pracuje nadal. Po wyłączeniu i ponownym włączeniu
zasilania, wyjście podejmuje pracę natychmiast po przejściu sterownika w tryb Run. Przerwanie pracy
wyjścia następuje poprzez wyzerowanie w programie sterującym bitu aktywującego wyjście, poprzez
zapisanie niedozwolonych wartości w rejestrach częstotliwości impulsów lub współczynnika
wypełnienia, a także poprzez zapisanie w sterowniku nowej konfiguracji lub nowego programu
sterującego.
Konfiguracja wyjścia stanowi fragment konfiguracji sterownika. Aby uaktywnić nową konfigurację
wyjść PWM należy przestawić sterownik z trybu Stop w tryb Run.

Wyjście PTO
Wyjście PTO generuje ciąg impulsów o określonej częstotliwości. Może być ono wykorzystywane
np. do sterowania silnikami krokowymi. Częstotliwość impulsów dla wyjścia PTO wynosi od 15
Hz do 5 kHz, liczba impulsów wysyłanych na wyjście - od 0 do 65535. Praca wyjścia w trybie
PTO jest możliwa poprzez ustawienie w programie sterującym bitu uaktywniającego wyjście
(Enable Output). Ciąg impulsów jest generowany, gdy bit Start Pulse Train zostanie ustawiony
przez program sterujący. Rozpoczęcie generowania impulsów powoduje wyzerowanie bitu Pulse
Train Complete. Po wygenerowaniu określonej liczby impulsów bit Pulse Train Complete zostaje
ustawiony, a bit Start Pulse Train - wyzerowany. Częstotliwość impulsów można zmieniać podczas
pracy wyjścia, poprzez zapisanie odpowiednich wartości w podanych poniżej rejestrach.

Liczba impulsów wysyłanych
na wyjście (od 0 do 65535)
Bit włączający Enable Output
Bit Start Pulse Train
Bit Pulse Train Complete

AQ0123

AQ0125

AQ0127

AQ0121

AQ0124

AQ0126

AQ0128

AQ0122

I0494

I0495

I0496

Q0508
I0497

Gdy sterownik przechodzi w tryb Stop, wyjście pracuje nadal. Po wyłączeniu i ponownym
włączeniu zasilania wyjście podejmuje pracę natychmiast po przejściu sterownika w tryb Run, jeśli
bity Enable Output i Start Pulse Train pozostają ustawione. Przerwanie pracy wyjścia następuje
poprzez wyzerowanie w programie sterującym bitu uaktywniającego wyjście, poprzez zapisanie
niedozwolonych wartości w rejestrach częstotliwości impulsów lub liczby impulsów, a także
poprzez zapisanie w sterowniku nowej konfiguracji lub nowego programu sterującego.
wyjść PWM, należy przestawić sterownik z trybu Stop w tryb Run.

Korekcja współczynnika wypełnienia impulsów na wyjściach PWM
Wyjście PWM umożliwia wybór współczynnika wypełnienia impulsów, natomiast na wyjściu PTO
nominalny współczynnik wypełnienia wynosi 50%. Jednak wskutek działania optoizolatorów
sterownika PLC współczynnik wypełnienia impulsów ulega zmianom w zależności od temperatury
i obciążenia. W celu skompensowania tych zmian, sterownik przedłuża o 35ms w przypadku
modeli z wyjściami tranzystorowymi (a o 85ms w przypadku modeli z wyjściami
przekaźnikowymi) stan zerowy (T0) dla każdego impulsu. Tak więc każdy impuls składa się
z sygnału wysokiego trwającego T1 (ustawiona wartość wynikająca z założonego współczynnika
wypełnienia), opóźnienia optoizolatora (T2), oraz skorygowanego czasu trwania sygnału niskiego
9-12

(T0). Wartość korekcyjną można zmieniać w zakresie od 0 do 200 ms za pomocą funkcji
COMMREQ.

Rysunek 9-7. Korekcja współczynnika wypełnienia impulsów

Blok funkcyjny COMMREQ
Przez wykorzystanie bloku funkcyjnego COMMREQ w programie sterującym można wykonać
następujące operacje dotyczące funkcji HSC, PWM i PTO:
o załadowanie określonej wartości do akumulatora,
o załadowanie dolnej i górnej wartości granicznej (Low Limit i High Limit),
o załadowanie do akumulatora poprawki,
o określenie kierunku zliczania impulsów,
o załadowanie podstawy czasu (Timebase),
o załadowanie wartości włączającej (On Preset) lub wyłączającej (Off Preset),
o załadowanie wartości początkowej (Preload),
o załadowanie korekcji współczynnika wypełnienia impulsów.
Polecenie COMMREQ ma skutek tylko w przypadku funkcji HSC, PWM i PTO, które są w danej
chwili uaktywnione. Blok ten wymaga przygotowania w pamięci sterownika danych, które mają
zostać wysłane do licznika (za pomocą instrukcji BLKMV). Blok COMMREQ powinien być
następnie wykonany w programie jeden raz. Dokonane w ten sposób zmiany nie są trwałe - zostają
utracone po wyłączeniu zasilania sterownika lub po zapisaniu w sterowniku nowej konfiguracji.
Tabela 9-6. Dane dla bloku funkcyjnego COMMREQ
Adres
%R0001
%R0002

0004
nieistotna

%R0003
%R0004
%R0005
%R0006
%R0007
%R0008
%R0009
%R0010
%R0011
%R0012
%R0013

nieistotna
0008
000A
nnnn
nnnn

Zawsze 0004 w przypadku HSC
Nie używane (zawsze 0) - sterownik Micro ignoruje flagę Wait w
przypadku wszystkich funkcji COMMREQ
Typ danych (8 = rejestry)
Adres początkowy ciągu słów sterujących (%R0011)
Słowo sterujące (patrz tablica 9-7)
Słowo danych (LSW)
Słowo danych (MSW) - nie używane przez sterownik Micro

Trzy ostatnie słowa są traktowane jako niezależne bajty. Mogą być one wprowadzone w formacie
dziesiętnym lub heksadecymalnym. Format ostatnich trzech słów jest następujący:
słowo sterujące
słowo danych (LSW)
słowo danych (MSW)

MSB
0n
dd
dd

LSB
cc
gdzie: n = licznik od 1 do 4
cc = kod polecenia
dd = typ danych

9-13

Poniżej wyjaśniono znaczenie poszczególnych słów sterujących dla funkcji COMMREQ. Dla
liczników typu A, numer licznika n = od 1 do 4, dla licznika typu B - numer licznika n = 2.
Tabela 9-7. Słowa sterujące poleceń konfiguracyjnych
Słowo sterujące
(heksadecymalne)
0n01

Opis polecenia
Load Accumulator (załadowanie wstępne licznika n dowolną liczbą z dopuszczalnego
zakresu). Impuls otrzymany przez licznik w momencie ładowania wartości nie zostanie
policzony.
Przykład: aby załadować do licznika nr 1 wartość 1234H, należy podać:
- słowo sterujące 0101
- słowo danych LSW: 1234

0n02

Load Hi Limit (zadanie górnej wartości granicznej Hi Limit dla licznika n). W przypadku
przesuwania zakresu w górę należy najpierw podwyższyć górną granicę, a w przypadku
przesuwania zakresu w dół - najpierw obniżyć dolną.
Przykład: aby ustawić górną wartość graniczną licznika nr 1 na 10000 (2710H), należy podać:
- słowo sterujące 0102
- słowo danych LSW: 2710

0n03

Load Lo Limit (zadanie dolnej wartości granicznej Lo Limit dla licznika n). W przypadku
Przykład: aby ustawić dolną wartość graniczną licznika nr 1 na 10000 (2710H), należy podać:
- słowo sterujące 0103
0n04

Load Accumulator Increment (korekcja zawartości akumulatora licznika n w granicach
zakresu, o wartość od -128 do +127). Tylko bit LSB słowa danych jest używany z tym
poleceniem. Korekcja powodująca wyjście poza zakres licznika nie jest dozwolona. Impuls
otrzymany przez licznik w momencie dokonywania korekcji nie zostanie policzony.
Przykład: aby skorygować zawartość licznika nr 1 o -7, należy podać:
- słowo sterujące 0104
- słowo danych LSW: 00F9

0n05

Set Counter Direction (zadanie kierunku zliczania dla licznika n). Dotyczy tylko liczników typu
A. Tylko bit LSB słowa danych jest używany z tym poleceniem (0 0 = w górę, 0 1 = w dół).
Przykład: aby skonfigurować licznik nr 4 na zliczanie impulsów w dół, należy podać:
- słowo sterujące 0405
- słowo danych LSW: 0001

0n06

Load Timebase (zadanie podstawy czasu licznika n). Dozwolone wartości to od 10 do 1000
ms w odstępach 10 ms. Liczba impulsów w podstawie czasu musi mieścić się w granicach od
-32768 do +32767.
Przykład: aby zmienić podstawę czasu licznika nr 1 na 600 ms (258H), należy podać:
- słowo sterujące 0106
- słowo danych LSW: 0258

0n0B

Load ON Preset n (załadowanie liczby z dopuszczalnego zakresu jako wartości On Preset
włączającej wyjście dla licznika n).
Przykład: aby wyjście licznika nr 1 było włączane po osiągnięciu przez licznik 5000 (1388H),
należy podać:
- słowo sterujące 010B
- słowo danych LSW: 1388

9-14

0n15

Load OFF Preset n (załadowanie liczby z dopuszczalnego zakresu jako wartości Off Preset
wyłączającej wyjście dla licznika n).
Przykład: aby wyjście licznika nr 1 było wyłączane po osiągnięciu przez licznik 12000
(2EE0H), należy podać:
- słowo sterujące 0115
- słowo danych LSW: 2EE0

0n1F

Load Preload (zadanie wartości początkowej Preload dla licznika n).
Przykład: aby licznik nr 1 ładował wartość początkową 2500 (09C4H) i rozpoczynał zliczanie
od niej, należy podać:
- słowo sterujące 011F
- słowo danych LSW: 09C4

0n3E

Load Correction (załadowanie korekcji współczynnika wypełnienia dla wyjść PWM i PTO).
Zakres wartości korekcyjnej: od 0 do 200 ms. Korekcja ma na celu skompensowanie
opóźnienia w wyłączaniu napięcia w optoizolowanych obwodach wyjść sterownika.
Przykład: aby wprowadzić korekcję 100 ms (64H) dla wyjścia PTO nr 1, należy podać:
- słowo sterujące 013E
- słowo danych LSW: 0064

Przykład
W poniższym przykładzie blok funkcyjny COMMREQ został wykorzystany do załadowania do
akumulatora licznika nr 3 wartości 1234. Szczebel 4 programu powoduje jednokrotne wykonanie
bloku funkcyjnego poprzez uaktywnienie zmiennej%T0002. Szczebel 5 służy do przygotowania
danych (instrukcje BLKMV) dla bloku COMMREQ w rejestrach od%R0101 do%R0114.
Blok COMMREQ posiada 4 wejścia:

uaktywniające blok wejście sygnałowe,

IN - wejście określające adres bloku danych (%R0101),

SYSID - wskazujące fizyczną lokalizację licznika HSC w sterowniku (gniazdo 0004),

TASK - parametr, który jest ignorowany w przypadku komunikacji z licznikiem i powinien
być ustawiony na zero.

Wyjście FT jest uaktywniane w przypadku wykrycia błędu podczas wykonywania funkcji
9-15

| &amp; lt; &amp; lt; RUNG 4 &amp; gt; &amp; gt;
|%T0001
%T0002
+----] [------------------------------------------------------------------------------------------------------()----|
| &amp; lt; &amp; lt; RUNG 5 &amp; gt; &amp; gt;
|%T0002 +----------+
+----------+
+----] [------+BLKMV+--------------------------------+BLKMV+
| WORD|
| CONS-- --+IN1 Q+--%R0101 CONS-- --+IN1 Q+--%R0108
0004 |
0000 |
| CONS-- --+IN2 |
CONS-- --+IN2 |
0008 |
| CONST --+IN3 |
CONST --+IN3 |
006E |
| CONST --+IN4 |
CONST --+IN4 |
0301 |
| CONST --+IN5 |
CONST --+IN5 |
1234 |
| CONST --+IN6 |
CONST --+IN6 |
0001 |
| CONST --+IN7 |
CONST --+IN7 |
0000 +----------+
| &amp; lt; &amp; lt; RUNG 6 &amp; gt; &amp; gt;
|%T0002
+----------+
%M0001
+----] [------------------------+COMM_|+------------------------------------------------------------------()----|
| REQ ||
||
|
%R0101 -+IN FT++
CONST -+SYSID|
CONST -+TASK +
00000 +----------+
Rysunek 9-8. Przykład użycia bloku funkcyjnego COMMREQ do konfigurowania licznika HSC

9-16

Przykłady zastosowań licznika HSC
Wskaźnik prędkości obrotowej
Licznik impulsów wysokiej częstotliwości w połączeniu z przetwornikiem położenia
(np. enkoderem) w pętli sprzężenia zwrotnego może służyć do obliczania pozycji i prędkości.
Prędkość obrotową (RPM) można odczytać bezpośrednio z rejestru liczby impulsów w podstawie
czasu (Counts-per-Timebase) lub obliczyć w prosty sposób:
RPM (obr. /min. ) = CTB/(PPR×T),
×
gdzie:
CTB = liczba impulsów w podstawie czasu (odczyt z rejestru Counts-per-Timebase),
PPR = liczba impulsów przypadająca na 1 obrót, wygenerowana przez przetwornik położenia,
T = podstawa czasu wyrażona w minutach.
Jeśli liczba impulsów przypadająca na 1 obrót jest całkowitą potęgą liczby 10, skonfigurowanie
podstawy czasu równej 6, 60, 600, 6000 lub 60000 umożliwia bezpośredni odczyt prędkości
obrotowej w obr. z rejestru liczby impulsów w podstawie czasu (Counts-per-Timebase).

Przykład liczbowy 1
Jeśli przetwornik położenia generuje 1000 impulsów/obrót, odczyt z rejestru CTB = 5210,
a podstawa czasu jest skonfigurowana na 600 ms (0. 01 min. ), to obliczona prędkość obrotowa
RPM=
RPM = 521 obr.
z dokładnością do 0. 1 obr.

Przykład liczbowy 2
Przy takich samych warunkach jak w przykładzie liczbowym 1 załóżmy, że podstawa czasu jest
skonfigurowana na 60 ms (0. 001 min. ). Odczyt z rejestru CTB będzie teraz wynosił 521,
a obliczona prędkość obrotowa
z dokładnością do 1 obr. /min..

9-17

Elementy programu sterującego

Niniejszy rozdział zawiera podstawowe informacje o programach sterujących:
!

Struktura programu sterującego

!

Podprogramy

!

Języki programowania

!

Zestaw instrukcji

10-1

Podręcznik użytkownika sterowników VersaMax Nano i Micro

Struktura programu sterującego
Program sterujący zawiera całość logiki, wymaganej do sterowania pracą sterowników Nano i
Programy aplikacyjne tworzone są za pomocą odpowiedniego oprogramowania, a następnie
przesyłane do sterownika. Programy są przechowywane w podtrzymywanej bateryjnie pamięci.
Maksymalna wielkość programu w sterownikach Nano wynosi 8KB. Maksymalna wielkość
programu w sterownikach Micro wynosi 18KB.
W czasie realizacji cyklu (proszę porównać z informacjami zamieszczonymi w rozdziale 7),
sterownik Micro odczytuje dane z modułów wejść oraz zapisuje je w pamięci, przeznaczonej do
przechowywania stanu wejść. Następnie wykonywanej jest jeden raz cały program sterujący,
wykorzystując odczytane wcześniej aktualne dane o stanie wejść. Wykonanie programu
sterującego powoduje utworzenie nowego zestawu danych wyjściowych, które zapisywane są w
pamięci, w przeznaczonym do tego celu miejscu.
Po zakończeniu wykonywania programu sterującego, jednostka centralna zapisuje dane do
modułów wyjściowych systemu.

10-2

Rozdział 10 - Elementy programu sterującego

Podprogramy
Program składa się z jednego programu głównego, wykonywanego całkowicie w czasie każdego
cyklu sterownika.

Program może być również podzielony na podprogramy. Maksymalna wielkość programu
głównego lub bloku podprogramu wynosi 16 KB. Program sterujący dla sterownika Nano może
zawierać do 8 deklaracji podprogramów. Program sterujący dla sterownika Micro może zawierać
do 64 deklaracji podprogramów.
Korzystanie z podprogramów upraszcza programowanie oraz redukuje wielkość programu
sterującego. Każdy z podprogramów wywoływany jest w momencie występowania takiej
potrzeby. Program główny decyduje o kolejności wywoływania podprogramów.

Podprogram może być wywoływany dowolną liczbę razy podczas wykonywania programu
sterującego. Umieszczenie powtarzającej się części programu w podprogramie redukuje całkowitą
wielkość programu sterującego.

Dodatkowo, podprogramy mogą być też wywoływane z poziomu innych podprogramów.
Dozwolone jest również wywoływanie rekurencyjne.

Poziom programu głównego to poziom 1. Dopuszczalne jest 8 poziomów zagnieżdżeń.

10-3

Deklarowanie podprogramu
Podprogram musi być zadeklarowany z poziomu edytora deklaracji bloków oprogramowania
narzędziowego.

Wywoływanie podprogramu
Podprogramy są wywoływane za pomocą instrukcji CALL. W programie dla sterownika Micro
można zadeklarować do 64 podprogramów. W programie dla sterownika Nano można
zadeklarować do 8 podprogramów. Bez względu na model jednostki centralnej, każdy blok
w programie może zawierać 64 instrukcje CALL.

Blokowanie / odblokowywanie podprogramów
Za pomocą funkcji udostępnianych przez pakiet do programowania, można blokować
i odblokowywać podprogramy. Dostępne są cztery poziomy blokowania.
Typ blokady
Blokada przeglądania
Blokada edycji

Po zablokowaniu, nie można wyświetlić zawartości podprogramu.
Po zablokowaniu podprogram może być wyświetlony, ale nie można go
edytować.

Stała blokada podglądu

Po założeniu tej blokady, podprogram nie może być odblokowany.

Stała blokada edycji

Nie można odblokować podprogramów z założoną stałą blokadą, nawet jeżeli są kopiowane,
archiwizowane lub wczytywane. Można usuwać blokady podglądu lub edycji.

10-4

Języki programowania
Program sterujący dla sterowników VersaMax Nano i Micro może być napisany w języku
drabinkowym lub listy instrukcji.

Język drabinkowy
Tradycyjny język programowania sterowników, zapisany w formie szczebli, wykonywany jest od
góry do dołu. Program sterujący wykonywany jest szczebel po szczeblu kolejno od lewej do
prawej strony każdego szczebla.

Przepływ sygnału logicznego w każdym ze szczebli jest kontrolowany przez prosty zestaw funkcji
programistycznych, pracujących podobnie jak przekaźniki i styki mechaniczne. To czy styk
prześle sygnał logiczny wzdłuż szczebla zależy od wartości zmiennej związanej z tym stykiem
w programie. Przykładowo, styk może przesyłać sygnał logiczny, jeżeli powiązana z nim zmienna
ma wartość 1. Ten sam styk nie będzie przesyłał sygnału logicznego, jeżeli powiązana z nim
zmienna ma wartość 0.
Jeżeli styk lub inna funkcja występująca w szczeblu nie przesyła dalej sygnału logicznego,
pozostałe elementy szczebla nie są wykonywane. Sygnał przepływa wzdłuż lewej szyny w dół
i dochodzi do następnego szczebla.
Szczebel może zawierać wiele złożonych funkcji do przemieszczania danych w pamięci,
przeprowadzania obliczeń matematycznych, czy sterowania komunikacją pomiędzy sterownikiem
Micro a pozostałymi urządzeniami w systemie.
Niektóre funkcje programistyczne, jak na przykład instrukcje Jump czy MCR pozwalają na
sterowanie samym wykonywaniem programu.
Cały zestaw przekaźników i funkcji drabiny logicznej jest nazywany &quot; Zestawem instrukcji &quot;
sterownika Micro.

10-5

Zestaw instrukcji
Sterowniki VersaMax Nano i Micro posiadają bardzo rozbudowany zestaw instrukcji do tworzenia
programów sterujących.
Celem przybliżenia możliwości programowania sterowników VersaMax Micro, na następnych
stronach zawarto zestawienie wszystkich przekaźników, funkcji i pozostałych elementów zestawu
instrukcji. Szczegółowe informacje zawarte są w rozdziale 6 oraz w pomocy komputerowej
pakietu do programowania.

Styki
-| |-

Styk normalnie
otwarty

Przekazuje sygnał, jeżeli związana z nim zmienna ma wartość 1.

-|/|-

zamknięty

Przekazuje sygnał, jeżeli związana z nim zmienna ma wartość 0.

&amp; lt; + &amp; gt; ---

Styk kontynuacji

Przekazuje sygnał do prawej strony, jeżeli zmienna związana z
poprzednim stykiem kontynuacji ma wartość 1.

Przekaźniki
-()-

-(/)-

Przekaźnik
o stykach
zamkniętych

Jeżeli sygnał nie dopływa do tego przekaźnika, związana z nim zmienna
ustawiana jest na 1. W przeciwnym wypadku ustawiana jest wartość 0.

-(? )-
?

uaktywniany
zboczem
narastającym
sygnału

Jeżeli w czasie ostatniego wykonywania tego przekaźnika nie dopływał do
niego sygnał, a dopływa obecnie, wartość zmiennej związanej z tym
przekaźnikiem jest ustawiana na 1. W przeciwnym wypadku wartość
zmiennej jest ustawiana na 0.

opadającym
Jeżeli w czasie ostatniego wykonywania tego przekaźnika dopływał do
niego sygnał, a nie dopływa obecnie, wartość zmiennej związanej z tym
-(S)-

Przekaźnik SET

Doprowadzenie sygnału do tego przekaźnika powoduje ustawienie wartości
związanej z nim zmiennej na 1. Wartość tej zmiennej jest równa 1 do
momentu wyzerowania za pomocą przekaźnika Reset.

--(R)--

RESET

związanej z nim zmiennej na 0. Wartość tej zmiennej jest równa 0 do
momentu ustawienia za pomocą przekaźnika Set.

--(SM)--

Przekaźnik SET,
z pamięcią

momentu wyzerowania za pomocą przekaźnika Reset z pamięcią. Stan tej
zmiennej jest pamiętany w przypadku awarii zasilania, oraz po przejściu
z trybu Stop do trybu Run.

--(RM)--

RESET,
momentu ustawienia za pomocą przekaźnika Set z pamięcią. Stan tej
--(/M)--

10-6

otwartych

zmiennej związanej z nim na 1. W przeciwnym wypadku ustawiana jest
wartość 0.

Przekaźnik

zamkniętych, z
pamięcią

związanej z nim zmiennej na 0. Stan tej zmiennej jest pamiętany
w przypadku awarii zasilania oraz po przejściu z trybu Stop do trybu Run.
W przeciwnym wypadku ustawiana jest wartość 0.

--(M)--

Przekaźnik o
stykach
otwartych,
związanej z nim zmiennej na 1. Stan tej zmiennej jest pamiętany w
przypadku awarii zasilania oraz po przejściu z trybu Stop do trybu Run. W
przeciwnym wypadku ustawiana jest wartość 0.

--- &amp; lt; + &amp; gt;

kontynuacji

Po doprowadzeniu sygnału do przekaźnika kontynuacji, wartość zmiennej
związanej z następnym stykiem kontynuacji jest ustawiana na 1. Jeżeli do
przekaźnika kontynuacji nie dopływa sygnał, wartość zmiennej związanej z
następnym stykiem kontynuacji jest ustawiana na 0.

Liczniki i przekaźniki czasowe
Zlicza czas, przez który doprowadzany jest sygnał, po doprowadzeniu
sygnału do wejścia Reset, wartość przekaźnika jest zerowana.

ondtr

czasowy
ofdt

z zanegowanym
wejściem, bez
pamięci

Zlicza czas przez który nie jest doprowadzany sygnał. Po odprowadzeniu
sygnału bieżąca wartość jest zerowana.

tmr

czasowy z
Zlicza czas, przez który doprowadzany jest sygnał. Po zaniku sygnału na
wejściu zliczana wartość jest zerowana.

upctr

Licznik zliczający Każde doprowadzenie sygnału do tego licznika powoduje zwiększenie
w górę
jego wartości o 1.

dnctr

Licznik zliczający Każde doprowadzenie sygnału do tego licznika powoduje zmniejszenie o 1
w dół
zadanej wartości.

Funkcje matematyczne
add
sub
mul
div

Dodawanie dwóch liczb.
Odejmowanie dwóch liczb
Mnożenie dwóch liczb.
Część całkowita z dzielenia dwóch liczb.

mod

Dodawanie
Odejmowanie
Mnożenie
Dzielenie bez
reszty
Dzielenie modulo

expt

Potęga liczby X

Wynik podniesienia liczby X do potęgi IN.

Reszta z dzielenia dwóch liczb.

sin

Sinus
Sinus trygonometryczny z liczby rzeczywistej
trygonometryczny

cos

Cosinus
Cosinus trygonometryczny z liczby rzeczywistej
tan

Tangens trygonometryczny z liczby rzeczywistej
Tangens
asin

Arcus sinus

acos

Arcus cosinus

Arcus cosinus z liczby rzeczywistej

atan

Arcus tangens

Arcus tangens z liczby rzeczywistej

deg

Konwersja na
stopnie

Konwersja wartości rzeczywistej w radianach na stopnie.

rad

radiany

Konwersja wartości rzeczywistej w stopniach na radiany.

Arcus sinus z liczby rzeczywistej

10-7

scale
sqroot

Skalowanie
Pierwiastek
kwadratowy

Skalowanie wartości stałej lub danej typu word.
Pierwiastek kwadratowy z liczby całkowitej lub rzeczywistej.

Log

Logarytm
dziesiętny

Logarytm o podstawie 10 z liczby rzeczywistej

ln

naturalny

Logarytm naturalny z liczby rzeczywistej

exp

Potęga liczby e

Potęga z liczby e podniesionej do wartości zadanej parametrem
wejściowym

Funkcje relacji matematycznych
eq

Równy

Sprawdzanie czy dwie liczby są równe.

ne

Nie równy

Sprawdzanie czy dwie liczby są różne.

gt

Większy

ge

Większy lub
równy

lt

Mniejszy

le

Mniejszy lub
range

Przedział

Sprawdzenie czy jedna liczba jest większa od drugiej.
Sprawdzenie czy jedna z liczba jest większa lub równa drugiej.
Sprawdzenie czy jedna liczba jest mniejsza od drugiej.
Sprawdzenie czy jedna z liczba jest mniejsza lub równa drugiej.
Sprawdzanie czy wartość mieści się w przedziale wyznaczonym przez
dwie liczby.

Funkcje do operacji na bitach
i

Logiczne AND

Operacja Logiczne AND na dwóch ciągach bitów.

lub

Logiczne OR

Operacja Logiczne OR na dwóch ciągach bitów.

xor

Alternatywa
Operacja alternatywy wykluczającej OR na dwóch ciągach bitów.
wyłączająca OR

not

Negacja logiczna Inwersja logiczna na ciągu bitów.

shl

Przesunięcie w
lewo

Przesunięcie ciągu bitów w lewo.

shr

prawo

Przesunięcie ciągu bitów w prawo.

rol

lewo w obiegu
zamkniętym

Przesunięcie ciągu bitów w lewo w obiegu zamkniętym.

ror

Przesunięcie w Przesunięcie ciągu bitów w prawo w obiegu zamkniętym.
prawo w obiegu
bittst

Sprawdzanie
Sprawdzanie wartości (0 lub 1) jednego z bitów słowa bitowego.
pojedynczego bitu

bitset

Ustawianie
Ustawianie wartości pojedynczego bitu w ciągu bitów na 1.
pojedynczego bitu
na 1

bitclr
10-8

Ustawianie wartości pojedynczego bitu w ciągu bitów na 0.
na 0
bitpos

mskcmp

Lokalizowanie Przeszukiwanie słowa bitowego (lub ciągu słów) do napotkania pierwszego
pierwszego bitu o
bitu o wartości równej 1.
wartości 1
Porównanie z
maskowaniem

Porównywanie dwóch słów bitowych z maskowaniem.

Funkcje do przemieszczania danych
move
blkmov

Przemieszczenie

Przemieszczanie jednego lub więcej bitów danych

Przemieszczanie bloku Przemieszczanie bloku złożonego z maksymalnie 7 stałych

blkclr

Zerowanie fragmentu
Zerowanie jednego lub więcej bajtów/ słów pamięci

shfreg

Rejestr
przemieszczający

Przemieszczanie jednego lub więcej słów/ bitów danych w bloku
pamięci.

bitseq

Przemieszczanie
jedynki

Przemieszczanie 1 w grupie bitów w pamięci sterownika.

comreq

Żądanie komunikacji

Nawiązanie komunikacji; przesyłanie danych

Operacje tablicowe
arrmov

Kopiowanie danych

Kopiowanie określonej liczby danych z tablicy źródłowej do tablicy
docelowej

srh eq

Szukanie wartości
zadanej

Przeszukiwanie tablicy danych w celu znalezienia wartości równej
wartości zadanej.

srh ne

różnej

Przeszukiwanie tablicy danych w celu znalezienia wartości różnej od
srh gt

większej

Przeszukiwanie tablicy danych w celu znalezienia wartości większej
od wartości zadanej.

srh ge

większej lub równej

lub równej wartości zadanej.

srh lt

mniejszej

Przeszukiwanie tablicy danych w celu znalezienia wartości mniejszej
srh le

mniejszej lub równej

Funkcje do konwersji danych
bcd-4

Konwersja na BCD-4
(z INT)

word

Konwersja na Word (z Konwersja wartości rzeczywistej na wartość typu Word.
REAL)

int

Konwersja na INT (z
BCD-4 lub REAL)

Konwersja liczby na 4 cyfrowy format BCD.

Konwersja na liczbę typu całkowitego ze znakiem.

tdint

Konwersja na DINT (z Konwersja na liczbę typu DINT.
real

Konwersja na Real (z Konwersja na liczbę rzeczywistą.

10-9

INT, DINT, BCD-4 lub
WORD)
Przybliżenie do liczby Przybliżenie do 16 bitowej liczby ze znakiem. Zakres od -32, 768 do
typu INT (z REAL)
+32, 767.

dint

Przybliżenie do DINT
(z REAL)

Przybliżenie do 32 bitowej liczby ze znakiem. Zakres od
-2, 147, 483, 648 to +2, 147, 483, 647.

Funkcje sterujące
call
do io

pidind
pidisa
end

commnt
svcreq

Wywołanie
podprogramu
Natychmiastowe
uaktualnienie stanu
Algorytm PID o
niezależnych
wyrazach
Algorytm PID-ISA
Koniec programu

mcr

endmcr
jump

EMCR
Skok

label

10-10

Komentarz
Wywoływanie
specjalnych funkcji
sterownika:
MCR

Etykieta

Wywołanie podprogramu w danym miejscu programu sterującego.
Natychmiastowe uaktualnienie zadanego zakresu wejść i wyjść
(uaktualniane są wszystkie wejścia/wyjścia modułu, jeżeli dowolny z
adresów tego modułu mieści się w zakresie określonym przy
wywoływaniu funkcji - częściowe uaktualnianie modułu wejść/wyjść nie
jest zalecane).
Moduł regulatora PID o niezależnych wyrazach.
Moduł regulatora PID ISA.
Program wykonywany jest od pierwszego szczebla drabiny logicznej aż
do ostatniego szczebla, jeżeli jednak napotkana zostanie instrukcja
END, wykonanie programu zostaje bezwarunkowo przerwane.
Instrukcja ta jest użyteczna w czasie śledzenia wykonywania programu.
Dodatkowe objaśnienia dla szczebla.
Grupa funkcji specjalnych sterownika
Po wywołaniu funkcji MCR wszystkie szczeble pomiędzy tą funkcją, a
odpowiadającą jej funkcją ENDMCR są wykonywane bez dopływu
sygnału sterującego. powoduje, że wszystkie szczeble pomiędzy tą
funkcją, a odpowiadającą jej funkcją ENDMCR są wykonywane bez
dopływu sygnału sterującego. Funkcje MCR mogą być zagnieżdżane do
8 poziomów.
Funkcja kończąca działanie funkcji MCR.
Przejście do innego miejsca w programie sterującym, oznaczonego
instrukcją LABEL.
Miejsce docelowe dla instrukcji skoku (JUMP). Z tej samej etykiety może
korzystać szereg instrukcji Jump.

11

danych przez sterownik

W niniejszym rozdziale opisano typy zmiennych programu sterującego, typy danych oraz sposób
ich przechowywania i przetwarzania przez sterowniki VersaMax Nano i Micro.
Tematy omówione w rozdziale:
Lokalizacja danych różnych typów w pamięci sterownika

Zarezerwowane adresy w pamięci sterownika

Zmienne z pamięcią stanu i zmienne bez pamięci stanu

Używanie nazw zmiennych i opisów zmiennych

Zmienne systemowe

Styki wyłączane i włączane cyklicznie (generator zerojedynkowego sygnału prostokątnego)

Przetwarzanie danych przez program sterujący

11-1

Lokalizacja danych w pamięci sterownika
Dane w programie sterującym są lokalizowane poprzez podanie adresu w pamięci sterownika, w
którym przechowywana jest pożądana wartość. Adres musi zawierać literowe oznaczenie obszaru
pamięci określające jednocześnie typ danych i dokładny adres w tym obszarze (podany liczbowo).
Przykładowo:
%I00001 oznacza adres 1 w obszarze dyskretnych danych wejściowych,
%R00256 oznacza adres 256 w obszarze pamięci zorientowanym rejestrowo.
W tablicy poniżej wyszczególniono rodzaje i rozmiary obszarów pamięci sterowników VersaMax
Nano i Micro. Porównanie ze sterownikami serii 90 Micro zamieszczono w dodatku B.
Tabela 11-1. Dostępna pamięć dla danych i zmiennych programu sterującego

Dyskretne zmienne systemowe
%S0001 -%S0032
%SA0001 -%SA0032
%SB0001 -%SB0032
%SC0001 -%SC0032)
Zmienne rejestrowe konfigurowaln
Rejestry systemowe (tylko do podglądu,
nie do użycia w programie sterującym)

11-2

14-punktowe 23- i 28-punktowe
modele Nano
256 bitów (%T0001 -%T0256)

32 bity
Rozdział 11- Zmienne programu sterującego i przetwarzanie danych przez sterownik

Pamięć zorientowana rejestrowo
Każdy adres w pamięci zorientowanej rejestrowo oznacza pojedyncze słowo bitowe (o długości 16
bitów = 2 bajty). W pamięci tego typu sterownik przechowuje następujące dane:
%AI

- wartości wejściowych zmiennych analogowych

%AQ

- wartości wyjściowych zmiennych analogowych

%R
- rejestry służące do przechowywania danych liczbowych wykorzystywanych w
programie w formacie słów bitowych
Przykład zamieszczony poniżej pokazuje dziesięć kolejnych adresów w pamięci zorientowanej
rejestrowo i ich przykładową zawartość. Każdy adres wskazuje 16 nierozłącznych bitów
zawierających pojedynczą wartość. Sterownik nie ma dostępu do pojedynczych bitów pamięci
zorientowanej rejestrowo, dostępne są jednak bloki funkcyjne umożliwiające ustawianie oraz
zerowanie określonych bitów w rejestrach.

Adres
Zawartość
12467
12004
231
359
882
771
735
0000

Pamięć zorientowana bitowo
Każdy adres w pamięci zorientowanej bitowo oznacza pojedynczy bit, który może przyjmować
wartość 0 lub 1. (o długości 16 bitów = 2 bajty). Przykład zamieszczony poniżej pokazuje 160
kolejnych adresów w pamięci zorientowanej bitowo i ich przykładową zawartość. Adres
początkowy znajduje się w lewym górnym rogu, adres końcowy - w prawym dolnym rogu.

Adresy:
1

...
0

...
0
...

1
...

158 159 160

11-3

W pamięci zorientowanej bitowo sterownik przechowuje następujące dane:

%I

Wartości wejściowych zmiennych dyskretnych, z możliwością podglądu w tablicy stanu
wejść.

%Q

Wartości wyjściowych zmiennych dyskretnych, z możliwością podglądu w tablicy stanu
wyjść. Zmienna typu%Q może mieć pamięć stanu lub nie, w zależności od
zastosowania w programie sterującym.

%M

Wartości wewnętrznych dyskretnych zmiennych programu sterującego. Zmienna typu
%M może mieć pamięć stanu lub nie, w zależności od zastosowania w programie
sterującym.

%T

Wartości wewnętrznych dyskretnych zmiennych programu sterującego, bez pamięci
stanu. Wartości zmiennych typu%T nie są przechowywane w przypadku utraty zasilania
lub przejścia w tryb STOP i następnie w tryb RUN. Zmienne typu%T nie mogą być
używane z przekaźnikami z pamięcią stanu w programie sterującym.

%S

Wartości zmiennych systemowych, o następujących ograniczeniach co do zastosowania
w programie sterującym:
zmienne%SA, %SB, %SC można używać z przekaźnikami z pamięcią stanu,

zmienne%S można używać jako zmienne wejściowe funkcji i bloków funkcyjnych,

o
%G

zmienne%S, %SA, %SB, %SC można używać ze wszystkimi rodzajami styków
w programie,

zmienne%SA, %SB, %SC można używać jako zmienne wejściowe i wyjściowe
funkcji i bloków funkcyjnych.

Wartości zmiennych globalnych. Są one przechowywane w przypadku utraty zasilania.
Zmienne typu%G mogą być używane ze stykami i z przekaźnikami z pamięcią stanu
w programie sterującym, nie można ich używać natomiast z przekaźnikami bez pamięci
stanu.

Bity zmiany stanu i wymuszenia stanu
Zmienne typu%I, %Q, %M i%G posiadają skojarzone z nimi bity zmiany stanu i bity wymuszenia
stanu. Zmienne typu%T, %S, %SA, %SB i%SC posiadają skojarzone z nimi bity zmiany stanu
i bity wymuszenia stanu. Bity zmiany stanu są wykorzystywane przez styki reagujące na
narastające lub opadające zbocze sygnału. Gdy zmienna posiada ustawiony na 1 skojarzony z nią
bit wymuszenia stanu, wartość zmiennej zostaje zablokowana i może być zmieniona tylko
z programatora.

11-4

Zarezerwowane adresy w pamięci sterownika
Sterowniki VersaMax Nano i Micro rezerwują automatycznie określone obszary pamięci dla
specyficznych funkcji. Odradza się stanowczo używanie tych adresów do innych celów
w programie sterującym.

Zarezerwowane adresy w pamięci zorientowanej bitowo:%I
Adres
%I0001
%I0002
%I0003
%I0004
%I0005
%I0006
%I0007
%I0008
%I0009 -%I0016
%I0017 -%I0024
%I0025 -%I0032
%I0033 -%I0040
%I0041 -%I0048
%I00494
%I00495
%I00496
%I00497 -%I00500
%I00501 -%I00504
%I00505 -%I00508
%I00509
%I00510
%I00511
%I05012

Funkcja
Wejście nr 1 / Impulsy dla licznika 1 / Enkoder +
Wejście nr 2 / Sygnał Preload / Strobe licznika 1
Wejście nr 3 / Impulsy dla licznika 2 / Enkoder Wejście nr 4 / Sygnał Preload / Strobe licznika 2
Wejście nr 5 / Impulsy dla licznika 3
Wejście nr 6 / Sygnał Preload / Strobe licznika 3
Wejście nr 7 / Impulsy dla licznika 4
Wejście nr 8 / Sygnał Preload / Strobe licznika 4
Wejścia 23- i 28-punktowych sterowników Micro
Domyślnie - pierwszy standardowy moduł rozszerzający
Domyślnie - drugi standardowy moduł rozszerzający
Domyślnie - trzeci standardowy moduł rozszerzający
Domyślnie - czwarty standardowy moduł rozszerzający
Bit stanu Strobe HSC1 - HSC4(zawartość akumulatora przesłana do
rejestru przechwytującego HSC1 - HSC4)
Bit stanu Preload HSC1 - HSC4 (wartość początkowa załadowana do
akumulatora HSC1 - HSC4)
Bit stanu wyjścia HSC1 - HSC4
Zakończone wysyłanie impulsów na wyjście Q4
11-5

Zarezerwowane adresy w pamięci zorientowanej bitowo:%Q
Adres
%Q0001
%Q0002
%Q0003
%Q0004
%Q0005
%Q0006
%QI0007 -%Q0016
%Q0017 -%Q0024
%Q0025 -%Q0032
%Q0033 -%Q0040
%Q0041 -%Q0048
%Q00494
%Q00495
%Q00496
%Q00497
%Q00498
%Q00499
%Q00500
%Q00501
%Q00502
%Q00503
%Q00504
%Q00505
%Q00506
%Q00507
%Q00508
%Q00509
%Q00510
%Q00511
%Q00512

11-6

Wyjście nr 1 lub wyjście PWM/PTO
Wyjście nr 2 lub wyjście PWM/PTO
Wyjście nr 3 lub wyjście PWM/PTO
Wyjście nr 4 lub wyjście PWM/PTO
Wyjście nr 5
Wyjście nr 6
Wyjścia 23- i 28-punktowych sterowników Micro
Domyślnie - pierwszy standardowy moduł rozszerzający (jeśli jest
skonfigurowany)_
Domyślnie - drugi standardowy moduł rozszerzający (jeśli jest
Domyślnie - trzeci standardowy moduł rozszerzający (jeśli jest
Domyślnie - czwarty standardowy moduł rozszerzający (jeśli jest
Wyzerowanie bitu stanu Strobe HSC4
Wyzerowanie bitu stanu Preload HSC4
Uaktywnienie wyjścia HSC/PTO/PWM 4
Rozpoczęcie wysyłania impulsów na wyjście Q4
Zarezerwowane adresy w pamięci zorientowanej rejestrowo
%AQ
Adres
%AQ0001
%AQ0002
%AQ0003
%AQ0004
%AQ0005
%AQ0006
%AQ0007
%AQ0008
%AQ0009
%AQ0011
%AQ0012
%AQ0121
%AQ0122
%AQ0123
%AQ0124
%AQ0125
%AQ0126
%AQ0127
%AQ0128

Liczba uśrednianych próbek podczas filtrowania sygnału z potencjometrów
nastawczych
Częstotliwość impulsów dla wyjścia Q1 pracującego w trybie PWM (od 15
do 5000 Hz)
Współczynnik wypełnienia cyklu dla wyjścia Q1 pracującego w trybie PWM
(od 0 do 10000, co odpowiada od 0 do 100%)
Częstotliwość impulsów dla wyjścia Q2 pracującego w trybie PWM (od 15
Współczynnik wypełnienia cyklu dla wyjścia Q2 pracującego w trybie PWM
Częstotliwość impulsów dla wyjścia Q3 pracującego w trybie PWM (od 15
Współczynnik wypełnienia cyklu dla wyjścia Q3 pracującego w trybie PWM
Częstotliwość impulsów dla wyjścia Q4 pracującego w trybie PWM (od 15
Współczynnik wypełnienia cyklu dla wyjścia Q4 pracującego w trybie PWM
Stała czasowa filtracji sygnału z wejść DC
Częstotliwość impulsów dla wyjścia Q4 pracującego w trybie PTO (od 15 do
5000 Hz)
Liczba impulsów do wysłania na wyjście Q4 pracujące w trybie PTO (od 0
do 65535)
Częstotliwość impulsów dla wyjścia Q1 pracującego w trybie PTO (od 15 do
Liczba impulsów do wysłania na wyjście Q1 pracujące w trybie PTO (od 0
Częstotliwość impulsów dla wyjścia Q2 pracującego w trybie PTO (od 15 do
Liczba impulsów do wysłania na wyjście Q2 pracujące w trybie PTO (od 0
Częstotliwość impulsów dla wyjścia Q3 pracującego w trybie PTO (od 15 do
Liczba impulsów do wysłania na wyjście Q3 pracujące w trybie PTO (od 0
do 65535)

11-7

Zarezerwowane adresy w pamięci zorientowanej rejestrowo%AI
Adres
%AI0001
%AI0002
%AI0003
%AI0004
%AI0005
%AI0006
%AI0007
%AI0008
%AI0009
%AI0010
%AI0011
%AI0012
%AI0013
%AI0014
%AI0015
%AI0016
%AI0017
%AI0018
%AI0019

Kody błędów licznika
Liczba impulsów w podstawie czasu dla licznika HSC 1 (od -32678 do 32767)
Liczba impulsów w podstawie czasu dla licznika HSC 2 (od -32678 do 32767)
Liczba impulsów w podstawie czasu dla licznika HSC 3 (od -32678 do 32767)
Liczba impulsów w podstawie czasu dla licznika HSC 4 (od -32678 do 32767)
Akumulator licznika HSC 1 (od -32768 do 32767)
Rejestr przechwytujący zawartość akumulatora HSC 1 (od -32768 do 32767)
Akumulator licznika HSC 2 (od -32768 do 32767)
Rejestr przechwytujący zawartość akumulatora HSC 2 (od -32768 do 32767)
Akumulator licznika HSC 3 (od -32768 do 32767)
Rejestr przechwytujący zawartość akumulatora HSC 3 (od -32768 do 32767)
Akumulator licznika HSC 4 (od -32768 do 32767)
Rejestr przechwytujący zawartość akumulatora HSC 4 (od -32768 do 32767)
Wartość odpowiadająca stanowi analogowego potencjometru nastawczego nr
Wejście analogowe - kanał 1
Wejście analogowe - kanał 2

Zmienne z pamięcią stanu i zmienne bez pamięci stanu
Zmienne cechują się pamięcią stanu, jeśli obszar pamięci, w których przechowywane są wartości
zmiennych jest automatycznie zachowywany w przypadku zatrzymania sterownika (przejście
z trybu RUN w tryb STOP) lub w przypadku utraty i ponownego włączenia zasilania. Pamięcią
stanu cechują się następujące dane i zmienne:
Tablice błędów i dane diagnostyczne

Bity wymuszenia stanu

Zmienne rejestrowe (%R, %AI, %AQ)

Zmienne bitowe%I, %SC, %G, bity błędów i bity zarezerwowane)

Zmienne rejestrowe przechowywane w pamięci%Q i%M

Zmienne typu%Q i%M wykorzystywane jako zmienne wyjściowe bloków funkcyjnych lub
skojarzone z przekaźnikami z pamięcią stanu:
(przekaźnik)
(przekaźnik negujący)
(przekaźnik ustawiający SET)
(przekaźnik zerujący RESET)
- pod warunkiem że przy zmiennych tych zaznaczono opcję Ret (retentive) w tablicy deklaracji
zmiennych.
O tym, czy zmienne cechuje pamięć stanu, czy nie, decyduje rodzaj przekaźnika w programie
sterującym, z którym zmienna została użyta po raz ostatni.
Zmienne typu%Q i%M specjalnie zadeklarowane jako zmienne z pamięcią stanu. Zmienne
typu%Q i%M domyślnie nie mają pamięci stanu.
11-8

Rozdział 11- Zmienne programu sterującego i przetwarzanie danych przez sterownik
Następujące dane i zmienne nie dysponują pamięcią stanu:
Zmienne%T
Zmienne systemowe%S, %SA i%SB (ale zmienne%SC mają pamięć stanu)
Zmienne typu%Q i%M nie zadeklarowane jako zmienne z pamięcią stanu.
Zmienne typu%Q i%M skojarzone z przekaźnikami bez pamięci stanu:
- pod warunkiem że przy zmiennych tych nie zaznaczono opcję Ret (retentive) w tablicy deklaracji
zmiennych.

Używanie nazw zmiennych i opisów zmiennych
W programach sterujących można stosować nazwy zmiennych i opisy zmiennych, aby uczynić
program bardziej czytelnym i łatwiejszym do zrozumienia dla użytkownika.

Nazwy zmiennych
Nazwa zmiennej może mieć długość od 1 do 7 znaków. W nazwie można stosować litery od A do
Z, cyfry od 0 do 9, podkreślenia i znaki specjalne +, -, %, #, @, &amp; lt;, &amp; gt;, + oraz &amp;. Pierwszy znak
musi być literą. Nazwy zmiennych przypisuje się w tablicy deklaracji zmiennych. Używanie nazw
nie jest obowiązkowe.

%Q0004
---()---

zmienna

Lampa_3
nazwa zmiennej

Nazwa zmiennej nie rozróżnia małych i dużych liter, chyba że w procedurze zdefiniowano
globalną nazwę zmiennej. Wtedy nazwa globalna jest pisana małymi literami, a nazwa lokalna
dużymi.

Lokalne nazwy zmiennych w procedurach
W każdej procedurze można używać lokalnych nazw zmiennych właściwych dla procedury. Ta
sama zmienna może mieć różne lokalne nazwy w blokach różnych procedur, na przykład:

BLOCK A
BLOCK B

%R0001
%R0001

Lampa_1
Lampa_2

W dwóch różnych blokach procedur można używać tej samej lokalnej nazwy zmiennej dla różnych
zmiennych, jeśli są one zdeklarowane jako zmienne lokalne:

BLOCK B

%R0001
%R0002

RESET
Opisy zmiennych
Opis zmiennej jest opcjonalnym tekstem o długości do 32 znaków. Opis zmiennej może
występować wraz z nazwą zmiennej lub bez niej.

11-9

Zmienne systemowe
Sterowniki Nano/Micro przechowują dane o stanie systemu w predefiniowanych zmiennych,
w obszarze pamięci%S, %SA, %SB i%SC. Wszystkie zmienne systemowe są podane w tabelach,
zamieszczonych na następnych stronach.

Korzystanie ze zmiennych systemowych
Zmienne systemowe mogą być wykorzystywane w programie sterującym, stosownie do
zapotrzebowania. W celu ułatwienia programowania, każda zmienna systemowa posiada przypisaną,
opisową nazwę. Przykładowo, zamieszczony poniżej blok funkcyjny korzysta ze zmiennej systemowej
FST_SCN (pierwsza obsługa wejść/wyjść) do sterowania dopływem sygnału sterującego do bloku
funkcyjnego Clear.
FST SCN
| |

%Q0001

BLK CLR
WORD
IN

Przykładowe nazwy zmiennych sterujących podstawą czasu generatora sygnału prostokątnego to:
T_10MS, T_100MS, T_SEC oraz T_MIN (proszę porównać z opisem zamieszczonym poniżej).
Przykładowe nazwy zmiennych ułatwiających programowanie sterownika to: FST_SCN,
ALW_ON
i ALW_OFF.

Zmienne%S
Styki te przypisane są do odpowiednich miejsc w pamięci%S. Mogą one być wykorzystane do
regularnego dostarczania impulsów sygnału sterującego do funkcji programu. Cztery styki
generatora sygnału prostokątnego mają podstawy czasowe 0. 01 s, 0. 1 s, 1 s oraz 1 min.
Stan tych styków nie zmienia się w czasie pojedynczego cyklu pracy sterownika. Poprzez styki te
wysyłany jest sygnał o takim samym czasie włączenia jak i wyłączenia.
Stykom tym przypisane są zmienne systemowe (odpowiednio T_10MS, T_100MS, T_SEC oraz
T_MIN).
Działanie generatora objaśnia zamieszczony poniżej rysunek.

Zmienne systemowe%S przeznaczone są wyłącznie do odczytu.

Zmienna

Nazwa

Definicja

%S0001
%S0002

11-10

FST_SCN Jeżeli bieżący cykl jest pierwszym cyklem pracy sterownika,
ustawiana jest wartość 1.
LST_SCN Jeżeli bieżący cykl jest ostatnim cyklem pracy sterownika, ustawiana
jest wartość 0.
Rozdział 11- Zmienne programu sterującego i przetwarzanie danych przez sterownik

%S0003

T_10MS

Podstawa czasu generatora sygnału prostokątnego: 0. 01 s.

%S0004

T_100MS

Podstawa czasu generatora sygnału prostokątnego: 0. 1 s.

%S0005

T_SEC

Podstawa czasu generatora sygnału prostokątnego: 1. 0 s.

%S0006

T_MIN

Podstawa czasu generatora sygnału prostokątnego: 1. 0 minuta.

%S0007

ALW_ON

%S0008

ALW_OFF Styk zawsze otwarty.

%S0009

SY_FULL

Jeżeli tablica błędów działania sterownika jest wypełniona całkowicie,
ustawiana jest wartość 1. Wartość zmiennej jest ustawiana na 0, gdy
z tabeli błędów zostanie usunięta pozycja lub cała zawartość tabeli
zostanie wymazana.

%S0010

IO_FULL

Jeżeli tablica błędów działania układów wejść/wyjść jest wypełniona
całkowicie, ustawiana jest wartość 1. Wartość zmiennej jest
ustawiana ponownie na 0, gdy
z tabeli zostanie usunięta część informacji lub cała zawartość tabeli
zostanie wymazana.

%S0011

OVR_PRE Wymuszona z zewnątrz zmiana wartości zmiennej typu%I, %Q, %M
lub%G.

%S0012

Styk zawsze zwarty.

Zarezerwowany

%S0013

PRG_CHK Ustawiana na 1 po włączeniu kontroli programu. Ustawiana na 0 po
wyłączeniu kontroli programu.

%S0014

PLC_BAT Wartość 1 informuje o uszkodzeniu baterii w jednostce centralnej.
Zmienna ta uaktualniana jest jeden raz w ciągu cyklu. Zmienna ta jest
obsługiwana wyłącznie przez 28- punktowe sterowniki Micro.

%S0015, 16

Zarezerwowany

%S0017

SNPXACT Do portu 1 jednostki centralnej dołączony jest aktywny host SNP-X.
(Port 2 domyślnie jest nieaktywny i musi być aktywowany za pomocą
CRQ).

%S0018

SNPX_RD Host protokołu SNP-X odczytał dane z jednostki centralnej.

%S0019

SNPX_WT Host protokołu SNP-X zapisał dane do portu 1 jednostki centralnej.

%S0020

RLTN_OK. Zmienna ustawiana na 1 po pomyślnym wykonaniu relacji
matematycznej operującej na danych typu rzeczywistego. Jeżeli
wartość wejściowa nie jest liczbą, zmienna przyjmuje wartość 0.

%S0021

FF_OVR

Wartość równa 1 informuje o przepisaniu błędu krytycznego.

%S0022

USR_SW

Wartość tej zmiennej informuje o stanie przełącznika trybu jednostki
centralnej Run/Stop:
1 = Run/On
0 = Stop/Off

%S0023-32

Zarezerwowany

11-11

Zmienne%SA, %SB i%SC
Zmienne typu%SA, %SB i%SC przeznaczone są zarówno do odczytu jak i do zapisu.

Definicja

%SA0001

PB_SUM

%SA0002

OV_SWP

%SA0003

APL_FLT

Suma kontrolna wyliczona dla programu sterującego nie jest równa
wartości porównawczej. Jeśli błąd został spowodowany przez
chwilową usterkę, wartość bitu można ustawić ponownie na zero przez
ponowne zapisanie programu w pamięci sterownika. Jeśli natomiast
uszkodzona została pamięć RAM, należy wymienić jednostkę
centralną sterownika.
Wartość zmiennej ustawiana jest na 1, jeżeli przy pracy sterownika
Micro w trybie CONSTANT SWEEP wykryto przekroczenie
dopuszczalnego czasu trwania poprzedniego cyklu. Wartość tej
zmiennej jest ustawiana ponownie na 0, gdy czas trwania cyklu pracy
sterownika nie przekracza zadanej wartości. Wartość 0 jest ustawiana
również w czasie przejścia z trybu zatrzymania STOP do trybu pracy
RUN.
Błąd w działaniu programu sterującego. Wartość tej zmiennej zostaje
ponownie ustawiona na 0 po przejściu sterownika Micro z trybu STOP
do trybu RUN.

%SA0004-8
%SA0009

%SA0010

%SA0011

Zarezerwowana
CFG_MM

Wartość tej zmiennej ustawiana jest na 1, jeżeli konfiguracja zapisana
w oprogramowaniu, sprawdzana podczas zapisu konfiguracji lub
włączania zasilania układu, nie jest zgodna z konfiguracją sprzętową.
Wartość 0 ustawiana jest po ponownym włączeniu zasilania
sterownika Micro i po skorygowaniu przyczyny niezgodności.
HRD_CPU Wartość tej zmiennej ustawiana jest na 1, po wykryciu przez
procedury diagnostyczne uszkodzenia sprzętowego sterownika Micro.
Wymagana jest wtedy wymiana sterownika Micro.
LOW_BAT Niskie napięcie baterii zasilających. Wartość 0 jest przywracana po
wymianie baterii i ponownym włączeniu zasilania sterownika Micro.
Zmienna ta jest obsługiwana wyłącznie przez 28- punktowe sterowniki
Micro.

%SA0012, 13
%SA0014

%SA0015-18
%SA0019

%SA0020-31

11-12

LOS_IOM

Przerwanie komunikacji pomiędzy jednostką centralną i modułem
dodatkowym. Wartość 0 jest przywracana po wymianie modułu,
wyłączeniu i ponownym włączeniu zasilania.
Zarezerwowana

ADD_IOM Wartość tej zmiennej jest ustawiana na 1 po dodaniu do kasety
dodatkowego modułu. Wartość 0 jest ponownie ustawiana po
wyłączeniu i ponownym włączeniu zasilania sterownika, gdy
zapamiętana konfiguracja odpowiada rzeczywistej.
Nazwa

%SB0001-8

Definicja
Zarezerwowana

%SB0009

NO_PROG

Wartość zmiennej jest ustawiana na 1, jeżeli sterownik zostanie
przełączony do trybu Run bez załadowanego programu
sterującego do jednostki centralnej. Wartość zmiennej jest
ustawiana na 0 po załadowaniu programu sterującego do
jednostki centralnej i po przełączeniu sterownika do trybu Run.

%SB0010

BAD_RAM

%SB0011

BAD_PWD

Ustawiana na 1 po wykryciu przez sterownik Micro podczas
rozruchu uszkodzenia pamięci RAM. Ustawiana na 0, jeżeli
jednostka centralna stwierdzi poprawność pamięci RAM
podczas rozruchu.
Ustawiana na 1, w przypadku wprowadzenia błędnego hasła
dostępu do sterownika. Ustawiana na 0 po usunięciu zawartości
tabeli błędów działania sterownika.

%SB0012

Zarezerwowana

%SB0013

SFT_CPU

%SB0014

STOR_ER

%SC0001-8

Ustawiana na 1, jeżeli sterownik Micro wykryje nienaprawialny
błąd
w oprogramowaniu.
Ustawiana na 1, jeżeli w czasie operacji ładowania programu
sterującego z programatora wykryty zostanie błąd. Ustawiana
na 0 po udanym załadowaniu programu.
Zarezerwowana

%SC0009

ANY_FLT

%SC0010

SY_FLT

%SC0011

IO_FLT

%SC0012

SY_PRES

%SC0013

IO_PRES

%SC0014

HRD_FLT

%SC0015

SFT_FLT

Ustawiana na 1 w przypadku wykrycia jakichkolwiek błędów
działania sterownika lub układów wejść/wyjść. Ustawiana na 0
po wykasowaniu obydwu tablic błędów działania sterownika.
Ustawiana na 1 jeżeli wystąpiło uszkodzenie powodujące
wprowadzenie nowej pozycji do tablicy błędów działania
sterownika. Ustawiana na 0 po usunięciu zawartości tabeli
błędów działania sterownika.
Ustawiana na 1 jeżeli wystąpił jakikolwiek błąd działania
układów wejść/wyjść sterownika, zapisywany w tablicy błędów
działania wejść/wyjść. Ustawiana na 0 po usunięciu zawartości
tablicy błędów działania układów wejść/wyjść.
Wartość tej zmiennej jest równa 1 przez cały czas, jeśli tylko
w tablicy błędów działania sterownika znajduje się choć jedna
informacja o błędzie. Ustawiana na 0 jeżeli tablica ta nie
zawiera żadnych komunikatów o błędach.
w tablicy błędów działania układów wejść/wyjść znajduje się
choć jedna informacja o błędzie. Ustawiana na 0 jeżeli tablica ta
nie zawiera żadnych komunikatów o błędach.
Wartość ustawiana na 1 w momencie wystąpienia uszkodzenia
sprzętowego. Ustawiana na 0, gdy obie tablice błędów działania
nie zawierają komunikatów o błędach. Zmienna ta jest
Wartość ustawiana na 1 w momencie pojawienia się błędu
oprogramowania. Ustawiana na 0, gdy obie tablice błędów
działania nie zawierają komunikatów o błędach.

11-13

Format danych
Ze względu na miejsce w którym przechowywane są dane - w pamięci słów, czy w pamięci bitówprogram sterujący traktuje je jako różne typy danych.

Typ

BIT

Bit

Dana zajmująca najmniejsza komórkę
pamięci. Posiada dwie wartości: 1 lub 0.

BYTE

Bajt

Dana zawierająca 8 bitów. Zakres: od 0
do 255 (0 do FF w systemie
heksadecymalnym).

WORD

Format zapisu

Słowo zajmuje 16 kolejnych bitów
pamięci sterownika, które nie mogą być
indywidualnie adresowane. Ten typ
danych pozwala na przechowywanie
wartości z zakresu 0 do +65 535
(FFFF).

Rejestr 1
(16 pozycji bitów)
16

4 |3 | 2 | 1

Czterocyfrowa
liczba
dziesiętna
zakodowana w
formacie
BCD

Czterocyfrowe liczby dziesiętne
zakodowane w formacie BCD zajmują
16 bitów pamięci. Każda z czterech cyfr
tej liczby jest zakodowana w czterech
bitach i może reprezentować cyfrę z
zakresu od 0 do 9. Zakres wartości: od 0
do 9999.

REAL

rzeczywista

Liczby rzeczywiste zajmują dwie kolejne
komórki pamięci po 16 bitów każda.
Zakres wartości, które mogą być
reprezentowany w ten sposób wynosi:
? 1. 401298E-45 do? 3. 402823E+38.
Więcej informacji na ten temat podano
na następnej stronie.

INT

Liczby
całkowite
ze
znakiem

Liczba całkowita ze znakiem zajmująca
obszar pamięci 16 bitów. Liczby
całkowite ze znakiem reprezentowane
są w notacji dopełnienia do dwóch. Bit
16 jest bitem znaku (0 = dodatni, 1 =
ujemny). Zakres od -32, 768 do +32, 767.

S|
16
DINT

podwójnej
precyzji ze
Liczby całkowite podwójnej precyzji ze
znakiem zajmujące dwa sąsiadujące
obszary pamięci po 16 bitów. Są one
reprezentowane w notacji dopełnienia do
dwóch. Bit 32 jest bitem znaku,
(0 = dodatni, 1 = ujemny). Zakres od
Rejestr 2
32
17

BCD-4

16 13

(4 cyfry BCD)
(16 pozycji bitów

(Dopełnienie do dwóch)

Liczby zmiennoprzecinkowe
Liczby rzeczywiste (REAL), z których można korzystać w niektórych funkcjach matematycznych
i numerycznych są w rzeczywistości danymi zmiennoprzecinkowymi. Liczby zmiennoprzecinkowe
pamiętane są w standardowym formacie IEEE pojedynczej precyzji. Do reprezentacji tych liczb
wymagane są 32 bity, czyli dwa (sąsiednie) 16 bitowe rejestry sterownika.

11-14

Most Significant Register

Least Significant Register

Bits 17-32
32

Bits 1-16
17 16

23-bit mantissa

8-bit exponent
1-bit sign (Bit 32)

Przykładowo, jeżeli liczba zmiennoprzecinkowa zajmuje rejestry R5 i R6, rejestr R5 jest rejestrem
mniej znaczącym, a rejestr R6 rejestrem bardziej znaczącym.
Zakres wartości, które mogą być reprezentowany w ten sposób wynosi:? 1. 401298E-45
do? 3.

Błędy w operacjach i liczbach zmiennoprzecinkowych
Jeżeli w wyniku działania funkcji operującej na danych typu REAL otrzymana zostanie wartość
większa od 3. 402823E+38 lub mniejsza od -3. 402823E+38 generowany jest błąd. Jeżeli wartość
nie mieści się w tym przedziale, nie jest wysyłany sygnał wyjściowy OK, a wynik w takim
przypadku ma wartość dodatnią, nieskończenie dużą, tzn. większą od 3. 402823E+38 lub też ma
wartość ujemną, nieskończenie dużą (tzn. mniejszych od -3. 402823E+38). Wystąpienie takiej
sytuacji może zostać stwierdzone poprzez zbadanie wartości sygnału wyjściowego OK.
POS_INF

= 7F800000h

NEG_INF

= FF800000h

Wartość dodatnia, nieskończenie duża IEEE, w systemie
heksadecymalnym.
Wartość ujemna, nieskończenie duża IEEE, w systemie
heksadecymalnym.

Jeżeli otrzymane wartości nieskończenie duże zostaną wykorzystane jako parametr innej funkcji
operującej na danych typu REAL, może to być powodem nieokreślonego wyniku. Ten
nieokreślony wynik określany jest terminem NaN (Not a Number - Niepoprawna liczba).
Przykładowo, wynik dodawania dodatniej wartości nieskończenie dużej do ujemnej wartości
nieskończenie dużej jest nieokreślony. Jeżeli więc parametrami wywołania funkcji ADD_REAL są
dodatnia wartość nieskończenie dużą i ujemna wartość nieskończenie duża, otrzymany wynik
będzie równy NaN.

11-15

Zestaw instrukcji

Rozdział ten zawiera opis funkcji dostępnych w sterownikach VersaMax Nano i Micro.

Funkcje operujące na bitach
Logiczne AND, Logiczne OR
Alternatywa wykluczająca OR (XOR), negacja
logiczna (NOT)
Przesunięcie słowa bitowego w prawo/ w lewo
Przesunięcie słowa bitowego w obiegu
zamkniętym w prawo/ w lewo
Sprawdzanie wartości pojedynczego bitu
Ustawianie bitu, zerowanie bitu
Porównanie z maskowaniem
Lokalizowanie pierwszego bitu o wartości 1
Przemieszczanie jedynki

Funkcje sterując
Natychmiastowe uaktualnienie stanu wejść i wyjść
Wywołanie podprogramu
End
Skok
MCR Funkcje specjalne sterownika (opis znajduje
się w Rozdział 13)
PID (opis znajduje się w Rozdziale 9)

Przemieszczenie
Przemieszczanie bloku
Zerowanie fragmentu pamięci
Rejestr przemieszczający
Funkcje do konwersji typów
Konwersja na kod BCD
Konwersja na dane typu INT
Konwersja na dane typu DINT
Konwersja na dane typu REAL
Konwersja danych typu REAL na dane typu
Przybliżanie liczb zmiennoprzecinkowych

i numeryczne
Dodawanie, odejmowanie, mnożenie,
dzielenie
Dzielenie modulo
Pierwiastek kwadratowy
Funkcje trygonometryczne
Funkcje logarytmiczne/ wykładnicze
Konwersja radiany/ stopnie

Równy
Nie równy
Większy
Mniejszy
Większe lub równe
Mniejszy lub równy
Styki, przekaźniki i połączenia
Styki, przekaźniki
Styki błędu i braku błędu
Styki alarmów

Kopiowanie danych
Poszukiwanie

Generator sygnału prostokątnego
Przekaźnik czasowy z pamięcią
Przekaźnik czasowy bez pamięci, z
zanegowanym wejściem
Licznik zliczający w górę
Licznik zliczający w dół

12-1

Bloki funkcyjne z tej grupy wykonują operacje logiczne na ciągach bitów. Dostępne funkcje do
operacji na bitach:
Logiczne AND
Logiczne OR
Alternatywa wyłączająca OR
Negacja logiczna (NOT)
Przesunięcie słowa bitowego w prawo / w
lewo
zamkniętym w prawo/ w lewo

Lokalizowanie pierwszego bitu o wartości
Długości danych w funkcjach do operacji bitowych
Funkcje AND, OR, XOR i NOT wykonują operacje na pojedynczym słowie. Inne funkcje do
operacji bitowych mogą wykonywać operacje na ciągu o długości do 256 słów.
Wszystkie funkcje do operacji bitowych wymagają danych typu WORD. Należy jednak pamiętać,
że dane są traktowane jako nieprzerwany ciąg bitów, gdzie pierwszy bit pierwszego słowa jest
bitem najmniej znaczącym (LSB), a ostatni bit ostatniego słowa stanowiącym to bit najbardziej
znaczący (MSB) Przykładowo, jeśli funkcja ma wykonać operację na trzech słowach o adresie
początkowym%R0100, to wykona ją na 48 kolejnych bitach, traktowanych w sposób pokazany na
poniższym schemacie.
%R0100 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 <- bit 1 (LSB)
%R0101 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17
%R0102 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33
?
(MSB)

Nie jest zalecane pokrywanie się adresów parametrów wejściowych i wyjściowych w przypadku
funkcji operujących na ciągach wielu słów bitowych, ponieważ może to być przyczyną
nieprawidłowego działania funkcji.

12-2

Rozdział 12 - Zestaw instrukcji

Logiczne AND, logiczne OR
Za każdym razem, po doprowadzeniu sygnału, funkcje AND i OR porównują każdy bit parametru
IN1 z odpowiednim bitem parametru IN2, począwszy od najmniej znaczących bitów. Powyższa
funkcja może dokonać sprawdzenia wartości bitu w zakresie od 1 do 256 słów bitowych, czyli
z ciągu liczącego maksymalnie 16*256 bitów.

W przypadku funkcji AND, wartość każdego bitu parametru wyjściowego Q jest ustawiana na 1,
jeśli odpowiednie bity pierwszego i drugiego parametru wejściowego (tzn. słów IN1 oraz IN2)
mają wartość 1. Jeśli jeden lub obydwa bity mają wartość 0, wartość odpowiedniego bitu słowa Q
ustawiana jest na 0. Funkcja AND jest użyteczna do tworzenia masek, umożliwiających zmianę
stanu (np. wyzerowanie) wyszczególnionych bitów pamięci lub wyzerowanie zadanego obszaru
pamięci poprzez koniunkcję ze słowem zawierającym same zera. Ciągi bitów IN1 i IN2 mogą
zajmować ten sam obszar pamięci.

W przypadku funkcji OR, wartość każdego bitu parametru wyjściowego Q jest ustawiana na 1,
jeśli jeden lub obydwa odpowiednie bity pierwszego i drugiego parametru wejściowego (tzn. słów
IN1 oraz IN2) mają wartość 1. Jeżeli obydwa sprawdzane bity mają wartość 0, odpowiedni bit
parametru wyjściowego Q jest również ustawiany na 0. Funkcja OR może być stosowana np. do
sterowania stanem wielu wyjść za pomocą jednej struktury logicznej. Blok funkcyjny OR jest
równoważny układowi dwóch przekaźników połączonych równolegle, zwielokrotnionego tyle
razy, ile bitów zawierają porównywane słowa. Może on być wykorzystywany do bezpośredniego
sterowania lampkami sygnalizacyjnymi w zależności od stanów wejść lub ustanowienia wyższego
priorytetu błyskania nad zapaleniem.
Enable

OK

Input 1

IN1 Q

Output

Input 2

AND
IN2

12-3

Logiczne AND, logiczne OR

Parametry funkcji AND i OR
enable

sygnał

Sygnał wejściowy. Doprowadzenie tego sygnału do bloku funkcyjnego
powoduje wykonanie operacji logicznej.

I1

I, Q M, T, S, G, R, AI,
AQ, stała

Wartość stała lub adres zmiennej, stanowiącej pierwsze słowo lub
ciąg słów, na którym ma być wykonywana operacja logiczna.

I2

Wartość stała lub adres zmiennej pierwszego słowa drugiego
parametru wejściowego

sygnał, brak sygnału

Sygnał wyjściowy, pojawiający się po doprowadzeniu do bloku
funkcyjnego sygnału wejściowego.

Q

I, Q, M, T, SA, SB, SC Wynik działania.
(nie S), G, R, AI, AQ

Przykłady funkcji AND
W zamieszczonym poniżej przykładzie, przyjęcie stanu logicznego 1 przez zmienną%I0001
powoduje wykonanie operacji logicznej na dwóch 16 bitowych parametrach o nazwach
pomocniczych WORD1 i WORD2. Wynik działania funkcji AND zapisywany jest do parametru
wyjściowego RESULT.
%I0001
WORD1

WORD1
WORD2

12-4

IN1 Q
RESULT

0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0

1 1 0 1 1 1 0 0 0 0 0 0 1

1 1

0 0 0 1 1 1 0 0 0 0 0 0 1

0 0

Alternatywa wyłączająca OR (XOR)
Funkcja XOR umożliwia wykonanie operacji alternatywy wyłączającej dwóch słów bitowych,
będących parametrami wejściowymi IN1 i IN2 funkcji. Wynikiem operacji jest bit o wartości 1,
jeśli odpowiadające sobie bity mają różne wartości.
XOR
Po doprowadzeniu sygnału wejściowego do bloku funkcyjnego, funkcja wykonuje tą operację dla
każdej pary bitów, z których pierwszy jest kolejnym bitem słowa IN1, a drugi odpowiednim bitem,
słowa IN2, począwszy od najmniej znaczących bitów w każdym ze słów. Wynikiem operacji na
dwóch sprawdzanych bitach jest bit o wartości 1, jeśli jeden ze sprawdzanych bitów ma wartość 1,
a drugi z nich ma wartość 0. Sygnał wyjściowy jest przesyłany przez blok funkcyjny XOR zawsze
wtedy, gdy do bloku dopływa sygnał wejściowy.
Jeśli słowa IN2 oraz Q mają ten sam adres początkowy, bit słowa IN1 o wartości 1 spowoduje
migotanie (cykliczną zmianę wartości pomiędzy 1 a 0) odpowiedniego bitu słowa IN2, zgodnie
z częstotliwością wykonywania cykli pracy przez sterownik. Migotanie z mniejszą częstotliwością
można wywołać, podając sygnał na wejście bloku funkcyjnego z częstotliwością równą podwójnej
żądanej częstotliwości migotania
Funkcja XOR może być wykorzystana do szybkiego porównania dwóch ciągów bitów lub do
przełączania grupy bitów, z ustawianiem wartości 1 w co drugim cyklu pracy sterownika

Parametry funkcji XOR
IN1

I, Q M, T, S, G, R, AI, Wartość stała lub adres zmiennej będącej pierwszym parametrem
AQ, stała
wykonywanej funkcji XOR.

I, Q M, T, S, G, R, AI, Wartość stała lub adres zmiennej będącej drugim parametrem
sygnał, brak sygnału Sygnał wyjściowy, pojawiający się po doprowadzeniu do bloku
I, Q, M, T, SA, SB, Wynik działania.
SC (nie S), G, R, AI,
AQ

12-5

Alternatywa wyłączająca OR (XOR)

W zamieszczonym poniżej przykładzie, pojawienie się stanu logicznego 1 dla zmiennej%I0001
powoduje wyzerowanie wszystkich bitów parametru wejściowego o nazwie pomocniczej
WORD3.
%I0001
WORD3

IN1
(WORD3)

IN2
Q (WORD3) 0

12-6

Funkcja negacji NOT jest wykorzystywana do zmiany stanu każdego bitu słowa, które jest
parametrem wejściowym IN1 bloku funkcyjnego, na przeciwny.
Operacja ta wykonywana jest zawsze, gdy do bloku funkcyjnego dopływa sygnał. Wynikiem
operacji jest słowo bitowe (parametr wyjściowy Q), stanowiące logiczną negację słowa IN1.
Sygnał wyjściowy jest przesyłany zawsze wtedy, gdy do bloku dopływa sygnał wejściowy.
Powyższa funkcja może operować na bitach w zakresie od 1 do 256 słów bitowych, czyli z ciągu
liczącego maksymalnie 16*256 bitów.
NOT
IN Q

Parametry funkcji NOT
I, Q M, T, S, G, R,
AI, AQ, stała

powoduje wykonanie operacji logicznej.
Wartość stała lub adres zmiennej będącej słowem do zanegowania.

powoduje ustawienie wszystkich bitów zmiennej TAC na wartość przeciwną w stosunku do
odpowiednich bitów zmiennej CAT.
%I0001
CAT

TAC

12-7

Przesunięcie bitowe w prawo/ w lewo
Funkcję SHL (przesunięcie bitowe w lewo) można wykorzystać do przesunięcia wszystkich bitów
jednego słowa bitowego lub ciągu kilku słów bitowych w lewo, o określoną liczbę miejsc. Wyższe
bity (z lewej strony słowa) zostają &quot; wypchnięte &quot; ze słowa bitowego. Na puste miejsca zostają
wpisane zadane wartości.
MSB

LSB

B2 <- 1 1 0 1 1 1 1 1 1 1 0 0 1 0 0 0 <-B1
Funkcję SHR (przesunięcie bitowe w prawo) można wykorzystać do przesunięcia wszystkich
bitów jednego słowa bitowego lub ciągu kilku słów bitowych w prawo, o określoną liczbę miejsc.
Niższe bity (z prawej strony słowa) zostają &quot; wypchnięte &quot; ze słowa bitowego. Na puste miejsca
zostają wpisane zadane wartości.
B1 -> 1 1 0 1 1 1 1 1 1 1 0 0 1 0 0 0 ->B2
Każda z powyższych funkcji może wykonywać przesunięcie w zakresie od 1 do 256 słów
bitowych.
SHIFTL
WORD
??

Word to be shifted in

IN B2

Number of bits
Bit shifted in

N

Last bit shifted out
B1

Jeżeli liczba miejsc (N), o jaką mają być przesunięte bity danego słowa jest większa od liczby
bitów zawartych w zadanym ciągu (LEN)*16, ciąg wyjściowy (Q) jest wypełniany kopiami bitu
wejściowego (B1) a bit wejściowy kopiowany jest do parametru wyjściowego (B2). Jeżeli liczba
miejsc, o jaką mają być przesunięte bity danego słowa jest równa zero, przesunięcie nie zostaje
wykonane, ciąg wejściowy jest kopiowany do ciągu wyjściowego, a bit wejściowy B1 jest
kopiowany do parametru wyjściowego B2
W puste miejsca powstałe po przesunięciu zawartości słowa (ciągu słów) wpisane zostają bity o
wartości zadanej poprzez parametr B1. Jeżeli liczba miejsc, o którą mają być przesunięte bity
danego słowa jest większa od 1, każdy z bitów ma ustawianą taką samą wartość (0 lub 1). Jako
parametr ten można wykorzystać:
Zerojedynkowe wyjście bloku funkcyjnego.

Sygnał wyjściowy przekaźnika o przypisanej zmiennej systemowej ALW_ON; spowoduje to,
że na puste miejsca zostaną wpisane same jedynki.

Sygnał wyjściowy przekaźnika o przypisanej zmiennej systemowej ALW_OFF; spowoduje
to, że na puste miejsca zostaną wpisane same zera.

Funkcje SHL i SHR zawsze przesyłają sygnał wyjściowy, o ile liczba miejsc, o jaką mają być
przesunięte bity danego słowa jest większa od zera.
Wynik, uzyskany po wykonaniu operacji przesunięcia jest kopiowany w miejsce wyszczególnione
przez parametr Q. Jeżeli mają być przesunięte bity w parametrze wejściowym, parametr
wyjściowy Q musi mieć taki sam adres jak parametr wejściowy IN. Łańcuch bitowy
z przesuniętymi bitami zapisywany jest za każdym razem po doprowadzeniu sygnału. Parametr B2
zawiera ostatni bit, który wyszedł poza zakres słowa po dokonaniu operacji przesunięcia. Jeśli na
przykład liczba bitów, o którą miały zostać przesunięte bity słowa (ciągu słów) wynosi 4, B2
będzie zawierało czwarty z bitów, które opuściły miejsce wewnątrz słowa.

Przesunięcie bitowe w prawo/ w lewo

Parametry funkcji do przesunięcia bitowego w prawo/ w lewo
Sygnał

powoduje wykonanie przesunięcia.

I, Q, M, T, S, G, R, AI, Adres pierwszego słowa ciągu słów, którego bity mają zostać
AQ
przesunięte.

I, Q, M, T, G, R, AI,
Liczba miejsc (bitów), o które mają zostać przesunięte bity danego
słowa (ciągu słów).

Wartość bitu (bitów), które mają zostać wstawione w puste miejsca
słowa, powstałe po przesunięciu jego zawartości.

B2
sygnał, brak sygnału Wartość ostatniego bitu, który wyszedł poza zakres słowa po dokonaniu
operacji przesunięcia.
I, Q, M, T, SA, SB, SC, Adres pierwszego słowa ciągu słów, otrzymanego po przesunięciu bitu
G, R, AI, AQ
słowa adresowanego przez parametr IN.

W zamieszczonym poniżej przykładzie, pojawienie się stanu logicznego 1 dla zmiennej dl%I0001
powoduje zapisanie do parametru wyjściowego o nazwie WORD2 kopii bitów zawartych
w miejscu wskazywanym przez zmienną WORD1. Ciąg wyjściowy jest przesuwany w lewo o 8
bitów, zgodnie z wartością parametru wejściowego LENGTH. Puste miejsca powstałe na początku
wyjściowego ciągu bitów są ustawiane na wartość określoną zmienną%I0002.
%I0001

LENGTH
8
%I0002

OUTBIT

N
12-9

Przesunięcie bitowe w obiegu zamkniętym w prawo/ w lewo
Funkcję ROL (przesunięcie bitowe w obiegu zamkniętym w lewo) można wykorzystać do
przesunięcia wszystkich bitów jednego słowa bitowego lub ciągu kilku słów bitowych w lewo,
o wyszczególnioną liczbę miejsc. Najbardziej znaczące bity (z lewej strony słowa), &quot; wypchnięte &quot;
ze słowa bitowego zostają wpisane na puste miejsca z prawej strony słowa.
Funkcja ROR (przesunięcie bitowe w obiegu zamkniętym w prawo) jest analogiczna do funkcji
SHL, lecz powoduje przesunięcie wszystkich bitów jednego słowa bitowego lub ciągu kilku słów
bitowych w prawo. Najmniej znaczące bity (z prawej strony słowa), &quot; wypchnięte &quot; ze słowa
bitowego, zostają wpisane na puste miejsca z lewej strony słowa.
bitowych. Lliczba miejsc o jaką mają być przesunięte bity danego słowa musi być większa od zera
i mniejsza od liczby bitów w ciągu bitów, na którym wykonywane jest przesunięcie.
Poza tymi przypadkami nie ma ograniczeń dotyczących przesyłania sygnału wyjściowego. Wynik
funkcji zapisywany jest do ciągu wyjściowego Q. Jeżeli w wyniku działania tych funkcji mają być
przesunięte bity w łańcuchu będącym parametrem wejściowym, adres parametru wyjściowego
Q musi być taki sam jak adres parametru wejściowego IN. Łańcuch bitowy z przesuniętymi bitami
zapisywany jest za każdym razem po doprowadzeniu sygnału.
ROL
OK

??

Word to be rotated
Number of bits

Parametry funkcji do przesunięcia bitowego w obiegu zamkniętym
w prawo/ w lewo
IN
ok
Typ
Sygnał wejściowy. Doprowadzenie tego sygnału do bloku
funkcyjnego powoduje wykonanie rotacji bitów.
I, Q, M, T, S, G, R, AI, AQ Adres pierwszego słowa ciągu słów, którego bity mają zostać
przesunięte.
I, Q, M, T, G, R, AI, AQ, Liczba miejsc (bitów), o które mają zostać przesunięte bity danego
stała
słowa (ciągu słów).
sygnał, brak sygnału
Sygnał wyjściowy, który pojawia się po dokonaniu rotacji.
I, Q, M, T, SA, SB, SC, G, Adres pierwszego słowa lub ciągu słów, otrzymanego po rotacji
R, AI, AQ
bitów słowa adresowanego przez parametr IN.

powoduje następuje zapisanie do wyjściowego ciągu bitów%R0002 wyniku wykonania operacji
przesunięcia ciągu bitów%R0001 w prawo, w obiegu zamkniętym, o 3 bity. Wynik funkcji
zapisywany jest do ciągu wyjściowego%R0002. W wyniku działania funkcji, wejściowy ciąg
bitów%R0001 nie ulega zmianie. Jeżeli adresy parametru IN i Q będą takie same, wejściowy ciąg
bitów zostanie zmieniony.
%I0001
1
%R0001
+00003

12-10

IN Q
MSB

%R0001

1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

%R0002

%R0002 after
%I0001 is set

1 1 0 0 0 0 0 0 0 0 0 0 0

1 1 1

Sprawdzanie wartości bitu
Funkcja Bit Test (Sprawdzanie wartości bitu) jest stosowana do określenia wartości (0 lub 1)
jednego z bitów słowa bitowego, po doprowadzeniu do bloku funkcyjnego sygnału wejściowego.
Wynik testu zostaje zapisany jako parametr Q.
Jego wartość jest ustawiana zgodnie z wartością wyszczególnionego bitu sprawdzanego słowa.
Parametr BIT może być również zmienną, co umożliwia sprawdzenie różnych bitów danego słowa
bitowego za pomocą tego samego bloku funkcyjnego. Jeśli wartość parametru BIT przekracza
dopuszczalny zakres (1 &amp; lt; BIT &amp; lt; [16*długość]), wartość parametru wyjściowego jest ustawiana na
0.
Powyższa funkcja może dokonać sprawdzenia wartości bitu w zakresie od 1 do 256 słów
bitowych, czyli z ciągu liczącego maksymalnie 16*256 bitów.
BITTEST
Bit to be tested
Bit number of IN

Parametry funkcji BitTest
powoduje wykonanie sprawdzania wartości.

I, Q, M, T, S, G, R, AI, AQ Adres pierwszego słowa ciągu słów, na którym ma zostać wykonana
operacja.

I, Q, M, T, G, R, AI, AQ,
stała

Numer bitu słowa IN, którego wartość ma zostać określona.
Zakres wartości to 1 &amp; lt; BIT &amp; lt; 16*LEN.

Wartość parametru Q zostaje ustawiona na 1, gdy wartość
testowanego bitu również wynosi 1.

powoduje sprawdzenie bitu, którego położenie określone jest za pomocą zmiennej PICKBIT. Bit
ten należy do ciągu wejściowego PRD_CDE. Jeżeli jego wartość jest równa 1, następuje wysłanie
sygnału wyjściowego Q oraz ustawienie zmiennej przekaźnika%Q0001 na 1.
%I0001

PRD_CDE
PICKBIT

IN Q

%Q0001
()

12-11

Ustawianie bitu, Zerowanie bitu
Funkcja Bit Set (Ustawianie Bitu) jest stosowana do ustawiania wartości określonego bitu ciągu
bitowego na 1. Funkcja Bit Clear (Zerowanie Bitu) jest stosowana do ustawiania wartości
określonego bitu ciągu bitowego na 0.
Każde doprowadzenie sygnału wejściowego powoduje wykonanie operacji na określonym bicie.
Parametr BIT może być również zmienną, co umożliwia ustawienie różnych bitów danego słowa
bitowego za pomocą tego samego bloku funkcyjnego.
bitowych, czyli z ciągu liczącego maksymalnie 16*256 bitów. Jeśli wartość parametru BIT
przekracza dopuszczalny zakres (1 &amp; lt; BIT &amp; lt; [16*LEN]), sygnał wyjściowy OK. nie jest wysyłany.
Wartość zmiennej OK ustawiana jest wtedy na 0.
BIT SET
First word
powoduje wykonanie operacji ustawiania wartości.

I, Q, M, T, SA, SB, Adres pierwszego słowa ciągu słów, na którym ma zostać wykonana
SC, G, R, AI, AQ operacja.

I, Q, M, T, G, R, AI, Numer bitu słowa IN, którego wartość ma zostać ustawiona na 1 lub 0.
sygnał, brak
Sygnał wyjściowy, pojawiający się zawsze jeżeli po paramet BIT ma
poprawną wartość oraz doprowadzony zostanie sygnał wejściowy.

powoduje ustawienie 12 bitu na 1, w ciągu bitów, którego początek wskazywany jest przez adres
%R0040.
%I0001
1

%R0040
00012

12-12

Funkcja Masked Compare (Porównanie z maskowaniem) porównuje zawartość dwóch różnych
ciągów bitów. Pozwala na maskowanie wybranych bitów. Ciąg wejściowy 1 może zawierać stan
wyjść, na przykład cewek lub starterów silników. Ciąg wejściowy 2 może zawierać sygnał
wejściowy sprzężenia zwrotnego informujący o ich stanie, wysyłany przez przełączniki graniczne
lub styki.
MASK
COMP
IN1 MC

Miscompare

IN2 Q

M

Bit number of last compare

Bit string mask
Bit number

BN

Gdy do wejścia bloku dopłynie sygnał, rozpocznie się porównywanie bitów pierwszego
zdefiniowanego ciągu bitów IN1 z odpowiednimi bitami drugiego ciągu IN2. Porównywanie trwa
do czasu, aż zostanie wykryta różnica lub do osiągnięcia ostatniego bitu.
Parametr wejściowy BIT wykorzystywany jest do zapamiętywania numeru bitu, od którego należy
rozpocząć następne szukanie (0 oznacza pierwszy bit ciągu). Parametr wyjściowy BN
wykorzystywany jest do zapamiętywania numeru ostatnio porównywanego bitu (1 oznacza
pierwszy bit ciągu). Jeśli BN i BIT zostanie przypisany ten sam adres, kolejna operacja
porównywania rozpocznie się na kolejnej pozycji po wykrytej niezgodności stanu bitów.
Jeżeli następne szukanie ma być rozpoczęte w innym miejscu, można wprowadzić inne wartości
dla BIT i BN. Jeżeli wartość parametru BIT jest większa od długości ciągu, przed rozpoczęciem
następnego porównywania wartość BN ustawiana jest na 0.

Parametry funkcji Porównanie z maskowaniem
M
MC
Q
BN
length

Sygnał wejściowy. Gdy do bloku funkcyjnego dopływa
sygnał, wykonywana jest operacja logiczna.
R, AI, AQ (wyłącznie dla typu WORD) Adres pierwszego ciągu porównanych bitów.
I, Q, M, T, S, G
R, AI, AQ (wyłącznie dla typu WORD) Adres drugiego ciągu porównanych bitów.
R, AI, AQ(wyłącznie dla typu WORD) Adres maski lub maska. Zostaną sprowadzone tylko te
I, Q, M, T, SS, SB, SC, G, stała
bity IN1 oraz IN2, dla których bity maski mają stan 0.
I, Q M, T, S, G, R, AI, AQ, stała
Adres zmiennej (rejestru), w którym przechowywany jest
numer bitu, od którego zacznie się kolejna operacja
porównywania.
Wyjście informujące o wykryciu niezgodności stanu
porównywanych bitów.
R, AI, AQ(wyłącznie dla typu WORD) Nowa maska. Powstaje przez ustawienie na 1 tego bitu
I, Q, M, T, SA, SB, SC, G
maski, w którym została wykryta niezgodność IN1 z IN2.
I, Q, M, T, S, G, R, AI, AQ
Numer bitu, dla którego odkryto ostatnią niezgodność
wartości.
Liczba słów w ciągu bitów. Maksymalna wartość tej stałej
Stała
może wynosić 4095 dla danych typu WORD i 2047 dla
danych typu DWORD.

12-13

Jeśli wszystkie bity w obydwu porównywanych ciągach bitów IN1 i IN2 są identyczne, parametr
wyjściowy MC jest ustawiany na 0, a wyjście BN na najwyższy numer bitu w porównywanych
ciągach. Następnie porównywanie zostaje przerwane. Przy następnym wywołaniu funkcji
Porównania z maskowaniem, jest ustawiany na 0. Gdy dwa porównywane bity różnią się, funkcja
sprawdza stan odpowiedniego bitu w ciągu bitów M (maska). Jeśli bit maski posiada wartość 1,
porównywanie jest kontynuowane do czasu znalezienia następnych dwóch różniących się bitów
lub do końca słowa bitowego. Jeśli bit maski posiada wartość 0, funkcja wykonuje następujące
operacje:
ustawia stan odpowiedniego bitu maski M na 1,

ustawia wyjście MC (wykryta niezgodność) na 1,

aktualizuje ciąg bitów Q tak, aby był zgodny ze zaktualizowaną maską,

ustawia wartość wyjścia BN (numer bitu) na numer bitu, dla którego wykryto niezgodność,

przerywa porównywanie.

W zamieszczonym poniżej przykładzie blok funkcyjny MASKCOMPWORD wykonywany jest po
pierwszym cyklu pracy sterownika. Porównuje on parametry%M0001-16 z%M0017-32. Maska
określana jest poprzez zmienne%M0033 do%M0048. Wartość podana poprzez%R0001 określa
numer bitu, od którego ma być rozpoczęte porównywanie dwóch ciągów wejściowych.
FST_SCN
| |

1

%Q0001
(S)

%M0001

IN1 MC

%M0017

IN2 Q

%M0033

%M0033

M

%R0001

%R0001

Przed rozpoczęciem wykonywania tego bloku funkcyjnego, wymienione powyżej zmienne mają
następujące wartości:
(IN1) -%M0001 = 6C6Ch =

0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0

(IN2) -%M0017 = 606Fh =

0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1

(M/Q) -%M0033 = 000Fh =

0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

(BIT/BN) -%R0001
(MC) -%Q0001

OFF

=
=

Wartości tych zmiennych po wykonaniu bloku funkcyjnego są następujące:
(IN1) -%M0001

= (bez zmian) 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0

(IN2) -%M0017

= (bez zmian) 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1

(M/Q) -%M0033 (BIT/BN) -%R0001

=8

= ON

0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1

W przykładzie tym funkcja jest wykonywana jednokrotnie, po uruchomieniu programu.

12-14

Szukanie pierwszego bitu o wartości 1
Funkcja BPOS (Szukanie pierwszego bitu o wartości 1) przeszukuje słowo bitowe (lub ciąg słów)
do napotkania pierwszego bitu o wartości równej 1.
Operacja ta jest dokonywana po doprowadzeniu sygnału wejściowego, rozpoczynając od
najniższego bitu pierwszego słowa, adresowanego przez parametr IN. Funkcja kończy działanie,
gdy znaleziony zostaje bit o wartości 1 lub gdy w całym przeszukiwanym obszarze wszystkie bity
mają wartość równa 0.
Pozycja zlokalizowanego bitu jest udostępniana przez parametr POS. Jeśli wszystkie bity
w przeszukiwanym ciągu słów posiadają wartość 0, wartość tego parametru jest ustawiana na 0. Sygnał wyjściowy jest przesyłany
zawsze wtedy, gdy do bloku dopływa sygnał wejściowy.
BIT POS
OK

??
First word

POS

Position of non-zero bit or 0

Parametry funkcji Bit Pos
powoduje rozpoczęcie szukania.

I, Q, M, T, S, G, R, Adres pierwszego słowa ciągu słów, na którym ma zostać wykonana
AI, AQ
operacja.
I, Q M, T, G, R, AI, Pozycja pierwszego znalezionego niezerowego bitu przeszukiwanego
słowa lub 0 w przypadku, gdy w przeszukiwanym obszarze występują tylko
wyzerowane bity.

powoduje rozpoczęcie przeszukiwania ciągu bitów, począwszy od adresu wskazywanego przez
%M0001, aż do momentu, kiedy odnaleziony zostanie bit o wartości 1. Zmienna przekaźnika
%Q0001 jest ustawiana na 1. Jeżeli znaleziony zostanie bit o wartości 1, jego położenie w ciągu
bitów jest zapisywane do zmiennej%AQ001. Jeżeli wartość zmiennej%I0001 jest równa 1, bit
%M0001 jest równy 0, a bit%M0002 jest równy 1, to do zmiennej%AQ001 zapisywana jest
wartość 2.
%I0001

%M0001

Astor Sp. - Autoryzowany Dystrybutor GE Fanuc

%Q0001
1

%AQ0001

12-15

Przemieszczanie bitu o wartości 1
Funkcja BITSEQ (Przemieszczanie bitu o wartości 1) jest wykorzystywana do cyklicznego
przemieszczania w lewo lub w prawo bitu o wartości 1 w pewnym obszarze pamięci, w którym
pozostałe bity mają wartość 0.
Enable BIT SEQ
??

Reset R
Direction DIR
Number

STEP

Starting
Address

ST
Wynik działania funkcji zależy od poprzedniej wartości parametru EN (enable), zgodnie
z zamieszczoną poniżej tabelą.
Sygnał na
wejściu R w
wejściu EN w
bieżącym cyklu poprzednim cyklu bieżącym cyklu

Działanie funkcji BITSEQ

Brak działania.

Przesunięcie bitu o wartości równej 1 o jedno
miejsce w lewo lub w prawo.

1/0

Ustawienie warunków początkowych.

Podanie sygnału na wejście zerujące R ma większy priorytet od podania sygnału na wejście EN i
zawsze powoduje przejście do stanu początkowego bloku. Jeżeli doprowadzany jest sygnał na
wejście zerujące R, bieżący numer bitu jest przepisywany z parametru wejściowego STEP. Jeżeli
parametr STEP nie jest wykorzystywany, wartość 1 przypisywana jest pierwszemu bitowi obszaru
pamięci, na którym działa funkcja BITSEQ. Wartości wszystkich pozostałych bitów tego obszaru
są ustawiane na 0.
Gdy na wejście &quot; enable &quot; podany zostanie sygnał wejściowy i jednocześnie nie jest on podawany
na wejście zerujące Reset, bit posiadający aktualnie wartość 1 zostaje wyzerowany natomiast
wartość 1 przyjmuje bit następny lub poprzedni. (Numer bieżącego bitu jest inkrementowany lub
dekrementowany, w zależności od wartości parametru DIR).
Parametr ST jest parametrem opcjonalnym. Jeżeli nie jest wykorzystywany, funkcja BITSEQ
pracuje zgodnie z przedstawionym powyżej opisem, żadne bity nie są jednak ustawiane czy
zerowane. Funkcja BITSEQ w takim przypadku powoduje cykliczne przemieszczanie bieżącego
numeru bitu w dopuszczalnym zakresie.

Zapotrzebowanie na pamięć funkcji BITSEQ
Każda funkcja BITSEQ wykorzystuje trzy słowa (rejestry) pamięci typu%R, do zapamiętywania
następujących parametrów:
Słowo 1
słowo 2

Długość obszaru pamięci (w bitach)

słowo 3

12-16

Bieżący numer bitu
słowo sterujące

Słowo sterujące Word 3 zapamiętuje stan wejść i wyjść cyfrowych, powiązanych z danym
blokiem funkcyjnym, zgodnie z przedstawionym poniżej formatem:
15 14 13 12 11 10

Reserved
OK (status output)
EN (enable input)

Parametry funkcji Bit Seq
adres
R

DIR

STEP
Adres pierwszego z trzech rejestrów, w których przechowywany jest
bieżący numer bitu o wartości równej 1, długość wykorzystywanego
obszaru pamięci oraz informacje o ostatnim stanie parametrów.
sygnał
Gdy do bloku funkcyjnego dopływa sygnał, a nie dopływał on w
poprzednim cyklu, a jednocześnie na wejście R nie jest podawany
sygnał, funkcja BITSEQ wykonuje przemieszczenie bitu o wartości
równej 1 w górę lub w dół.
Podanie sygnału na wejście R powoduje ustawienie warunków
początkowych, tzn. skopiowanie bieżącego numeru bitu o wartości 1
z parametru STEP (lub ustawienie tego numeru na 1 w przypadku
braku parametru STEP), wyzerowanie obszaru pamięci przypisanego
funkcji BITSEQ oraz ustawienie wartości bitu o numerze STEP na 1.
DIR określa kierunek przemieszczania bitu o wartości równej 1. Jeśli
na wejście DIR podawany jest sygnał, bit przemieszczany jest w górę
(bieżący numer rośnie). Jeśli sygnał nie jest podawany, bit
przemieszczany jest w dół (bieżący numer maleje).
I, Q, M, T, G, R, AI, AQ, STEP jest początkowym numerem bitu o wartości równej 1.
stała, brak
I, Q, M, T, SA, SB, SC, Adres pierwszego bitu obszaru pamięci, na którym działa funkcja
G, R, AI, AQ, brak
BITSEQ. Opcjonalny.
W zamieszczonym poniżej przykładzie, funkcja BITSEQ wykorzystuje pamięć o adresie%R0001.
Dane statyczne zapamiętane są w rejestrach%R0010, %R0011 i%R0012. Jeżeli doprowadzany
jest sygnał CLEAR, zresetowanie bloku BITSEQ ustawienie 3 bitu jako bitu bieżącego.
Pierwszych 8 bitów rejestru%R0001 ustawianych jest na 0.
Jeżeli doprowadzony zostanie sygnał NXT_SEQ i nie jest doprowadzany sygnał CLEAR,
następuje ustawienie wartości bitu 3 na 0 oraz ustawienie wartości 1 dla bitu 2 lub 4 (w zależności
od tego, czy doprowadzany jest sygnał wejściowy DIR).
NXT CYC
CLEAR
DIRECT
00003
%R0001

BIT SEQ
R
DIR
ST
%R0010

12-17

W niniejszym punkcie opisano funkcje sterujące wykonaniem programu, umożliwiające zmianę
sposobu jego działania lub wprowadzenie pewnych ograniczeń.
Obsługa określonych wejść/wyjść: DO IO

Wywołanie podprogramu: CALL

Tymczasowe zatrzymanie programu: END

Wykonanie grupy szczebli programu sterującego bez dopływu sygnału. MCR

Przejście do określonego miejsca w programie sterującym: JUMP, LABEL

o Wstawienie komentarza (objaśnienia danego szczebla programu sterującego): COMMENT
Bardziej złożone funkcje sterujące, PID i SVCREQ, są opisane w osobnych rozdziałach
niniejszego podręcznika.

12-18

Do I/O
Blok funkcyjny Do IO przeznaczony jest do natychmiastowego uaktualnienia stanu wybranych
wejść lub wyjść podczas wykonywania programu sterującego, w czasie trwania cyklu pracy
sterownika. Funkcja ta umożliwia dodatkowo uaktualnienie wybranych wejść/wyjść, poza
normalną obsługą wejść i wyjść, wykonywaną odpowiednio na początku i przy końcu każdego
z cykli pracy sterownika.
DO IO

Starting address

ST

Ending address

END
ALT

Funkcja Do IO jest wykonywana do momentu, aż wszystkie wyszczególnione wejścia lub wyjścia
zostaną obsłużone. Po wykonaniu tej funkcji program sterujący przechodzi do kolejnej instrukcji.
Sygnał wyjściowy jest przesyłany zawsze wtedy, gdy do bloku dopływa sygnał wejściowy, o ile
nie wystąpi żaden z następujących przypadków:
Nie wszystkie zmienne wyszczególnionego typu, z zadanego obszaru pamięci, są fizycznie
zrealizowane (np. brakuje modułu wejść lub wyjść, którym przypisane są zmienne
wyszczególnione jako parametry bloku funkcyjnego).

Sterownik Micro nie pozwala na odpowiednią obsługę tymczasowej listy wejść/wyjść,
utworzonej przez tę funkcję.

Obszar pamięci wyszczególniony za pomocą parametrów bloku zawiera moduły, których brak
został zgłoszony w postaci komunikatu alarmowego &quot; Brak modułu wejść/wyjść &quot;.

Korzystanie z funkcji DO IO z modułami dodatkowymi
Funkcja Do IO zawsze poprawnie uaktualnia zadane wejścia/wyjścia, nawet jeżeli adresy
wejść/wyjść zostały pominięte w czasie automatycznego konfigurowania sterownika.
W przypadku automatycznej konfiguracji 14-punktowego sterownika Micro z modułem
dodatkowym wejść/wyjść, pomijane są adresy I0009 do I0016 i Q0009 do Q0016, a adresy
wejść/wyjść pierwszego modułu dodatkowego rozpoczynają się od I0017 i Q0017. Funkcja Do IO
poprawnie uaktualniania te wejścia/wyjścia. W obszarze pamięci adresowanym za pomocą
parametru ALT funkcji Do I/O przechowywanych jest 16 punktów danych. 8 punktów dla modułu
plus 8 punktów dla modułu dodatkowego.

Parametry funkcji Do IO
Enable
Sygnał wejściowy. Gdy do bloku funkcyjnego dopływa sygnał,
wykonywana jest operacja uaktualnienia stanu wejść/wyjść sterownika.
I, Q, AI, AQ
Adres początkowy obsługiwanych wejść/wyjść.
Adres końcowy obsługiwanych wejść/wyjść.
I, Q, M, T, G, R, AI, W przypadku uaktualniania wejść, parametr ten zawiera adres
AQ, brak
początkowy pamięci sterownika, gdzie zapisany ma być stan zbioru
wejść. W przypadku uaktualniania wyjść, parametr ALT określa adres
obszaru w pamięci sterownika, z którego poszczególne wartości mają
zostać skopiowane na odpowiadające im fizyczne wyjścia sterownika.
Jeżeli jako wartość parametru ALT podana zostanie stała, jest ona
ignorowana.
sygnał, brak sygnału Sygnał wyjściowy wysyłany po normalnym zakończeniu cyklu.

12-19

Do I/O

Obsługa wejść za pomocą funkcji Do IO
Gdy do bloku funkcyjnego dopływa sygnał wejściowy i za pomocą parametrów bloku
wyszczególnione są wejścia, których stan ma zostać uaktualniony, przejrzany zostaje zbiór wejść
o adresie początkowym ST i adresie końcowym END. Dalsze działanie funkcji uzależnione jest od
tego, czy w bloku funkcyjnym wykorzystywany jest parametr ALT (adres). Jeśli podano parametr
ALT, uaktualnione zostają wartości zmiennych, rozpoczynając od wyspecyfikowanego za pomocą
parametru ALT adresu (może to być na przykład obszar pamięci przypisany zmiennym typu%M
lub%R), a standardowa pamięć sygnałów wejść dyskretnych nie jest uaktualniana. Rozmiar
parametru ALT mus być taki sam jak rozmiar obsługiwanego typu zmiennej. Jeśli jako parametry
ST i END występują zmienne dyskretne, parametr ALT musi być również zmienną dyskretną.
Jeśli parametr ALT nie występuje, uaktualniona zostaje rzeczywiste wartości zmiennych
przypisanych skanowanym wejściom (tzn. %I lub%AI). Takie zastosowanie funkcji pozwala na
wielokrotne odczytywanie stanu wejść w części cyklu jednostki centralnej, przeznaczonym na
wykonywanie programu sterującego.

Przykłady obsługi wejść za pomocą funkcji Do IO:
W zamieszczonym poniżej przykładzie, po doprowadzeniu sygnału do bloku funkcyjnego,
sterownik odczytuje zmienne%I0001-64 oraz ustawiana na 1 zmienną%Q0001. Kopia
odczytanych wejść umieszczona zostanie w pamięci wewnętrznej, w obszarze od adresach
%M0001 do%M0064. Ponieważ podano parametr ALT obszar pamięci I%1 do I%64 nie jest
uaktualniany. Pozwala to na porównanie bieżących wartości wejść z ich wartościami na początku
cyklu.
%I0001

%Q0001

DO IO
%I0001

ST

%I0064

END

%M0001

Obsługa wyjść za pomocą funkcji Do IO
Gdy do bloku funkcyjnego dopływa sygnał wejściowy, sterownik zapisuje ostatnią wartość wyjść
z obszaru określonego parametrami ST i END do punktów wyjściowych. Jeżeli wyjścia mają być
przepisane do obszaru innego niż%Q lub%AQ, należy podać parametr ALT.

Przykłady obsługi wyjść za pomocą funkcji Do IO:
W zamieszczonym poniżej przykładzie, po doprowadzeniu do funkcji sygnału, sterownik zapisuje
zmienne%R0001 do%R0004 do fizycznych wyjść analogowych%AQ001 do%AQ004 oraz
ustawia wartość zmiennej%Q0001 na 1. Ponieważ podano parametr ALT, nie są modyfikowane
wartości w obszarze pamięci%AQ001-004.
%I0001
DO IO
%AQ001

ST

%AQ004

END

%R0001

%Q0001

W przypadku braku parametru ALT, sterownik zapisałby dodatkowo wartości do obszaru
%AQ001-004.

12-20

Call
Blok funkcyjny CALL umożliwia wywołanie podprogramu w danym miejscu programu
CALL
(subroutine)

Gdy do bloku funkcyjnego CALL dopływa sygnał wejściowy, powoduje on natychmiastowe
wywołanie i wykonanie żądanego podprogramu. Po zakończeniu wykonywania podprogramu,
sygnał powraca do szczebla następującego bezpośrednio po bloku CALL.

Przykład
%T0001

%I0004
%I0006

%I0003

(subroutine)
%I0010

%Q0010

%I0001

12-21

Blok funkcyjny END przerywa wykonanie części logicznej programu sterującego. Program
wykonywany jest począwszy od pierwszego szczebla programu aż do szczebla ostatniego lub do
momentu napotkania funkcji END.
Instrukcja END powoduje bezwarunkowe przerwanie wykonywania programu. Część programu
sterującego, umieszczona po funkcji END jest pomijana.
Funkcja END może być wykorzystana w trakcie uruchamiania programu, ponieważ blokuje ona
wykonywanie części programu sterującego, umieszczonej po tej instrukcji.
W pakiecie do programowania sterowników przewidziany jest element wskazujący koniec części
logicznej programu sterującego: [END OF PROGRAM LOGIC]. Element ten jest
wykorzystywany, jeżeli w programie sterującym nie umieszczono funkcji END.

[ END]

W zamieszczonym poniżej przykładzie, instrukcja END przerywa bieżący cykl.
[ STOP]
12-22

MCR/ End MCR
Blok funkcyjny MCR (Master Control Relay) i odpowiadający mu blok funkcyjny ENDMCR
(End Master Control Relay) wyznaczają początek i koniec fragmentu programu sterującego,
w którym wszystkie szczeble zostaną wykonane bez dopływu sygnału sterującego. Po napotkaniu
funkcji ENDMCR, wznawiane jest normalne wykonywanie programu sterującego. W odróżnieniu
od funkcji Jump, funkcja MCR może przesunąć wykonywanie programu wyłącznie do przodu,
a funkcja ENDMCR musi być umieszczona w programie przed odpowiadającą jej funkcją MCR.

Zagnieżdżanie funkcji MCR
Funkcja MCR może być całkowicie zagnieżdżona w obrębie innej pary funkcji MCR/ENDMCR.
Jednej funkcji ENDMCR może odpowiadać więcej funkcji MCR.
Z funkcją MCR wiązany jest sygnał wejściowy oraz nazwa. Nazwa ta podawana jest ponownie
przy funkcji ENDMCR. Ponieważ funkcja MCR nie ma żądanego parametru wyjściowego, nie
można za nią w szczeblu umieszczać innych elementów.
(name)

Bloki funkcyjne znajdujące się w zakresie działania funkcji MCR są wykonywane bez dopływu
sygnału sterującego, wartość zmiennych przypisanych do przekaźników ustawiana jest na 0.
Funkcja ENDMCR musi być podłączona do szyny sygnału, nie można przed nią w szczeblu
umieszczać żadnych innych elementów. Nazwa funkcji ENDMCR wiąże ją z odpowiednią funkcją
MCR. Ponieważ funkcja ENDMCR nie ma żadnego parametru wyjściowego, nie można za nią
w szczeblu umieszczać innych elementów.
(name)
ENDMCR

12-23

W zamieszczonym poniżej przykładzie, ustawienie zmiennej%I0002 na 1 powoduje
doprowadzenie sygnału do funkcji MCR. Jeżeli aktywna jest funkcja MCR - nawet jeżeli wartość
zmiennej%I0001 jest równa 1 - blok funkcyjny ADD wykonywany jest bez doprowadzania
sygnału sterującego (tzn. nie dodaje on wartości 1 do zmiennej%R0001), a zmienna%Q0001 jest
równa 0.
Jeżeli zmienne%I0003 i%I0004 są równe 1, wartość zmiennej%Q0004 nadal pozostaje
ustawiona na 1.
%I0002

FIRST
MCRN

%I0001

%Q0001

ADD INT
%R0001
IN1 Q

%R0001

IN2

%I0003

%Q0003

%I0004

%Q0004
S

ENDMCRN

12-24

Jump, Label
Blok funkcyjny JUMP powoduje pominięcie fragmentu części logicznej programu sterującego,
zamieszczonego pomiędzy instrukcją JUMP a instrukcją LABEL (etykietą). Gdy do bloku
funkcyjnego JUMP dopływa sygnał wejściowy, wszystkie przekaźniki zawarte we wspomnianym
obszarze zachowują swój pierwotny stan (dotyczy to również takich elementów logicznych, jak
przekaźniki czasowe, liczniki, itp.
Zagnieżdżona forma instrukcji JUMP ma symbol ----- &amp; gt; &amp; gt; LABEL01, gdzie LABEL01 jest nazwą
zagnieżdżonej instrukcji LABEL.
Zagnieżdzoną instrukcję Jump można umieścić w dowolnym miejscu w programie.
Pojedynczej, zagnieżdżanej instrukcji LABEL typu może odpowiadać kilka instrukcji JUMP tego
samego typu. Zagnieżdżana instrukcja JUMP może powodować przejście zarówno w kierunku do
przodu jak i do tyłu programu sterującego.
Nie można w szczeblu umieszczać żadnych elementów po funkcji Jump. Po napotkaniu takiej
instrukcji, sygnał sterujący kierowany jest bezpośrednio do szczebla o zadanej etykiecie.

Aby uniknąć zapętlenia programu sterującego przy użyciu instrukcji skoku w przód i w tył,
z instrukcją skoku w tył musi być związany warunek logiczny, ograniczający ilość skoków.

Label
Blok funkcyjny LABEL określa miejsce docelowe skoku (wywołanego przez funkcję JUMP z tą
samą etykietą). Powoduje on kontynuację normalnego wykonywania programu sterującego
począwszy od tej etykiety. W programie sterującym nie mogą wystąpić dwie takie same etykiety.
Blok funkcyjny Label nie posiada w ogóle parametrów ani symbolu, oprócz samej etykiety, która
jest ciągiem znaków alfanumerycznych.

12-25

W zamieszczonych poniżej przykładach, po doprowadzeniu sygnału sterującego do bloku JUMP
TEST1, jest on dalej kierowany do bloku LABEL TEST1.
Jeżeli idzie o funkcję Jump, wszystkie bloki funkcyjne pomiędzy instrukcjami Jump i Label nie są
wykonywane, i nie jest zmieniana wartość zmiennych przekaźnikowych. W zamieszczonym
poniżej przykładzie, każda zmiana wartości zmiennej%I0001 na 1 powoduje wykonanie instrukcji
JUMP. Ponieważ bloki funkcyjne umieszczone pomiędzy instrukcjami Jump i Label zostają
pominięte, wartość zmiennej%Q0001 nie ulega zmianie (tzn. jeżeli miała ona wartość 1,
pozostawiana jest wartość 1, a jeżeli miała wartość 0, pozostawiana jest wartość 0). To samo
dotyczy rejestra%R0001.
%I0001
&amp; gt; &amp; gt; TEST1
%I0001

%Q0001
ADD
INT
%R0001
&amp; gt; &amp; gt; TEST1

12-26

Comment
Blok funkcyjny Comment (Komentarz) umożliwia wstawienie w dowolnym miejscu programu
komentarza (objaśnienia dla szczebla programu sterującego). Komentarz może zawierać tekst
o rozmiarach do 2048 znaków. Dłuższe komentarze można również wprowadzać z pliku
utworzonego za pomocą dowolnego edytora tekstu, pracującego w systemie MS-DOS.
W programie sterującym ma on następującą formę:

(* COMMENT *)

12-27

Ta grupa funkcji umożliwia realizację operacji przemieszczania danych:
block Move. Funkcja ta zapisuje stałe do siedmiu określonych miejsc w pamięci.

block Clear. Funkcja ta wypełnia zadany obszar pamięci zerami,

shift Register. Funkcja ta przemieszcza jedno lub więcej słów albo bitów danych z zadanego
obszaru do określonego miejsca w pamięci. Dane znajdujące się w tym miejscu są
przemieszczane w inne miejsce w pamięci sterownika,

12-28

move Data. Funkcja ta kopiuje dane jako pojedyncze bity, dzięki czemu nowy adres nie musi
być tego samego typu co adres źródłowy,

communication Request (COMMREQ). Funkcja to umożliwia komunikację jednostki
centralnej z wyspecjalizowanymi modułami systemu, przykładowo z modułami
komunikacyjnymi. W rozdziale zamieszczono opis podstawowego formatu funkcji
COMMREQ. Szczegółowe parametry wymagane do zrealizowania danego zadania
komunikacji są podane w dokumentacji modułów.

Move
Funkcja MOVE służy do przemieszczenia danych (jako pojedynczych bitów) z określonego
miejsca pamięci w inne. Ponieważ dane są przesyłane jako bity, nowy adres nie musi mieć tego
samego typu co adres źródłowy.
Gdy do bloku funkcyjnego dopłynie sygnał wejściowy, dane są kopiowane bit po bicie z miejsca
pamięci określonego przez parametr IN w miejsce określone przez parametr Q. Jeśli dane
przesyłane są pomiędzy różnymi obszarami przypisanymi zmiennym dyskretnym (np. z obszaru
pamięci przypisanego zmiennym typu%I do obszaru przypisanego zmiennym%T), bity
stowarzyszone, (np. sterujące wymuszoną zmianą wartości tych zmiennych), są również
przesyłane. Przesyłane dane nie ulegają zmianie, chyba że zakresy adresów parametrów
źródłowego i docelowego pokrywają się.
Value to be Moved

MOVE
INT
??

Jeżeli ciąg danych typu bit określony przy pomocy parametru Q nie zawiera wszystkich bitów
bajtu, bity stowarzyszone powiązane z tym bajtem (nie mieszczące się w tym ciągu) są ustawiane
na wartość 0 po doprowadzeniu sygnału do funkcji MOVE.
Parametr wejściowy IN może wyrażać adres zmiennej lub być wartością stałą. Jeżeli parametrem
jest wartość stała, w miejscu określonym przez parametr wyjściowy Q zapisywana jest ta stała.
Jeśli przykładowo parametrem wejściowym IN jest stała 4, w pamięci pod adresem Q zapisywana
jest wartość 4. Jeśli parametr LEN ma wartość większą od 1 i parametrem wejściowym IN jest
stała, to zostaje ona skopiowana do pamięci tyle razy, ile wynosi parametr LEN, począwszy od
miejsca zaadresowanego przez parametr Q. Zakresy parametrów IN i Q nie powinny się pokrywać.
Wynik działania funkcji Move zależy od wybranego dla funkcji typu danych, zgodnie z
zamieszczonym poniżej opisem. Przykładowo jeżeli parametrem wejściowym IN jest stała 9,
długość wynosi 4, w pamięci, pod adresem wskazywanym przez Q oraz w trzech dalszych
pozycjach zostanie zapisana wartość 9.

MOVE BOOL
BOOL
MOVE WORD

msb
1 0

lsb

0 1

(Length = 4 bits)

(Length = 4 words)

Sygnał wyjściowy jest przesyłany zawsze, gdy do bloku dopływa sygnał wejściowy.

12-29

Move Data

Parametry funkcji Move Data
Długość

funkcyjnego powoduje wykonanie przemieszczenia.
Liczba bitów, słów (INT) lub słów o podwójnej długości (DINT) do
skopiowania. Parametr LEN to długość parametru IN. Wartość
tego parametru musi wynosić od 1 do 256 dla wszystkich typów,
za wyjątkiem typu BOOL. Jeżeli parametr IN jest stałą a Q jest
typu BOOL, długość musi wynosić od 1 do 16. Jeżeli parametr IN
jest typu BOOL, długość musi wynosić od 1 do 256 bitów.

I, Q, M, T, G, R, AI, AQ, stała
Wyłącznie dla danych typu bit
lub word: S
Dla danych typu real: R, AI, AQ

Wartość stała lub adres zmiennej, która ma zostać
przemieszczona. W przypadku funkcji MOVE BOOL, można
podać dowolną zmienną dyskretną, bez względu na ilość
zajmowanych bitów. Nie mniej jednak, w czasie pracy
wyświetlanych jest 16 bitów, począwszy od zadanego adresu.

Sygnał, brak sygnału

12-30

Po dokonaniu przemieszczenia, wartość określona przez
Dla danych typu bit/word: SA, SB, parametr IN jest kopiowana w miejsce określone przez parametr
S. C.
Q. W przypadku funkcji MOVE BOOL, można podać dowolną
Dla danych typu real: R, AI, AQ zmienną dyskretną, bez względu na ilość zajmowanych bitów. Nie
mniej jednak, w czasie pracy wyświetlanych jest 16 bitów,
począwszy od zadanego adresu.

Block Move
Funkcja BLKMV służy do skopiowania grupy siedmiu stałych wartości do określonego obszaru
pamięci sterownika. Gdy do bloku funkcyjnego dopływa sygnał wejściowy, stałe są kopiowane
w miejsce zaadresowane przez parametr Q (tzn. pierwsza wartość IN1 jest kopiowana w miejsce
określone przez Q, a następne sześć wartości w kolejne miejsca pamięci). Sygnał wyjściowy jest
przesyłany zawsze wtedy, gdy do bloku dopływa sygnał wejściowy.
Constant value

BLKMV
INT
IN3

IN4

IN5

Constant value
IN6
IN7

OK
Parametry funkcji Block Move
IN1 do IN7

Wartości stałe, które mają zostać skopiowane.
I, Q, M, T, G, R, AI, AQ Q określa miejsce w pamięci, w którym ma być umieszczona
Dla danych typu Word: SA, pierwsza z kopiowanych wartości. Do miejsca określonego
SB, SC
przez parametr Q kopiowana jest wartość IN1.
Dla danych typu Real: R,
AI, AQ

W zamieszczonym poniżej przykładzie, po uruchomieniu programu, funkcja BLKMV kopiuje
siedem wartości stałych do obszaru pamięci, określonego przez adresy%R0010 do%R0016.
-32768

+00002

-00002

-00001

IN6

+00001

%R010

+00001

12-31

Zerowanie bloku pamięci (BLKCLR)
Funkcja BLKCLR (Zerowanie bloku pamięci) służy do wyzerowania określonego bloku pamięci
sterownika. Gdy do bloku funkcyjnego dopływa sygnał wejściowy, wszystkie bity obszaru
pamięci o długości określonej przez LEN, rozpoczynającego się od adresu zadanego przez
parametr IN, zostają wyzerowane. Jeśli ma zostać wyzerowany obszar pamięci przypisany
zmiennym dyskretnym (typu%I, %Q, %M, %G lub%T), bity stowarzyszone, sterujące
wymuszoną zmianą wartości tych zmiennych, zostaną również wyzerowane.
BLKCLR
Word to be cleared

Parametry funkcji BLKCLR
funkcyjnego powoduje wyzerowanie zadanego obszaru pamięci.

I, Q, M, T, SA, SB, SC, Adres pierwszego słowa pamięci, które ma zostać wyzerowane.
Długość parametru IN musi mieć wartość z zakresu 1 do 256 słów.

Długość
Liczba słów, które zostaną wyzerowane. Jest to długość parametru
IN.
W przykładzie tym 32 słowa pamięci typu%Q (512 punktów), począwszy od adresu%Q0001 są
zerowane podczas rozruchu sterownika. Parametr%Q jest zmienną typu WORD o długości 32.
12-32

Rejestr przemieszczający (SHFR)
Blok funkcyjny SHFR (Rejestr przemieszczający) służy do wstawienia jednego bitu (lub słowa
bitowego) w określone miejsce w pamięci sterownika, przesunięcie zawartości obszaru pamięci
rozpoczynającego się w tym miejscu (posiadającego określoną długość) o jeden bit (lub słowo
bitowe) w lewo oraz przemieszczenie bitu (lub słowa bitowego), &quot; wypchniętego &quot; z ostatniego
miejsca obszaru pamięci, w inne miejsce. Przykładowo, można wstawić jedno słowo do obszaru
pamięci o długości pięciu słów. W wyniku takiej operacji, jedno słowo danych zostanie
&quot; wypchnięte &quot; poza ten obszar pamięci.
Wejście zerujące R powoduje wyzerowanie wszystkich bitów lub słów rejestru
przemieszczającego i ma wyższy priorytet w stosunku do wejścia enable. Jeżeli aktywny jest
sygnał reset, obszar pamięci, którego początek zawiera parametr ST (adres pierwszego bitu lub
słowa bitowego rejestru) o długości LEN (długość rejestru w bitach lub słowach bitowych) jest
wypełniany zerami.
Po doprowadzeniu do bloku funkcyjnego sygnału wejściowego, jeśli równocześnie na wejście
reset nie jest podawany sygnał, każdy bit lub słowo bitowe rejestru przemieszczane są w lewo.
Ostatni element rejestru przemieszczany jest w miejsce określane przez Q. Najbardziej znaczący
element rejestru IN przemieszczany jest w wolne miejsce, którego adres podaje parametr ST.
Zawartość rejestru przemieszczającego jest dostępna z poziomu programu sterującego (jego bity
mogą być adresowane przez inne bloki funkcyjne).
SHFR
Reset

Value to be shifted

(first bit or word)

Parametry funkcji SHFR
Ok.
Gdy do bloku funkcyjnego dopływa sygnał i jednocześnie na wejście
R nie jest podawany sygnał, rejestr przemieszczający wykonuje
operację przemieszczenia.
1 do 256 bitów lub Ilość przemieszczanych rejestrów wyrażona w bitach lub słowach.
słów
Parametr ten określa długość parametru wejściowego IN.
Jeżeli na wejście R doprowadzany jest sygnał, rejestr wskazywany
przez ST wypełniany jest zerami.
I, Q M, T, S, G, R, AI, IN określa wartość, która ma zostać skopiowana do pierwszego bitu
lub słowa bitowego rejestru przemieszczającego. W przypadku funkcji
SHFR BIT, można podać dowolną zmienną dyskretną, bez względu
na ilość zajmowanych bitów.
I, Q, M, T, SA, SB, ST określa adres pierwszego bitu lub słowa bitowego rejestru
SC, G, R, AI, AQ przemieszczającego. W przypadku funkcji SHFR BIT, można podać
dowolną zmienną dyskretną, bez względu na ilość zajmowanych
bitów.
funkcyjnego sygnału wejściowego.
I, Q, M, T, SA, SB, Q określa adres, pod który ma zostać skopiowany bit lub słowo bitowe
SC, G, R, AI, AQ &quot; wypchnięte &quot; z rejestru przemieszczającego po wykonaniu operacji.
W przypadku funkcji SHFR BIT, można podać dowolną zmienną
dyskretną, bez względu na ilość zajmowanych bitów.

OSTRZEŻENIE: Nie jest zalecane pokrywanie się adresów parametrów wejściowych
i wyjściowych w przypadku funkcji operujących na ciągach wielu słów bitowych, ponieważ może
to być przyczyną nieprawidłowego działania funkcji.
12-33

Rejestr przemieszczający (SHFR)

Przykład 1:
W zamieszczonym poniżej przykładzie, rejestr przemieszczający wykorzystuje pamięć od
%R0001 do%R0100. Parametr%R0001 jest traktowany jak zmienna typu WORD o długości 100.
Jeżeli aktywny jest sygnał zerowania CLEAR, słowa rejestru przemieszczającego są zerowane.
Jeżeli wartość zmiennej NXT_CYC jest równa 1, a sygnał CLEAR nie jest doprowadzany, słowo
z obszaru adresowanego przez%Q0033 jest przemieszczany do rejestru przemieszczającego
o adresie%R0001. Słowo &quot; wypchnięte &quot; z rejestru przemieszczającego, o adresie%R0100, jest
zapisywane w obszarze o adresie%M0005.
NXT_CYC
| |
100
R

%Q0033

%M0005

IN

%R0001

Przykład 2:
W zamieszczonym poniżej przykładzie, rejestr przemieszczający wykorzystuje pamięć od
%R0001 do%R0100. (Parametr%M0001 jest zmienną typu Boolean o długości 100). Jeżeli
aktywny jest sygnał zerowania CLEAR, funkcja SHFR wypełnia zerami obszar pamięci
ograniczony adresami%M0001 do%M0100.
Jeżeli wartość zmiennej NXT_CYC jest równa 1 oraz nie jest doprowadzany sygnał CLEAR,
funkcja SHFR przemieszcza dane bit po bicie, z%M0001 do%M0100. Bit zmiennej%Q0033 jest
przemieszczany do%M0001, natomiast bit &quot; wypchnięty &quot; jest zapisywany do%M0200.
SHFR BIT
R

%Q0033

12-34

%M0200

IN

%M0001

Żądanie komunikacji (COMMREQ)
Funkcja Żądanie komunikacji (COMMREQ) przeznaczona jest do komunikacji z modułami
specjalistycznymi. Zdefiniowanych jest szereg różnych typów funkcji COMMREQ. Informacja
podana w tym punkcie zapoznaje użytkownika z podstawowym formatem funkcji COMMREQ.
Gdy do bloku funkcyjnego dopłynie sygnał wejściowy, realizowana jest odpowiednia komenda
komunikacyjna. Po wywołaniu funkcji COMMREQ, wykonanie programu może zostać albo
zawieszone albo wstrzymane na okres nie dłuższy niż określony przy pomocy odpowiedniego
parametru wejściowego, po czym wykonywania jest normalnie wznawiane.
COMM
First word of command block

IN FT

Location
Task identifier

SYSID
TASK

Parametry funkcji COMMREQ
R, AI, AQ

SYSID

I, Q, M, T, G, R,
Numer kasety (wyższy bajt) i numer gniazda (niższy bajt), w którym jest
zainstalowany port przez który ma zostać nawiązana komunikacja, lub
specjalizowany moduł, który ma zostać obsłużony (np. moduł szybkiego
licznika HSC).

R, AI, AQ, stała

Parametr TASK zawiera ID Procesu docelowego urządzenia.

FT

powoduje wykonanie bloku COMMREQ.
Adres pierwszego bitu słowa bloku danych sterujących.

Na wejście FT podawany jest sygnał, gdy jednostce centralnej nie udaje
się nawiązać komunikacji z określonym modułem.
1. Pod wyszczególnionym adresem nie ma żadnego modułu. Zadanie zlecane wyszczególnionemu modułowi nie może być
przez ten moduł wykonane. Długość przesłanego bloku danych wynosi 0. Adres statusu komunikacji (w bloku danych) nie istnieje.

12-35

Blok polecenia rozpoczyna się od adresu określonego parametrem IN. Długość bloku danych
sterujących zależy od ilości danych wysyłanych do modułu wyspecjalizowanego.
Blok poleceń zawiera dane, które mają być przesłane do innego urządzenia oraz informacje
związane z wykonywaniem funkcji COMMREQ. Blok poleceń posiada następującą strukturę:

adres

Długość (w słowach bitowych)

adres + 1

Znacznik trybu pracy (WAIT lub
NOWAIT)

adres + 2

Rodzaj pamięci w której
przechowywany jest status
komunikacji

adres + 3

Obszar pamięci w której
przechowywany jest wskaźnik
status komunikacji

adres + 4

Maksymalny czas oczekiwania
jednostki centralnej na odpowiedź

adres + 5

Maksymalny czas przeznaczony
na komunikację

adres + 6 do
adres + 133

Blok danych

W zamieszczonym poniżej przykładzie, jeżeli wartość parametru%M0020 jest równa 1, do
zadania komunikacyjnego 1 w urządzeniu umieszczonym w kasecie 1, gnieździe 2 sterownika
wysyłany jest blok sterujący, którego początek określa parametr%R0016. W przypadku
wystąpienia błędu w czasie wykonywania funkcji COMMREQ, wartość zmiennej%Q0100
ustawiana jest na 1.
%M0020
| |
%R0016

REQ
0102

12-36

00001

%Q0100
Funkcje te umożliwiają konwersję danych. Konieczność taka wynika z faktu, że wiele bloków
funkcyjnych musi operować na danych tego samego typu (jak np. funkcje matematyczne).
Konwersja na kod BCD

Konwersja na dane typu INT

Konwersja na dane typu DINT

Konwersja na dane typu REAL

Konwersja na dane typu WORD

Zaokrąglenie liczby rzeczywistej poprzez odrzucenie części dziesiętnej (TRUN).

12-37

Konwersja danych typu liczba całkowita ze znakiem na kod BCD
Blok funkcyjny -- &amp; gt; BCD-4 stosowany jest do zastąpienia danych zapisanych jako liczba całkowita
ze znakiem (typ INT) przez równoważną liczbę zapisaną w kodzie BCD-4 (liczba dziesiętna
zapisana za pomocą cyfr zakodowanych w układzie dwójkowym). Dane wejściowe nie ulegają
zmianie wskutek działania tej funkcji. Dane wyjściowe tej funkcji mogą być wykorzystywane
bezpośrednio jako wejście innej funkcji programu.
Konwersja danych na system zapisu BCD może być przeprowadzona np. w celu podłączenia
diodowego wyświetlacza cyfr sterowanego w kodzie BCD lub w celu przesłania kodów
sterujących do niektórych urządzeń zewnętrznych, jak np. do licznika wysokiej częstotliwości.
Gdy do bloku funkcyjnego dopływa sygnał wejściowy, przeprowadzana jest konwersja zadanej
poprzez parametr IN wartości, a jej wynik jest dostępny poprzez parametr Q. Sygnał wyjściowy
jest przesyłany, gdy do bloku funkcyjnego dopłynie sygnał wyjściowy, chyba że po dokonaniu
konwersji wartość parametru Q przekracza zakres od 0 do 9999.
INT TO
BCD4

Value to be converted

Parametry funkcji INT TO BCD4
funkcyjnego powoduje wykonanie konwersji.

I, Q, M, T, G, R, AI, AQ, Wartość stała lub adres zmiennej, której wartość podlega
konwersji na system zapisu BCD-4.

OK.

I, Q M, T, G, R, AI, AQ

Sygnał wyjściowy, wysyłany po poprawnym wykonaniu funkcji.
Wartość parametru wejściowego IN po dokonaniu konwersji.

W zamieszczonym poniżej przykładzie, podanie jedynki logicznej na%I0002, jeżeli nie wystąpiły
żadne błędy, parametry wejściowe z obszaru%I0017 do%I0032 są konwertowane na liczby
w kodzie BCD, a wynik zapisywany jest w pamięci ograniczonej adresami%Q0033 do%Q0048.
Poprawność wykonania konwersji jest sprawdzana za pomocą przekaźnika%Q1432.
%I0002

%Q1432
BCD4

%I0017

12-38

IN Q

%Q0033

Konwersja danych na liczbę całkowitą ze znakiem
Blok funkcyjny -- &amp; gt; INT stosowany jest do konwersji danych typu BCD-4 lub REAL na
równoważną liczbę całkowitą ze znakiem (INT). Dane wejściowe nie ulegają zmianie wskutek
działania tej funkcji. Dane wyjściowe tej funkcji mogą być wykorzystywane bezpośrednio jako
wejście innej funkcji programu.
Gdy do bloku funkcyjnego dopływa sygnał wejściowy, zostaje dokonana konwersja zadanej
jest przesyłany, gdy do bloku funkcyjnego dopłynie sygnał wyjściowy, chyba że dane przekraczają
zakres wartości dopuszczalnych.
BCD4TO
Parametry funkcji -- &amp; gt; INT
Dla danych typu BCD-4: I, Q, M, Wartość stała albo adres zmiennej typu BCD lub REAL, której
T, G, R, AI, AQ, stała
wartość podlega konwersji na typ INT.
Dla danych typu REAL: R, AI,
Sygnał wyjściowy, pojawiający się po doprowadzeniu do
bloku funkcyjnego sygnału wejściowego i dokonania
konwersji bez wystąpienia przekroczenia dozwolonego
zakresu wartości.

Dla danych typu BCD-4: I, Q M, Wartość parametru wejściowego IN po dokonaniu konwersji.
T, G, R, AI, AQ
W zamieszczonym poniżej przykładzie, podanie jedynki logicznej na%I0002, powoduje
konwersję parametru wejściowego PARTS typu BCD-4 na liczbę całkowita ze znakiem, która
następnie jest przesyłana do funkcji ADD i dodawana do parametru RUNNING typu liczba
całkowita ze znakiem. Suma tych dwóch liczb jest zwracana przez funkcję ADD jako parametr
TOTAL.
%I0002
PARTS

INT
%R0001

%R0001
RUNNING

TOTAL

12-39

Konwersja danych na liczbę całkowitą podwójnej precyzji ze znakiem
Funkcja -- &amp; gt; DINT umożliwia konwersję danych typu REAL na dane typu DINT. Dane wejściowe
nie ulegają zmianie wskutek działania tej funkcji. Dane wyjściowe tej funkcji mogą być
wykorzystywane bezpośrednio jako wejście innej funkcji programu.
jest przesyłany, gdy do bloku funkcyjnego dopłynie sygnał wyjściowy, chyba że wartość liczby
rzeczywistej przekracza zakres wartości dopuszczalnych.
REALTO
Przy konwersji danych typu Real na dane typu DINT może nastąpić utrata dokładności, ponieważ
typ Real posiada 24 znaczące bity.

I, Q, M, T, G, R, AI, AQ, stała

Wartość stała lub adres zmiennej reprezentujących wartość
do konwersji.

bloku funkcyjnego sygnału wejściowego i dokonaniu
konwersji, o ile liczba rzeczywista mieści się w dozwolonym
zakresie wartości.

W zamieszczonym poniżej przykładzie, podanie jedynki logicznej na%I0002 powoduje konwersję
parametru wejściowego%I0017 na liczbę całkowita podwójnej precyzji ze znakiem i zapisanie
wyniku w parametrze wyjściowym%R0001. Wartość parametru wyjściowego%Q1001 jest
zawsze ustawiana na 1, pod warunkiem pomyślnego wykonania funkcji.
%I0002

%I0017

12-40

%Q1001

DINT
IN Q

%R0001

Konwersja danych na liczbę rzeczywistą
Blok funkcyjny -- &amp; gt; REAL stosowany jest do konwersji danych na równoważną liczbę rzeczywistą
(REAL). Dane wejściowe nie ulegają zmianie wskutek działania tej funkcji. Dane wyjściowe tej
funkcji mogą być wykorzystywane bezpośrednio jako wejście innej funkcji programu.
konwersji wynik nie mieści się w dopuszczalnym zakresie wartości.
Przy konwersji danych typu DINT na dane typu REAL może nastąpić utrata dokładności,
ponieważ liczba znaczących bitów jest redukowana do 24.
Parametry funkcji -- &amp; gt; Real
R, AI, AQ, stała
Wartość stała lub adres zmiennej, której wartość podlega
Wyłącznie dla danych typu konwersji na typ REAL.
INT: I, Q, M, T, G

W zamieszczonym poniżej przykładzie, wartość parametru wejściowego IN wynosi 678. Zmienna
%R0016, w której przechowywany jest wynik, ma wartość 678. 000.
%I0002

%T0001

REAL
IN Q

%R0016

12-41

Konwersja danych typu Real na dane typu Word
Blok funkcyjny -- &amp; gt; WORD stosowany jest do konwersji danych typu REAL na równoważną
liczbę typu WORD.
jest przesyłany, gdy do bloku funkcyjnego dopłynie sygnał wejściowy, chyba że po dokonaniu
konwersji wartość parametru Q przekracza zakres od 0 do FFFFh.
Parametry funkcji -- &amp; gt; Word
funkcyjnego powoduje wykonanie konwersji.
Wartość stała lub adres zmiennej, której wartość podlega konwersji
na typ WORD.
Przykład
%I0002

RANGE
WORD
%Q1001

%R0001

IN Q

%R0003 HI_LIM
LOW_LIM

%R0003

12-42

L1 Q
L2
TRUNC
Funkcja TRUNC kopiuje liczbę typu Real a następnie zaokrągla ją do liczby typu INT lub DINT
poprzez odrzucenie części dziesiętnej. Dane wejściowe nie ulegają zmianie wskutek działania tej
funkcji. Dane wyjściowe tej funkcji mogą być wykorzystywane bezpośrednio jako wejście innej
funkcji programu.
konwersji wynik nie mieści się w dopuszczalnym zakresie wartości lub parametr IN nie jest liczbą.
Parametry funkcji TRUNC
powoduje wykonanie konwersji.

Wartość stała lub adres zmiennej, której wartość ma zostać
zaokrąglona.
Sygnał wyjściowy, wysyłany gdy działanie zostało poprawnie
wykonane, jego wynik mieści się w dopuszczalnym przedziale
wartości a parametr wejściowy IN ma wartość różną od NaN
(nieokreślony).

Wartość parametru wejściowego IN po dokonaniu konwersji.
Wyłącznie dla typu INT:
I, Q, M, T, G

W zamieszczonym poniżej przykładzie następuje zaokrąglenie wyświetlanej stałej, a wynik równy
562 jest zwracany poprzez zmienną%T0001.
%I0002

CONST IN
5. 62987E+02

OK

%T0001

12-43

Funkcje matematyczne i numeryczne
W punkcie tym opisano funkcje matematyczne i numeryczne, dostępne w zestawie instrukcji
sterowników.
Standardowe funkcje matematyczne: Dodawanie, odejmowanie, mnożenie, dzielenie
Konwersja na stopnie
Konwersja na radiany

Konwersja danych w funkcjach matematycznych i numerycznych
Przed rozpoczęciem przetwarzania danych przez funkcje matematyczne i numeryczne, program
może być zmuszony do przeprowadzenia operacji konwersji typów danych. Przy opisie każdej
z funkcji podane są informacje o żądanym typie danych. Sposób konwersji danych opisano
w punkcie Funkcje do konwersji typów.

12-44

Dodawanie, odejmowanie, mnożenie, dzielenie
Standardowe funkcje matematyczne to dodawanie, odejmowanie, mnożenie i dzielenie. Funkcja
DIV nie zaokrągla wyniku do najbliższej liczby całkowitej, ale odrzuca część dziesiętną.
(Przykładowo, 24 DIV 5 = 4. )
Po doprowadzeniu sygnału do funkcji, wykonywane jest odpowiednie działanie matematyczne na
dwóch liczbach IN1 i IN2, które są parametrami wejściowymi bloku funkcyjnego. Parametry IN1,
IN2 oraz parametr wyjściowy Q muszą być tego samego typu.
ADDINT

Funkcje matematyczne przesyłają sygnał wyjściowy OK, pod warunkiem, ze nie nastąpi
przekroczenie dopuszczalnego zakresu wartości. W przypadku wystąpienia przekroczenia
dopuszczalnego zakresu wartości, wynik jest największa liczbą z odpowiednim znakiem, a sygnał
wyjściowy nie jest przesyłany.

Parametry standardowych funkcji matematycznych
Wszystkie typy danych:
Wyłącznie dla danych
typu INT: I, Q, M, T, G

Wartość stała lub adres zmiennej, będącej pierwszym parametrem
wykonywanego działania matematycznego. (Parametr IN1 znajduje się
z lewej strony działania matematycznego, jak na przykład w IN1 + IN2.
Wartość stałych w operacjach na zmiennych typu całkowitego podwójnej
precyzji ze znakiem nie może przekraczać wartości maksymalnej DINT.

Wartość stała lub adres zmiennej, będącej drugim parametrem
wykonywanego działania matematycznego. (Parametr IN2 znajduje się
sygnał, brak sygnału Sygnał wyjściowy, wysyłany gdy działanie zostało poprawnie wykonane,
jego wynik mieści się w dopuszczalnym przedziale wartości i nie ma
próby wykonania działania niewykonalnego.
Wszystkie typy danych: Wynik działania.
Typy danych standardowych funkcji matematycznych
Standardowe funkcje matematyczne wykonują operacje na następujących typach danych:
Liczba całkowita ze znakiem
(16 bitowa)

Liczba całkowita podwójnej
precyzji ze znakiem (32
bitowa).

Liczba rzeczywista

Parametry wejściowe i wyjściowe muszą być takie same (16 bitów lub 32 bity).
12-45

Dodawanie, odejmowanie, mnożenie, dzielenie

Przekroczenie zakresu wartości
Należy zwrócić uwagę, aby przy korzystaniu z funkcji MUL i DIV nie nastąpiło przekroczenie
dopuszczalnego zakresu wartości.
Przy konwertowaniu typu INT na DINT należy pamiętać, że jednostka centralna korzysta ze
standardowego formatu liczby: dopełnienia do dwóch ze znakiem. Należy sprawdzić znak
młodszego słowa 16 bitowego i zastosować go do drugiego słowa 16 bitowego. Jeżeli najbardziej
znaczący bit w 16 bitowym słowie INT jest równy 0 (dodatni), należy przesunąć 0 do drugiego
słowa. Jeżeli najbardziej znaczący bit w 16 bitowym słowie INT jest równy -1 (ujemny), należy
przesunąć 1 do drugiego słowa.
Konwersja typu DINT na INT jest łatwiejsza, ponieważ młodsze, 16 bitowe słowo jest częścią
INT 32 bitowego słowa DINT. Starsze 16 bitów lub drugie słowo, powinny być równe 0 (wartość
dodatnia) lub -1 (wartość ujemna), a jeżeli tak nie jest, liczba jest zbyt duża aby można ja było
przekonwertować na liczbę 16 bitową.

W zamieszczonym poniżej przykładzie funkcje dodawania i odejmowania wykorzystywane są do
zliczania przedmiotów zgromadzonych w magazynie. Każde wprowadzenie części do magazynu
powoduje przepływ sygnału przez przekaźnik%I0004 do przekaźnika uaktywnianego zboczem
narastającym sygnału%M0001. Przekaźnik%M0001 powoduje wywołanie funkcji ADD, która
dodaje wartość (stałą) 1 do bieżącej sumy, przechowywanej w zmiennej%R0201.
Każde usunięcie części z magazynu powoduje przepływ sygnału przez przekaźnik%I0005 do
przekaźnika uaktywnianego zboczem narastającym sygnału%M0002. Przekaźnik%M0002
powoduje wywołanie funkcji SUB, która odejmuje wartość (stałą) 1 do bieżący sumy,
przechowywanej w zmiennej%R0201.
%I0004

%M0001

%I0005

%M0002

%M0001

%R0201
+00001
%M0002

ADDINT
SUBINT

%R0201

12-46

%R0201

IN2

%R0201

Funkcja Dzielenie modulo (MOD) dzieli jedną liczbę przez drugą, a zwraca resztę z dzielenia.
Znak liczby wynikowej jest zawsze taki sam jak znak parametru wejściowego IN1. Parametry
funkcji MOD musza mieć taki sam typ:
Doprowadzenie sygnału do bloku funkcyjnego powoduje podzielenie parametru wejściowego IN1
przez IN2. Obydwa parametry wejściowe muszą być takiego samego typu. Wynik (parametr Q)
jest obliczany według podanego poniżej wzoru:
Q = IN1-((IN1 DIV I2) * I2)

Wynikiem dzielenia jest liczba całkowita. Parametr wyjściowy Q reprezentuje ten sam typ danych,
co parametry wejściowe IN1 oraz IN2.
Sygnał wyjściowy jest przesyłany zawsze po otrzymaniu sygnału wejściowego, chyba że nastąpi
próba dzielenia przez zero. W takim wypadku sygnał wyjściowy nie jest przesyłany.
MODINT

Parametry funkcji MOD
IN1 - wartość stała lub adres zmiennej do podzielenia przez IN2.
Wartość stałych w operacjach na zmiennych typu całkowitego
podwójnej precyzji ze znakiem nie może przekraczać wartości
minimalnej/ maksymalnej. typu DINT.

IN2 - wartość stała lub adres zmiennej, będącej dzielnikiem.
minimalnej/ maksymalnej typu DINT.

funkcyjnego powoduje wykonanie operacji logicznej.

wykonane, a jego wynik mieści się w dopuszczalnym przedziale
Wynik działania - reszta z dzielenia IN1 przez IN2.

W zamieszczonym poniżej przykładzie, zawsze, gdy zmienna%I0001 jest równa 1, reszta
z dzielenia zmiennej BOXES przez Pallets zapisywana jest do zmiennej NT_FULL.
%I0001
PALLETS
-00017
BOXES
+0006

NT_FULL
-0005

12-47

Funkcja skalowanie (SCALE) skaluje parametr wejściowy i umieszcza wynik w parametrze
wyjściowym. W przypadku danych typu INT, wszystkie parametry muszą być typu INT.
W przypadku danych typu WORD, wszystkie parametry muszą być typu WORD (bez znaku).
SCALE
Max. Input Value

IHI OUT

Min. Input Value

ILO

Max. Output Value

OHI

Min, Output Value

OLO

Input

Parametry funkcji SCALE
Sygnał wejściowy. Doprowadzenie tego sygnału do bloku funkcyjnego powoduje
wykonanie operacji logicznej.

IHI
R, AI, AQ,
Parametry IHI i Ilo zawierają stałą lub zmienną określające dolną i górną wartość
graniczną dla danych przed skalowaniem. Te wartości graniczne wraz z
wartościami OHI i OLO są wykorzystywane do obliczania współczynnika
skalowania, wykorzystywanego do przetwarzania parametru wejściowego IN.

OHI
Parametry OHO i OLO zawierają stałą lub zmienną określające dolną i górną
wartość graniczną dla danych po skalowaniu.

Wartość stała lub adres zmiennej, która będzie skalowana.

sygnał, brak Sygnał wyjściowy, wysyłany gdy działanie zostało poprawnie wykonane, a jego
sygnału
wynik mieści się w dopuszczalnym przedziale wartości.

OUT

Parametr wyjściowy OUT zawiera przeskalowany równoważnik parametru
wejściowego.

W zamieszonym poniżej przykładzie, rejestry%R0120 do%R0123 są wykorzystywane do
pamiętania dolnych i górnych wartości granicznych skalowania. Wartość wejściowa, która będzie
skalowana jest zawarta w obszarze pamięci wejść analogowych%AI0017. Wartość przeskalowana
jest wykorzystywana do sterowania wyjściem analogowym%AQ0017. Operacja skalowania jest
przeprowadzana zawsze, ilekroć wartość zmiennej%I0001 wynosi 1.
%I0001
INT
%R0120
%R0121
%R0122
%R0123
%AI0017

12-48

OK
%AQ0017

ILO
OLO
Blok funkcyjny SQRT (Pierwiastek kwadratowy) wylicza pierwiastek kwadratowy z liczby. Gdy
do bloku dociera sygnał, parametr wyjściowy Q przyjmuje wartość równą części całkowitej
pierwiastka z liczby zadanej parametrem wejściowym IN. Parametr Q musi reprezentować taki
sam typ danych jak parametr IN.
Funkcja SQRT operuje na następujących typach danych:
Liczba całkowita ze znakiem (16 bitowa)

Liczba całkowita podwójnej precyzji ze znakiem (32
Sygnał wyjściowy jest przesyłany, gdy operacja zostanie wykonana bez przekroczenia
dopuszczalnego zakresu wartości oraz nie miała miejsca jedna z podanych poniżej,
nieprawidłowych operacji na liczbach typu REAL:
IN &amp; lt; 0.

IN ma wartość NaN (jest niokreślony)

W przeciwnym wypadku, sygnał wyjściowy nie jest przesyłany.

SQRT INT

Parametry funkcji SQRT
funkcyjnego powoduje wykonanie operacji logicznej.
Wszystkie typy danych: R, AI, Wartość stała lub adres zmiennej, dla której obliczany jest
pierwiastek kwadratowy. Jeżeli parametr IN jest mniejszy od zera,
Wyłącznie dla danych typu funkcja nie powoduje przesłania sygnału Q. Wartość stałych
w operacjach na zmiennych typu całkowitego podwójnej precyzji ze
INT: I, Q, M, T, G
znakiem nie może przekraczać wartości minimalnej/ maksymalnej
DINT.
wartości i nie ma próby wykonania działania niewykonalnego.
Wszystkie typy danych: R, AI, Wynik działania - część całkowita pierwiastka kwadratowego
z liczby IN.
Wyłącznie dla danych typu
W zamieszczonym poniżej przykładzie, zawsze gdy zmienna%I0001 jest równa 1, obliczany
będzie pierwiastek kwadratowy z liczby%AI001, a wynik zapisywany będzie do zmiennej
%R0003.
%I0001
SQRT INT

%AI001

IN Q

%R0003

12-49

Dostępnych jest sześć funkcji trygonometrycznych: Sinus, cosinus, tangens, arcus sinus, arcus
cosinus i arcus tangens.

Sinus, cosinus i tangens
Po doprowadzeniu sygnału do funkcji sinus, cosinus lub tangens, obliczany jest wynik dla
parametru wejściowy IN wyrażonego w radianach, a wynik zapisywany jest w zmiennej
wyjściowej Q. Zarówno parametr IN jak i Q są liczbami rzeczywistymi.

SIN

Funkcje SIN, COS i TAN dopuszczają szeroki zakres wartości wejściowych:

-263 &amp; lt; IN &amp; lt; +263, (263 = 9. 22x1018)

Arcus sinus, arcus cosinus i arcus tangens
Po doprowadzeniu sygnału do funkcji arcus sinus, arcus cosinus lub arcus tangens, obliczany jest
wynik dla parametru wejściowego IN, a wynik zapisywany jest w zmiennej wyjściowej Q.
Zarówno parametr In jak i Q są liczbami rzeczywistymi.
Funkcje arcus sinus arcus cosinus mają ściśle określony zakres wartości parametru wejściowego:

-1 &amp; lt; IN &amp; lt; 1.
Po wprowadzeniu poprawnego parametru IN, funkcja Arcus Sinus Real zwraca przez parametr Q
wynik spełniający podaną poniżej zależność:
ASIN (IN)

=

?
&amp; lt; Q &amp; lt;

?
Funkcja Arcus Cosinus Real zwraca przez parametr Q wynik spełniający podaną poniżej
zależność:
ACOS (IN)

&amp; lt; Q &amp; lt;

?

Funkcja Arcus Tangens dopuszcza szerszy zakres wartości wejściowych, a mianowicie:

-? <= IN <=+?.
Po wprowadzeniu poprawnego parametru IN, funkcja Arcus Tangens Real zwraca przez parametr
Q wynik spełniający podaną poniżej zależność:
ATAN (IN)

12-50

Funkcje trygonometryczne

Parametry funkcji trygonometrycznych
Wartość stała lub adres zmiennej, będącej parametrem wejściowym
funkcji.

sygnał, brak sygnału Sygnał wyjściowy, wysyłany gdy działanie zostało poprawnie
wartości, parametr wejściowy ma odpowiednią wartość, różną od
NaN.
Wynik działania - wartość obliczona przez funkcje trygonometryczną
dla parametru wejściowego IN.

W zamieszczonym poniżej przykładzie obliczany jest cosinus dla wartości podanej w%R0001,
a wynik zwracany jest poprzez zmienną%R0033.
COS
%R0001
+3. 141500

IN Q

%R0033
-1. 000000

12-51

Funkcje logarytmiczne i wykładnicze
Po doprowadzeniu sygnału do funkcji logarytmicznej lub wykładniczej, wykonywane jest
odpowiednie działanie logarytmiczne/ wykładnicze na liczbie zadanej jako parametr wejściowy
IN, a wynik zapisywany jest do parametru wyjściowego Q.
Dla funkcji LOG, parametr wyjściowy Q jest równy logarytmowi o podstawie dziesiętnej
z liczby IN. Dla funkcji LN, parametr wyjściowy Q jest równy logarytmowi naturalnemu
Dla funkcji EXP, liczba e podnoszona jest do potęgi zadanej parametrem IN, a wynik
zapisywany jest do parametru Q.
Dla funkcji EXPT &amp; lt; wartość parametru wejściowego IN1 jest podnoszony do potęgo
określonej za pomocą parametru IN2 a wynik jest zapisywany do parametru Q. (Funkcja
EXPT posiada trzy parametry wejściowe i dwa parametry wyjściowe. )

Jeżeli parametr IN ma wartość różną od NaN i ma wartość dodatnią, na wyjście ok przesyłany jest
sygnał.

LOG

EXPT

Parametry funkcji logarytmicznych/ wykładniczych
IN lub
IN1, IN2
wykonanie operacji logicznej.
R, AI, AQ, Parametr IN w funkcjach EXP, LOG i LN zawiera wartość rzeczywistą, będącą
przedmiotem działania.
Funkcja EXPT posiada dwa parametry wejściowe IN1 i IN2. Parametr IN1 funkcji
IN1 jest podstawą a parametr IN2 wykładnikiem.
sygnał, brak Sygnał wyjściowy, wysyłany gdy działanie zostało poprawnie wykonane, jego wynik
sygnału mieści się w dopuszczalnym przedziale wartości, parametr wejściowy ma wartość
różną od NaN i jest liczbą dodatnią.
R, AI, AQ Wynik działania - wartość obliczona przez funkcje logarytmiczną/ wykładniczą dla
parametru wejściowego IN.

Przykład funkcji EXPT
W zamieszczonym poniżej przykładzie wynik podniesienia wartości%AI0001 do potęgi 2. 5 jest
zapisywany w%R0001.
EXPT
%AI001
2. 50000E+00

12-52

Funkcje do konwersji radiany/ stopnie
Po doprowadzeniu sygnału do tej funkcji konwersji, przeprowadzana jest odpowiednia konwersja
(radianów na stopnie lub stopni na radiany) na liczbie rzeczywistej podanej jako parametr
wejściowy IN, a wynik zapisywany jest w parametrze wyjściowym Q.
Jeżeli parametr IN ma wartość różną od NaN, ą na wyjście ok przesyłany jest sygnał.
RADTO
DEG

Parametry funkcji do konwersji miary kąta
Wartość rzeczywista, będącej parametrem wejściowym funkcji.
Sygnał wyjściowy, wysyłany gdy wynik działania mieści się w
dopuszczalnym przedziale wartości i parametr IN ma wartość różną od
NaN (wartość nieokreślona).
Wynik działania - wartość parametru wejściowego IN wyrażona w innych
jednostkach miary kąta.

W zamieszczonym poniżej przykładzie stała +1500 jest zamieniana na wartość w stopniach,
a wynik przypisywany jest do zmiennej%R0001.
DEG
+1500. 000

IN Q

%R0001
85943. 67

12-53

Funkcje relacji przeznaczone są do porównywania dwóch liczb w celu stwierdzenia, czy wartość
mieści się w określonym przedziale.
Sprawdzenie czy dwie liczby są równe.

Sprawdzenie czy dwie liczby są różne.

Sprawdzenie czy jedna liczba jest większa od drugiej.

Większy lub równy

Sprawdzenie czy jedna z liczba jest większa lub równa
drugiej.

Sprawdzenie czy jedna liczba jest mniejsza od drugiej.

Mniejszy lub równy

Sprawdzenie czy jedna z liczba jest mniejsza lub równa
Sprawdzenie czy zadana wartość mieści się w przedziale
wyznaczonym przez dwie inne liczby.

Doprowadzenie sygnału do bloku funkcyjnego powoduje porównanie parametrów wejściowych
IN1 i IN2.
EQ INT

Jeżeli parametry wejściowe IN1 i IN2 spełniają daną relację, wartość parametry wyjściowego Q
jest ustawiana na 1, w przeciwnym wypadku jest ona ustawiana na 0.

Typy danych w funkcjach relacji
Relacje matematyczne wykonują operacje na następujących typach danych:
Liczba całkowita podwójnej precyzji ze
znakiem (32 bitowa).

W przypadku, gdy relacja korzystająca z danych typu REAL zostanie pomyślnie wykonana,
wartość bitu%S0020 ustawiana jest na 1. Jeżeli wartość wejściowa nie jest liczbą, zmienna
przyjmuje wartość 0.

12-54

Równy, różny, mniejszy, mniejszy lub równy, większy, większy lub równy

Parametry funkcji relacji matematycznych
sprawdzanej relacji. Parametr IN1 musi być poprawną liczbą.
typu INT: I, Q, M, T, G W przypadku operacji na liczbach całkowitych podwójnej precyzji ze
znakiem, stałe muszą być liczbami całkowitymi.
(Parametr IN1 znajduje się z lewej strony działania matematycznego,
jak na przykład w IN1 &amp; lt; IN2.

Wyłącznie dla danych sprawdzanej relacji. Parametr IN2 musi być poprawną liczbą.
(Parametr IN2 znajduje się z lewej strony działania matematycznego,
sygnał, brak sygnału Sygnał wyjściowy, wysyłany jeżeli parametry IN1 i IN2 spełniają daną
relację.

W zamieszczonym poniżej przykładzie, sprawdzana jest relacja pomiędzy dwoma liczbami
całkowitymi podwójnej precyzji ze znakiem. Po doprowadzeniu sygnału przez przekaźnik%I0001
do bloku funkcyjnego LE (Mniejszy lub równy), wartość zapisaną pod zmienną o nazwie
pomocniczej PWR_MDE jest porównywana z wartością zapisaną pod zmienną BIN_FUL. Jeżeli
wartość zmiennej PWR_MDE jest mniejsza lub równa od wartości zmiennej BIN_FUL, następuje
ustawienie zmiennej przekaźnika%Q0002 na 1.
%I0001

%Q0002
LE INT

PWR_MDE
BIN_FUL

12-55

Funkcje relacji
Range
Funkcja RANGE (zakres) służy do sprawdzania, czy dana liczba mieści się w przedziale
Typy danych funkcji Range
Funkcja Range operuje na następujących typach danych:
(domyślny typ danych)

Dane typu Word (Słowo).

Po doprowadzeniu sygnału do tego bloku funkcyjnego, następuje sprawdzenie, czy parametr
wejściowy IN mieści się w przedziale określonym przez wartości graniczne L1 i L2. Zarówno
parametr L1 jak i L2 mogą określać górną i dolną wartość graniczną. Jeżeli jego wartość mieści się
w przedziale domkniętym wyznaczonym przez L1 i L2, na wyjście Q przesyłany jest sygnał
wyjściowy. W przeciwnym wypadku, sygnał wyjściowy nie jest przesyłany.
Limit 1

L1

Limit 2

L2

Value to be compared IN

Parametry funkcji Range
typu INT i WORD: I, Q,
M, T, G

Lewy koniec przedziału.
W przypadku operacji na liczbach całkowitych podwójnej precyzji ze
znakiem, stałe muszą być liczbami całkowitymi.

Prawy koniec przedziału.
Wartość stała lub adres zmiennej, która ma się mieścić w określonym
przedziale.

12-56

Sygnał wyjściowy, wysyłany jeżeli parametr IN znajduje się wewnątrz
przedziału domkniętego, określonego przez L1 i L2.

W zamieszczonym poniżej przykładzie, po doprowadzeniu sygnału do bloku funkcyjnego Range
z przekaźnika%I0001, funkcja sprawdza czy wartość zapisana w%AI001 mieści się w przedziale
0 do 100.
Wartość 100 zapisana jest w zmiennej%R0001. Wartość 0 zapisana jest w zmiennej%R0002.
%I0001

INT

%R0001
%R0002

L2

%AI001

%Q0001

L1 Q

Wartość zmiennej przekaźnikowej%Q0001 jest ustawiana na 1 wyłącznie wtedy, gdy wartość zmiennej
%AI0001 mieści się w przedziale 0 do 100.

Wartość IN
%AI0001

Sygnał Q
%Q0001

&amp; lt; 0

0 -- 100

&amp; gt; 100

12-57

Styk otwarty --| |--

Styk zamknięty --|/|--

Przekaźnik o stykach otwartych -()-

Przekaźnik SET z pamięcią --(SM)--

Przekaźnik RESET z pamięcią --(RM)--

Przekaźnik o stykach zamkniętych, z pamięcią --(/M)--

Przekaźnik o stykach zamkniętych --(/)--

Przekaźnik o stykach otwartych, z pamięcią --(M)--

Przekaźnik ustawialny SET --(S) --

Przekaźnik ustawialny RESET --(R)--
Przekaźnik uaktywniany zboczem narastającym sygnału --(? )--

Przekaźnik uaktywniany zboczem opadającym sygnału --(? )--

Połączenie pionowe vert |

Połączenie poziome horz -

Przekaźnik kontynuacji --- &amp; lt; + &amp; gt;

Styk kontynuacji &amp; lt; + &amp; gt; ---

Każdy z tych styków i przekaźników posiada jedno wejście i jedno wyjście. Zastosowane łącznie,
umożliwiają sterowanie przepływem sygnału.

Wejście->
->

12-58

----| |----

<- Wyjście

Styk otwarty, styk zamknięty, styk kontynuacji
Styki są stosowane do monitorowania stanu zmiennych. Od stanu zmiennej przypisanej stykowi
oraz od typu styku zależy, czy będzie on przewodził sygnał. Zmienna jest ustawiona (ON) jeżeli
jej wartość jest równa 1, zmienna jest nie ustawiona - jest wyzerowana - (OFF) jeżeli jej wartość
jest równa 0.
Symbol

Dopływ sygnału do prawej strony

Przekaźnik o stykach
Jeżeli zmienna ma wartość 1

Styk zamknięty

Jeżeli zmienna ma wartość 0

Jeżeli zmienna związana z poprzednim szczeblem ma
wartość 1.

Styk otwarty -| |Styk taki działa jak wyłącznik, który przewodzi sygnał (zwiera styki), gdy wartość logiczna
przypisanej mu zmiennej wynosi 1.

Styk zamknięty --|/|--
Styk taki działa jak wyłącznik, którego styki pozostają zwarte (przewodzi sygnał), gdy wartość
logiczna przypisanej mu zmiennej wynosi 0.

Poniżej pokazano przykładowy szczebel z 10 elementami, o nazwach pomocniczych od E1 do
E10. Przekaźnik E10 ma wartość logiczną 1, jeżeli zmienne E1, E2, E3, E5, E6 i E9 są równe 1,
a zmienne E3, E4, E7 i E8 są równe 0.
E1

E2

E3

E4

E5

E6

E7

E8

E9

E10

Przekaźniki i styki kontynuacji
Przekaźniki kontynuacji i styki kontynuacji służą do przedłużenia szczebla programu sterującego
wykraczającego poza limit dziesięciu kolumn. Stan ostatniego przekaźnika kontynuacji jest
automatycznie przenoszony na następujący po nim styk. W szczeblu może wystąpić tylko jeden
przekaźnik kontynuacji; styk kontynuacji może zajmować wyłącznie pozycję w pierwszej
kolumnie szczebla, a przekaźnik kontynuacji musi być umieszczony w 10 kolumnie szczebla.

12-59

Przekaźniki są stosowane do sterowania wartościami zmiennych dyskretnych. Dopływ sygnału do
przekaźnika musi być sterowany przez inne elementy logiczne. Przekaźniki natychmiast zmieniają
wartość zmiennych, nie przesyłają one sygnału do swojej prawej strony. Jeżeli określony stan
zmiennej przypisanej przekaźnikowi ma decydować o wykonaniu pewnej części programu
sterującego, należy tam zastosować zmienną wewnętrzną lub przekaźnik i styk kontynuacji.
Przekaźniki są zawsze umieszczane skrajnie, po prawej stronie linii programu sterującego.

Kontrola wielokrotnego wykorzystywania zmiennych
Jeżeli kontrola wielokrotnego wykorzystania zmiennych w przekaźnikach ustawiona jest na
&quot; single &quot;, można korzystać ze zmiennych typu%M i%Q, wyłącznie z jednym przekaźnikiem, ale
można z nich korzystać jednocześnie z jednym przekaźnikiem Set i jednym przekaźnikiem Reset.
Jeżeli kontrola wielokrotnego wykorzystania zmiennych w przekaźnikach jest ustawiona na &quot; warn
multiple &quot; lub &quot; multiple &quot;, każda ze zmiennych może być używana z wieloma normalnymi
przekaźnikami lub przekaźnikami Set i przekaźnikami Reset. W przypadku wielokrotnego
wykorzystywania, wartość zmiennej można ustawić na 1 przy pomocy zarówno przekaźnika Set
jak i normalnego przekaźnika, a następnie zmienić jej wartość na 0 przy pomocy przekaźnika
Reset lub normalnego przekaźnika.

Przepływ sygnału i pamięć
W zamieszczonej poniżej tabeli pokazano zmianę stanu zmiennej związanej z przekaźnikiem po
doprowadzeniu sygnału. Stan przekaźników z pamięcią jest zapamiętywany po wyłączeniu
zasilania lub po przejściu sterownika z trybu zatrzymania (STOP) do trybu pracy (RUN). Stan
przekaźników bez pamięci jest ustawiany na zero po wyłączeniu zasilania, lub po przejściu
sterownika z trybu zatrzymania (STOP) do trybu pracy (RUN).
Typy przekaźnika
stykach otwartych
zamkniętych
stykach otwartych,
z pamięcią
pamięcią
ustawialny SET

12-60

Symbol
-()-(/)-

Sygnał do
przekaźnika
ON
OFF
Działanie
Ustawia wartość zmiennej na 1, bez pamięci.
Ustawia wartość zmiennej na 0, bez pamięci.
Ustawia wartość zmiennej na 1, bez pamięci.

-(M)-

Ustawia wartość zmiennej na 1, z pamięcią.
Ustawia wartość zmiennej na 0, z pamięcią.

-(/M)-

Ustawia wartość zmiennej na 0, z pamięcią.
Ustawia wartość zmiennej na 1, z pamięcią.

-(P)-(? )-

ON

Po doprowadzeniu sygnału do przekaźnika, który w
poprzednim cyklu miał wartość 0 a bieżącym cyklu posiada
wartość 1, wartość zmiennej jest ustawiana na 1.

-(N)-(? )-

Po doprowadzeniu sygnału do przekaźnika, który
w poprzednim cyklu miał wartość 1, a bieżącym cyklu
posiada wartość 0, wartość zmiennej jest ustawiana na 1.

Ustawia zmienną na 1, aż do momentu jej wyzerowania
poprzez --(R)--.
Nie zmienia stanu przekaźnika.
ustawialny RESET

-(R)-

ustawialny SET, z
-(SM)-

-(RM)-

---- &amp; lt; + &amp; gt;

Ustawia zmienną na 0, aż do momentu zmiany jej wartości
na 1 poprzez przekaźnik
-(S)-, bez pamięci.
poprzez --(RM)--, z pamięcią.
-(SM)-, z pamięcią.
Załącza styk kontynuacji
Nie załącza styku kontynuacji.

Przekaźnik ustawia wartość przypisanej zmiennej na jeden, gdy dopłynie do niego sygnał. Jeżeli
jest to przekaźnik bez pamięci, nie może być zastosowany wraz ze zmiennymi, które cechuje
pamięć stanu (%SA, %SB, %SC lub%G).

W zamieszczonym poniżej przykładzie, przekaźnik ustawia wartość przypisanej mu zmiennej na
1, jeżeli wartość E1 jest równa 1, a wartość E2 jest równa 0.
Przekaźnik o stykach zamkniętych
Przekaźnik taki ustawia wartość przypisanej zmiennej dyskretnej na jeden, gdy nie dopływa do
niego sygnał. Jest to przekaźnik bez pamięci, nie może on być zatem zastosowany wraz ze
zmiennymi, które cechuje pamięć stanu (%SA, %SB, %SC lub%G).

W zamieszczonym poniżej przykładzie, przekaźnik E3 ustawia wartość przypisanej mu zmiennej
na 1, jeżeli wartość E1 jest równa 0.
Przekaźnik o stykach otwartych z pamięcią
Podobnie jak zwykły przekaźnik o stykach otwartych, przekaźnik taki ustawia wartość przypisanej
zmiennej na jeden, gdy dopływa do niego sygnał. Stan przekaźnika zostaje podtrzymany
w przypadku zaniku zasilania sterownika. Z tego powodu, nie może być on zatem zastosowany
wraz ze zmiennymi, które nie posiadają pamięci stanu (%T).

Przekaźnik o stykach zamkniętych, z pamięcią
niego sygnał. Stan przekaźnika zostaje podtrzymany w przypadku zaniku zasilania sterownika.
Z tego powodu, nie może być on zatem zastosowany wraz ze zmiennymi, które nie posiadają
pamięci stanu (%T).

12-61

Przekaźniki

Przekaźnik uaktywniany zboczem narastającym sygnału
Jeżeli wartość zmiennej przypisanej przekaźnikowi wynosi 0, w momencie dotarcia do niego
sygnału, wartość ta zostaje ustawiona na 1, do czasu wykonania tej instrukcji w następnym cyklu.
(Jeżeli szczebel zawierający przekaźnik zostanie pominięty w czasie kolejnych cykli, wartość tej
zmiennej jest nadal równa 1, przez cały czas trwania tych cykli). Przekaźnik ten może zostać
wykorzystany do ustalania wartości zmiennej na okres jednego cyklu.
Przekaźniki ustawiane zboczem sygnału mogą być stosowane ze zmiennymi z pamięcią stanu lub
nie posiadającymi tej cechy (tzn. %Q, %M, %T, %G, %SA, %SB lub%SC).

Przekaźnik uaktywniany zboczem opadającym sygnału
Jeżeli wartość zmiennej przypisanej przekaźnikowi wynosi 0, w momencie gdy przestaje do niego
dopływać sygnału, wartość ta zostaje ustawiona na 1, do czasu wykonania tej instrukcji
w następnym cyklu.
W zamieszczonym poniżej przykładzie zmienna E1 zmienia wartość z 0 na 1, sygnał dopływa do
przekaźników E2 i E3, a zmienna związana z przekaźnikiem E2 przyjmuje wartość 1 na okres
jednego cyklu. Jeżeli zmienna związana z E2 zmieni wartość z 1 na 0, sygnał przestaje dopływać
do E2 i E3, przez co zmienna związana z przekaźnikiem E3 przyjmuje wartość 1 na okres jednego
cyklu.
E1
12-62

E2
(P)
E3
(N)

Przekaźnik ustawialny SET
Przekaźniki SET i RESET są przekaźnikami z pamięcią stanu, które można zastosować do
ustawiania na pewien czas wartości przypisanej im, zmiennej. Gdy do przekaźnika SET dopłynie
sygnał, wartość przypisanej zmiennej zostaje ustawiona na 1 i jest utrzymywana do momentu, aż
sygnał dopłynie do przekaźnika RESET do którego przypisano tę samą zmienną.

Przekaźnik ustawialny RESET
Gdy sygnał dopłynie do przekaźnika RESET, wartość zmiennej jest ustawiana na 0. Zmienna ma
wartość 0 do momentu, aż do momentu zmiany jej wartości przez przekaźnik typu SET.

W zamieszczonym poniżej przykładzie zmienna E1 przypisana do przekaźnika ma wartość 1
zawsze, ilekroć zmienna E2 lub E6 jest równa 1. Wartość zmiennej przypisanej do E1 jest
zmieniana na 0 zawsze, ilekroć zmienna E5 lub E3 jest równa 1.
E6
Przekaźnik SET z pamięcią
Przekaźniki SET i RESET z pamięcią są podobne w działaniu do przekaźników SET i RESET bez
pamięci, lecz ich stan jest podtrzymywany w przypadku wyłączenia zasilania sterownika lub po
przejściu sterownika z trybu STOP do trybu RUN. Gdy sygnał dopłynie do przekaźnika SET
z pamięcią, wartość związanej z nim zmiennej jest ustawiana na 1. Wartość ta pozostaje równa 1
do momentu wyzerowania za pomocą przekaźnika RESET z pamięcią.
Przekaźnik SET z pamięcią ustawia przypadkową wartość bitu chwilowego przełączenia na
wartość przeciwną danej zmiennej.

Przekaźnik RESET z pamięcią
Przekaźnik taki ustawia wartość przypisanej zmiennej na zero, gdy dopłynie do niego sygnał.
Wartość ta pozostaje równa 0, do momentu ustawienia wartości 1 za pomocą przekaźnika SET
z pamięcią. Stan tego przekaźnika jest zapamiętywany po wyłączeniu zasilania lub po przejściu
Przekaźnik RESET z pamięcią ustawia przypadkową wartość bitu chwilowego przełączenia na
12-63

Funkcje do operacji tablicowych
Funkcje do operacji tablicowych przeznaczone są do:
Kopiowania tablicy danych: ARRAY MOVE

Poszukiwania wartości w tablicy

Maksymalna, dopuszczalna długość danych, na których operują te funkcje wynosi 32, 767 słów,
bez względu na typ danych.

Typy danych funkcji dla operacji tablicowych
Funkcje te wykonują operacje na następujących typach danych:
BIT *

Dane typu bajt.

12-64

Ciąg bitów.

BYTE
Dotyczy wyłącznie funkcji Array Move.

Array Move
Funkcja Array Move umożliwia skopiowanie określonej liczby elementów z tablicy źródłowej do
tablicy docelowej. Doprowadzenie sygnału wejściowego do bloku funkcyjnego powoduje
skopiowanie określonej liczby elementów z tablicy wejściowej, począwszy od określonego
miejsca. Elementy te są następnie zapisywane w docelowej tablicy danych (rozpoczynającej się od
adresu DS), począwszy od elementu &quot; DS + DNX - 1 &quot; (indeksowanego przez parametr DNX).
Gdy dla funkcji ARRAY MOVE BIT (operującej na bitach) adres początkowy tablicy źródłowej
i / lub docelowej leży w obszarze pamięci zorientowanym rejestrowo, pierwszym bitem tablicy
jest najmniej znaczący bit wyszczególnionego rejestru.
Wskaźniki instrukcji Array Move liczone są od 1. Przy korzystaniu z funkcji Array Move nie
można odwoływać się do elementów położonych poza tablicą źródłową lub docelową
(określonymi poprzez adres początkowy i długość).
Funkcja przesyła sygnał wyjściowy, chyba że wystąpi jeden z następujących przypadków:
do bloku funkcyjnego nie dopływa sygnał wejściowy,

(N + SNX -1) jest większe od LEN,

(N + DNX -1) jest większe od LEN.

Source array address

ARRAY
BOOL
??
SR DS

Source array index

Destination array address

SNX

Destination array index

DNX

(elements to transfer)

Parametry funkcji Array Move
SR

SNX
DNX
DS

Dla wszystkich typów danych: R, Adres początkowy tablicy źródłowej. W przypadku funkcji
ARRAY_MOVE_BIT, można podać dowolną zmienną
Dla danych typu INT, BIT, BYTE, dyskretną, bez uwzględniania podziału na bajty
WORD: I, Q, M, T, G,
Dla danych typu BIT, BYTE,
WORD: SA, SB, SC
Indeks pierwszego z kopiowanych elementów tablicy
źródłowej.
docelowej.
Liczba elementów do skopiowania.
Sygnał, brak sygnału
bloku funkcyjnego sygnału wejściowego.
Dla wszystkich typów danych: SA, Adres początkowy tablicy docelowej. W przypadku funkcji
SB, SC, R, AI, AQ
ARRAY MOVE BIT, można podać dowolną zmienną
WORD: I, Q, M, T, G
Liczba elementów tworzących zarówno tablicę źródłową jak
i docelową.

12-65

Array Move

W zamieszczonym poniżej przykładzie, jeżeli%R0100=4, elementy%R0003 -%R0007 tablicy
%R0001 -%R0016 są odczytywane i następnie zapisywane do elementów%R0104 -%R0108
tablicy%R0100 -%R0115. (%R0001 i%R0100 są zadeklarowane jako dane typu WORD
o długości 16).
%I0001

16

%R0001

R

%R0100

00005
00005

DS

%R0100

Tablice określone adresami SR i DS znajdują się w obszarze pamięci bitowej po przeczytaniu
elementów%M0011 -%M0017 tablicy%M0009 -%M0024 są one zapisywane do elementów
%Q0026 -%Q0032 tablicy%Q0022 -%Q0037. (%M0009 i%R0022 są zadeklarowane jako dane
typu BOOL o długości 16).

%M0009

00003

SNX

%I0001

00007

%Q0022

Przykład 3:
Tablice określone adresami SR i DS przechowywane są w obszarze pamięci słów, odczytywane są
bity, od trzeciego najbardziej znaczącego bitu zmiennej%R0001 do drugiego najmniej znaczącego
bitu zmiennej%R0002 tablicy zawierającej wszystkie 16 bitów zmiennej%R0001 i cztery bity
zmiennej%R0002, a następnie zapisywane w miejsce bitów, od piątego najmniej znaczącego bitu
zmiennej%R0100 do czwartego najmniej znaczącego bitu zmiennej%R0101 tablicy zawierającej
wszystkie 16 bitów zmiennej%R0100 i cztery bity zmiennej%R0101. (%R0001 i%R0100 są
zadeklarowane jako dane typu BOOL o długości 20).
%I0001

%R0001

20
00016

12-66

%R0100

Przeszukiwanie tablicy (Search)
Funkcje Search te umożliwiają przeszukiwanie tablicy w celu znalezienia wszystkich wartości
w tablicy, spełniających określone kryterium.
Szukanie wartości zadanej
Szukanie wartości różnej
Szukanie wartości większej
Szukanie wartości większej lub
równej
Szukanie wartości mniejszej
Szukanie wartości mniejszej lub
równej

Szukanie wartości równej zadanej
Szukanie wartości różnej od zadanej.
Szukanie wartości większej od zadanej
Przeszukiwanie tablicy danych w celu znalezienia
wartości większej lub równej wartości zadanej.
Szukanie wartości mniejszej od zadanej
wartości mniejszej lub równej od wartości zadanej.

Po doprowadzeniu sygnału do funkcji Search następuje przeszukanie określonej tablicy.
Przeszukiwanie jest rozpoczynane od adresu początkowego (AR) powiększonego o wartość
indeksu (NX).
enable SEARCH
EQ INT
??
Starting address
Input index
Object of search

AR FD

Found indication

NX NX

Output index

Poszukiwanie jest kontynuowane do momentu znalezienia pierwszego elementu spełniającego
zadany warunek lub do dojścia do końca tablicy. Jeśli poszukiwany element zostanie znaleziony,
wartość parametru wyjściowego FD zostanie ustawiona na 1, a na wyjście oznaczone NX
skopiowany zostanie indeks elementu, spełniającego warunek poszukiwań. Jeśli
w przeszukiwanym obszarze nie zostanie znaleziony element spełniający warunek poszukiwań,
wartości obydwu parametrów wyjściowych FD i NX są ustawiane na 0.
Parametr wejściowy NX może przyjmować wartości z zakresu od 0 do &quot; LEN - 1 &quot;. Aby rozpocząć
przeszukiwanie tablicy od pierwszego elementu wartość tego parametru powinna wynosić 0.
Podczas wykonywania operacji przeszukiwania tablicy wartość ta jest zwiększana o 1. Tak więc
wartości parametru wyjściowego NX mogą zawierać się w przedziale od 1 do LEN. Jeśli wartość
parametru wejściowego NX wychodzi poza zakres (jest mniejsza od 0 lub większa lub równa od
LEN), jest ona ustawiana samoczynnie na 0.

Parametry funkcji Search
AR

Sygnał wejściowy. Doprowadzenie tego sygnału do
bloku funkcyjnego powoduje rozpoczęcie
przeszukiwania.
Adres początkowy tablicy.

Dla wszystkich typów danych: R, AI, AQ
Dla danych typu INT, BYTE, WORD: I, Q, M,
T, G,
Dla danych typu BYTE, WORD: S
NX
Indeks (liczony od zera) pierwszego z elementów
wejściowe
tablicy podlegających porównaniu z wartością
odniesienia.
Dla wszystkich typów danych: R, AI, AQ, stała Obiekt poszukiwań (wartość, z którą poszukiwany
Dla danych typu INT, BYTE, WORD: I, Q, M, element ma pozostawać w określonej relacji).
I, Q M, T, G, R, AI, AQ
Indeks (pozycja w tablicy, liczony od zera))
wyjściowe
znalezionego elementu pozostającego w określonej
relacji z elementów porównawczym.
FD
Wskaźnik informujący czy poszukiwany element
został znaleziony.
length
1 do 32, 767 bajtów lub słów
Liczba elementów, począwszy od AR, określająca
tablicę do przeszukiwania.
12-67

Przeszukiwanie tablicy (Search)

Tablica AR przechowywana jest w pamięci określonej adresami%R0001 -%R0005. Po
ustawieniu wartości parametru EN na 1, część tablicy, określona adresami%R0004 do%R0005
jest przeszukiwana w celu znalezienia elementu którego wartość jest równa parametrowi IN. Jeżeli
%R0001 = 7, %R0002 = 9, %R0003 = 6, %R0004 = 7, %R0005 = 7 i%R0100 = 7, poszukiwanie
zostanie rozpoczęte w%R0004 i zakończone w momencie gdy wartość FD zostanie ustawiona na
1 w%R0004, a do%R0101 zostanie zapisana wartość 4.
%I0001

SEARCH
EQ INT
5

%R0001
NX NX

%R0100

%Q0001
IN

%R0101

Tablica AR przechowywana jest w pamięci określonej adresami%AI0001 -%AI0016. Elementy
tej tablicy są równe 100, 20, 0, 5, 90, 200, 0, 79, 102, 80, 24, 34, 987, 8, 0, 500. Jeżeli wartość EN
zostanie ustawiona na 1, tablica będzie przeszukiwana w każdym cyklu w celu znalezienia
elementu o wartości równej wartości parametru IN, wynoszącej 0. W pierwszym cyklu,
poszukiwanie rozpoczęte zostanie od adresu%AI0006, a zakończone w%AI0007, taki więc
wartość FD jest wtedy równa 1, a wartość%AQ0001 jest równa 7. W drugim cyklu, poszukiwanie
zostanie rozpoczęte od adresu%AI0008, a zakończone w%AI0015, tak więc wartość FS będzie
równa 1, a wartość%AQ0001 będzie równa 15. Poszukiwanie w następnym cyklu zostanie
rozpoczęte od adresu%AI0016. Ponieważ wartość równa wartości zadanej nie zostanie
znaleziona, parametr FD będzie równy 0, a wartość%AQ0001 również będzie równa 0. W
kolejnym cyklu, poszukiwanie zostanie rozpoczęte od początku tablicy.
%I0001

SRCH
16

%AI001
%AQ001
00000

12-68

%M001
AR FD
%AQ001

W punkcie tym opisano funkcje liczników i przekaźników czasowych, dostępne w zestawie
instrukcji sterowników. Dane związane z tymi funkcjami pamiętane są przez cały okres zasilania.
Przekaźnik czasowy wyłączający

Przekaźnik czasowy z zanegowanym wejściem, bez pamięci

Przekaźnik czasowy bez pamięci

Licznik zliczający w górę

Poza licznikami, sterownik VersaMax posiada generator sygnału prostokątnego z czterema
stykami. Mogą one być wykorzystane do regularnego dostarczania impulsów sygnału sterującego
do funkcji programu. Cztery styki generatora sygnału prostokątnego mają podstawy czasowe 0. 01
s, 0.
Stan tych styków nie zmienia się w czasie wykonywania cyklu. Poprzez styki te wysyłany jest
sygnał o takim samym czasie włączenia jak i wyłączenia.
X
SEC

T XXXXX

X/2
Styki te przypisane są do odpowiednich miejsc w pamięci%S.

12-69

Liczniki i przekaźniki czasowe

Parametry przekaźników czasowych i liczników
Każdy przekaźnik czasowy i licznik wykorzystuje trzy słowa (rejestry) pamięci typu%R, do
zapamiętywania następujących parametrów:
wartość bieżąca (CV)

słowo 1

wartość zadana (PV)

W bloku funkcyjnym przekaźnika czasowego lub licznika należy podąć adres początkowy dla tych
trzech słów (rejestrów), bezpośredni pod symbolem graficznym wykorzystywanego bloku. Nie
należy podawać sąsiadujących ze sobą rejestrów dla kolejnych bloków funkcyjnych przekaźnika
czasowego /licznika. Przekaźniki czasowe i liczniki nie będą poprawnie pracować, jeżeli wartość
bieżąca dla bloku zostanie umieszczona w miejscu zajmowanym przez wartość zadaną,
wykorzystywaną przez poprzedni blok.
DNCTR

(Q)

time

Preset
Value

PV
Słowo sterujące zapamiętuje stan wejść i wyjść cyfrowych, powiązanych z danym blokiem
funkcyjnym, zgodnie z przedstawionym poniżej formatem:

Bity 0 do 11 wykorzystywane są do zapewnienia przekaźnikowi czasowemu dokładności, nie są
one wykorzystywane w przypadku liczników.
Jeżeli wartość zadana PV nie jest stałą, wartość PV jest zwykle ustawiana w innym miejscu niż to
drugie słowo. Niektóre programy sterujące korzystają z adresu drugiego słowa w celu uzyskania
wartości PV, jak na przykład wywołanie%R0102, jeżeli blok danych rozpoczyna się od%R101.
Pozwala to na zmianę wartości PV w czasie pracy przekaźnika czasowego czy licznika. Programy
sterujące mogą odczytywać pierwsze słowo zawierające wartość bieżącą CV i trzecie Słowo
sterujące, ale nie mogą zmieniać ich wartości, ponieważ funkcja nie będzie poprawnie wykonana.

12-70

Przekaźnik czasowy wyłączający z pamięcią (ONDTR)
Przekaźnik czasowy z pamięcią (ONDTR) zlicza czas, gdy dopływa do niego sygnał i zatrzymuje
naliczoną wartość, gdy sygnał przestaje dopływać. Czas może być zliczany w dziesiątych, setnych
lub tysięcznych częściach sekundy. Zakres zmierzonej wartości wynosi od 0 do +32767 jednostek
czasu. Wartość bieżąca przekaźnika jest przechowywana w przypadku awarii zasilania sterownika.
Po powrocie zasilania do stanu normalnego nie jest rozpoczynana automatyczna inicjalizacja.
Gdy do przekaźnika dopłynie sygnał po raz pierwszy, rozpoczyna on naliczanie czasu (wartość
bieżąca). Po napotkaniu przekaźnika czasowego w programie sterującym, wartość bieżąca
zliczonego czasu jest aktualizowana.
ONDTR
TENTHS
????
Reset
Preset Value

PV

Current Value

Gdy bieżąca wartość zrówna się lub przekroczy wartość zadaną PV, na wyjście Q zostaje
przesłany sygnał. Przez cały czas dopływu sygnału do przekaźnika, wartość ta jest
inkrementowana, aż do momentu osiągnięcia do wartości maksymalnej. Po dojściu do wartości
maksymalnej 32767 zliczanie zostaje zatrzymane, a sygnał pozostaje na wyjściu Q bez zmian.
Jeżeli w programie sterującym znajdują się dwa lub więcej przekaźniki czasowe o tych samych
przypisanych zmiennych, to ich bieżące wartości będą takie same.

Parametry funkcji ONDTR
Sygnał wejściowy, uruchamiający funkcję zliczania czasu.

Sygnał zerujący wartość bieżącą.

Przekaźnik czasowy ONDTR wykorzystuje trzy słowa (rejestry) pamięci
typu%R, do zapamiętywania następujących parametrów:
wartość bieżąca (CV) =słowo 1.
wartości zadanej(PV) = słowo 2.
słowa sterującego
= słowo 3.
Adres ten nie powinien być wykorzystywany w innych instrukcjach.
Uwaga: Pokrywanie się obszarów parametrów może powodować
nieprawidłowe wykonywanie funkcji.

I, Q, M, T, G, R, AI, Wartość zadana (PV), wykorzystywana w przypadku uruchomienia lub
AQ, stała, brak
wyzerowania licznika.

sygnał, brak sygnału Sygnał wyjściowy, pojawiający się, gdy wartość bieżąca jest większa lub
równa od wartości zadanej.

dziesiątki, setki lub Przyrost czasu
tysięczne części
sekund

12-71

Przekaźnik czasowy wyłączający z pamięcią (ONDTR)

Działanie funkcji ONDTR
ENABLE
A

C

D

E

F G

H

Na wejściu ENABLE pojawia się sygnał. Przekaźnik rozpoczyna zliczanie
Wartość bieżąca osiąga wartość zadaną PV. Na wyjściu q pojawia się sygnał,
a przekaźnik nadal kontynuuje odliczanie czasu.
C
Na wejściu RESET pojawia się sygnał. Na wyjście Q nie jest przesyłany sygnał. Czas
zliczany zostaje wyzerowany (CV=).
D
Na wejście RESET nie jest przesyłany sygnał. Przekaźnik rozpoczyna zliczanie czasu od
początku.
E
Sygnał przestaje być doprowadzany do wejścia Enable. Przekaźnik przerywa zliczanie
czasu. Wartość bieżąca pozostaje zapamiętana.
F
Na wejściu ENABLE pojawia się znowu sygnał. Przekaźnik kontynuuje zlicza nie czasu.
G
Wartość bieżąca osiąga wartość zadaną PV. Na wyjściu Q pojawia się sygnał. Licznik
kontynuuje zliczanie do momentu, kiedy na wejście ENABLE przestanie być
doprowadzany sygnał, na wejście RESET zostanie doprowadzony sygnał lub bieżąca
wartość będzie równa maksymalnemu czasowi.
H
Na wejście ENABLE przestaje być podawany sygnał.
W momencie gdy do przekaźnika przestaje dopływać sygnał, zliczanie czasu zostaje zatrzymane
i zapamiętany zostaje stan licznika. jeżeli na wyjście Q jest doprowadzany sygnał, jest on nadal
doprowadzany. Jeżeli na wejściu znowu pojawi się sygnał, wartość bieżąca jest ponownie
inkrementowana, począwszy od zapamiętanej wcześniej wartości. Doprowadzenie sygnału do
wejścia R powoduje ustawienie bieżącej wartości na 0 i wstrzymanie doprowadzania sygnału na
wyjście Q, do momentu kiedy parametr PV będzie miał wartość zero.

W zamieszczonym poniżej przykładzie, przekaźnik czasowy z pamięcią wykorzystany jest to
wysłania sygnału (%Q0011) po upływie 8. 0 sekund od momentu ustawienia zmienna%Q0010 na
wartość 1 oraz zanikającego po ustawieniu wartości zmiennej%Q0010 na 0.
%Q0010

ONDTR

%Q0011

0. 15

%Q0010
+00080

PV
%R0004

12-72

Przekaźnik czasowy bez pamięcią (TMR)
Przekaźnik czasowy bez pamięci (TMR) zlicza czas, gdy dopływa do niego sygnał i zostaje
wyzerowany, gdy sygnał przestaje dopływać. Czas może być zliczany w dziesiątych, setnych lub
tysięcznych częściach sekundy. Zakres zmierzonej wartości wynosi od 0 do +32767 jednostek
Bieżąca wartość zliczona przez ten przekaźnik jest pamiętana na wypadek zaniku napięcia
zasilającego sterownik (po powrocie zasilania przekaźnik nie jest automatycznie zerowany).

TMR
TENTHS

Address-3 words

Gdy do przekaźnika dopłynie sygnał po raz pierwszy, rozpoczyna on zliczanie czasu. Bieżąca
wartość jest aktualizowana po jej wywołaniu w programie sterującym, co pozwala na odczytanie
czasu, który upłynął od momentu, kiedy na wejściu reset pojawił się sygnał.
Jeżeli w programie sterującym znajdują się dwa lub więcej przekaźników czasowych o tych
samych przypisanych zmiennych, to ich bieżące wartości będą takie same.
Wartość jest zliczana tak długo, jak długo doprowadzany jest sygnał do tego przekaźnika. Jeżeli
wartość bieżąca jest równa lub większa od wartości zadanej PV, na wyjściu Q pojawia się sygnał.
Przekaźnik kontynuuje odliczanie czasu, do momentu dojścia do wartości maksymalnej. Jeżeli do
wejścia Enable przestanie dopływać sygnał, przekaźnik wstrzymuje zliczanie czasu, a wartość
bieżąca zostaje wyzerowana.

Parametry funkcji TMR
Funkcja wykorzystuje trzy słowa (rejestry) pamięci typu%R, do
wartość bieżąca (CV) = słowo 1.
Uwaga: Wykorzystywanie tego adresu przez inne elementy logiczne
powoduje zakłócenia w pracy przekaźnika.
Sygnał wejściowy, uruchamiający funkcję zliczania czasu. Jeżeli do
wejścia Enable nie jest doprowadzany sygnał, wartość bieżąca jest
zerowana a na wyjście Q nie jest przesyłany sygnał.
I, Q, M, T, G, R, AI, AQ, Wartość zadana, kopiowana z wejścia PV do drugiego rejestru
(adres+1) w momencie zerowania lub uruchomienia przekaźnika.
sygnał, brak sygnału Sygnał wyjściowy, pojawiający się, gdy do wejścia przekaźnika TMR
dopływa sygnał, a wartość bieżąca jest większa lub równa od
wartości zadanej.
Czas może być zliczany Przyrost czasu (zliczony czas).
w dziesiątych, setnych
lub tysięcznych
częściach sekundy.

12-73

Przekaźnik czasowy bez pamięcią (TMR)

Działanie funkcji TMR
a42933
A.
B.
C.
D.
E.

Na wejściu ENABLE pojawia się sygnał. Przekaźnik rozpoczyna zliczanie czasu.
na wejście Enable przestaje być podawany sygnał, na wyjście nie jest przesyłany sygnał,
zatrzymane zostaje zliczanie czasu oraz zerowana jest wartość bieżąca.
Na wejściu ENABLE znowu pojawia się znowu sygnał. Przekaźnik rozpoczyna zliczanie
Na wejście ENABLE przestaje być podawany sygnał zanim wartość bieżąca osiągnie
wartość zadaną. Na wyjście nie jest nadal przesyłany sygnał. Przekaźnik przerywa
zliczanie czasu, zerując wartość bieżącą (CV=0).

W zamieszczonym poniżej przykładzie, przekaźnik czasowy (o adresie) TMRID wykorzystywany
jest do sterowania czasem załączenia przekaźnika. Przekaźnik ma przypisaną nazwę pomocniczą
DWELL. Do przekaźnika DWELL doprowadzany jest sygnał, jeżeli styk otwarty (chwilowo)
DO_DWL jest zwarty.
Styk przekaźnika DWELL podtrzymuje sygnał przekaźnika DWELL (po rozwarciu styku DWDWELL) oraz powoduje również uruchomienie przekaźnika TMRID. Jeżeli wartość bieżąca
przekaźnika TMRID będzie równa wartości wynoszącej pół sekundy, doprowadzony zostanie
sygnał do przekaźnika REL, co spowoduje przerwanie dopływu sygnału do przekaźnika DWELL.
Styk DWELL przerywa dopływ sygnału do TMRID, wyzerowanie jego bieżącej wartości oraz
przerwanie dopływu sygnału do przekaźnika REL. Obwód jest w tym momencie gotowy do
następnego, chwilowego zwarcia styku DO_DWL.
DO_DWL

REL

DWELL

TMR

0. 15

+00005

TMRID

12-74

Przekaźnik czasowy z zanegowanym wejściem (OFDT)
Przekaźnik czasowy bez pamięci, z zanegowanym wejściem (OFDT) zlicza czas, gdy nie dopływa
do niego sygnał i zostaje wyzerowany, gdy sygnał zacznie dopływać. Czas może być zliczany
w dziesiątych, setnych lub tysięcznych częściach sekundy. Zakres zmierzonej wartości wynosi od
0 do +32767 jednostek czasu. Wartość bieżąca przekaźnika jest przechowywana w przypadku
awarii zasilania sterownika (po powrocie zasilania do stanu normalnego przekaźnik nie jest
automatycznie zerowany)
Gdy do przekaźnika dopłynie sygnał po raz pierwszy, bieżąca wartość zostaje ustawiona na zero
i sygnał zostaje przesłany na wyjście Q. (Przekaźnik OFDT wykorzystuje słowo 1 (rejestr) do
przechowywania wartości bieżącej CV. Sygnał podawany jest na wyjście tak długo, jak długo
doprowadzany jest sygnał do tego bloku funkcyjnego. Gdy sygnał przestanie dopływać, na wyjście
nadal przekazywany jest sygnał oraz następuje rozpoczęcie zliczania czasu.
Przekaźnik nie przesyła sygnału na wyjście, w przypadku gdy parametr PV jest równy zero lub ma
wartość ujemną.
Jeżeli wykonany zostanie ten blok funkcyjny, a do wejścia enable nie jest doprowadzany sygnał,
bieżąca wartość zostaje zaktualizowana i będzie ona podawać czas, który upłynął od momentu
zaprzestania doprowadzania sygnału do przekaźnika. Jeżeli wartość bieżąca CV jest równa lub
większa od wartości zadanej PV, zostaje wstrzymane przesyłanie sygnału na wyjście Q.
Przekaźnik zatrzymuje wtedy odliczanie czasu.
Przy ponownym doprowadzeniu sygnału, wartość bieżąca zostaje wyzerowana.
Gdy przekaźnik czasowy OFDT jest wykorzystywany w bloku programu, który nie jest
wywoływany w każdym cyklu pracy sterownika, pomiędzy kolejnymi wywołaniami bloku
programu zlicza on czas aż do momentu wyzerowania. Oznacza to, że pracuje on w programie
jako przekaźnik o znacznie dłuższym cyklu niż przekaźnik w głównym bloku programu. Jeżeli
więc blok programu będzie nieaktywny przez dłuższy czas, przekaźnik powinien być tak
zaprogramowany, aby skorzystać z tej jego cechy. Przykładowo, jeżeli przekaźnik w bloku
programu jest wyzerowany i ten blok programu nie jest wywoływany (jest nieaktywny) przez
cztery minuty, po wywołaniu bloku, odliczone zostaną cztery minuty. Jest to czas, który upłynął
od momentu doprowadzenia sygnału do przekaźnika, o ile nie został on wcześniej wyzerowany.

W zamieszczonym poniżej przykładzie, przekaźnik OFDT przesyła sygnał na wyjście (%Q0001)
zawsze, ilekroć wartość zmiennej związanej z wejściem (%I0001) zmienia wartość na 1. Sygnał
wyjściowy jest ponownie doprowadzany po upływie 0. 3 sekundy od momentu ustawienia wejścia na
0.
%I00001

OFDT

%Q00001

HUNDS

PV CV
%R00019

12-75

Przekaźnik czasowy z zanegowanym wejściem (OFDT)

Działanie funkcji OFDT

A. Przekaźnik zostaje wyzerowany (CV=0), a na
wyjściu również pojawia się sygnał.
Na wejście ENABLE przestaje być podawany sygnał. Przekaźnik rozpoczyna zliczanie
Wartość bieżąca CV osiąga wartość zadaną PV. Na wyjście nie jest przesyłany sygnał.
Przekaźnik przerywa zliczanie czasu.
Na wejściu ENABLE pojawia się sygnał. Przekaźnik zostaje wyzerowany (CV=0).

E.
F.
G.
H.

Działanie funkcji OFDT
Adres

Przekaźnik czasowy wykorzystuje trzy słowa (rejestry) pamięci typu%R,
do zapamiętywania następujących parametrów:
I Q, M, T, G, R, AI, Wartość zadana, kopiowana z wejścia PV do drugiego rejestru (adres+1) w
AQ, stała, brak momencie zerowania lub uruchomienia przekaźnika. W przypadku
zmiennych typu%R, parametr PV jest zdefiniowany jako drugie słowo
parametru z adresem. Przykładowo, parametr adresu%R0001 będzie
wykorzystywał jako parametr PV wartość%R0002.

sygnał, brak sygnału Sygnał wyjściowy wysyłany jeżeli wartość bieżąca jest mniejsza od
wartości ustawionej. Wartość bieżąca przekaźnika jest przechowywana
w przypadku awarii zasilania sterownika, nie jest ona automatycznie
inicjowana.

12-76

Licznik zliczający w górę (UPCTR)
Licznik zliczający w górę (UPCTR) służy do zliczania impulsów sygnału od 0 do zadanej
wartości. Zakres licznika wynosi od 0 do +32767 impulsów. Podanie sygnału na wejście zerujące
powoduje ustawienie wartości bieżącej licznika na 0. Zbocze narastające sygnału wejściowego
(zmiana stanu sygnału wejściowego z 0 na 1)powoduje zwiększenie wartości bieżącej o 1.
Wartość ta może być zwiększana ponad wartość zadaną PV. Sygnał wyjściowy jest wysyłany
zawsze, gdy wartość bieżąca jest większa lub równa od wartości zadanej. Bieżący stan licznika
jest pamiętany w przypadku awarii zasilania sterownika. Po powrocie zasilania do stanu
normalnego nie jest rozpoczynana automatyczna inicjalizacja (zerowanie licznika).
UPCTR

Parametry funkcji UPCTR
Funkcja ta wykorzystuje trzy słowa (rejestry) pamięci typu%R, do
Adres ten nie powinien być wykorzystywany przez inne bloki funkcyjne w przeciwnym razie funkcja ta będzie działać w niewłaściwy sposób.
Uwaga: Wykorzystywanie tego adresu przez inne elementy logiczne powoduje
zakłócenia w pracy licznika.

Sygnał wejściowy. Każde zbocze narastające sygnału wejściowego powoduje
wzrost wartości bieżącej licznika o 1.

I, Q, M, T, G, Wartość zadana, kopiowana z wejścia PV do drugiego rejestru (adres+1)
R, AI, AQ, w momencie zerowania lub uruchomienia licznika.
stała, brak

sygnał, brak Sygnał wyjściowy, pojawiający się, gdy wartość bieżąca jest większa lub równa
W zamieszczonym poniżej przykładzie, każde zbocze narastające sygnału wejściowego%I0012
powoduje zwiększenie wartości licznika PRT_CNT o 1. Sygnał jest doprowadzany do
wewnętrznego przekaźnika%M001 zawsze po odliczeniu 100 impulsów. Ustawienie wartości
zmiennej%M0001 na 1 powoduje wyzerowanie wartości zliczonej przez licznik.
%I0012
%M0001
+00100

UPCTR

%M0001

PRT_CNT

12-77

Licznik zliczający w dół (DNCTR)
Licznik zliczający w dół (DNTCTR) służy do odliczania impulsów sygnału od zadanej wartości do
0. Minimalna wartość zadana może być równa zero, a maksymalna +32 767 impulsów. Minimalna
wartość bieżąca wynosi -32 768. Podanie sygnału na wejście zerujące powoduje skopiowanie
wartości bieżącej do rejestru, w którym przechowywana jest wartość zadana. Zbocze narastające
sygnału wejściowego (zmiana stanu sygnału wejściowego z 0 na 1) powoduje zmniejszenie
wartości bieżącej o 1. Sygnał wyjściowy jest wysyłany, gdy wartość bieżąca jest większa lub
równa zeru.
Stan licznika jest pamiętany w przypadku awarii zasilania sterownika, przy rozruchu nie następuje
automatyczna inicjalizacja (zerowanie licznika).
Enable DNCTR
Parametry funkcji DNCTR
powoduje zakłócenia w pracy licznika. Każde zbocze narastające sygnału wejściowego
powoduje zmniejszenie wartości bieżącej licznika o 1.

Sygnał powodujący ustawienie wartości bieżącej na wartość zadaną.

AQ, stała, brak

12-78

równa zero.

Wartość zadana, kopiowana z wejścia PV do drugiego rejestru
(adres+1) w momencie zerowania lub uruchomienia licznika.

Licznik zliczający w dół (DNCTR)

Przykład 1
W zamieszczonym poniżej przykładzie, licznik zliczający w dół COUNTP odlicza 500 nowych
impulsów przed ustawieniem wartości zmiennej%Q0005 na 1.
NEW_PRT
NXT_BAT
+0500

%Q0005

DNCTR
COUNTP

Przykład 2
W zamieszczonym poniżej przykładzie sterownik zlicza liczbę przedmiotów zgromadzonych
w magazynie przejściowym. Wykorzystywana jest para liczników, zliczający w górę i w dół,
korzystających z jednego rejestru do przechowywania wartości zliczonej i wartości bieżącej. Po
przetransportowaniu przedmiotu do magazynu, wartość licznika zliczającego w górę jest
zwiększana o 1. Jeżeli przedmiot jest odbierany z magazynu, wartość licznika zliczającego w dół
jest zmniejszana o 1, zmniejszając tym samym liczbę przedmiotów przechowywanych w
magazynie o 1. Każdy z liczników ma wprowadzony inny adres rejestru. Po zmianie wartości
rejestru jego bieżąca wartość musi zostać przypisana do rejestru z bieżącą wartością drugiego
licznika.
%I00003

UPCTR

%I00001

R

%I00009

+00005

%R0100

%I00003
%I00001

INT
%R0100

Q

%I00003

%R0104

DNCTR

%I00002

PV
%R0104

%I00002
%I00003

INT
%R0104

Q

%R0100

Przykład wykorzystania funkcji dodawania i odejmowania do śledzenia stanu magazynu podano
przy opisie funkcji matematycznych.

12-79

Funkcje specjalne sterownika

W niniejszym rozdziale opisano funkcje specjalne (SVCREQ) sterownika. Omówiono również
parametry funkcji SVCREQ sterowników VersaMax Nano i Micro.
! Numery funkcji SVCREQ
! Format funkcji SVCREQ
! SVCREQ 1: Zmiana/ odczyt czasu trwania cyklu pracy sterownika w trybie ze stałym
czasem cyklu
! SVCREQ 2: Odczyt czasów z programatora
! SVCREQ 3: Zmiana trybu komunikacji z programatorem
! SVCREQ 4: Zmiana trybu komunikacji systemowej
! SVCREQ 6: Odczyt/ zmiana liczby słów sumy kontrolnej programu sterującego.
! SVCREQ 7: Odczyt/ zmiana wskazań zegara czasu rzeczywistego
! SVCREQ 8: Zerowanie zegara systemowego
! SVCREQ 9: Odczyt czasu trwania cyklu
! SVCREQ 10: Odczyt nazwy folderu
! SVCREQ 11: Odczyt numeru identyfikacyjnego (ID) sterownika
! SVCREQ 13: Zatrzymanie sterownika
! SVCREQ 14: Wymazanie komunikatów z tablicy błędów sterownika i układów wejść/wyjść.
! SVCREQ 15: Odczyt ostatnio zarejestrowanego komunikatu o błędzie działania sterownika
lub układów wejść/ wyjść
! SVCREQ 16: Odczyt wskazań zegara odmierzającego czas pracy sterownika
! SVCREQ 18: Kontrola występowania wymuszeń zmiany wartości zmiennych wejściowych
i wyjściowych
! SVCREQ 23: Odczyt sumy kontrolnej programu sterującego i konfiguracji.
! SVCREQ 26/30: Porównanie rzeczywistej konfiguracji modułów wejść/ wyjść sterownika ze
zdefiniowaną

13-1

Numery funkcji SVCREQ
Każda z funkcji specjalnych SVCREQ posiada swój numer, zgodnie z informacjami podanymi w
zamieszczonej poniżej tabeli:
Nr funkcji:

Zmiana/ odczyt czasu trwania cyklu pracy sterownika w trybie ze stałym czasem
cyklu

Odczyt czasów z programatora

Zmiana trybu komunikacji z programatorem

Zmiana trybu komunikacji systemowej oraz wartości przypisanej generatorowi
sygnału prostokątnego.

Odczyt/ zmiana liczby słów sumy kontrolnej programu sterującego.

Odczyt/ zmiana wskazań zegara podtrzymującego aktualną datę i czas

Zerowanie zegara systemowego

Odczyt czasu trwania cyklu

Odczyt nazwy folderu

11

Odczyt numeru identyfikacyjnego (ID) sterownika

12

13

Zatrzymanie sterownika na końcu kolejnego cyklu.

Wymazanie komunikatów z tablicy błędów działania sterownika i układów wejść/
wyjść.

Odczyt ostatnio zarejestrowanego komunikatu o błędzie działania sterownika lub
układów wejść/ wyjść

Odczyt wskazań zegara odmierzającego czas pracy sterownika

18

Kontrola występowania wymuszeń zmiany wartości zmiennych wejściowych
i wyjściowych

19-22
Zarezerwowany
Odczyt sumy kontrolnej programu sterującego i konfiguracji.

26/30

Porównanie rzeczywistej konfiguracji modułów wejść/wyjść sterownika ze
27, 28

29
31-255

13-2

Odczyt czasu trwania ostatniej przerwy w zasilaniu sterownika
Rozdział 13: Funkcje specjalne sterownika

Format funkcji SVCREQ
Funkcja SVCREQ posiada trzy parametry wejściowe i jeden parametr wyjściowy.

Gdy do bloku funkcyjnego dopływa sygnał wejściowy, uruchamiana jest funkcja sterownika
o numerze identyfikacyjnym określonym za pomocą parametru FNC. Blok parametrów funkcji
sterownika odczytywany jest z pamięci sterownika, z obszaru o początkowym adresie zadanym
przez parametr PARM. Adres ten to adres początku &quot; bloku parametrów &quot; funkcji. Liczba
parametrów uruchamianej funkcji sterownika zależy od jej typu (tzn. od numeru identyfikacyjnego
FNC).
Obszar pamięci rozpoczynający się od adresu PARM zarezerwowany jest zarówno dla bloku
parametrów wejściowych, jak i wyjściowych, przesyłanych jako wynik działania jednej ze
specjalnych funkcji sterownika. Dane wejściowe i wyjściowe są więc przechowywane w tym
samym miejscu.
Funkcja SVCREQ zawsze przesyła sygnał wyjściowy, chyba że podany zostanie niewłaściwy
numer identyfikacyjny funkcji, błędne parametry lub adres wychodzący poza zakres pamięci
sterownika. Poszczególne funkcje SVCREQ mogą mieć inne przyczyny błędów.

Parametry funkcji SVCREQ
uruchamiana jest jedna ze specjalnych funkcji sterownika.

I, Q M, T, G, R, Stała lub adres zmiennej, określające numer identyfikacyjny jednej ze
AI, AQ, stała specjalnych funkcji sterownika.

I, Q M, T, G, R, Adres początkowy bloku parametrów funkcji określonej za pomocą
parametru FNC.
brak sygnału

Sygnał wyjściowy, wysyłany po poprawnym wykonaniu funkcji.

Przykład formatu funkcji SVCREQ
W zamieszczonym poniżej przykładzie, każda zmiana wartości zmiennej%I0001 na 1 powoduje
wywołanie funkcji SVCREQ 7, z blokiem parametrów rozpoczynającym się od adresu%R0001.
W przypadku pomyślnego wykonania funkcji, wartość zmiennej przekaźnikowej%Q0001 jest
ustawiana na 1.
%I0001

%Q0001
SVCREQ

00007
%R0001

13-3

SVCREQ 1: Zmiana/ odczyt czasu trwania cyklu pracy sterownika
w trybie ze stałym czasem cyklu
Funkcja SVCREQ 1 pozwala na aktywowanie trybu o stałym czasie trwania cyklu z poziomu
programu sterującego, zmianę długości czasu trwania cyklu, sprawdzenie czy tryb ten jest
aktywny lub odczytanie ustawionego czasu trwania cyklu.

Blok parametrów wejściowych funkcji SCVREQ 1
Funkcja ta posiada blok parametrów o długości 2 słów.

Wyłączanie trybu ze stałym czasem trwania cyklu (CONSTANT SWEEP).
W celu wyłączenia trybu CONSTANT SWEEP, wprowadzić funkcję SVCREQ #1 z następującym
blokiem parametrów:

ignorowany

Włączanie trybu ze stałym czasem trwania cyklu (CONSTANT SWEEP).
W celu włączenia trybu CONSTANT SWEEP, wprowadzić funkcję SVCREQ #1 z następującym
0 lub wartość czasu trwania cyklu
programu

Uwaga: Jeżeli zachodzi potrzeba wprowadzenia nowej wartości czasu trwania cyklu programu,
wartość tę należy wprowadzić w drugim słowie. Jeżeli długość cyklu programu ma pozostać bez
zmian, w drugim słowie należy wprowadzić 0. Jeżeli wartość czasu trwania cyklu dla generatora
nie została do tej pory określona, wprowadzenie wartości 0 spowoduje ustawienie wyjścia OK na
0.

Zmiana czasu trwania cyklu
W celu dokonania zmiany czasu trwania cyklu programu bez wybierania trybu ze stałym czasem
trwania cyklu, należy wprowadzić funkcję SVCREQ #1 z następującym blokiem parametrów:

nowa wartość cyklu programu

Odczyt czasu trwania cyklu o stałej długości
W celu odczytania bieżącego czasu trwania czasu cyklu, bez wprowadzania jakichkolwiek zmian,
funkcja SVCREQ #1 powinna być wywołana z następującym blokiem parametrów:

13-4

Funkcja zostanie pomyślnie wykonana, o ile nie zaistnieje jedna z podanych poniżej sytuacji:
1. Jako parametr określający żądane działanie do wykonania wprowadzono liczbę inną niż 0, 1,
2 lub 3. Czas trwania cyklu jest dłuższy od 500 ms (0. 5 sek). Tryb ze stałym czasem trwania cyklu jest włączany jeżeli nie jest wprowadzona wartość dla
generatora sygnału prostokątnego lub też jeśli wprowadzono uprzednio dla niego wartość 0.
Po wykonaniu, funkcja ta zwraca w tym samym bloku czas trwania cyklu oraz wprowadzoną dla
niego wartość.

0 = wyłączony
1 = włączony

bieżąca wartość czasu trwania
Przykład funkcji SVCREQ 1
Jeżeli zmienna OV_SWP jest równa 1, następuje odczyt ustawionego stałego, czasu trwania cyklu,
następnie odczytana wartość jest zwiększana o dwie milisekundy i przesyłana z powrotem do
jednostki centralnej. Blok parametrów przechowywany jest w pamięci lokalnej o adresie
początkowym%R0050. Ponieważ funkcje MOVE i ADD wymagają trzech poziomych połączeń
styków, w przykładzie wykorzystano wewnętrzny przekaźnik%M00001 do przechowywania
pomyślnego wyniku pierwszego szczebla. W każdym cyklu, w którym wartość zmiennej OV_SVP
jest równa 0, zmienna%M00001 jest także równa 0.
OV_SWP

Q

%R0050

00001
%R0050

%M00001
FNC

%R0051

00002

I2

%R00051

%M00001
00001

SVCREQ
%R00050

00001
%R00050

13-5

SVCREQ 2: Odczyt czasów z programatora
Za pomocą funkcji SVCREQ można odczytać czasy trwania komunikacji sterownika
z programatorem oraz komunikacji systemowej. Komunikacje te mogą być realizowane w trybie
ograniczonym czasowo (limited) lub w trybie realizacji wszystkich zadań (run to completion).

Nazwa trybu

Limited Mode
(Komunikacja
ograniczona
czasowo)

Czas trwania komunikacji ograniczony jest do 6 ms. Komunikacja jest
przerywana w przypadku braku dalszych zadań lub też w przypadku
przekroczenia 6 ms.

Run to
Completion
(Realizacja
wszystkich
zadań)

Bez względu na czas trwania, komunikacja jest realizowana do
momentu zakończenia wykonywania wszystkich zadań (do 400 ms).

Po ustawieniu wartości czasu na zero, komunikacja jest przerywana.

Blok parametrów wyjściowych funkcji SVCREQ 2
Blok parametrów posiada długość trzech słów.

Bajt wyższy

Bajt niższy

Tryb

Wartość w ms

Komunikacja z programatorem

Komunikacja systemowa

musi być równy
zero

musi być równy Zarezerwowany
Wszystkie parametry są parametrami wyjściowymi. Funkcja ta nie wymaga określania
jakichkolwiek parametrów w momencie jej wywoływania.

Przykład funkcji SVCREQ 2
W zamieszczonym poniżej przykładzie, po każdej zmianie wartości zmiennej%Q00102 na 1,
jednostka centralna sterownika Micro zapisuje bieżące wartości czasu trwania dla trzech rodzajów
komunikacji w bloku parametrów, umieszczonym pod adresem%R0010.
%Q00102

00002
%R0010

13-6

SVCREQ 3: Zmiana trybu komunikacji z programatorem
Funkcja SVCREQ 3 pozwala na zmianę trybu komunikacji z programatorem (Limited lub Run-toCompletion). Wprowadzona zmiana jest odzwierciedlana w następnym cyklu po wywołaniu tej
funkcji. Czas trwania komunikacji nie może być zmieniony, wynosi on zawsze 6 ms.
Funkcja SVCREQ #3 wysyła sygnał wyjściowy o ile nie wprowadzono wartości innej niż 0
(Limited) lub 2 (Run-to-Completion).
Blok parametrów posiada długość jednego słowa.

Zmiana trybu komunikacji z programatorem
W celu zmiany trybu komunikacji z programatorem, wprowadzić funkcję SVCREQ #3
z następującym blokiem parametrów:

Przykład funkcji SVCREQ 3
W zamieszczonym poniżej przykładzie, po każdej zmianie wartości zmiennej%I006 na 1,
włączana jest komunikacja z programatorem, z ustawieniem czasu trwania na 6 ms. Blok
parametrów przechowywany jest w pamięci lokalnej o adresie początkowym%R0051.
%I0006

0006

Q

%R0051

00003
%R0051

13-7

SVCREQ 4: Zmiana trybu komunikacji systemowej
Funkcja SVCREQ 4 pozwala na zmianę trybu komunikacji systemowej (Limited lub Run-toCompletion). Wprowadzona zmiana jest odzwierciedlana w następnym cyklu po wywołaniu tej
Funkcja SVCREQ #4 wysyła sygnał wyjściowy o ile nie wprowadzono wartości innej niż 0
Zmianę trybu komunikacji systemowej
W celu zmiany trybu komunikacji z programatorem, wprowadzić funkcję SVCREQ #4
Bajt wyższy
Bajt niższy
Przykład funkcji SVCREQ 4
W zamieszczonym poniżej przykładzie, zmiana wartości zmiennej%I0003 na 1 powoduje
przełączenie komunikacji systemowej w tryb Run-to-Completion. Blok parametrów umieszczony
jest pod adresem%R0025.
%I0003

0200

13-8

IN Q

%R0025

0004
%R0025

SVCREQ 6: Odczyt/ zmiana liczby słów sumy kontrolnej
programu sterującego.
Za pomocą funkcji SVCREQ 6 można odczytać lub zmienić liczbę słów wykorzystywanych do
obliczenia sumy kontrolnej. Funkcja ta zostanie poprawnie wykonana, pod warunkiem, że jako
parametr określający działanie żądane do wykonania wprowadzona zostanie liczba 0 lub 1.

Format bloku parametrów funkcji SVCREQ 6
Blok parametrów posiada długość 2 słów.
W celu odczytania liczby słów, pierwsze słowo bloku parametrów musi być równe zero.

0 (odczyt liczby słów)

Ignorowany

Po wykonaniu, funkcja ta zwraca w drugim słowie bloku parametrów wartość sumy kontrolnej.

liczba słów sumy kontrolnej

W celu zmiany liczby słów, pierwsze słowo bloku parametrów musi być równe jeden.

1 (zmiana liczby słów)

nowa liczba słów (0 do 32)

Wprowadzenie takich wartości spowoduje zmianę liczby słów wykorzystywanych do obliczania
sumy kontrolnej.

13-9

Przykład funkcji SVCREQ 6
W zamieszczonym poniżej przykładzie, zmiana wartości zmiennej FST_SCN na 1 powoduje
utworzenie bloku parametrów do obliczania sumy kontrolnej. W dalszej części programu, po
ustawieniu wartości zmiennej%I0137 na 1, funkcja SVCREQ odczytuje liczbę słów do obliczania
sumy kontrolnej. Blok parametrów funkcji umieszczony jest w obszarze%R0150-151. Funkcja
ADD dodaje do bieżącej liczby słów wartość 32, a następnie umieszcza wynik pod adresem
%R0153. Blok parametrów funkcji zmieniającej liczbę słów umieszczony jest w obszarze
%R0152-153. Drugie wywołanie funkcji SVCREQ powoduje zmianę liczby słów do obliczania
sumy kontrolnej na wartość podaną pod adresem%R0153.
WORD
%R0150

IN1 Q

%R0150

IN2

%I0137

00006
%R0150

13-10

SVCREQ

%R0150 CONST
Q

%R0152

ADD INT

FNC

%R0151 IN1

CONST IN2
00032

Q

%R0153

00006
%R0152

SVCREQ 7: Odczyt/ zmiana wskazań zegara czasu rzeczywistego
Funkcja SVCREQ 7 pozwala na odczyt/ zmianę wskazań zegara sterownika, podtrzymującego
aktualną datę i czas. Dane można wprowadzać zarówno w formacie BCD jak i w formacie ASCII.
Rok można wprowadzić w postaci 2 lub 4 cyfr. Funkcja ta jest wykonywana pomyślnie pod
warunkiem wprowadzenia wartości 0 (odczyt) lub 1 (zmiana), podania poprawnych wartości
danych oraz w odpowiednim formacie.

Format bloku parametrów funkcji SVCREQ 7
Długość bloku parametrów funkcji SVCREQ #7 zależy od formatu, w którym zapisane są dane.
Dane można wprowadzać zarówno w formacie BCD jak i w formacie ASCII. Dane wprowadzane
w formacie BCD wymagają 6 słów, a wprowadzane w formacie ASCII 12 słów (13 słów jeżeli
podawane są 4 cyfry roku). Dla obydwu typów danych:
o Godziny są zapisywane w konwencji 24-godzinnej;
o Każdy dzień tygodnia ma przypisaną wartość od 1 (niedziela) do 7 (sobota).

Rok w formacie 2 cyfr

Rok w formacie 4 cyfr

0 = odczyt bieżącego czasu i
daty
1 = ustawienie nowego czasu i
daty

1 = dane w kodzie BCD
3 = dane w kodzie ASCII

81h = format BCD
83h = format ASCII

adres od Parm
+2 do końca
bloku
parametrów

DANE

Słowa od trzeciego do końca bloku danych zawierają wartości zwrócone przez funkcję
w przypadku odczytu (wartość pierwszego słowa bloku parametrów równa 0) lub zadane przez
użytkownika w przypadku ustawiania nowego czasu i daty (wartość pierwszego słowa bloku
parametrów równa 1). W obydwu przypadkach, format słów z danymi jest taki sam. W czasie
czytania daty i czasu, słowa (adres+2) do końca bloku parametrów nie są traktowane jako
parametry wejściowe.

13-11

Format bloku parametrów funkcji SCVREQ 7 Format BCD
W formacie BCD, każdy z elementów zajmuje po jednym bajcie, a więc wymaganych jest 6 słów.

Rok w formacie 2 cyfr
Ostatni bajt szóstego słowa nie jest używany. Podczas ustawiania daty i czasu bajt ten jest
ignorowany, natomiast przy odczytywaniu bieżącej daty i czasu bajt ten jest wypełniany zerami
(tzn. ma wartość 00 w kodzie BCD).

Zawartość bloku parametrów
Przykład:
Odczyt daty i czasu w formacie BCD
(Niedziela, 3 lipca 1998, godz. 14:45:30

0 = czytanie lub 1 = zmiana adres
1 = dane zapisane w formacie BCD adres + 1

0 = (odczyt)
1 = dane zapisane w formacie BCD

miesiąc

rok

07 (lipiec)

98 (rok)

godziny

dzień miesiąca

14 (godzina)

03 (dzień)

sekundy

minuty

30 (sekund)

45 (minut)

(puste pola)

dzień tygodnia

00

06 (piątek)

Rok w formacie 4 cyfr
Blok parametrów zajmuje w tym przypadku sześć słów. Wykorzystywane są wszystkie bajty.

0 = czytanie lub 1 = zmiana adres

00 = (odczyt)

81h (format BCD-4)

19 (rok)

dzień
miesiąca

tygodnia

Format bloku parametrów funkcji SCVREQ 7 Dane zapisane w kodzie
ASCII
W formacie tym każda cyfra daty i czasu zapisywane są w kodzie ASCII. Dane zawierają spacje
i średniki, a więc są podawane w formacie przystosowanym do wyświetlania i drukowania. Format
ASCII wymaga 12 słów pamięci w bloku parametrów (13 słów w przypadku wprowadzania 4 cyfr
dla roku).

13-12

0 = czytanie lub 1 = zmiana

3 = (dane zapisane w kodzie ASCII)
rok
miesiąc
(spacja)
dzień miesiąca
godziny
(spacja)
:
minuty
sekundy
:
sekundy
dzień tygodnia
adres + 2
adres + 3
adres + 4
adres + 5
adres + 6
adres + 7
adres + 8
adres + 9
adres + 10
adres + 11

Odczyt daty i czasu w formacie ASCII
(Poniedziałek, 5 październik 1998, 11:13:00)
38 (8)
39 (9)
31 (1)
20 (spacja)
30 (0)
35 (5)
30 (wiodące 0)
3A (:)
33 (3)
32 (2:
Mon. )

0 = (odczyt)

0 = czytanie lub 1 = zmiana
83h (4 cyfry ASCII)
rok (setki)
rok (tysiące)
rok (pojedyncze
Rok (dziesiątki)
lata)
miesiąc (część
dziesiętna)
miesiąc (ostatnia
cyfra)
Dzień miesiąca
(ostatnia cyfra)
(pierwsza cyfra)
godziny (pierwsza (spacja)
cyfra)
: (średnik)
godziny (ostatnia
minuty (ostania
minuty (pierwsza
sekundy (pierwsza: (średnik)
Sekundy (ostatnia
Dzień tygodnia
39 (9)

38 (8)

31 (1)

20 (spacja)

30 (0)

adres + 6

35 (5)

30 (wiodące 0)

adres + 7

adres + 8

3A (:)

adres + 9

33 (3)

adres + 10

adres + 12 32 (2: Mon. )

13-13

Przykład funkcji SVCREQ 7
W zamieszczonym poniżej przykładzie, po wywołaniu przez poprzedni program sterujący,
tworzony jest blok parametrów dla zegara czasu bieżącego. Odczytuje on bieżącą datę i czas,
a następnie ustawia wskazania zegara na godzinę 24:00 w formacie BCD. Blok parametrów
umieszczony jest pod adresem%R0300. Tablica NOON została wcześniej zadeklarowana
w programie, zawiera ona wartości 12, 0 i 0. (Tablica NOON musi zawierać również dane
zapisane pod adresem%R0300). Format zapisu BCD wymaga zarezerwowania na blok
parametrów sześciu sąsiadujących komórek pamięci.
+04608

NOON

+00000

MIN_SEC

%T0001

%I0016
+00000

%T0001

Q

%R0300

%I0017

00FF

%R0303%R0303

NOON

%I0017

13-14

+00007
%R0300

IN1 Q

%R0303

MIN_SEC

%R0301

WORD

%R0303

%T0001

INT

%R0304

Q

%R0300

SVCREQ 8: Zerowanie zegara systemowego
Funkcja SVCREQ #8 pozwala na wyzerowanie zegara wyłączającego w czasie trwania cyklu. Po
upływie nastawionego na tym zegarze czasu, sterownik jest wyłączany bez żadnego ostrzeżenia.
Funkcja ta pozwala na zmianę wskazań tego zegara w czasie czasochłonnych zadań (na przykład
w okresie oczekiwania na odpowiedź z systemu komunikacji).

Należy upewnić się, że wyzerowanie zegara systemowego nie będzie
miało ujemnego wpływu na sterowany proces.

Format bloku parametrów funkcji SVCREQ 8
Funkcja ta nie posiada bloku parametrów.

Przykład funkcji SVCREQ 8
W zamieszczonym poniżej przykładzie, zmiana wartości zmiennej%Q0127, I%1476 lub
wewnętrznego przekaźnika%M0010 na 1 powoduje wyzerowanie zegara wyłączającego.
%Q0127
SVCREQ
%I1476
%M0010

0008
%R0100

13-15

SVCREQ 9: Odczyt czasu trwania cyklu
Funkcja SVCREQ 9 pozwala na odczyt czasu w milisekundach, który upłynął od momentu
rozpoczęcia cyklu. Dane zapisywane są jako 16 bitowe liczby całkowite bez znaku.

Format bloku parametrów funkcji SVCREQ 9
Blok parametrów pełni wyłącznie funkcję wyjściowego bloku, ma on długość jednego słowa.

czas od rozpoczęcia cyklu

Przykład funkcji SVCREQ 9
W zamieszczonym poniżej przykładzie, do zmiennej%R5200 przypisywany jest czas, który
upłynął od momentu rozpoczęcia cyklu. Jeżeli czas ten jest większy od 100 ms, wartość zmiennej
%M0200 związanej z wewnętrznym przekaźnikiem jest ustawiana na 1.

GT INT

SVCREQ
00009
%R0200

13-16

PARM

%M0200
%R0200

0100

SVCREQ 10: Odczyt nazwy folderu
Funkcja SVCREQ 10 pozwala na odczyt nazwy wykorzystywanego w danym momencie katalogu.

Format bloku parametrów funkcji SVCREQ 10
Blok parametrów wyjściowych posiada długość czterech słów. Zwraca on osiem znaków ASCII,
ostatni z nich jest pusty (00h). Jeżeli nazwa programu jest krótsza od siedmiu znaków, na końcu
dołączane są znaki puste.

znak 1

znak 2

znak 3

znak 4

znak 5

znak 6

znak 7

Przykład funkcji SVCREQ 10
W zamieszczonym poniżej przykładzie, każda zmiana wartości zmiennej%I0301 na 1, powoduje
zapisanie wartości 10 do rejestru%R0099. Wartość ta jest numerem identyfikacyjnym funkcji
SVCREQ #10 do odczytu nazwy katalogu. Następnie wywoływany jest blok programu READ_ID
w celu odczytania nazwy katalogu. Blok parametrów umieszczony jest pod adresem%R0100.
%I0301
READ_ID

0010

Q

%R0099

Program Block READ_ID

SVCREQ
%R0099
%R0100

13-17

SVCREQ 11: Odczyt numeru identyfikacyjnego (ID) sterownika
Funkcja SVCREQ 11 pozwala na odczytanie nazwy sterownika wykonującego program.

Format bloku parametrów funkcji SVCREQ 11
ostatni z nich jest pusty (00h). Jeżeli nazwa sterownika jest krótsza od siedmiu znaków, na końcu
Przykład funkcji SVCREQ 11
W zamieszczonym poniżej przykładzie, każda zmiana wartości zmiennej%I0301 na 0, powoduje
zapisanie wartości 11 do rejestru%R0099. Wartość ta jest numerem identyfikacyjnym funkcji
SVCREQ11 odczytującej nazwę sterownika. Następnie wywoływany jest blok programu
READ_ID w celu odczytania nazwy sterownika. Blok parametrów umieszczony jest pod adresem
%R0100.
%I0303
READ ID

UINT
0011

13-18

SVCREQ 13: Zatrzymanie sterownika
Funkcja SVCREQ z parametrem FNC o wartości 13 służy do zatrzymania sterownika Micro
(przejścia w tryb STOP) na końcu bieżącego cyklu pracy sterownika. Wszystkie wyjścia
sterownika zostaną na początku następnego cyklu pracy ustawione w stan OFF. W tablicy błędów
działania sterownika zapisany zostanie błąd, informujący o wykonaniu funkcji zatrzymującej
sterownik. W zależności od wprowadzonej konfiguracji, wejścia i wyjścia sterownika będą
obsługiwane lub nie.

Blok parametrów funkcji SVCREQ 13
Przykład funkcji SVCREQ 13
W zamieszczonym poniżej przykładzie, po ustawieniu zmiennej%T0001 na 1 następuje
wykonanie funkcji SVCREQ 13. Parametr wejściowy PARM nie jest wykorzystywany.
W przykładzie tym, po pomyślnym wykonaniu funkcji SVCREQ #13, następuje przejście do
końca programu przy pomocy instrukcji JUMP. Instrukcje JUMP i LABEL zastosowano ze
względu na fakt, że przejście do trybu STOP następuje dopiero po zakończeniu cyklu w którym
nastąpiło wykonanie funkcji.

%T0001
00013

FNC

%R0100

&amp; gt; &amp; gt; END_PRG

END_PRG

13-19

SVCREQ 14: Wymazanie komunikatów z tablicy błędów
sterownika i układów wejść/ wyjść.
Funkcja SVCREQ z parametrze FNC o wartości 14 służy do wymazania wszystkich informacji
z tablicy błędów działania sterownika lub z tablicy błędów działania układów wejść/ wyjść.
Funkcja ta wysyła sygnał wejściowy pod warunkiem, że jako parametr określający żądane do
wykonania działanie wprowadzona zostanie liczba 0 lub 1.

Blok parametrów wejściowych funkcji SVCREQ 14
Długość bloku parametrów dla tej funkcji wynosi 1 słowo. Jest to jedynie parametr wejściowy.
Funkcja ta nie ma bloku parametrów wyjściowych.

0=
usunięcie
zawartości tablicy błędów
działania sterownika
1=
działania układów wejść/
wyjść

Przykład funkcji SVCREQ 14
W zamieszczonym poniżej przykładzie, każda zmiana wartości zmiennych%I0346 i%I0349
powoduje wymazanie komunikatów z tablicy błędów działania sterownika. Jeżeli zmienne
wejściowe%I0347 i%I0349 mają wartość równą 1, następuje wymazanie komunikatów z tablicy
błędów działania układów wejść/ wyjść. Jeżeli zmienne wejściowe%I0348 i%I0349 mają wartość
równą 1, wymazywane są komunikaty z obydwu tablic błędów.
Blok parametrów dla tablicy błędów działania sterownika umieszczony jest pod adresem%R0500,
a blok parametrów dla tablicy błędów działania układów wejść/ wyjść umieszczony jest pod
adresem%R0550. Wartości wpisywane są do obydwu tych bloków parametrów w innym miejscu
programu.
%I0349

%I0346
SVCREQ
%I0348

00014
%R0500

%I0349

PARM

%I0347
00014
%R0550

13-20

SVCREQ 15: Odczyt ostatnio zarejestrowanego komunikatu o
błędzie działania sterownika lub układów wejść/ wyjść
Funkcja SVCREQ z parametrem FNC o wartości 15 służy do odczytania ostatnio
zarejestrowanego komunikatu o błędzie w tablicy błędów działaniu sterownika lub układów wejść/
wyjść. Funkcja ta wysyła sygnał wejściowy pod warunkiem, że jako parametr określający żądane
do wykonania działanie wprowadzona zostanie liczba 0 lub 1.

Blok parametrów wejściowych funkcji SVCREQ 15
Funkcja ta posiada blok parametrów o długości 22 słów. Wejściowy blok danych ma następujący
format:

0 = Odczyt ostatnio
zarejestrowanego błędu w
tabeli błędów działania
sterownika
1 = Odczyt ostatnio
układów wejścia/ wyjścia

8 = Odczyt ostatnio
9 = Odczyt ostatnio
Format danych wyjściowych zapisywanych w bloku parametrów funkcji, pod adresami od &quot; PARM
+ 1 &quot; do &quot; PARM + 21 &quot; zależy od tablicy, z której czytany jest komunikat.

Format bloku parametrów wyjściowych dla
tabeli błędów działania sterownika
Pole wolne

wskaźnik długości
szczegółowych
informacji o błędzie
Pole wolne
kaseta
zadanie
grupa błędów
Kod błędu
blok
informacji o błędzie

gniazdo
waga błędu

informacji o
błędzie

opis błędu

godzina

do
adres + 18
adres + 19
adres + 20

adres + 21

Rok w
formacie 2
cyfr

Format bloku parametrów
wyjściowych dla tabeli błędów
działania układ. wejść/ wyjść
typ pamięci
Pozycja
szyna
Punkt
waga błędu
typ błędu
kategoria błędu

13-21

formacie 4
cyfr
Format

13-22

Pole wolne Miesiąc

Rok

adres + 22

Wskaźnik długości bloku szczegółowych informacji o błędzie
Pierwszy bajt słowa adres+1 zawiera liczbę informującą o długości bloku szczegółowych
informacji o błędzie. Bajt ten może mieć następujące wartości:

tabela błędów działania
00 = 8 bajtów (krótki)
01 = 24 bajtów (długi)
02 = 5 bajtów (krótki)
03 = 21 bajtów (długi)

Przykład funkcji SVCREQ 15
Jeżeli wartości wejść%I0250 i%I0251 są równe 1, pierwsza funkcja Move umieszcza zero
(odczytuje tabele błędów działania sterownika) w bloku parametrów funkcji SVCREQ 15. Jeżeli
wartość%I0250 jest równa 1 a wartość wejścia%I0251 jest równa 0, funkcja Move umieszcza
w bloku parametrów funkcji SVCREQ wartość 1 (odczyt tabeli błędów działania układów wejść/
wyjść). Blok parametrów umieszczony jest pod adresem%R0600.
%I0250

%I0251
1

%I0250

%I0251

Q

%R0600

00015
%R0600

13-23

SVCREQ 16: Odczyt wskazań zegara odmierzającego czas pracy
Funkcja SVCREQ z parametrem FNC o wartości 16 umożliwia odczyt bieżącego stanu zegara
odmierzającego czas pracy sterownika. Zegar ten odmierza w sekundach czas, który upłynął od
momentu ostatniego włączenia zasilania sterownika Micro.

Blok parametrów wyjściowych funkcji SVCREQ 16
Blok parametrów funkcji stanowią jedynie parametry wyjściowe. Blok ten ma długość 3 słów.

Liczba sekund, które upłynęły od
momentu włączenia zasilania
sterownika (niższy rząd wielkości)

sterownika (wyższy rząd wielkości)

Liczba setnych części odmierzanej
aktualnie sekundy

Pierwsze dwa słowa podają czas w sekundach. Ostanie słowo zawiera liczbę setnych części
odmierzanej aktualnie sekundy.

Przykład funkcji SVCREQ 16
W zamieszczonym poniżej przykładzie, każda zmiana wartości wewnętrznego przekaźnika
%M0233 na 1 powoduje odczytanie wskazań zegara i ustawienie zmiennej%M0234. Jeżeli
wartość zmiennej przekaźnikowej%M0233 jest równa 0, funkcja SVCREQ wywoływana jest
z blokiem parametrów o adresie początkowym%R0131 w celu ponownego odczytu wskazań
zegara odmierzającego czas pracy sterownika.
Funkcja odejmowania oblicza różnicę pomiędzy pierwszym, a drugim odczytem, zapisanymi
w bloku parametrów funkcji SVCREQ. W czasie odejmowania pomijane są setne części
mikrosekund.
Obliczona różnica jest zapisywana pod adresem%R0250.
%M0234
S

%M0223
FNC

%R0127

PARM

%M0233

%M0234

00016
%R0131

13-24

SVCREQ

%M0234
SUB
FNC

%R0131

PARM

%R0127

%R0250

SVCREQ 18: Kontrola występowania wymuszeń zmiany wartości
zmiennych wejściowych i wyjściowych
Funkcja SVCREQ z parametrem FNC o wartości 18 służy do sprawdzenia, czy występują
zmienne, których wartość została wymuszona i zablokowana (OVERRIDE).

Blok parametrów wyjściowych funkcji SVCREQ 18
Blok parametrów funkcji stanowią jedynie parametry wyjściowe. Blok ten ma długość 1 słowa.

brak zmiennych, których
wartość została wymuszona i
zablokowana
występowanie
zmiennych, których wartość został
wymuszona i zablokowana

Przykład funkcji SVCREQ 18
W zamieszczonym poniżej przykładzie odczytywany jest i zapisywany do zmiennej%R1003
status wymuszenia i zablokowania wartości zmiennych. Funkcja porównania sprawdza, czy
wartość zmiennej%R1003 jest równa 1 (stała). Jeżeli tak, wartość zmiennej wyjściowej%T0001
ustawiana jest na 1.
%I0001
00018
%R1003

00001
%R1003

Astor Sp. - Autoryzowany Dystrybutor GE Fanuc

%T0001
13-25

SVCREQ 23: Odczyt sumy kontrolnej programu sterującego
i konfiguracji.
Funkcja SVCREQ z parametrem FNC o wartości 23 służy do odczytu sumy kontrolnej programu
sterującego i konfiguracji. Wyjście bloku funkcyjnego jest zawsze ustawiane na 1 po
doprowadzeniu sygnału do tej funkcji.

Blok parametrów wyjściowych funkcji SVCREQ 23
Blok parametrów wyjściowych o długości 12 słów posiada następujący format:
Pierwsza dwa elementy bloku parametrów wyjściowych informują, czy suma kontrolna programu
sterującego i konfiguracji jest poprawna. (Niewłaściwa suma kontrolna może zostać odczytana w
czasie zapisywania programu sterującego w tryb Store).

Suma kontrolna programu sterującego (0 = nieważna, 1 =
ważna)

Suma kontrolna konfiguracji (0 = nieważna, 1 = ważna)

Liczba bloków programu (włącznie z blokiem głównym MAIN)

Rozmiar programu sterującego w bajtach (2 słowa)

Suma kontrolna programu sterującego

32-bitowa suma kontrolna typu CRC dla programu sterującego

Rozmiar danych konfiguracyjnych w bajtach

Suma kontrolna konfiguracji

32-bitowa suma kontrolna typu CRC dla konfiguracji (2 słowa)

Przykład funkcji SVCREQ 23
W zamieszczonym poniżej przykładzie, każda zmiana wartości zmiennej wejściowej%I0251 na 1
powoduje zapisanie do bloku parametrów sumy kontrolnej programu sterującego oraz ustawienie
zmiennej przekaźnika%Q0001 na 1.
%Q0001

%I0251
00023
%R0050

13-26

SVCREQ 26/30: Porównanie rzeczywistej konfiguracji modułów
wejść/ wyjść sterownika ze zdefiniowaną
Za pomocą funkcji SVCREQ 26 i SVCREQ 30 można sprawdzić, czy konfiguracja
zainstalowanych modułów jest zgodna z konfiguracją zapisaną w oprogramowaniu. Jeżeli nie,
funkcje te umieszczają odpowiednie komunikaty w tabeli błędów działania sterownika i tabeli
układów wejść/ wyjść. Funkcje SVCREQ 26 i 30 mają takie samo przeznaczenie.
Im więcej błędów w konfiguracji, tym dłuższy jest czas wykonywania tych funkcji.
Funkcje te nie posiadają bloku parametrów. Zawsze wysyłają sygnał wyjściowy.

Przykład funkcji SVCREQ 26
W zamieszczonym poniżej przykładzie, jeżeli parametr wejściowy%I0251 ma wartość 1, funkcja
SVCREQ porównuje zainstalowane moduły z konfiguracją zapisaną w oprogramowaniu. Po
zakończeniu wykonywania funkcji SVCREQ, wartość zmiennej wyjściowej%Q0001 jest
ustawiana na 1.
%Q0001

%I0251
00026
%R0050

13-27

SVCREQ 29: Odczyt czasu trwania ostatniej przerwy w zasilaniu
Funkcja SVCREQ z parametrem FNC o wartości 29 umożliwia odczyt czasu trwania ostatniej
przerwy w zasilaniu sterownika. Jeżeli upłynął czas nastawiony na zegarze resetującym, sterownik
nie jest w stanie obliczyć czasu trwania przerwy w zasilaniu, długość tej przerwy ustawiana jest
w takiej sytuacji na 0.
Funkcja ta zawsze wysyła sygnał wyjściowy.

Blok parametrów wyjściowych funkcji SVCREQ 29
Blok parametrów funkcji stanowią jedynie parametry wyjściowe. Blok parametrów posiada
długość 3 słów.

Czas trwania przerwy w zasilaniu w sekundach
(niższe bajty)

(wyższe bajty)

Pierwsze dwa słowa podają czas w sekundach, który upłynął od momentu wyłączenia zasilania.
Ostatnie słowo jest zawsze równe 0.

Przykład funkcji SVCREQ 29
powoduje zapisanie do bloku parametrów, umieszczonego pod adresem%R0050. Zmienna
związana z przekaźnikiem (%Q0001) jest zawsze ustawiana na 1.
%Q0001

%I0251
00029
%R0050

13-28

Protokoły Serial I/O / SNP / RTU

W niniejszym rozdziale opisano protokół Serial I/O sterownika VersaMax Micro, za pomocą którego
można bezpośrednio z programu sterującego sterować operacjami odczytu / zapisu do jednego
z portów sterownika Micro.
W rozdziale tym opisano również instrukcje korzystania z funkcji COMMREQ do konfigurowania
portów szeregowych jednostki centralnej do pracy w protokole SNP, RTU oraz protokołu Serial I/O.
!

Format funkcji COMMREQ.

!

Konfigurowanie portu szeregowego za pomocą funkcji COMMREQ:
&quot;
&quot;

Blok poleceń COMMREQ do konfigurowania protokołu SNP

Blok danych COMMREQ do konfigurowania protokołu RTU

&quot;
!

Praca w charakterze stanowiska RTU Slave/ SNP Slave z dołączonym programatorem.

Blok danych COMMREQ protokołu Serial I/O.

Funkcje COMMREQ protokołu Serial I/O
Inicjalizacja portu

Ustawianie bufora wejściowego

Odświeżanie bufora wejściowego

Odczyt statusu portu

Sterowanie zapisem do portu

Przerywanie aktywnego polecenia

Automatyczne wybieranie modemu

Wysyłanie bajtów

Odczyt bajtów

Odczyt znaków

Szczegółowe informacje o protokołach RTU i SNP zawiera podręcznik Serial Communications User's
Manual (GFK-0582).

14-1

Format funkcji COMMREQ
Komunikacja serial I/O jest implementowana za pomocą funkcji COMMREQ (Communication
Request). Zadania w tym protokole, takie jak wysłanie znaku przez złącze szeregowe, czy oczekiwanie
na znak, są implementowane za pomocą funkcji COMMREQ.
Funkcja COMMREQ wymaga, aby wszystkie dane były umieszczone w odpowiedniej kolejności (w
bloku danych) w pamięci sterownika, przed jej wywołaniem. Wywołanie funkcji COMMREQ powinno
być sterowane stykiem przekaźnika monostabilnego, co ma na celu uniemożliwienie wielokrotnego
wysyłania danych. Blok polecenia w tabelach rejestrów powinien być tworzony przy użyciu funkcji
przemieszczania bloku (BLKMV).
Funkcja COMMREQ posiada trzy parametry wejściowe i jeden parametr wyjściowy. Gdy do bloku
funkcyjnego dopłynie sygnał wejściowy, realizowana jest odpowiednia komenda komunikacyjna.

14-2

wykonanie bloku COMMREQ.
I, Q, M, T, G, Numer kasety (wyższy bajt) i numer gniazda (niższy bajt), w którym jest
R, AI, AQ, zainstalowany port przez który ma zostać nawiązana komunikacja. SYSID musi
określać dla jednostki centralnej kasetę/ gniazdo 0.
R AI, AQ,
Parametr TASK określa port:
Task 19 dla portu 1
Task 20 dla portu 2

brak sygnału Na wyjście FT wysyłany jest sygnał w przypadku wykrycia błędy w czasie
przetwarzania COMMREQ:
o Pod wyszczególnionym adresem nie ma żadnego modułu.
o Zadanie zlecane wyszczególnionemu modułowi nie może być przez ten
moduł wykonane.
o Długość przesłanego bloku danych wynosi 0.
o Adres statusu komunikacji (w bloku danych) nie istnieje. (dotyczy
wyłącznie funkcji COMMREQ dla modułu HSC).

Rozdział 14: Protokoły Serial I/O / SNP / RTU

Blok polecenia funkcji COMMREQ
sterujących zależy od ilości danych wysyłanych poprzez moduł komunikacyjny.
Blok poleceń zawiera dane, które mają być przesłane do innego urządzenia oraz informacje związane
z wykonywaniem funkcji COMMREQ. Blok poleceń posiada następującą strukturę:
Znacznik trybu pracy (WAIT lub NOWAIT)

Rodzaj pamięci w której przechowywany jest status
Adres pamięci w której przechowywany jest status
Maksymalny czas oczekiwania jednostki centralnej na
odpowiedź

Maksymalny czas przeznaczony na komunikację

maxymalnie do
Przykład funkcji COMMREQ.
W przykładzie tym, po ustawieniu zmiennej%M0021 na 1, blok polecenia umieszczony pod adresem
%R0032 jest wysyłany do portu 2 (TASK=20) jednostki centralnej (kaseta 0, gniazdo 0). W przypadku
wystąpienia błędu w czasie wykonywania funkcji COMMREQ, wartość zmiennej%Q0110 ustawiana
jest na 1.
%M0021
| |
%R0032

00020

%Q0110
14-3

Konfigurowanie portu szeregowego za pomocą funkcji
COMMREQ:
Poniżej opisano wartości, które muszą być zapisane do bloku danych w celu przygotowania portu
szeregowego do pracy w protokole SNP, RTU, Serial I/O. Wszystkie wartości podano w systemie
heksadecymalnym, o ile nie zaznaczono inaczej. W przykładzie tym blok danych tworzony jest za
pomocą funkcji BLKMV.

Czasy wykonywania instrukcji
Jeżeli za pomocą funkcji COMMREQ wysyłana jest konfiguracja do portu szeregowego, do którego
dołączone jest urządzenie master protokołu SNP/SNPX (przykładowo programator), konfiguracja portu
szeregowego określona przy pomocy funkcji COMMREQ jest uwzględniana dopiero w przypadku,
gdy sterownik Micro stwierdzi odłączenie urządzenia master protokołu SNP/SNPX. Zdarzenie to
zachodzi po upływie ustawianego opóźnienia T3'. Słowo statusu funkcji COMMREQ dla konfiguracji
portu COMMREQ jest uaktualniane natychmiast po zweryfikowaniu przez jednostkę centralną
poprawności konfiguracji. Oznacza to, że wartość informująca o pomyślnym wykonaniu COMMREQ
może zostać zwrócona przez COMMREQ do konfiguracji portu przed faktycznym zainstalowaniem
zadanej konfiguracji.

Wysyłanie innej funkcji COMMREQ do tego samego portu
Program sterujący musi odczekać co najmniej 2 sekundy po zainstalowaniu nowego protokołu dla portu
szeregowego, przed wysłaniem jakiegokolwiek polecenia COMMREQ związanego z tym nowym
protokołem. Dotyczy to nowego protokołu zainstalowanego poprzez zapisanie w sterowniku nowej
konfiguracji sprzętowej lub poprzez funkcję COMMREQ do konfigurowania portu. Jeżeli dla portu
skonfigurowano protokół Serial I/O, ten okres oczekiwania ma zastosowanie również po przełączeniu
sterownika Micro z trybu Stop do Run.

Niepoprawna konfiguracja portów
Funkcje COMMREQ do konfigurowania portu (portów) sterownika Micro są ograniczone do
obsługiwanych protokółów danego portu, zgodnie z informacjami podanymi w Rozdziale 6 (punkt
omawiający konfigurowanie portów 1 i 2). Wszystkie funkcje COMMREQ żądające wprowadzenia
niepoprawnej konfiguracji portu są odrzucane.

14-4

Praca w protokole RTU Slave/ SNP Slave
z dołączonym programatorem.
Programator (urządzenie SNP/SNPX) może być dołączony do portu 1 lub portu 2, nawet jeżeli port ten
pracuje w charakterze urządzenia Slave protokołu RTU. W przypadku pracy sterownika w sieci
multidrop, należy skonfigurować dla sterownika Micro odpowiedni identyfikator (ID sterownika).
Należy zwrócić uwagę, aby przy pracy w sieci multidrop z protokołem SNP, jeżeli dla portu
skonfigurowano protokół RTU, identyfikator SNP powiązany z parametrami sterownika Micro był taki
sam jak dla danego portu komunikacyjnego.
Programator, aby być rozpoznanym przez jednostkę centralną sterownika, musi korzystać z tych
samych parametrów komunikacji szeregowej (prędkość przesyłania danych, parzystość, bity stopu, itp. )
co aktywny protokół RTU.
Po rozpoznaniu programatora przez sterownik Micro, sterownik ten usuwa protokół RTU Slave
z portu, a następnie instaluje jako aktywny protokół SNP Slave. SNP ID, czas opóźnienia odpowiedzi
modemu oraz domyślny czas martwy dla nowej sesji SNP Slave są określane na podstawie
parametrów skonfigurowanych dla sterownika Micro, a nie na podstawie konfiguracji portu 1 i portu
2. Połączenie powinno zostać nawiązane w ciągu 12 sekund. Jeżeli połączenie z programatorem
zostało uaktywnione, można rozpocząć normalną komunikację z programatorem. (Jeżeli programator
nie będzie w stanie nawiązać komunikacji w ciągu 12 sekund, sytuacja taka traktowana jest jako
utrata komunikacji z programatorem).
Parametry portów komunikacyjnych można zmienić za pomocą funkcję COMMREQ. Funkcje
COMMREQ nie obsługiwane przez protokół SNP Slave są odrzucane. Po otrzymaniu nowej
konfiguracji portu, zostanie ona uwzględniona dopiero po odłączeniu programatora.
Pomiędzy odłączeniem programatora a zaakceptowaniem tego faktu przez sterownik Micro upływa
pewien czas (równy ustawionemu parametrowi T3'). W ciągu tego okresu port nie przetwarza żadnych
komunikatów. Sterownik Micro wykrywa odłączenie programatora jako przekroczenie czasu
oczekiwania na odpowiedź urządzenia Slave SNP. Z tego powodu, należy zachować ostrożność przy
deaktywowaniu czasu oczekiwania, wykorzystywanego przez protokół SNP Slave.
Jeżeli sterownik Micro rozpozna odłączenie programatora, instaluje ponownie protokół RTU Slave,
o ile nie został przesłany inny protokół. Jeżeli przesłany został nowy protokół, jest on instalowany przez
sterownik Micro.

1.

Port 1 pracuje z protokołem RTU Slave przy prędkości transmisji danych 9600 baud.

Programator dołączony jest do portu 1. Prędkość transmisji danych przez programator wynosi
9600 baud.

Sterownik Micro instaluje dla portu 1 protokół SNP Slave, a programator komunikuje się
w standardowy sposób.

4.

Programator przesyła nową konfigurację dla portu 1. W tej nowej konfiguracji ustawiona jest dla
protokołu SNP Slave prędkość 4800 baud (zostanie ona uwzględniona dopiero po przerwaniu
komunikacji z programatorem).

Po utracie komunikacji z programatorem następuje uwzględnienie nowej konfiguracji.

14-5

Blok poleceń COMMREQ do konfigurowania protokołu
Wartości

Znaczenie

10H

Długość bloku danych

Adres + 1

0 = No Wait

Flaga WAIT/ NOWAIT

Adres + 2

0008 =%R, pamięć rejestrów

Typ pamięci wskaźnika słowa
statusu

Adres + 3

Adres słowa statusu funkcji COMMREQ,
liczony od zera (przykładowo, wartość 99
oznacza, że słowo statusu ma wartość
100).

Przesunięcie wskaźnika słowa
Adres + 4

0 (Wykorzystywany wyłącznie w trybie
Wait/No Wait)

Adres + 5

Maksymalny czas przeznaczony na
komunikację

Adres + 6

FFF0H

Słowo polecenia (ustawianie portu
szeregowego)

Adres + 7

0001

Protokół: 1=SNP

Adres + 8

0000=Slave, 0001=Master

Tryb portu

Adres + 9

6=19200, 5=9600, 4=4800, 3=2400,
2=1200, 1=600, 0=300

Prędkość przesyłania danych

Adres + 10

0 = Brak, 1 = Odd, 2 = Even

Parzystość

Adres + 11

1 = Brak

Sterowanie przepływem

Adres + 12

0 = Brak, 1 = 10ms, 2 = 100ms, 3 = 500ms Zwłoka czasowa przy oczekiwaniu
na odpowiedź

Adres + 13

0 = Długi, 1 = Średni, 2 = Krótki, 3 = Brak

Czas oczekiwania na odpowiedź

Adres + 14

1 = 8 bitów

Liczba bitów na znak

Adres + 15

0 = 1 bit stopu, 1 = 2 bity stopu

Bity stopu

Adres + 16

nie wykorzystywane

Interfejs

Adres + 17

Tryb Duplex

Adres + 18

wartość wprowadzona przez użytkownika Bajty 1 i 2 identyfikatora sterownika

Adres + 19

wartość wprowadzona przez użytkownika Bajty 3 i 4 identyfikatora sterownika

Adres + 20

wartość wprowadzona przez użytkownika Bajty 5 i 6 identyfikatora sterownika

Adres + 21

wartość wprowadzona przez użytkownika Bajty 7 i 8 identyfikatora sterownika

* Identyfikator urządzenia dla portów SNP Slave jest pakowany do słów z umieszczeniem najmniejznaczącego
znaku w najmniej znaczącym bajcie słowa. Przykładowo, jeżeli dwa pierwsze znaki to &quot; A &quot; i &quot; B &quot;, adres +18 będzie
zawierał wartość heksadecymalną 4241.

14-6

Blok danych COMMREQ do konfigurowania protokołu
RTU
Wartości
Pierwsze 6 słów

Do użytku wewnętrznego.

Polecenie

0003

Protokół: 0003=RTU

Tryb portu 0000=Slave

6=19200, 5=9600, 4=4800,
3=2400, 2=1200, 1=600, 0=300

0 = Sprzęt, 1 = Brak

Zwłoka czasowa przy oczekiwaniu na
0 = 2-przewodowy, 1 = 4przewodowy

Adres stanowiska (1-427)

Identyfikator sterownika

Adres + 19-21

14-7

Serial I/O.
0005

Protokół: 0005=Serial IO

0 = Slave

3=2400, 2=1200, 1=600,
0=300

0 = Brak

0 = Długie

0=7 bitów, 1=8 bitów

0 = 1 bit stopu, 1 = 2 bity
stopu

Adres + 18-21

14-8

Wywoływanie funkcji COMMREQ protokołu Serial I/O w czasie
cyklu pracy sterownika
Warunkiem ograniczającym implementację protokołu szeregowego za pomocą funkcji COMMREQ
może być czas trwania cyklu pracy sterownika Micro. Przykładowo, jeżeli protokół wymaga aby
odpowiedź na komunikat oddalonego urządzenia została zainicjowana w ciągu 5 ms od momentu
otrzymania komunikatu, metoda ta może okazać się nieskuteczna, jeżeli czas trwania cyklu pracy
sterownika wynosi 5 ms lub jest dłuższy, ponieważ nie ma gwarancji na wysłanie odpowiedzi
w odpowiednim czasie.
Przy korzystaniu z protokołu Serial I/O w sterowniku VersaMax Nano lub 14- punktowym sterowniku
Micro, przełącznik RUN/STOP użytkownika musi być skonfigurowany jako aktywny. W sterowniku
Nano wymagane jest wykonanie podłączenia zewnętrznego przełącznika. W sterownikach Nano i 14punktowym sterowniku Micro pracujących w trybie Run, protokół Serial I/O jest aktywny, po przejściu
z trybu Run do trybu Stop, sterowniki Nano i 14- punktowy sterownik Micro zostają automatycznie
przełączone na protokół SNP. Urządzenie master SNP (przykładowo VersaPro) nie mogą
komunikować się ze sterownikami Nano lub 14- punktowymi sterownikami Micro, dla których w
trybie Run skonfigurowano protokół Serial I/O.
Ponieważ protokół Serial I/O jest całkowicie kontrolowany przez program sterujący, w trybie Stop port
ze skonfigurowanym protokołem Serial I/O automatycznie jest przełączany na protokół SNP Slave
w celu ułatwienia komunikowania się z programatorem. Z tego powodu, w trybie Stop, protokół Serial
I/O jest nieaktywny, jest on aktywny wyłącznie jeżeli sterownik znajduje się w trybie Run.

Kompatybilność
Bloki funkcyjne COMMREQ obsługiwane przez protokół Serial I/O nie są obecnie obsługiwane przez
pozostałe protokoły (takie jak SNP slave, SNP master i RTU slave). Próba skorzystania z nich
w przypadku gdy dla portu skonfigurowano jeden z tych protokołów powoduje wygenerowanie błędu.

14-9

Słowo statusu funkcji COMMREQ protokołu Serial I/O
Po pomyślnym zakończeniu wykonywania bloku COMMREQ, słowo statusu zawiera wartość 1.
Wszystkie pozostałe wartości to kody błędów, przy czym w młodszym bajcie podany jest kod
głównego błędu, a w starszym kod błędu lokalnego.
głównego
błędu
1 (01h) Pomyślne zakończenie wykonywania (jest to oczekiwana wartość słowa statusu funkcji
COMMREQ).
12 (0Ch) Błąd lokalny - Wystąpienie błędu w czasie przetwarzania lokalnego polecenia. Kod tego błędu
identyfikowany jest przez kod błędu lokalnego.
1 (01h)
Korzystanie z poleceń typu WAIT jest niedozwolone. Zastosować polecenie typu
NO WAIT.
2 (02h)
Nie obsługiwana funkcja COMMREQ.
5 (05h)
Wystąpienie błędu w czasie zapisu słowa statusu COMMREQ do pamięci sterownika.
6 (06h)
Podany niewłaściwy typ pamięci sterownika.
7 (07h)
Podany niewłaściwy adres w pamięci sterownika.
8 (08h)
Brak dostępu do pamięci sterownika.
12 (0Ch) Zbyt mała długość bloku danych COMMREQ.
14 (0Eh) Błąd w danych COMMREQ.
13 (0Dh) Błąd urządzenia zewnętrznego- wystąpienie błędu w czasie przetwarzania polecenia urządzenia
zewnętrznego. Kod tego błędu identyfikowany jest przez kod błędu lokalnego.
3 (03h)
Zbyt mała długość bloku danych COMMREQ. Brak lub niekompletność ciągu danych.
4 (04h)
Wystąpienie przekroczenia dopuszczalnego czasu oczekiwania na odbiór danych przez
port szeregowy.
48 (30h) Przeterminowanie na wyjściu szeregowym. Port szeregowy nie jest w stanie wysłać
ciągu. (Może to być powodowane przez brak sygnału CTS w czasie gdy port szeregowy
jest skonfigurowany do korzystania ze sprzętowego sterowania przepływem).
50 (32h) Przekroczenie dopuszczalnego czasu 20 s przy wykorzystaniu funkcji COMMREQ. Nie
zakończono wykonywania funkcji COMMREQ w ciągu 20 sekund.
14 (0Eh) Błąd komunikacji z modemem - Wystąpienie błędu w czasie próby wysłania ciągu danych
polecenia do modemu zewnętrznego. Kod tego błędu identyfikowany jest przez kod błędu
lokalnego.
Długość ciągu danych polecenia wykracza poza granice danego typu pamięci.
Zbyt mała długość bloku danych COMMREQ. Brak lub niekompletny ciąg danych
polecenia.
Przeterminowanie na wyjściu szeregowym. Port szeregowy nie jest w stanie wysłać
wyjścia automatycznie wybranego modemu.
Brak odpowiedzi z modemu. Sprawdzić modem i kable.
Otrzymanie z modemu komunikatu BUSY. Modem nie jest w stanie przeprowadzić
żądanego połączenia. Modem zewnętrzny jest już używany, spróbować nawiązać
połączenie później.
Otrzymanie z modemu komunikatu NO CARRIER. Modem nie jest w stanie
przeprowadzić żądanego połączenia. Sprawdzić modemy lokalne i zewnętrzne oraz
linię telefoniczną.
Otrzymanie z modemu komunikatu NO DIALTONE. Sprawdzić połączenia modemu oraz linię
telefoniczną.
9 (09h)
Otrzymanie z modemu komunikatu ERROR. Sprawdzić ciąg danych polecenia oraz modem.
10 (0Ah) Otrzymanie z modemu komunikatu RING informującego, że inny modem próbuje
nawiązać komunikację. Modem nie jest w stanie przeprowadzić żądanego połączenia.
14-10

11 (0Bh)
50 (32h)

Spróbować nawiązać komunikację później.
Z modemu otrzymano nieznany komunikat. Powinien zostać
odebrany komunikat CONNECT lub OK.
Przekroczenie dopuszczalnego czasu 20 s przy wykorzystaniu funkcji COMMREQ.

14-11

Protokół Serial I/O jest implementowany przy pomocy następujących funkcji COMMREQ:
!

Lokalne funkcje COMMREQ - nie wysyłające lub odbierające danych z portu szeregowego.
Ustawianie bufora wejściowego. (4301)

Odświeżanie bufora wejściowego. (4302)

Odczyt statusu portu (4303)

Sterowanie zapisem do portu (4304)

Inicjalizacja portu (4300)

Przerywanie aktywnego polecenia (4399)

Funkcje COMMREQ urządzeń zewnętrznych - do wysyłania lub odbioru danych z portu
szeregowego.
Wysyłanie bajtów (4401)

Odczyt bajtów (4402)

14-12

Automatyczne wybieranie nr tel. (4400)

Odczyt ciągu znaków (4403)

Wymagania odnośnie kolejności wywoływania funkcji COMMREQ
Niektóre z poleceń COMMREQ dla protokołu Serial I/O muszą zostać zakończone przed rozpoczęciem
wykonywania innych poleceń. W czasie trwania niektórych natomiast można wywoływać inne
polecenia.

Polecenia COMMREQ, których działanie musi zostać zakończone
!

Automatyczne wybieranie nr tel. (4400)

!

Inicjalizacja portu (4300)

!

Ustawianie bufora wejściowego (4301)

!

Odświeżanie bufora wejściowego (4302)

!

Odczyt statusu portu (4303)

!

Sterowanie zapisem do portu (4304)

!

Przerywanie aktywnego polecenia (4399)

!

Ustawianie portu szeregowego (FFF0)

Polecenia, które nie musza być zakończone przed wywoływaniem
następnych
W zamieszczonej poniżej tabeli określono, czy można wywoływać polecenie COMMREQ do zapisu
bajtów, odczytu bajtów i odczytu ciągów przed zakończeniem innych poleceń.
Nowe polecenie COMMREQ
Obecnie
Autom.
wykonyw. wybier.
Polecenie
nr tel.
COMMREQ (4400)

Zapis.
bajtów
(4401)

Inicjaliz.
portu
(4300)

Ustaw. Odśwież. Odczyt Sterow.
bufora bufora statusu zapisem
wejść. wejść. (43 portu do portu
(4301)
02)
(4303) (4304)

Odczyt
(4402)

Przer.
Ustaw.
ciągu
aktywn.
znaków polecenia szereg.
(4403)
(4399) (FFF0)

Zapisywanie
bajtów (4401)

Nie

Tak

bajtów (4402)

Odczyt ciągu
znaków
(4403)

14-13

Funkcja inicjalizacji portu (4300)
Funkcja ta zeruje określony port. Powoduje ona również przerwanie wszystkich wykonywanych
w danym momencie funkcji COMMREQ oraz odświeża wewnętrzny bufor wejściowy. Sygnał RTS
jest dezaktywowany.

Przykład bloku danych funkcji do inicjalizowania portu.
(dziesięt. )

(Heksadecym. )

Tryb NOWAIT

0008

Typ pamięci słowa statusu (%R)

Adres słowa statusu minus 1 (%R0001)

Nie wykorzystywany

4300

10CC

Polecenie inicjalizacji portu

Uwagi
Uwaga: Słowa statusowe poleceń COMMREQ przerwanych na skutek wykonania tego polecenia nie
są aktualizowane.
Ostrzeżenie: Jeżeli polecenie to zostanie wysłane w czasie gdy polecenie COMMREQ do zapisu
bajtów (4401) wysyła ciąg przez port szeregowy, transmisja jest wstrzymywana. Miejsce, w którym
nastąpiło przerwanie wysyłania ciągu jest nieokreślone. Dodatkowo, ostatni znak odbierany przez
urządzenie komunikujące się ze sterownikiem Micro jest również nieokreślony.

14-14

Funkcja ustawiania wielkości bufora wejściowego
Funkcja ta pozwala na zmianę wielkości wewnętrznego bufora pamięci, w którym zapisywane są
odebrane dane wejściowe. Domyślnie, maksymalna wielkość bufora wynosi 2 KB. Dane odbierane
z portu szeregowego są umieszczane w buforze wejściowym. Po wypełnieniu bufora, dalsze dane
odbierane z portu szeregowego są tracone. Ustawiane jest wtedy bit Overflow Error w słowie Port
Status (proszę porównać z opisem funkcji Read Port Status).

Odczyt danych z bufora
Do odczytu danych z bufora przeznaczone są funkcje Read String i Read Bytes. Nie są one
bezpośrednio dostępne z poziomu programu sterującego.
Jeżeli dane nie zostaną odczytane z bufora w odpowiednim czasie, część znaków może zostać utracona.

Przykład bloku danych funkcji do ustawiania wielkości bufora
wejściowego
(heksadecym. )

0002

4301

10CD

Polecenie ustawiania wielkości bufora
wejściowego

0064

0040

Wielkość bufora (w słowach)

Długość bufora danych nie może być ustawiona na zero. Jeżeli jako długość bufora wprowadzone
zostanie zero, przyjęta zostanie wielkość domyślna, równa 2KB.
Jeżeli wprowadzona zostanie wielkość większa od 2 KB, wygenerowany zostanie błąd.

14-15

Funkcja czyszczenia bufora wejściowego (4302)
Operacja odświeżania ma na celu usunięcie z bufora wejściowego wszystkich danych otrzymanych
przez port szeregowy, a nie odczytanych do tej pory poprzez polecenie odczytu. Po wykonaniu tej
funkcji następuje utrata wszystkich takich znaków.

Przykład bloku danych funkcji do czyszczenia bufora wejściowego
14-16

4302

10CE

Funkcja do czyszczenia bufora wejściowego

Funkcja do odczytu statusu portu (4303)
Funkcja ta zwraca bieżący status portu. Wykrywane są następujące zdarzenia:
Poprzednio zainicjowano żądanie odczytu, żądana liczba znaków została odczytana lub upłynął
maksymalny czas oczekiwania.

Poprzednio zainicjowano żądanie zapisu i przesłano odpowiednią liczbę znaków lub nastąpiło
przeterminowanie.

Status zwrócony przez funkcję informuje o zaistniałym zdarzeniu (lub zdarzeniach). Jednocześnie może
zaistnieć więcej niż jedno zdarzenie, jeżeli poprzednio zainicjowano zarówno polecenie do odczytu, jak
i do zapisu.

Przykład bloku danych funkcji do odczytu statusu portu
4303

10CF

Funkcja do odczytu statusu portu

0070

0046

Typ pamięci statusu portu (%I)

Przesunięcie w pamięci statusu portu (%I0001)

14-17

Status portu
Status portu składa się ze słowa statusu oraz liczby znaków w buforze wejściowym, które nie zostały
odczytane przez program sterujący (znaki odebrane, które można odczytać).
Słowo statusu portu (opis zamieszczono
poniżej)

Znaki umieszczone w buforze wejściowym

Dostępne są następujące słowa statusu portu:
Definicja

RI

Trwanie odczytu

Dotyczy odczytu bajtów lub odczytu ciągu znaków

Przeterminowanie poprzedniego polecenia odczytu bajtów lub
odczytu ciągów, anulowanie lub zakończenie

Pomyślne zakończenie odczytu bajtów lub odczytu ciągów

Dotyczy odczytu nowych bajtów lub odczytu ciągów znaków

Wystąpienie przeterminowania w czasie odczytu bajtów lub
odczytu ciągów

Dotyczy zapisu nowych bajtów

Poprzednie wywoływane polecenie zapisu
przeterminowane, anulowane lub zakończone

Zakończenie poprzednio wywołanego polecenia zapisu
bajtów.

Wystąpienie przeterminowania w czasie zapisu bajtów.

Znaki nie odczytane z bufora.

Brak w buforze nie odczytanych znaków.

Wystąpienie przepełnienia wewnętrznego bufora portu
szeregowego.

Dotyczy odczyt statusu portu

Wystąpienie błędu ramki w porcie szeregowym.

Wystąpienie błędu parzystości w porcie szeregowym.

Aktywna linia CTS portu szeregowego lub port szeregowy nie
posiada linii CTS.

Linia CTS portu szeregowego nie aktywna.

4-0

14-18

RS

RT

WI

WS

WT

CA
OF

FE
PE
CT

U

Pomyślne
zakończenie
czytania
Przeterminowanie

Trwanie zapisu

operacji zapisu
Przeterminowanie
Dostępne znaki
Błąd przepełnienia

Błąd ramki
Błąd parzystości
Aktywny
CTS

bajtów

nie
wykorzystywany,
powinien
być
równy 0

Funkcja zapisu do portu (4304)
Funkcja ta wymusza aktywny sygnał RTS dla określonego portu.

Przykład bloku danych funkcji zapisu do portu
4304

10D0

Funkcja zapisu do portu

Xxxx

xxxx

Słowo sterujące portu

Słowo sterujące portu
RTS

Słowo sterujące portu może mieć następujące wartości bitów:
Zarządzanie stanem wyjścia RTS
1=AktywowanieRTS
0 = deaktywowanie RTS

0-14

Nie wykorzystywane (bity te powinny mieć wartość
zero)

W przypadku portu 2 sterownika Micro (RS-485), sygnał RTS jest powiązany z konfiguracja portu.
Z tego powodu, sterowanie sygnałem RTS jest uzależnione od bieżącej konfiguracji portu. Jeżeli jest
wyłączona kontrola transmisji RTS/CTS, wymuszanie sygnału RTS za pomocą funkcji COMMREQ
do sterowania zapisem do portu nie będzie powodować wymuszenia tego sygnału w linii szeregowej.
Status linii RTS jest sterowany protokołem i zależy od bieżącego trybu Duplex portu. W przypadku
trybu Duplex 2-przewodowego i 4-przewodowego, linia RTS jest aktywowana wyłącznie w czasie
nadawania. Biorąc ten fakt pod uwagę, sygnał RTS w linii szeregowej będzie widoczny jako aktywny
wyłącznie w porcie 2 (skonfigurowanym dal 2- i 4- przewodowego trybu Duplex) w czasie przesyłania
danych. W przypadku trybu Duplex w połączeniu pomiędzy dwoma urządzeniami linia RTS jest
zawsze używana. Powoduje to, że w trybie Duplex w konfiguracji pomiędzy dwoma urządzeniami,
sygnał RTS w linii szeregowej zawsze odzwierciedla stan wybrany za pomocą funkcji COMMREQ do
sterowania zapisem do portu.

14-19

Funkcja anulowania polecenia Commreq (4399)
Funkcja ta powoduje anulowanie funkcji wykonywanej w danym momencie. Umożliwia ona
anulowanie wszystkich operacji odczytu oraz zapisu. W przypadku anulowania operacji odczytu, jeżeli
w buforze wejściowym znajdują się nie odebrane dane, dane te są nadal pozostawiane i mogą być
odczytane w późniejszym czasie. Port szeregowy nie jest zerowany.

Przykład bloku danych funkcji do anulowania polecenia Commreq
4399

112F

Funkcja do przerywania aktywnego polecenia

Typ operacji do anulowania
1 Wszystkie operacje
2 Operacje czytania
3 Operacje zapisu

Funkcja ta nie uaktualnia statusu słowa przerwanej funkcji COMMREQ.
Ostrzeżenie: Jeżeli to polecenie COMMREQ ma na celu anulowanie wszystkich operacji lub operacji
zapisu w momencie gdy polecenie COMMREQ do zapisu bajtów (4401) wysyła ciąg przez port
szeregowy, transmisja jest wstrzymywana. Miejsce, w którym nastąpiło przerwanie wysyłania ciągu
jest nieokreślone. Dodatkowo, ostatni znak odbierany przez urządzenie komunikujące się ze
sterownikiem Micro jest również nieokreślony.

14-20

Funkcja automatycznego wybierania numeru (4400)
Funkcja ta pozwala sterownikowi VersaMax Micro na automatyczne wybranie modemu oraz wysłanie
określonego ciągu bajtów.
Warunkiem korzystania z tej funkcji jest wybranie dla portu protokołu Serial I/O.
Przykładowo, przywołanie pagerem można zaimplementować za pomocą trzech poleceń z trzema
blokami funkcyjnymi COMMREQ.
Automatyczne wybieranie modemu: 04400 (1130h)Wybranie modemu.
Zapis bajtów: 04401 (1131h). Polecenie to określa ciąg znaków ASCII o długości od 1 do 250, który
ma być wysłany przez port szeregowy.
Automatyczne wybieranie modemu: 04400 (1130h). Połączenie telefoniczne musi zostać rozłączone
przez program sterujący sterownika Micro. W tym celu należy jeszcze raz wywołać funkcję do
automatycznego wybierania modemu, wysyłając polecenie do rozłączenia.

14-21

Blok danych funkcji do automatycznego wybierania numeru
Polecenie to umożliwia automatyczne przesłanie sekwencji Escape, zgodnie z konwencją Hayes'a.
Jeżeli wykorzystywany modem nie obsługuje konwencji Hayes'a, w celu automatycznego wybrania
modemu można skorzystać z polecenia do zapisu bajtów.
Poniżej zamieszczono zestawienie powszechnie używanych poleceń dla modemów kompatybilnych
z konwencją Hayes'a:
ATDP15035559999 &amp; lt; CR &amp; gt;

16 (10h)

Wybieranie impulsowe numeru 1-503-555-9999

ATDT15035559999 &amp; lt; CR &amp; gt;

Wybieranie tonowe numeru 1-503-555-9999

ATDT9, 15035559999 &amp; lt; CR &amp; gt;

18 (12h)

Wybieranie tonowe za pomocą linii zewnętrznej
z pauzą

ATH0 &amp; lt; CR &amp; gt;

5 (05h)

Przerywanie połączenia

ATZ &amp; lt; CR &amp; gt;

4 (04h)

Przywrócenie konfiguracji modemu, zgodnie
z zapisanymi wewnętrznie parametrami

Przykład bloku danych funkcji do automatycznego wybierania numeru
Zamieszczony poniżej przykładowy blok polecenia COMMREQ wybiera numer 234-5678 za pomocą
modemu obsługującego konwencję Hayes'a.
Słowo

Długość bloku danych użytkownika (wraz z ciągiem
argumentów polecenia)

0000h

0008h

Adres słowa statusu minus 1 (Rejestr 1)

04400 (1130h)

Numer polecenia Autodial

00030 (001Eh)

Przeterminowanie odpowiedzi modemu (30 sekund)

0012 (000Ch)

Liczba bajtów w ciągu argumentów

5441h

A (41h), T (54h)

5444h

D (44h), T (54h)

3332h

Numer telefonu:

3534h

4 (34h), 5 (35h)

3736h

6 (36h), 7 (37h)

14-22

0009h

0D38h

8 (38h) &amp; lt; CR &amp; gt; (0Dh)

2 (32h), 3 (33h)

Funkcja do wysyłania bajtów (4401)
Funkcja ta umożliwia przesłanie jednego lub więcej bajtów do urządzenia zewnętrznego za pomocą
określonego portu szeregowego. Znak (znaki) do przesłania muszą znajdować się w pamięci słów
(obszar typu%R). Nie powinny one być zmieniane do momentu zakończenia wykonywania funkcji.
Pojedyncze wywołanie tej funkcji pozwala na przesłanie do 250 znaków. Operacja ta jest kończona
dopiero w momencie wysłania wszystkich znaków lub w przypadku wystąpienia przeterminowania
(przykładowo, w przypadku sprzętowego sterowania przepływem, jeżeli urządzenie zewnętrzne
w ogóle nie zezwala na transmisję).

Przykład bloku danych funkcji do wysyłania bajtów
Wartość Wartość
(dziesięt. ) (heksadecym. )
Długość bloku danych (wraz z wysyłanymi znakami)

4401

1131

Funkcja do zapisu bajtów

0030

001E

Przeterminowanie transmisji (30 sekund) Porównać
z uwagą zamieszczoną poniżej.

Liczba bajtów do zapisu

25960

6568

'h' (68h), 'e' (65h)

27756

6C6C

'l' (6Ch), 'l' (6Ch)

0111

006F

'o' (6Fh)

Pomimo wykorzystywania w niniejszym przykładzie drukowalnych znaków ASCII, nie ma żadnych
ograniczeń jeżeli idzie o znaki, które można przesyłać.

Uwaga: W przypadku wprowadzenia przeterminowania o wartości równej zero, przeterminowanie
będzie równe czasowi potrzebnemu na wysłanie danych plus 4 sekundy.
Ostrzeżenie: Jeżeli w czasie wysyłania ciągu bajtów przez tę funkcję wywołana zostanie funkcja
COMMREQ do inicjalizowania portu (4300) albo funkcja przerywania aktywnego polecenia (4399)
wszystkich poleceń lub poleceń zapisu, spowoduje to przerwanie transmisji. Miejsce, w którym
14-23

Funkcja do odczytu bajtów (4402)
Funkcja ta odczytuje jeden lub więcej bajtów z określonego portu. Znaki są odczytywane
z wewnętrznego bufora wejściowego i umieszczane w określonym obszarze danych wejściowych.
Funkcja zwraca zarówno liczbę odczytanych znaków, jak i liczbę nie przetworzonych znaków,
znajdujących się nadal w buforze wejściowym. W przypadku odczytania zerowej liczby znaków,
zwracana jest wyłącznie liczba nieprzetworzonych znaków, znajdujących się w buforze wejściowym.
W przypadku zbyt małej liczby dostępnych w buforze znaków, jeżeli odczytane ma być więcej niż zero
znaków, funkcja ta ma status nie zakończonej, do momentu otrzymania dostatecznej liczby znaków lub
wystąpienia przeterminowania. W każdej z tych sytuacji status portu informuje o przyczynie nie
zakończenia operacji czytania. Słowo statusu jest uaktualnianie dopiero po zakończeniu operacji
czytania (zarówno na wskutek przeterminowania jak też po otrzymaniu odpowiedniej liczby znaków).
Jeżeli przeterminowanie jest równe zero, funkcja COMMREQ jest wykonywana do momentu
otrzymania odpowiedniej liczby danych lub do momentu jej anulowania.
Jeżeli funkcja ta nie zostanie pomyślnie wykonana, z jakiegokolwiek powodu, bufor jest pusty.
Wszelkie dane, które uprzednio znajdowały się w buforze są nadal dostępne i mogą być odczytane
poprzez następne wywołania funkcji do odczytu.

Przykład bloku danych do odczytu bajtów
4402

1132

Polecenie odczytu bajtów

Przeterminowanie odczytu (30 sekund)

Liczba bajtów do odczytania

Typ pamięci danych wejściowych (%R)

14-24

Adres pamięci danych wejściowych (%R)

Format danych zwracanych przez funkcję do odczytu bajtów
Zwracane dane składają się z liczby faktycznie odczytanych znaków, liczby znaków dostępnych
w buforze wejściowym po zakończeniu operacji odczytu (jeżeli takowe są) oraz rzeczywistej liczby
znaków wejściowych.
Adres + 1
Adres + 2
Adres + 3
Adres + n

Liczba faktycznie odczytanych bajtów
Liczba znaków nadal dostępnych w buforze wejściowym, o ile takowe są
pierwsze dwa znaki (pierwszy znak w młodszym bajcie)
trzeci i czwarty znak (trzeci znak w młodszym bajcie)
kolejne znaki

Jeżeli do parametru określającego typ pamięci danych przypisano pamięć słów, w przypadku gdy
faktycznie odczytano nieparzystą liczbę znaków, starszy bajt ostatniego słowa z odczytanymi danymi
jest ustawiany na zero.
Dane odbierane z portu szeregowego są umieszczane w wewnętrznym buforze wejściowym. Po
wypełnieniu bufora, dalsze dane odbierane z portu szeregowego są tracone. Ustawiane jest wtedy bit
Overflow Error w słowie Port Status (proszę porównać z opisem funkcji Read Port Status).

14-25

Funkcja do odczytu ciągu znaków (4403)
Funkcja ta odczytuje znaki z określonego portu, do momentu odczytania zadanego znaku końca
odczytu. Znaki są odczytywane z wewnętrznego bufora wejściowego i umieszczane w określonym
obszarze danych wejściowych.
znajdujących się nadal w buforze wejściowym. W żądania odczytu zerowej liczby znaków zwracana
jest wyłącznie liczba nieprzetworzonych znaków, znajdujących się w buforze wejściowym.
Jeżeli znak końca odczytu nie znajduje się w buforze wejściowym, funkcja ta jest kończona dopiero w
momencie odczytania tego znaku lub wystąpienia przeterminowania. W każdej z tych sytuacji status
portu informuje o przyczynie nie zakończenia operacji czytania.
Jeżeli przeterminowanie jest ustawione na zero, funkcja COMMREQ jest wykonywana do momentu
otrzymania odpowiedniego ciągu, zakończonego znakiem końca odczytu lub do momentu jej
przerwania.
Przykład bloku danych funkcji do odczytu ciągu znaków

4403

1133

Polecenie do odczytu ciągu

0013

000D

Znak końca odczytu (powrót karetki): musi to być
wartość z przedziału 0 do 255 (0###FF) włącznie.
14-26

0005
Format danych zwracanych przez funkcję do odczytu ciągu znaków
Zwracane dane składają się z liczby faktycznie odczytanych znaków, liczby znaków dostępnych w
buforze wejściowym po zakończeniu operacji odczytu (jeżeli takowe są) oraz rzeczywistej liczby
Liczba faktycznie odczytanych bajtów

Liczba znaków nadal dostępnych w buforze wejściowym, o ile takowe są

pierwsze dwa znaki (pierwszy znak w młodszym bajcie)

trzeci i czwarty znak (trzeci znak w młodszym bajcie)

Poniżej podano przykład konfigurowania portu z protokołem Serial I/O za pomocą funkcji Block
Move. W przykładzie tym konfigurowany jest port 2. Pierwsze wywołanie funkcji Block Move
konfiguruje następujące parametry:
IN3
IN4
IN5
Długość bloku danych, wynosząca zawsze 16 w przypadku funkcji COMMREQ do
konfigurowania.
Znacznik trybu pracy (WAIT lub NOWAIT) 0 = No Wait
Wskaźnik do słowa statusu 8 oznacza%R
Przesunięcie słowa statusu; wskaźnik ten jest liczony od 0, a więc 0 oznacza%R1
Maksymalny czas oczekiwania na odpowiedź, parametr nie wykorzystywany w trybie
No Wait
Maksymalny czas przeznaczony na komunikację, parametr nie wykorzystywany
w trybie No Wait
Słowo polecenia (ustawianie portu szeregowego); wartość heksadecymalna FFF0
oznacza polecenie do konfigurowania portu szeregowego

Drugie wywołanie funkcji Block Move:
Wybór protokołu; 5 oznacza protokół Serial I/O
Tryb portu; 0 oznacza tryb slave
Prędkość przesyłania danych, 6 oznacza prędkość 19200
Parzystość; 1 oznacza odd
Sterowanie przepływem; 1 = brak
Zwłoka czasowa przy oczekiwaniu na odpowiedź; 0 = brak
Czas oczekiwania na odpowiedź; 0 = brak

Trzecie wywołanie funkcji Block Move:
IN5 - IN7

Liczba bitów na znak; 1 = 8 bitów na znak
bity stopu, 0 = 1bit stopu
Interfejs; parametr nie wykorzystywany, powinien być ustawiony na 0
tryb Duplex; 1 = 4 przewody
Nie wykorzystywane

14-27

Podręcznik użytkownika sterowników VersaMax Nano i Micro
BLKMOV
INT
%T00007

16#FFF0

Portmemory1
%AI0001

Portmemory2
%AI0008

Portmemory3
%AI0015

Zmienna%R1 jest wykorzystywane jako słowo statusu w funkcji COMMREQ. Zamieszczony poniżej
szczebel powoduje wykasowania zawartości tego słowa przed wywołaniem funkcji COMMREQ..
WORD
%T00007

port1status
%R00001

Poniżej podano wywołanie funkcji COMMREQ dla portu 2. Parametr SYSID jest ustawiony kasetę 0,
gniazdo 1. Parametr TASK ID o wartości 20 określa port 2. Parametr IN wskazuje na zmienną%AI1,
czyli miejsce gdzie zapisano parametry konfiguracyjne za pomocą funkcji Block Move. W przypadku
wystąpienia błędu w czasie wykonywania funkcji COMMREQ, wartość zmiennej%T0006 ustawiana
zostanie na 1.
COMMREQ
CommreqP

%T00007

(S)

Port1memory

IN

%T00006

%AI0001
20

ISYSID

Zamieszczony poniżej szczebel ustawia bit Commreq Complete (%T00007), który uniemożliwia
wywołanie funkcji COMMREQ więcej niż jeden raz i chroni przed wymazaniem statusu.
ALW_ON

CommreqC

(S)
%S00007

14-28

%T00007

Funkcja PID

W niniejszym rozdziale opisano funkcję PID (Blok proporcjonalno- całkująco- różniczkujący),
rozwiązującą algorytm zamkniętego układu regulacji. Funkcja ta porównuje bieżącą wartość
wielkości regulowanej z wartością punktu ustalonego (wartością zadaną), a następnie oblicza taką
wartość sygnału sterującego (nastawiającego), która spowoduje zmniejszenie uchybu, czyli
odchylenia wielkości regulowanej od wartości zadanej (punktu pracy).
!

Format funkcji PID

!

Opis działania funkcji PID

!

Parametry bloku funkcyjnego PID

!

Wybór algorytmu funkcji PID

!

Wyznaczanie charakterystyk procesu

!

Dostrajanie parametrów regulatora PID

!

Przykład prostego wywołania regulatora PID

15-1

Format funkcji PID
Blok funkcyjny PID wykorzystuje 40 rejestrów w pamięci sterownika, w których przechowuje
zbiór parametrów regulatora. Wszystkie parametry są 16 bitowymi wartościami całkowitymi.
Pozwala to na zastosowanie dla wielkości regulowanych pamięci adresowanej przez%AI oraz
pamięci adresowanej przez%AQ dla sygnału sterującego.

Funkcja PID nie wysyła sygnału wyjściowego w przypadku wykrycia błędu w parametrach
definiowanych przez użytkownika. Sygnał wyjściowy można monitorować w czasie modyfikowania
tych parametrów za pomocą chwilowego przekaźnika.

15-2

Rozdział 15: Funkcja PID

Parametry funkcji PID
Sygnał wejściowy. Gdy do bloku funkcyjnego dopływa sygnał, wykonywany
jest algorytm PID (standardowy lub o niezależnych wyrazach).

SP

I, Q, M, T, G, R, AI, Wartość zadana wielkości regulowanej (punkt pracy regulatora). Wartość ta
podawana jest w jednostkach bezwymiarowych wielkości regulowanej PV.
Funkcja PID dobiera taką wartość wyjściowego sygnału ustawiającego CV,
aby wartości wielkości regulowanej i wielkości zadanej były takie same
(zerowy uchyb).

I, Q M, T, G, R, AI, Wielkość regulowana, której wartość odczytywana jest ze sterowanego
procesu, deklarowana zwykle jako zmienna typu%AI.

MAN

Parametr MAN o wartości 1 powoduje przełączenie regulatora
w ręczny tryb pracy (MANUAL). Wartość tego parametru równa 0
powoduje przełączenie regulatora w automatyczny tryb pracy.

UP

Parametr mający znaczenie tylko w ręcznym trybie pracy*. Wartość tego
parametru równa 1 powoduje zwiększenie wartości sygnału
nastawiającego, wartość 0 nie wywołuje żadnego działania.

DN

Adres pierwszego z rejestrów, w których przechowywane są wewnętrzne
parametry regulatora (parametry użytkownika i parametry wewnętrzne).
Obszar ten zajmuje 40 rejestrów pamięci typu%R, które nie mogą być
wykorzystywane w innym celu.

Sygnał wyjściowy, wysyłany po poprawnym wykonaniu funkcji. Brak tego
sygnału informuje o wystąpieniu błędu.

CV

I, Q M, T, G, R, AI, Sygnał sterujący (ustawiający) procesu, często jest to zmienna typu%AQ.
* Inkrementowany (parametr UP) lub dekrementowany (parametr DN) o jeden (1) w jednym wywołaniu funkcji PID.

Ponieważ wiele parametrów jest skalowanymi liczbami całkowitymi, 16 bitowymi, ich wartość musi być
podawana w jednostkach PV lub w jednostkach bezwymiarowych PV, albo w jednostkach CV lub
jednostkach bezwymiarowych CV. Przykładowo, parametr SP musi być przeskalowany do takiego
samego zakresu jak parametr PV, ponieważ blok PID oblicza uchyb jako różnicę pomiędzy wartościami
tych parametrów. Parametry: wielkość regulowana PV i wielkość ustawiająca CV mogą przyjmować
wartości z zakresu -32000 lub 0 do 32000 z dopasowaniem do skalowania wielkości analogowych lub
z zakresu 0 do 10000 co pozwala na wyświetlanie wartości w formacie 0. 00% do 100. 00%. Wartości
parametrów PV i CV nie muszą być tak samo skalowane, współczynniki skalowania są wtedy zawarte
we współczynnikach wzmocnienia regulatora PID.

15-3

Opis działania funkcji PID
Praca automatyczna
Gdy do wejścia &quot; enable &quot; bloku funkcyjnego dopływa sygnał wejściowy, a jednocześnie do wejścia
MAN sygnał nie dopływa (wartość parametru MAN wynosi 0), realizowany jest algorytm PID. Czas,
który upłynął od ostatniego wykonania bloku PID porównywany jest z zaprogramowanym okresem
próbkowania (impulsowania) (%Ref + 2). Jeśli czas ten osiągnął wartość większą lub równą okresowi
próbkowania zdefiniowanemu w trzecim słowie (%Ref+2), wykonywany jest algorytm PID
(rozwiązywane jest równanie zamkniętego układu regulacji), dla którego podstawą czasu jest okres jaki
upłynął od ostatniego wykonania bloku PID, a nie zaprogramowany okres próbkowania.
Zaktualizowane zostają zarówno czas ostatniego wykonania bloku PID, jak i wartość sygnału
ustawiającego CV. W trybie automatycznym, wartość sygnału sterującego przypisywana jest do
parametru Sygnał sterujący w trybie ręcznym o adresie%Ref + 13.

Sterowanie ręczne
Blok PID pracuje w trybie sterowania ręcznego po doprowadzeniu sygnału do styków wejściowych
Enable i MAN. Wartość sygnału ustawiającego CV jest równa wartości zapisanej w rejestrze o adresie
&quot;%Ref + 13 &quot;. Wartość tego rejestru może być z kolei być zwiększana lub zmniejszana za pomocą
parametrów wejściowych UP i DN bloku. W celu szybkiej zmiany wyjściowego sygnału
ustawiającego, możliwe jest również dodanie lub odjęcie dowolnej wartości w jednostkach sygnału
ustawiającego bezpośrednio do/ od parametru Sygnał sterujący w trybie ręcznym (%Ref + 13).
Wartość sygnału ustawiającego CV ograniczana jest w bloku PID za pomocą parametrów: Górna
granica wartości sygnału ustawiającego i Dolna granica wartości sygnału ustawiającego. W przypadku
wprowadzenia dodatniej wartości parametru Minimalny czas narastania sygnału ustawiającego,
wartość ta jest wykorzystywana do ograniczenia prędkości zmian wartości sygnału ustawiającego CV.
W przypadku przekroczenia amplitudy lub prędkości zmian sygnału ustawiającego CV, układ
całkujący zostanie tak ustawiony, aby ustawiona została wartość graniczna tego parametru. W wyniku
działania mechanizmu zapobiegającego przekroczeniu wartości dopuszczalnych, jeżeli wartość sygnału
ustawiającego CV jest większa (lub mniejsza) od wartości granicznych przez dłuższy okres czasu,
zmiana znaku błędu powoduje szybkie odejście od wartości granicznej.
Mechanizm taki, przy nadążaniu parametru Sygnał sterujący w trybie ręcznym za wartością sygnału
ustawiającego w trybie automatycznym oraz przy wprowadzaniu wartości sygnału ustawiającego CV
w trybie ręcznym zapewnia możliwość płynnego przejścia pomiędzy trybami sterowania
automatycznego a ręcznego. Parametry Górna i Dolna granica wartości sygnału ustawiającego oraz
Minimalny czas narastania sygnału ustawiającego są nadal wykorzystywane w trybie ręcznym,
a parametry wewnętrzne zapamiętane w bloku całkującym są uaktualniane. Oznacza to, że przejście do
trybu ręcznego sterowania nie spowoduje przekroczenia maksymalnej prędkości narastania sygnału
ustawiającego, określonej przy użyciu Minimalny czas narastania sygnału ustawiającego oraz nie
przekroczone zostaną wartości graniczne, określone parametrami Górna i dolna granica wartości
sygnału ustawiającego.

15-4

Częstotliwość wywoływania funkcji PID
Blok PID nie może być wykonywany częściej niż co 10 milisekund. Jeżeli program sterujący wywołuje
go w każdym cyklu, a czas trwania cyklu jest krótszy od 10 ms, blok PID nie będzie wykonywany, aż
do momentu, kiedy okres od ostatniego wykonania tego bloku będzie wynosił co najmniej 10
milisekund. Przykładowo, jeżeli czas trwania cyklu wynosi 9 milisekund, funkcja PID wykonywana
jest w co drugim cyklu, a więc czas pomiędzy kolejnymi wywołaniami wynosi 18 milisekund. Ten sam
blok funkcyjny PID nie może być wywoływany więcej niż jeden raz w ciągu jednego cyklu.
Największa dopuszczalna przerwa pomiędzy kolejnymi wywołaniami wynosi 10. 9 minut. Funkcja
zapamiętuje czas, który upłynął od ostatniej realizacji algorytmu PID, z dokładnością do 100
Algorytm PID realizowany jest wyłącznie pod warunkiem, że czas wskazywany przez zegar sterownika
Micro jest równy lub większy od czasu poprzedniej realizacji tego algorytmu + Okres próbkowania.
Jeżeli wartość tego parametru wynosi 0, algorytm PID jest realizowany za każdym razem, gdy do bloku
funkcyjnego dopływa sygnał wyjściowy.

Skalowanie wejść i wyjść
Wszystkie parametry są 16 bitowymi liczbami całkowitymi, co ma na celu zapewnienie
kompatybilności z 16 bitowymi analogowymi wielkościami regulowanymi. Ponieważ wiele
parametrów jest skalowanymi liczbami całkowitymi 16 bitowymi, ich wartość musi być podawana
w jednostkach PV lub w jednostkach bezwymiarowych PV, albo w jednostkach CV lub jednostkach
bezwymiarowych CV.
Przykładowo, parametr SP musi być przeskalowany do takiego samego zakresu jak parametr PV,
ponieważ blok PID oblicza uchyb jako różnicę pomiędzy wartościami tych parametrów. Wielkość
regulowana i wielkość ustawiająca nie musza być tak samo skalowane. Mogą one przyjmować wartości
z zakresu -32000 do 32000 lub 0 do 32000 z dopasowaniem do skalowania wielkości analogowych lub
z zakresu 0 do 10000 co pozwala na wyświetlanie wartości w formacie 0.
W przypadku gdy nie są one tak samo skalowane, współczynniki skalowania uwzględniane są we
współczynnikach wzmocnienia regulatora PID.

Przykład funkcji PID
Rysunek zamieszczony poniżej obrazuje typowe parametry funkcji PID:

15-5

Parametry bloku funkcyjnego PID
Blok parametrów funkcji PID zajmuje 40 słów pamięci%R. Wiele z tych słów wykorzystywanych jest
przez sterownik Micro, nie są one definiowane przez użytkownika. Dla każdej z funkcji PID musi być
przypisany inny obszar pamięci, nawet jeżeli wszystkie 13 parametrów definiowanych przez
użytkownika są dla każdej z funkcji takie same.
Pierwszych 13 słów bloku parametrów należy zdefiniować przed wywołanie funkcji PID. Większość
z tych parametrów ma wartość domyślną zero. Po wybraniu odpowiednich wartości parametrów bloku
funkcyjnego PID, mogą one zostać zdefiniowane jako stałe za pomocą funkcji BLKMOV, dzięki
czemu będzie można jest powtórnie załadować jeżeli wymagane będzie wprowadzenie domyślnych
wartości dla tego bloku.

Parametry wewnętrzne w tablicy RefArray
Blok funkcyjny PID wczytuje 13 parametrów z tablicy RefArray, pozostałe słowa tej tablicy
wykorzystywane są do przechowywania wartości wewnętrznych. Zwykle nie zachodzi potrzeba
modyfikowania tych wartości. Jeżeli blok PID wywoływany jest w trybie automatycznym po długiej
przerwie, można zapisać w parametrze%Ref+ 23 za pomocą funkcji SVCREQ #16 bieżący czas zegara
w celu uaktualnienia czasu ostatniego wykonania bloku PID, co pozwoli na uniknięcie skoku członu
całkującego. Jeżeli wartość bitu 0 Słowa sterującego (%Ref + 14) została ustawiona na 1, następne
cztery bity Słowa sterującego będą wykorzystywane do sterowania stykami wejściowymi bloku PID.
Muszą być również ustawione wartości Punktu pracy regulatora SP i wielkości regulowanej PV,
ponieważ szczebel programu sterującego nie jest już w dalszym ciągu odpowiedzialny za sterowanie
regulatorem PID.
Jednostki
program.

Loop Number (Numer układu
regulacji)

całkowita bez
znaku

0 do 255

Opcjonalny numer bloku PID. Numer ten wyświetlany jest pod
adresem bloku parametrów podczas śledzenia wykonania programu
sterującego przez sterownik za pomocą oprogramowania Logicmaster
90-30/Micro.

Algorithm (Rodzaj algorytmu)

Wartość ustawiana
przez sterownik

1 = algorytm ISA
2 = algorytm o niezależnych wyrazach

Sample Period (Okres próbkowania) 10ms

0 (w każdym cyklu)
do 65535 (10. 9
min. ), co najmniej 10
ms.

Odstęp czasowy (mierzony w setnych częściach sekundy) pomiędzy
dwoma kolejnymi wykonaniami bloków funkcyjnych PID.
Przykładowo, jeżeli okres ten ma wynosi 100 milisekund, należy
wprowadzić wartość 10.

Dead Band +
and
Dead Band - (Górna i dolna granica
strefy nieczułości)

0 do 32000
(+ nigdy wartość
ujemna)
(- nigdy wartość
ujemna)

Wartości całkowite ze znakiem, określające górną i dolną granice
strefy nieczułości w jednostkach bezwymiarowych PV. Jeżeli nie
wymagana jest w ogóle strefa nieczułości, wartości tych parametrów
powinny być ustawione na 0. Jeżeli uchyb wielkości regulowanej
(czyli różnica pomiędzy wartością zadaną a wartością bieżącą (SPPV) lub różnica pomiędzy wartością bieżącą a wartością zadana (PVSP) mieszczą się w przedziale określonym przez górną i dolną
granicę strefy nieczułości, algorytm PID realizowany jest przy
założeniu, że uchyb jest równy 0. Jeżeli uchyb nie ma wartości
zerowej, górna granica strefy nieczułości musi być większa od zera
(0), a dolna mniejsza od zera (0), bowiem w przeciwnym wypadku
blok funkcyjny PID nie zostanie wykonany.

bezwymi. PV

Należy pozostawić wartość 0 tych parametrów do momentu
ustawienia i dostrojenia regulatora PID. Zdefiniowanie granic strefy
nieczułości pozwala na uniknięcie małych zmian sygnału
ustawiającego CV, powodowanych przez nieznaczne zmiany uchybu.

15-6

Wartość określająca zmianę sygnału ustawiającego CV w jednostkach CV
odpowiadającą zmianie uchybu o 100 jednostek bezwymiarowych PV.
Przykładowo parametr Kp równy 450 będzie wyświetlany jako 4. 50, a
powodowane przez niego zmiana sygnału nastawiającego będzie wynosić
Kp*Uchyb/100 lub 450*Uchyb/100. Ogólnie ujmując, jest pierwsza nastawa
zmieniana przy strojeniu regulatora.

Proportional Gain -Kp (Współczynnik 0. 01
wzmocnienia proporcjonalnego Kp) - CV%/PV%
Współczynnik wzmocnienia Kc w
wersji ISA

0 do 327. 67%

Derivative Gain-Kd (Współczynnik
wzmocnienia różniczkowego Kd)

0. 01
0 do 327. 67 sek. Wartość określająca zmianę sygnału ustawiającego w jednostkach CV w
przypadku zmiany wartości uchybu lub sygnału PV o jedną jednostkę PV w
czasie każdych 10 ms. Wprowadzana w jednostkach 10 milisekund, a
wyświetlana w formacie 0. 00 sekund, z 2 miejscami na część dziesiętną.
Przykładowo, jeżeli parametr Kd ma wartość 120, będzie on wyświetlany
jako 1. 20 sek., a powodowana przez niego zmiana sygnału wyjściowego
bloku PID będzie wynosić Kd*przyrost uchybu/ przyrost czasu, czyli 120*4/3,
jeżeli Uchyb zmienić się o 4 jednostki bezwymiarowe PV w ciągu 30
milisekund. Parametr KD może zostać wykorzystany do przyśpieszenia
wolnej odpowiedzi regulatora, ale jest bardzo wrażliwy na zakłócenia
wielkości regulowanej PV.

Integral Rate-Ki (Współczynnik
wzmocnienia całkowego Ki)

powtórzeń/
1000 sek.

0 do 32. 767
Wartość określająca zmianę sygnału ustawiającego w jednostkach CV, w
powtórzeń/ sek. przypadku stałej wartości uchybu, równej 1 jednostce PV. Parametr ten
wyświetlany jest w formacie 0. 000 powtórzeń/ sek, z
przeznaczeniem 3 miejsc na część dziesiętną. Przykładowo, jeżeli
parametr Ki ma wartość 1400, wyświetlany będzie jako 1. 400 powtórzeń/
sek., a powodowana przez niego zmiana sygnału wyjściowego bloku PID
wynosi Ki*Uchyb*dt, czyli 1. 400*20*50/1000, dla Uchybu o wartości 20
jednostek bezwymiarowych wartości regulowanej PV i czasu trwania cyklu
sterownika 50 milisekund (Okres próbkowania równy 0). Parametr Ki jest
zwykle drugą nastawą ustawianą przy strojeniu regulatora, po parametrze
Kp.

CV Bias/Output Offset (Przesunięcie Jednostki
punktu pracy)
bezwym.
parametru
-32000 do 32000
(dodawana do
wyjścia bloku
całkującego)

Adres +9
Adres+10

CV Upper and Lower Clamps(Górna i dolna granica wartości
sygnału ustawiającego)

-32000 do 32000 Wartości określające największą i najmniejszą wartość sygnału
ustawiającego. Wprowadzenie tych wartości jest obowiązkowe. Jeżeli
( &amp; gt;%Ref+10)
wartości tych parametrów nie zostaną wprowadzone lub jeżeli wartość
granicy górnej jest mniejsza od granicy dolnej, blok funkcyjny PID nie
zostanie wykonany. Wartości tych granic są zwykle wyznaczane w oparciu o
ograniczenia fizyczne sygnału ustawiającego CV. Są one również
wykorzystywane do graficznej reprezentacji sygnału ustawiającego. Blok
funkcyjny PID monitoruje wartość wewnętrzną bloku całkującego,
zabezpieczając tym samym przed przekroczeniem wartości dopuszczalnych.

Adres+11

Minimum Slew Time (Minimalny czas Sekund/
narastania sygnału ustawiającego)
pełne
przemieszcz
enie

0 (brak) do
32000 sek. do
przesunięcia o
32000 CV

Wartość całkowita w jednostkach bezwymiarowych CV, dodawana do
sygnału wyjściowego bloku PID, przed zastosowaniem wartości granicznych
prędkości zmian i amplitudy. Parametr ten można wykorzystać do
ustawienia nie zerowej wartości sygnału ustawiającego CV, jeżeli stosowany
jest wyłącznie współczynnik wzmocnienia proporcjonalnego lub do
sterowania z oddziaływaniem ( &quot; feed forward control &quot;).

Wartość określająca minimalną liczbę sekund, wymaganą do przejścia
sygnału ustawiającego od wartości 0 do 100% lub 32000 jednostek
bezwymiarowych CV. Jest to odwrotność dopuszczalnej prędkości zmian
sygnału ustawiającego CV.
Jeżeli parametr ten ma wartość dodatnią, wielkość zmiany sygnału CV w
jednostkach bezwymiarowych CV nie może przekroczyć 32000 razy przyrost
czasu (w sekundach) podzielony przez minimalny czas narastania sygnału
ustawiającego. Przykładowo, jeżeli okres próbkowania wynosi 2. 5 sekundy,
a minimalny czas narastania sygnału ustawiającego jest równy 500 sekund,
sygnał ustawiający CV nie może się zmienić o więcej niż 32000? 2. 5/500,
czyli o 160 jednostek bezwymiarowych sygnału CV w ciągu jednego
obliczania bloku PID. Blok funkcyjny PID monitoruje wartość wewnętrzną
bloku całkującego, zabezpieczając tym samym przed przekroczeniem
wartości granicznych dla sygnału ustawiającego CV. Jeżeli Minimalny czas
narastania sygnału ustawiającego jest równy 0, nie ma żadnego
ograniczenia co do prędkości narastania. Wartość 0 należy wprowadzać w
czasie dostrajania bloku PID.

15-7

Adres+12

Config Word- Parametr
konfiguracyjny

młodszych
bitów

Bity 0 do 2
informują o
sposobie
obliczania
uchybu,
polaryzacji
ustawiającego
CV i sposobie
różniczkowania.

5 bitów tego słowa wykorzystywanych jest do modyfikowania trzech
standardowych parametrów regulatora PID. Wartość pozostałych bitów
powinna być ustawiona na 0. Bit zerowy modyfikuje sposób obliczania
uchybu ze standardowego (SP-PV) na (PV-SP), a więc odwraca znak tego
uchybu. Jest to wykorzystywane w układach sterowania, gdzie wzrost
wielkości regulowanej powinien powodować spadek sygnału ustawiającego
CV. Po ustawieniu na 1 wartości pierwszego bitu, zmieniana jest
polaryzacja sygnału ustawiającego CV, parametr ten będzie więc miał
wartość ujemną, a nie dodatnią. Ustawienie na 1 wartości trzeciego bitu
zmienia działanie mechanizmu zapobiegającego przekraczaniu wartości
granicznych.
Poniżej przedstawiono znaczenie młodszych 5 bitów parametru
konfiguracyjnego:
Bit 0: Sposób obliczania uchybu. Gdy wartość logiczna tego bitu wynosi 0,
uchyb obliczany jest według wzoru SP-PV. Gdy wartość logiczna tego bitu
wynosi 1, uchyb obliczany jest według wzoru SP-PV.
Bit 1: Polaryzacja sygnału ustawiającego CV. Gdy wartość tego bitu wynosi
0, parametr wyjściowy CV zawiera bezpośrednio wynik obliczeń algorytmu
PID. Gdy wartość tego bitu wynosi 1, parametr wyjściowy CV zawiera
zanegowaną wartość wyniku obliczeń algorytmu PID.
Bit 2: Sposób różniczkowania wielkości regulowanej PV. Jeżeli wartość tego
bitu wynosi 0, różniczkowany jest uchyb. Jeżeli wartość tego bitu wynosi 0,
różniczkowany jest sygnał PV. Pozostałe bity powinny mieć wartość zero.
Bit 3: Działania podejmowane po przekroczeniu strefy nieczułości. Po
ustawieniu tego bitu na wartość zero, nie są podejmowane żadne działania.
Jeżeli uchyb mieści się w granicach strefy nieczułości, przyjmowana jest
zerowa wartość uchybu. W przeciwnym wypadku, wielkość uchybu nie jest
modyfikowana przez ograniczenie strefą nieczułości.
Po ustawieniu tego bitu na wartość 1, podejmowane są pewne
działania związane ze strefą nieczułości. Jeżeli uchyb mieści się w
granicach strefy nieczułości, przyjmowana jest zerowa wartość uchybu.
Jeżeli jednak uchyb wykracza poza granice strefy nieczułości, wartość
uchybu jest zmniejszana o wartości graniczne strefy nieczułości (uchyb =
uchyb - wartość graniczna strefy nieczułości).
Bit 4: Mechanizm zapobiegający przekroczeniu wartości granicznych. Po
ustawieniu wartości tego bitu na zero, mechanizm zapobiegający
przekroczeniu wartości korzysta z algorytmu zerowania wstecz. Jeżeli
sygnał wyjściowy mieści się w dopuszczalnych granicach, wartość ta
zastępuje zakumulowaną wartość Y, bez względu na wartość wymaganą do
wygenerowania sygnały wyjściowego mieszczącego się w dopuszczalnym
zakresie wartości.
Jeżeli wartość tego bitu jest równa jeden, wartość ta zastępuje
zakumulowany wyraz Y przez wartość wyrazu Y zapamiętaną w momencie
rozpoczęcia obliczeń. Dzięki takiemu rozwiązaniu, wstępna wartość
ograniczająca Y jest pamiętana tak długo, jak długo sygnał wyjściowy mieści
się w dopuszczalnych granicach. UWAGA:
Należy pamiętać, że bity są ustawiane jako kolejne potęgi 2.
Przykładowo, po ustawieniu wartości Parametru konfiguracyjnego na 0 w
domyślnej konfiguracji regulatora PID, należy dodać 1 w celu zmiany
sposobu obliczania uchyby z SP-SV na PV-SP lub dodać 2 w celu zmiany
polaryzacji sygnału ustawiającego CV z CV=sygnał wyjściowy regulatora
PID na CV=-sygnał wyjściowy regulatora PID lub dodać 4 w celu zmiany
sposobu różniczkowania z różniczkowania uchybu na różniczkowanie
sygnału PV.

Adres+13

Manual Command (Sygnał sterujący Jednostki
w trybie ręcznym)
Nadąża za
parametrem CV
w trybie
automatycznym
lub określa
wartość CV w
trybie ręcznym

Wartość równa sygnałowi ustawiającemu CV, jeżeli regulator PID pracuje w
trybie automatycznym. Po przełączeniu regulatora w tryb sterowania
ręcznego (Manual), wartość ta wykorzystywana jest do wyznaczenia
wartości CV oraz wewnętrznej wartości bloku całkującego w obrębie
przedziału wyznaczonego przez Górną i Dolną granicy wartości sygnału
sterującego oraz Minimalny czas narastania sygnału sterującego.

Adres+14

Control Word (Słowo sterujące)

Jeżeli wartość
bitu 1 wynosi 0,
wartość ta
zapisywana jest
przez sterownik.
wartość równa 0
powoduje
ustawienie na 1
bitu zerowego.

Jeżeli wartość logiczna bitu zerowego jest równa 1, blok funkcyjny PID
sterowany jest przez to Słowo konfiguracyjne oraz przez inne wewnętrzne
parametry SP, PV i CV (proszę porównać z opisem poniżej). Dzięki temu
urządzenia zewnętrzne, takie jak na przykład komputer, mogą przejąć
sterownie od programu sterującego. Ostrzeżenie: Jeżeli sytuacja taka

Zapisywany
przez
sterownik, o
ile bit 1 &amp; lt; &amp; gt; 1

nie powinna wystąpić, należy upewnić się że wartość Słowa
sterującego jest równa 0. Jeżeli wartość bitu zerowego jest równa 0,
można na podstawie następnych 4 bitów odczytywać status styków
wejściowych regulatora PID, tak długo jak długo doprowadzany jest sygnał
wejściowy do tego bloku.
Jest to słowo bitowe o strukturze dyskretnej (każdy z bitów posiada odrębne
znaczenie), o następującym formacie:

15-8

Rozdział 15: Funkcja PID
słowa:

Funkcja:

Status lub działania zewnętrzne
podejmowane po zmianie wartości bitu
zerowego na 1:

Bit 0

Jeżeli jego wartość wynosi 0,
monitorowanie styków bloku, opisanych
poniżej. Jeżeli 1, są one ustawiane przez
urządzenia zewnętrzne.

Manual
/Auto

Jeżeli 1, blok jest w trybie Manual, w
przypadku innych numerów, w trybie Auto.

Standardowo wartość 1, w przeciwnym
wypadku blok nie jest nigdy wywoływany.

UP
/Wzrost

Jeżeli 1 i blok pracuje w trybie ręcznym,
każde wykonanie bloku PID powoduje
inkrementowanie sygnału CV.

DN
/Zmniejsz. każde wykonanie bloku PID powoduje
Bit:

Adres+15

Internal SP (Punkt pracy regulatora
SP)

ustawiana
sterownik,
tylko do
odczytu

Nie konfigurow.

Jeżeli bit 0 ma wartość 1, wartość tego parametru musi być ustawiona z
zewnątrz.

Adres+16

Internal CV (Sygnał
ustawiający CV)

"

Nadąża za parametrem CV.

Adres+17

Internal PV (Wartość wielkości
regulowanej PV)

Adres+18

Output (Polaryzacja sygnału
ustawiającego)

Wartość całkowita ze znakiem reprezentująca bieżący stan parametru
wyjściowego bloku funkcyjnego PID, przed zastosowanie opcjonalnej
negacji sygnału. Jeżeli nie jest zaprogramowana negacja sygnału
ustawiającego i bit polaryzacji sygnału (pierwszy bit parametru
konfiguracyjnego) ma wartość 0, wartość ta jest równa wartości sygnału
ustawiającego CV. Jeżeli inwersja sygnału ustawiającego jest
zaprogramowana i bit polaryzacji sygnału (pierwszy bit parametru
konfiguracyjnego) ma wartość 1, wartość ta jest równa wartości sygnału
ustawiającego CV, z przeciwnym znakiem.

Adres+19

Diff Term Storage (Dane robocze
dotyczące bloku różniczkującego)

Adres+20 Adres Int Term Storage (Dane robocze
+21
dotyczące bloku całkującego)

Rejestr wykorzystywany przez blok funkcyjny PID do pamiętania wartości
pośrednich. W rejestrach tych nie wolno zapisywać żadnych danych.

Adres + 22

Slew Term Storage (Dane robocze
dotyczące prędkości narastania
Adres+23 to
Adres+25

Clock (Zegar wewnętrzny)

Czas, który upłynął od momentu ostatniego wykonania algorytmu PID. W
rejestrach tych nie wolno zapisywać żadnych danych.

Adres + 26

Y Remainder Storage (Rejestr do
przechowywania wartości Y wewnętrzna zmienna sterownika)

Parametr ten zawiera resztę z skalowania działki całkowania dla stabilnego,
zerowego uchybu.

Adres+27 Adres SP, PV Lower and Upper Range
+28
(Dolna i górna granica zakresu
wartości parametrów SP i PV)

bezwymi.
-32000 do 32000 Opcjonalne wartości całkowite w jednostkach bezwymiarowych sygnału
ustawiającego PV, wykorzystywane do definiowania górnej i dolnej wartości
w reprezentacji graficznej. (Wartość Ref+27 musi być mniejsza od Ref+28).

Adres+29 do
Adres+39

Tylko do
Rejestry 29-34 są zarezerwowane do użytku wewnętrznego, a rejestry 35-39
są zarezerwowane do użytku zewnętrznego. Nie należy korzystać z tych
rejestrów.

15-9

oraz wzmocnień
Blok PID można zaprogramować w oparciu o algorytm o niezależnych wyrazach (PID_INT) lub
standardowy algorytm ISA (PID_ISA). Jedyna różnica polega na definicji współczynnika
wzmocnienia dla bloku całkującego i różniczkującego.
W obydwu algorytmach PID uchyb jest obliczany jako wartość wyrażenia SP-PV lub wyrażenia
PV-SP jeżeli bit zerowy w Słowie konfiguracyjnym (%Ref+12) ma wartość równą 1.
Zanegowana wartość uchybu może być stosowana jeżeli wartość sygnału ustawiającego CV ma
zmieniać się w kierunku przeciwnym do wartości wielkości regulowanej PV (zwiększanie
wartości CV przy zmniejszaniu się wartości PV), czyli jeśli wartości CV i PV nie mają się
zmieniać w tym samym kierunku.
Uchyb = (SP - PV) lub
Uchyb =(PV-SP) jeżeli bit zerowy Słowa konfiguracyjnego ma wartość 1.
Blok różniczkujący zależy standardowo głównie od zmiany uchybu w czasie ostatniej realizacji
algorytmu PID, blok może powodować dużą zmianę sygnału ustawiającego jeżeli wartość zadana
uległa zmianie. Jeżeli taka właściwość nie jest pożądana, można ustawić trzeci bit Słowa
konfiguracyjnego na 1, co spowoduje obliczanie wyrazu różniczkującego w oparciu o zmianę
wartości zadanej PV. Wielkość dt (przyrost czasu) jest wyznaczana poprzez odjęcie od bieżącego
czasu sterownika czasu, który upłynął od momentu ostatniego wykonania algorytmu PID.
dt = Bieżący czas sterownika - czas, który upłynął od momentu ostatniego wykonania
algorytmu PID
Blok różniczkujący = (Uchyb- Poprzedni uchyb)/dt jeżeli 3 bit słowa sterującego jest ustawiony
Algorytm PID o niezależnych wyrazach (PID_INT) oblicza sygnał ustawiający jako:
Sygnał ustawiający regulatora PID= Kp * Uchyb +
pochodna
+ CV Bias

Ki * Uchyb * dt + Kd *

Standardowy algorytm ISA (PID_ISA) korzysta z innego wzoru:
Sygnał ustawiający regulatora PID=
pochodna)
Kc * (Uchyb +

Uchyb * dt/Ti

+

Td *

gdzie Kc jest współczynnikiem wzmocnienia proporcjonalnego, Ti jest czasem całkowania a Td
jest czasem różniczkowania. Zaletą algorytmu ISA jest fakt, że zmiana parametru Kc powoduje
zmianę wyrazu proporcjonalnego, jak również wyrazu różniczkującego i całkującego, co ułatwia
dostrajanie zamkniętego układu regulacji. Jeżeli wzmocnienie regulatora PID wyrażone jest przy
pomocy Ti i Td, następujące wyrażenia
Kp = Kc

Ki = Kc/Ti

Kd = Kc/Td

pozwala na przekonwertowanie ich do parametrów wejściowych użytkownika bloku PID.
Wymieniony powyżej składnik CV Bias jest dodatkowym składnikiem, niezależnym od
pozostałych parametrów regulatora PID. Może on być potrzebny, jeżeli stosowany jest wyłącznie
proporcjonalny współczynnik wzmocnienia Kp, a wartość sygnału ustawiającego CV ma być
różna od zera, jeżeli wartość regulowana PV jest równa wartości zadanej SP i uchyb jest równy 0.
Jeżeli wystąpi taka sytuacja, parametr CV zawiera żądaną wartość sygnału sterującego, jeżeli
wartość regulowana PV jest równa wartości zadanej SP. Składnik CV Bias może być również
wykorzystywany do sterowania ze sprzężeniem dodatnim, gdzie sygnał ustawiający CV danego
regulatora PID jest zmieniany przez inny układ PID lub algorytm sterowania.
15-10

Jeżeli wykorzystywane jest wzmocnienie wyrazu całkującego Ki, parametr CV Bias jest zwykle
równy 0, ponieważ blok całkujący automatycznie nie dopuszcza do otrzymania zerowej wartości
sygnału ustawiającego. Wystarczy rozpocząć pracę w trybie ręcznym, a następnie za pomocą
parametru Sygnał sterujący w trybie ręcznym (%Ref + 13) ustawić blok całkujący na żądaną
wartość sygnału zadającego CV, po czym przejść do trybu automatycznego. Mechanizm ten
pracuje również jeżeli Ki jest równe 0, za wyjątkiem faktu, że wartość wyrazu całującego nie
będzie zmieniana w zależności od wartości uchybu po przejściu do trybu automatycznego.

Regulator PID o niezależnych wyrazach (PIDIND).
Zamieszczony poniżej schemat obrazuje pracę algorytmów PID:

Algorytm ISA (PIDISA) jest bardzo podobny, różnica polega na wyeliminowaniu współczynnika
Kp z współczynników Ki i Kd, przez co wzmocnienie wyrazu całkującego wynosi Kp*Ki, a
wzmocnienie wyrazu różniczkującego jest równe Kp*Kd. Znak uchybu, sposób różniczkowania
oraz polaryzacja są wybierane poprzez ustawienie odpowiednich wartości parametru użytkownika
Słowo konfiguracyjne.

15-11

Wartości graniczne amplitudy i prędkości narastania sygnału
zadającego CV
Blok PID nie wysyła obliczonego sygnału wyjściowego bezpośrednio do parametru Sygnał
ustawiający CV. Obydwa algorytmy PID umożliwiają ograniczenie amplitudy
i prędkości narastania sygnału ustawiającego PV. Maksymalna prędkość narastania jest
wyznaczana poprzez podzielenie maksymalnej wartości wynoszącej 100% sygnału zadającego
CV (32000) przez Minimalny czas narastania sygnału ustawiającego, o ile jego wartość jest
większa od 0. Przykładowo, jeżeli Minimalny czas narastania sygnału sterującego wynosi 100
sekund, prędkość narastania jest równa 320 jednostek bezwymiarowych CV na sekundę. Jeżeli
czas od momentu ostatniego wykonania wynosi 50 milisekund, nowa wartość sygnału
ustawiającego CV nie może się zmienić o więcej niż 320*50/1000, czyli o 16 jednostek
bezwymiarowych sygnału ustawiającego CV, względem poprzedniej wartości.
Sygnał wyjściowy CV jest następnie porównywany z Górną i Dolną granicą wartości sygnału
zadającego. Jeżeli przekroczona zostanie jedna z tych wartości, przyjmowana jest graniczna
wartość sygnału zadającego CV. Jeżeli nastąpiło przekroczenie zarówno wartości granicznych
amplitudy jak i prędkości narastania sygnału, następuje dostosowanie wewnętrznej wartości
wyrazu całkującego w celu uniknięcia przekraczania wartości dopuszczalnych.
Ostatecznie blok sprawdza polaryzację wyjściową (2 bit Słowa konfiguracyjnego o adresie
%Ref+2) i zmienia znak sygnału, jeżeli wartość tego bitu jest równa 1.
CV= Sygnał wyjściowy regulatora PID z uwzględnieniem wartości granicznych lub
CV = - Sygnał wyjściowy regulatora PID z uwzględnieniem wartości granicznych, jeżeli ustawiono bit
polaryzacji sygnału wyjściowego.
Jeżeli blok pracuje w trybie automatycznym, ostateczna wartość sygnału ustawiającego CV jest
zapisywana do parametru Sygnał sterujący w trybie ręcznym (%Ref + 13). Jeżeli blok pracuje
w trybie ręcznym, równanie zamkniętego układu regulacji PID jest pomijane, a wartość sygnału
ustawiającego CV jest określana poprzez parametr Sygnał sterujący w trybie ręcznym, są jednak
nadal sprawdzane wszystkie wartości graniczne amplitudy i prędkości narastania. Oznacza to, że
przy pomocy parametru Sygnał sterujący w trybie ręcznym nie można określić wartości sygnału
zadającego przekraczającej podane wartości graniczne, jak też nie jest możliwe narastanie sygnału
z prędkością większą od określonej przy pomocy parametru Minimalny czas narastania sygnału.

15-12

Okres próbkowania bloku PID
Blok PID jest cyfrową implementacją analogowej funkcji sterowania, co powoduje, że czas
próbkowania dt w równaniu zamkniętego układu regulacji nie jest nieskończenie mały, jak to ma
miejsce w przypadku analogowych układów sterowania. Większość sterowanych procesów może
być przybliżona jako wzmocnienie z inercją pierwszego lub drugiego rzędu, często z opóźnieniem
czasowym. Blok PID wyznacza wartość zmiennej ustawiającej CV procesu oraz wykorzystuje
bieżącą wartość wielkości regulowanej do obliczania następnej wartości zmiennej CV.
Kluczowym parametrem procesu jest stała czasowa, określająca prędkość narastania wielkości
regulowanej PV w przypadku zmiany wielkości ustawiającej CV. Zgodnie z przedstawionym
poniżej w punkcie &quot; Metoda dostrajania współczynnika wzmocnienia regulatora PID &quot; opisem,
stała czasowa Tp+Tc dla systemu pierwszego rzędu jest opóźnieniem do momentu, kiedy
wielkość regulowana PV dochodzi do 63% wartości końcowej, przy skokowej zmianie sygnału
ustawiającego CV. Blok PID nie będzie w stanie sterować procesem, jeżeli Okres próbkowania
jest większy od połowy globalnej stałej czasowej. Dłuższe okresy próbkowania nie zapewniają
stabilności.
Okres próbkowania nie powinien być większy od globalnej stałej czasowej podzielone przez 10
(lub w najgorszym przypadku przez 5). Przykładowo, jeżeli wydaje się że wielkość regulowana
dojdzie do około 2/3 swojej końcowej wartości w okresie 2 sekund, Okres próbkowania nie
powinien być mniejszy od 0. 2 sekund, a w najgorszym przypadku 0. 4 sekund. Z drugiej strony,
okres próbkowania nie może być zbyt mały, jak na przykład nie może być mniejszy od globalnej
stałej czasowej podzielonej przez 1000, bowiem składnik Ki*Uchyb*dt regulatora PID będzie
zaokrąglany w dół do zera. Przykładowo, w przypadku bardzo wolnego procesu, który zachodzi
w ciągu 10 godzin, czyli 36000 sekund, w celu dojścia wielkości regulowanej do poziomu 63%
swojej wartości, okres próbkowania powinien wynosić 40 sekund lub więcej.
Jeżeli proces nie zachodzi bardzo szybko, zwykle nie jest konieczne wprowadzanie wartości 0 dla
okresu próbkowania, w celu wykonywania algorytmu PID w każdym cyklu. Jeżeli kilka bloków
PID ma ustawiony okres próbkowania o wartości większej od czasu trwania cyklu, czas ten może
ulegać znacznym wahaniom, ponieważ w jednym czasie może być rozwiązywanych wiele
algorytmów PID. Najprostszym rozwiązaniem jest zastosowanie tablicy bitowej z wędrującą
jedynką, sterującej dopływem sygnału do poszczególnych bloków PID.

15-13

Wyznaczanie charakterystyk procesu
Współczynniki dla algorytmu PID, Kp, Ki i Kd są wyznaczane na podstawie charakterystyki
sterowanego procesu. W czasie wyznaczania parametrów zamkniętego układu regulacji PID
należy znaleźć odpowiedź na dwa podstawowe pytania:
Jak zmienia się wartość wielkości regulowanej PV przy zmianie sygnału ustawiającego
CV o stałą wartość lub jak duże jest wzmocnienie otwartego układu regulacji?

Jaka jest szybkość reakcji systemu lub jak szybko zmienia się wartość wielkości
regulowanej PV po skokowej zmianie wielkości ustawiającej CV?

Wiele procesów może być przybliżonych przez współczynnik wzmocnienia procesu, stałą
czasową pierwszego lub drugiego rzędu oraz czas opóźnienia. W dziedzinie częstotliwości,
transmitancja dla systemu ze zwłoką czasową pierwszego rzędu ma postać:
PV(s)/CV(s) = G(s) = K * e **(-Tp s)/(1 + Tc s)
Wykreślenie odpowiedzi skokowej w chwili t0 w dziedzinie czasu daje krzywą zmiany
w układzie otwartym:

Na podstawie krzywej zmiany wielkości regulowanej PV można wyznaczyć następujące
parametry procesu:
K

Wzmocnienie w otwartym układzie sterowania procesem = końcowa zmiana
wielkości regulowanej PV/ zmiana sygnału ustawiającego CV w chwili t0
(zwrócić uwagę na brak indeksu przy współczynniku K).

Tp

Czas opóźnienia procesu lub czas po t0, po upływie którego wartość PV
zacznie się zmieniać.

Tc

Stała czasowa procesu pierwszego rzędu, czas mierzony od Tp do momentu
kiedy wielkość regulowana PV uzyska 63. 3% swojej wartości ostatecznej.

Zwykle najszybszą metodą pomiaru tych parametrów jest wywoływanie bloku PID w trybie
ręcznym, z małymi zmianami sygnału ustawiającego CV, poprzez wprowadzanie odpowiednich
wartości parametru Sygnał sterujący w trybie ręcznym i wykreślanie w funkcji czasu zmian
wartości wielkości regulowanej PV. W przypadku wolnych procesów czynność ta może być
wykonywana ręcznie, natomiast w przypadku procesów szybszych zachodzi potrzeba skorzystania
z rejestratora danych lub odpowiedniego oprogramowania komputera. Wielkość zmiany sygnału
ustawiającego CV powinna być dostatecznie duża, tak aby powodowała dającą się zaobserwować
zmianę wartości wielkości regulowanej PV, ale nie na tyle duża, aby doprowadzić do przerwania
mierzonego procesu. Wielkość zmiany może przykładowo wynosić od 2 do 10% różnicy
pomiędzy górną i dolną wartością graniczną sygnału ustawiającego.

15-14

Dostrajanie parametrów regulatora PID
Wszystkie parametry bloku PID zależą całkowicie od rodzaju sterowanego procesu, nie można
zalecić żadnych wartości, które na pewno okażą się poprawne, zwykle jednak znalezienie
akceptowalnego współczynnika wzmocnienia jest proste.
Ustawić wartość wszystkich parametrów użytkownika na 0, a następnie Górną i dolną
wartość sygnału sterującego na odpowiednio maksymalną i minimalną oczekiwaną
wartość. Ustawić Okres próbkowania na wartość szacowanej globalnej stałej czasowej
procesu podzielonej przez liczbę z przedziału (0-100)

Uruchomić blok w trybie ręcznym a następnie wprowadzać do parametru Sygnał sterujący
w trybie ręcznym (%Ref +13) różne wartości w celu sprawdzenia, czy wartość ustawiająca
CV dochodzi do górnej i dolnej wartości granicznej. Zanotować wartości wielkości
regulowanej PV dla pewnych wartości wielkości ustawiającej CV, a następnie przypisać
je do wartości zadanej SP.

Ustawić małe wzmocnienie Kp, przykładowo 100* Maksymalna wartość CV/
maksymalna wartość PV, po czym przejść do trybu ręcznego. Zmienić skokowo wartość
SP o 2 do 10% wartość maksymalnej wielkości regulowanej PV i obserwować
odpowiedzi wielkości regulowanej PV. Zwiększyć wartość współczynnika wzmocnienia
Kp jeżeli odpowiedź wielkość regulowanej PV jest zbyt wolna lub też zmniejszyć ją,
jeżeli zmiany wartości regulowanej PV są zbyt dużej o cechują się oscylacją, bez
dochodzenia do stanu stabilności.

Po znalezienia odpowiedniego współczynnika wzmocnienia Kp, zwiększać wartość Ki
w celu znalezienia przeregulowania tłumionego do wartości ustalonej w ciągu 2 do 3 cykli.
Może to wymagać zmniejszenia współczynnika Kp. Spróbować również zmienić skokową
wielkość zmian oraz wprowadzić inne wartości sygnału ustawiającego CV.

Po znalezieniu odpowiednich współczynników Kp i Ki, spróbować zwiększać współczynnik
Kd w celu szybszego uzyskiwania odpowiedzi na parametry wejściowe, jednak bez
powstawania oscylacji. Współczynnik Kd jest bardzo często niepotrzebny oraz nie powinien
być wykorzystywany w przypadku zakłóconego sygnału wielkości regulowanej PV.

6.

Sprawdzić współczynnik wzmocnienia dla różnych wartości zadających SP oraz, jeżeli jest
to potrzebne, określić strefę nieczułości i Minimalny czas narastania sygnału ustawiającego.
W przypadku niektórych procesów konieczne może być ustawienie bitów Słowa
konfiguracyjnego w celu zmienienia znaku uchybu lub polaryzacji.

15-15

Dobór współczynników wzmocnienia za pomocą metody Zieglera
i Nicholsa
Po wyznaczeniu trzech parametrów modelu procesu, K, Tp i Tc można wstępnie oszacować
wartość współczynników wzmocnienia dla zamkniętego układu regulacji PID. Przedstawiona
poniżej metoda, opracowana w 1942 roku przez Zieglera i Nicholsa, ma za zadanie zapewnienie
dobrej reakcji systemu przy wzmocnieniach dających stosunek amplitud 1/4. Stosunek amplitud
jest to stosunek drugiej wartości szczytowej do pierwszej wartości szczytowej odpowiedzi
zamkniętego układu regulacji.
Obliczyć szybkość reakcji regulatora:
R = K/Tc

Gdy regulator pracuje jedynie jako regulator proporcjonalny,
współczynnik wzmocnienia wyrazu proporcjonalnego KP:

policzyć

Kp = 1/(R * Tp) = Tc/(K * Tp)
Gdy regulator pracuje jako proporcjonalny i całkujący, skorzystać z równania:
Kp = 0. 9/(R * Tp) = 0. 9 * Tc/(K * Tp) Ki = 0. 3 * Kp/Tp
Gdy regulator pracuje jako proporcjonalny, całkujący i różniczkujący, zastosować
równanie:
Kp = G/(R * Tp) gdzie G ma wartość z zakresu od 1. 2 do 2. 0
Ki = 0. 5 * Kp/Tp
Kd = 0. 5 * Kp * Tp
Sprawdzić, czy okres próbkowania ma wartość z zakresu
(Tp + Tc)/10 to (Tp + Tc)/1000

Metoda idealnego dostrajania
Inna metoda, &quot; Idealnego dostrojenia &quot;, ma za zadanie zapewnić jak najlepszej odpowiedzi na
zmiany wartości zadanej SP, opóźnionej wyłącznie przez opóźnienie procesu Tp lub czas martwy:
Kp
Ki
Kd = Ki/4

Tc/(3
K
Tp)
Tc
jeżeli
wykorzystywany
jest
składnik

różniczkujący
Po wyznaczeniu początkowych wartości współczynników wzmocnienia, można je
przekonwertować na liczby całkowite. Obliczyć wzmocnienie procesu K jako zmianę
w jednostkach bezwymiarowych wielkości regulowanej PV podzielonej przez skokową zmianę
wielkości wyjściowej CV w jednostkach bezwymiarowych Cv, a nie w jednostkach inżynierskich
parametrów PV czy CV. Wszystkie czasy należy podać w sekundach. Po wyznaczeniu
współczynników Kp, Ki i Kd, współczynniki Kp i Kd można pomnożyć przez 100 i wprowadzić
je jako wartości całkowite, a współczynnik Ki należy pomnożyć przed wprowadzeniem do tabeli
parametrów użytkownika%RefArray przez 1000.

15-16

Przykład prostego wywołania regulatora PID
W zamieszczonym poniżej przykładzie, Okres próbkowania wynosi 100 milisekund,
współczynnik wzmocnienia Kp jest równy 4. 00 a współczynnik wzmocnienia Ki jest równy
1. 500. Wartość zadana SP zapamiętana w%R0001, sygnał ustawiający CV jest zapisywany
w%AQ0002, a wielkość regulowana zapisywana jest do%AI0003. Muszą być również
określone: górna i dolna granica sygnału ustawiającego,, w niniejszym przykładzie są to 20000
i 4000 oraz opcjonalnie wprowadzono górną i dolna granice strefy nieczułości +5 i -5. Tablica
RefArray zawierająca 40 słów rozpoczyna się od adresu%R0100. Zwykle parametry użytkownika
są wprowadzane do tablicy RefArray, ale można również ponownie zainicjować wartości 14
parametrów, począwszy od adresu%R102 (%Ref +2) w oparciu o stałe, zapisane w programie
sterującym (bardzo użyteczna technika).
%M0006
35
%R0100

+00010
+00005
+00400
+00000
+01500
IN7

%R00102

+20000
IN1 Q

%R00109

IN7
%T0001

PID IND
%R0001
%M0001

SP CV

%AI0003

%AQ0002

MAN

%M0004
UP
%M0005
%M0002

DN
%R0100

ADDINT
%R0113

IN1 Q

%R0002

%R0113

IN2

%M0003
SUBINT
%R0113

Blok może zostać przełączony w tryb ręczny za pomocą zmiennej%M1, co pozwala na zmianę
parametru &quot; sygnał sterujący w trybie ręcznym (rejestr%Ref+13, czyli w niniejszym przykładzie
%R0113). Bity%M4 lub%M5 umożliwiają zwiększenie lub zmniejszenie wartości zmiennej
%R113 o 1 przy każdym wykonaniu algorytmu PID, w okresie co 100 milisekund. W celu
przyśpieszenia pracy w trybie ręcznym, za pomocą bitów%M2 i%M3 można w każdym cyklu
pracy sterownika dodawać i odejmować wartość zapisaną w%R2 do wartości%R113. Sygnał
wyjściowy%T1 jest wysyłany pod warunkiem poprawnego wykonania algorytmu regulatora PID.

15-17

Czasy wykonywania elementów
programu sterującego

logicznych

W załączniku tym podano rozmiar pamięci w bajtach oraz czas wykonywania w mikrosekundach
każdej z instrukcji programowania obsługiwanych przez sterowniki VersaMax Nano i Micro.
Rozmiar pamięci to liczba bajtów, zajmowanych przez każdą z instrukcji w drabinie logicznej
Dla każdego elementu logicznego w tablicy podano dwa rodzaje czasów wykonywania:
wykonywania

Funkcja załącz.

Czas wymagany na realizację bloku funkcyjnego w sytuacji, gdy jest on
aktywny aktywny i doprowadzony zostanie do niego sygnał wejściowy.

Funkcja wyłącz.

Czas wymagany na realizację bloku funkcyjnego w sytuacji, gdy nie jest
on aktywny; do bloku funkcyjnego nie jest doprowadzany sygnał i/lub
doprowadzany jest sygnał zerujący.

Wszystkie podane czasy to typowe czasy wykonywania. Rzeczywisty czas wykonywania zależy od
wejść oraz od błędów.
Czasy (w mikrosekundach) podano dla wersji 1. 1 sterowników VersaMax Nano/Micro.
Liczniki i przekaźniki czasowe uaktualnianie są za każdym razem ich wywołania w programie
sterującym, wartość licznika jest zwiększana o czas trwania ostatniego cyklu, a wartość przekaźników
czasowych o jeden.
W przypadku funkcji do operacji bitowych, L oznacza liczbę bitów. W przypadku funkcji BitPos, N jest
numerem ustawianego bitu. W przypadku funkcji do przemieszczania danych, N jest numerem bitu lub
słowa. B jest numerem bitu przesuniętego o więcej niż 1 (tzn. nie licząc pierwszego bitu). W jest liczbą
słów.
W przypadku funkcji do operacji na tablicach, przyrost podano w określonych jednostkach długości.

Czas w trybie Enabled podano dla modułów o pojedynczej długości typu%R, %AI i%AQ.
Czasy dla bloku funkcyjnego DO I/O podano w przypadku obsługi 8 punktów (%I0001 do
%I0008).
Poniżej podano czasy wykonywania operacji logicznych:
10- punktowe sterowniki Nano: 1. 2 ms/K dla operacji logicznych
14- punktowe sterowniki Micro: 1. 0 ms/K dla operacji logicznych
23 i 28- punktowe sterowniki Micro: 1. 0 ms/K dla operacji logicznych

A-1

Czas wykonywania (us)
u
Grupa

Rozm.
(bajt. )

Funkcja załącz.
Ster. Nano
(10
punktów)

Micro
(14, 23, 28
1. 2ms/K

1. 0ms/K

95

Przekaźnik czasowy z
Zegar odmierzający
czas pracy sterownika

Licznik zliczający w
górę
Funkcja wyłącz.
100

64

106

73

90

99

60

76

80

77

82

71

50

19
50
119

59
127

Odejmowanie (INT)
Odejmowanie (DINT)
Odejmowanie (REAL)
Mnożenie (INT)
Mnożenie (DINT)
Mnożenie (REAL)

17
119
53
133

60
52
128
137

Dzielenie (INT)

65

Dzielenie (DINT)
Dzielenie (REAL)

213

Dzielenie Modulo (INT)

Dzielenie Modulo (INT)
(INT)
(DINT)
(REAL)
SIN (REAL)
COS (REAL)
TAN (REAL)
ASIN (REAL)
ACOS (REAL)
ATAN (REAL)

Przekaźniki Przekaźniki
Przekaźniki Przekaźnik czasowy
czasowe
bez pamięci, z
zanegowanym
wejściem

Liczniki

Funkcje
Dodawanie (INT)
matematycz
ne
Dodawanie (DINT)
Dodawanie (REAL)

223

19

81

89
472

94
491

1337
1342
1993
1712
1663
761

1399
1396
2077
1783
1740
795

LOG (REAL)
logarytmiczn LN (REAL)
e

814
760

848
790

Potęga liczby e
wykładnicze Potęga liczby X

542
332

569
351

trygonom.

A-2

Załącznik A: Czasy wykonywania elementów logicznych programu sterującego
Nano
Konwersja
kąta

Konwersja radianów
na stopnie
Konwersja stopni na
289
89

300
97

Relacje

Równe (INT)
Równe (DINT)
Równe (REAL)

30
40
52

Nierówne (INT)

30

31

Nierówne (DINT)
Nierówne (REAL)

51

Większe (INT)

Większe (DINT)
Większe (REAL)

Mniejsze (INT)

55

Mniejsze (DINT)
Mniejsze (REAL)

59

Mniejsze lub równe
(REAL)

Zakres (INT)

40

Zakres (DINT)

22

45

Zakres (WORD)

A-3

punktów)
Bit
Działanie

51
Alternatywa wyłączająca OR

Negacja logiczna słowa
bitowego NOT
Przesunięcie słowa bitowego w
prawo
lewo w obiegu zamkniętym
prawo w obiegu zamkniętym
Lokalizowanie pierwszego bitu
o wartości 1
Ustawianie wartości
pojedynczego bitu na 0
Sprawdzanie wartości
pojedynczego bitu na 1
(WORD)
(DWORD)

43

110

118

109

98

61

25

129

138

128

79
80
58
108

99
101

121
600

127
590

144

155

Przemieszcz Przemieszczanie (INT)
anie danych
Move (BOOL)
Przemieszczanie (WORD)
Przemieszczanie (REAL)
Przemieszczanie grupy
wartości (INT)
wartości (WORD)
wartości (REAL)
Zerowanie bloku (WORD)
Rejestr przemieszczający bity
(BIT)
słowa (WORD)
Przemieszczanie jedynki
COMM_REQ

A-4

Załącznik A: Czasy wykonywania elementów logicznych programu sterującego

(10 punktów)
Operacje

zadanej
różnej
większej lub równej
większej
mniejszej
mniejszej lub równej
98
101
97
133
70
86
87

90
81
83
78
A-5

Micro (14, 23, 28
(10 punktów)

A-6

611
583
156
169
161
46

647
641
606
166
179
173
173

185

163
143
107
157
84
134
222
298
69
71
150
112
167
139
476
310
Algorytm PID-IND

sterujące

Konwersja INT na REAL
Konwersja REAL na INT
Konwersja DINT na REAL
Konwersja REAL na DINT
Konwersja WORD na REAL
Konwersja REAL na WORD
Konwersja BCD na INT
Konwersja INT na BCD
Konwersja BCD na REAL
Przybliżenie do liczby typu INT
Przybliżenie do liczby typu DINT
Natychmiastowe uaktualnienie stanu
wejść
i wyjść
Wywoływanie specjalnych funkcji
#6
# 7 (odczyt)
# 7 (ustawianie)
#9
#14
#15
#16
#18
#23
#26, #30
#29
Para
zagnieżdżonych
instrukcji
MCR/ENDMCR

konwersji

188
186

194
195

12. 8
3. 2
Porównanie możliwości sterowników serii
90-30, 90 Micro i VerszMax Micro

W niniejszym dodatku dokonano porównania możliwości sterowników GE Fanuc serii 90-30, 90Micro i VersaMax Micro.

Różnice w funkcjonowaniu systemów operacyjnych
Dozwolona liczba procedur wynosi 64 dla sterowników VersaMax Micro i 8 dla VersaMax
Nano.

W aplikacjach wykorzystujących protokół RTU, sterowniki VersaMax Micro i Nano nie
odpowiadają na polecenia &quot; Report Device Type &quot; i &quot; Read Scratch Pad &quot; w taki sam sposób, jak
sterowniki serii 90 Micro.

Identyfikator VME ID sterowników VersaMax Micro i Nano różni się od identyfikatora VME
ID sterowników serii 90 Micro.

W stosunku do sterowników serii 90, sterowniki rodziny VersaMax cechują różnice
w działaniu funkcji licznika impulsów wysokiej częstotliwości (HSC) oraz wyjść impulsowych
(PWM i PTO):
a.

W przeciwieństwie do sterowników serii 90 Micro, w sterownikach VersaMax Micro
i Nano nie można zaprogramować reakcji na opadające zbocze sygnału na wejściu
Preload/Strobe licznika impulsów wysokiej częstotliwości (HSC).

b.

Funkcje wyjść impulsowych (PWM i PTO) w sterownikach VersaMax Micro
i Nano wykorzystują inne rejestry%AQ, niż w sterownikach serii 90 Micro. Katalog
(folder) z programem sterującym, w którym wykorzystywane są funkcje PWM i PTO,
utworzony dla sterownika serii 90 Micro, nie może być bezpośrednio wykorzystany przez
sterownik VersaMax Micro, gdyż funkcje te nie będą wykonywane prawidłowo.
Przyczyną jest inny sposób definiowania częstotliwości i współczynnika wypełnienia
(szerokości) impulsów. Aby określić te parametry dla sterownika serii 90 Micro, do
odpowiednich rejestrów%AQ należy wstawić wartości obliczone według specjalnego
algorytmu (opisanego w opracowaniu &quot; Sterowniki programowalne serii 90 Micro Podręcznik użytkownika &quot;, a także na dalszych stronach niniejszego rozdziału).
W przypadku sterowników rodziny VersaMax, do rejestrów%AQ częstotliwości
impulsów oraz ich współczynniki wypełnienia wpisywane są bezpośrednio, tzn. bez
żadnych dodatkowych przeliczeń (patrz poniżej oraz rozdział 9 &quot; Liczniki impulsów
wysokiej częstotliwości i wyjścia impulsowe &quot;). Tak więc fragment programu sterującego
obliczający częstotliwości i/lub współczynniki wypełnienia (szerokość) impulsów należy
zmodyfikować przed wykorzystaniem przez sterownik VersaMax Micro.

c.

W sterownikach VersaMax Micro i Nano częstotliwość ciągu impulsów wysyłanych na
wyjście w trybie PTO można zmienić w trakcie wykonywania funkcji. W sterowniku serii
90 Micro nie można zmienić częstotliwości ciągu impulsów, których wysyłanie na wyjście
zostało rozpoczęte, aż do wysłania całego ciągu impulsów. Dopiero kolejny ciąg
impulsów może mieć inną częstotliwość.

B-1

d.

W sterownikach VersaMax Micro i Nano wprowadzono możliwość korekcji
współczynnika wypełnienia impulsów dla wyjść PWM i PTO przy wykorzystaniu funkcji
e.

Wyjścia licznika HSC w sterownikach VersaMax Micro i Nano mogą nie zmieniać stanu
dokładnie w punktach zadanych przez wartość włączającą On Preset i wartość
wyłączającą Off Preset.

f.

Funkcje HSC, PWM i PTO w sterownikach VersaMax Micro i Nano przestają działać
w trakcie operacji Store i Clear.

g.

Funkcje PWM i PTO w sterownikach VersaMax Micro i Nano wykorzystują bity
uaktywniające te funkcje (%Q0505 do%Q0508). Sterowniki serii 90 ignorują te bity.

Różnice w programowaniu funkcji wyjść impulsowych
(PWM i PTO)
Funkcja PWM
Aby określić częstotliwość i współczynnik wypełnienia (szerokość) impulsów dla funkcji PWM
w sterownikach VersaMax Micro i Nano, w programie sterującym należy wpisać wartości
bezpośrednio do odpowiednich rejestrów%AQ. Częstotliwość impulsów dla wyjścia PWM wynosi
od 15 Hz do 5 kHz, współczynnik wypełnienia impulsów - od 0 do 100%. Liczba kanałów
PWM/PTO jest różna dla różnych modeli sterowników VersaMax Micro i Nano (patrz rozdział 9
&quot; Liczniki impulsów wysokiej częstotliwości i wyjścia impulsowe &quot;).
Wyjście nr 1

Wyjście nr 2

Wyjście nr 3

Wyjście nr 4

(od 15 do 50000)

impulsów (od 0 do 10000)

Bit włączający wyjście Enable
Ponieważ w sterownikach serii 90 Micro wartości wpisywane do rejestrów%AQ i reprezentujące
częstotliwość i współczynnik wypełnienia (szerokość) impulsów są obliczane według określonego
algorytmu, aby uzyskać taki sam efekt w programie sterującym dla VersaMax Micro lub Nano,
wartości te należy przeliczyć w sposób opisany na kolejnych stronach niniejszego dodatku.

Funkcja PTO
Aby określić częstotliwość impulsów dla funkcji PTO w sterownikach VersaMax Micro i Nano,
w programie sterującym należy wpisać wartości bezpośrednio do odpowiednich rejestrów%AQ.
Częstotliwość impulsów dla wyjścia PTO wynosi od 15 Hz do 5 kHz, liczba impulsów wysyłanych
na wyjście - od 0 do 65535. Liczba kanałów PWM/PTO jest różna dla różnych modeli
sterowników VersaMax Micro i Nano (patrz rozdział 9 &quot; Liczniki impulsów wysokiej częstotliwości
i wyjścia impulsowe &quot;).
na wyjście (od 0 do 65535)

B-2

Dodatek B - Porównanie możliwości sterowników serii 90-30, 90 Micro i VersaMax Micro

Bit Start Pulse Train

Q0494

Q0495

Q0496

Ponieważ w sterownikach serii 90 Micro wartość wpisywana do rejestru%AQ reprezentująca
częstotliwość impulsów jest obliczana według określonego algorytmu, aby uzyskać taki sam efekt
w programie sterującym dla VersaMax Micro lub Nano, wartość tę należy przeliczyć w sposób
opisany na kolejnych stronach niniejszego dodatku. Liczba impulsów nie wymaga konwersji, gdyż
we wszystkich sterownikach jest zadawana bezpośrednio.

Uaktywnianie wyjść PWM i PTO (bit Enable Output)
Wyjścia impulsowe muszą zostać uaktywnione przed wykorzystaniem funkcji PWM i PTO.
Wyjścia są uaktywniane poprzez ustawienie w programie sterującym bitu włączającego wyjście
(Enable Output). W celu wyłączenia wyjścia należy w programie sterującym wyzerować bit
Enable Output.
Bit włączający wyjście
Enable Output

Korekcja współczynnika wypełnienia impulsów na wyjściach
impulsowych
sterownika PLC współczynnik wypełnienia impulsów ulega zmianom (zwiększeniu) wskutek
temperatury i obciążenia. W celu skompensowania tych zmian, sterownik stosuje korekcję czasu
trwania impulsu. Wartość korekcyjną można zmieniać w zakresie od 0 do 200 ms za pomocą
funkcji COMMREQ.

Wzory do konwersji częstotliwości i współczynników wypełnienia
impulsów ze sterownika serii 90 Micro do sterownika VersaMax Micro
i Nano
Więcej informacji na temat zadawania częstotliwości i współczynnika wypełnienia impulsów dla
sterownika serii 90 Micro można znaleźć opracowaniu &quot; Sterowniki programowalne serii 90 Micro
- Podręcznik użytkownika &quot;.

Konwersja częstotliwości dla wyjścia PWM
V = wartość zapisywana przez program sterujący w rejestrze%AQ2 sterownika serii 90 Micro
Częstotliwość impulsów = 1. 23/(V+1)

Konwersja współczynnika wypełnienia impulsów dla wyjścia PWM
V = wartość zapisywana przez program sterujący w rejestrze%AQ3 sterownika serii 90 Micro
F = częstotliwość
Współczynnik wypełnienia impulsów (%) = 100 F (opóźnienie +(V+1)/1230000)
Typowe wartości opóźnienia dla wyjścia 24 VDC, 16 mA (obciążenie 1 k)
IC693UDR005 (wersja B z kodem daty mniejszym od 606)
IC693UDR005 (wersja C i późniejsze oraz wersja B z kodem daty nie mniejszym od 606)
IC693UDR010/IC693UAL006

0. 22 ms
0. 09 ms
0. 09 ms

B-3

Konwersja częstotliwości dla wyjścia PTO
V = wartość zapisywana przez program sterujący w rejestrze%AQ123 sterownika serii 90 Micro
Częstotliwość impulsów = 0. 615/(V+1)

Importowanie plików
Do oprogramowania narzędziowego VersaPro można importować kompletne programy sterujące
napisane przy wykorzystaniu oprogramowania Logicmaster 90 i CIMPLICITY Control
i wykorzystywać je dla sterowników VersaMax Micro i Nano. Można również importować pliki ze
zmiennymi utworzone w innych programach, jak np. CIMPLICITY HMI, Logicmaster 90,
CIMPLICITY Control, Excel, Access.

Importowanie katalogu z programem sterującym (foldera)
utworzonego w oprogramowaniu Logicmaster 90
W menu File wybrać opcję Open New Folder.

Jeśli aktualnie otwarty jest jakiś katalog, program zażąda jego zamknięcia. Oprogramowanie
pozwala na to, aby tylko jeden katalog był otwarty w danej chwili.

Utworzyć nowy katalog i umieścić go w obszarze roboczym ekranu.

Wybrać opcję Import Logicmaster 90 na następnym ekranie i używając rozwijanego menu
odnaleźć na dysku komputera katalog utworzony w oprogramowaniu Logicmaster.

Przeglądnąć i zmodyfikować katalog w razie potrzeby. Należy pamiętać, że wszystkie nazwy
zmiennych zostaną przeniesione bez zmian, i że wszystkie komentarze zachowają oryginalny
format.

utworzonego w oprogramowaniu CIMPLICITY Control
W menu File wybrać opcję Open New Folder.
pozwala na to, aby tylko jeden katalog był otwarty w danej chwili.
Utworzyć nowy katalog i umieścić go w obszarze roboczym ekranu.
Wybrać opcję Import CIMPLICITY Control na następnym ekranie i używając rozwijanego
menu odnaleźć na dysku komputera katalog utworzony w oprogramowaniu CIMPLICITY
Control.
Przeglądnąć i zmodyfikować katalog w razie potrzeby. Należy pamiętać, że nazwy zmiennych,
komentarze i inne informacje o zmiennych NIE zostaną przeniesione. Aby przenieść
informacje o zmiennych do zaimportowanego katalogu, należy użyć funkcji importowania
pliku. snf, opisanej poniżej. Jeśli informacje o zmiennych zostaną wyeksportowane
z oprogramowania CIMPLICITY Control w postaci pliku. snf, można je zaimportować do
katalogu oprogramowania VersaPro.

Importowanie pliku. snf
5.
B-4

Utworzyć nowy katalog, nadając mu nową nazwę.
W menu Tools wybrać opcję Shared Name File Import.
Zlokalizować poszukiwany plik z rozszerzeniem. snf.
Zaimportować plik.
Sprawdzić, czy plik został zaimportowany prawidłowo.

Importowanie listy zmiennych
Oprogramowanie narzędziowe VersaPro umożliwia manipulowanie zmiennymi w innym programie
(np. w arkuszu Microsoft Excel) i wklejanie tak zdefiniowanych zmiennych do tablicy deklaracji
zmiennych (Variable Declaration Table) oprogramowania VersaPro.
Używając programu Excel lub podobnego można utworzyć zmienne, które można łatwo
indeksować używając funkcji automatycznego zwiększania indeksu - np. zmienne o nazwach
kończących się numerem, jak &quot; Zbiornik_1 &quot;.
W arkuszu Excela, zaznaczyć zmienne przeznaczone do przeniesienia do oprogramowania
VersaPro i skopiować je do bufora.
W oprogramowaniu VersaPro, wybrać zakładkę All tablicy deklaracji zmiennych (Variable
Declaration Table).
Ustawić kursor w pierwszej wolnej linii tablicy deklaracji zmiennych.
Wkleić skopiowane zmienne.

Następnie oprogramowanie VersaPro zasygnalizuje błędy związane z ewentualnymi konfliktami,
które mogą wystąpić w tablicy po wklejeniu nowych zmiennych, umożliwiając użytkownikowi
poprawienie błędów i zakończenie importu listy zmiennych.

Zestawienie obsługiwanych funkcji języka
programowania
Funkcje lub grupy funkcji
Połączenia
z wyjątkiem skalowania
Relacje
Operacje bitowe
Operacje na danych
Funkcje konwersji
Funkcje sterujące z wyjątkiem
aktualizacji stanu wejść i wyjść
Aktualizacja stanu wejść i wyjść

Sterowniki VersaMax
wszystkie modele
wszystkie modele

Sterowniki
serii 90 Micro
serii 90-30
nie obsługują
3. 00

Obszary pamięci dla zmiennych programu sterującego
i danych
i zakres adresów

(%I0001 -%I0512)

Sterowniki Versa Max
Nano

4 kB

14punktowe
sterowniki
Sterowniki serii 90 Micro

23- i 28punktowe
23- i 28punktowe

6 kB

14punktowe

12 kB

512 bitów

B-5

(%Q0001 -%Q0512)

(%G0001 -%G1280)

1280 bitów

z pamięcią stanu (%M0001 -

1024 bity

bez pamięci stanu (%T0001%T0256)

256 bitów

%M1024)

Dyskretne

%S0001%S0032

32 bity

zmienne

%SA0001%SA0032

Systemowe

%SB0001%SB0032

32 bity

%SC0001%SC0032

(%R0001 -%R0256 lub%R2048)

512 bajtów

i wejściowe zmienne rejestrowe
licznika HSC
(%AI0001 -%AI0128)

B-6

256 bajtów

(%AQ0001 -%AQ0128)

C

z przystawkami analogowymi CALEX

Wejścia i wyjścia analogowe są bardzo użyteczne w wielu zastosowaniach, takich jak pomiar
ciśnienia lub poziomu, pozycjonowanie i sterowanie temperaturą, itp. Jako tańsze rozwiązanie,
w tego typu aplikacjach można wykorzystać sterowniki VersaMax Micro lub Nano bez wejść
i wyjść analogowych, wyposażone w przystawki analogowe CALEX. Pracują one jako
przetworniki częstotliwościowo-prądowe lub częstotliwościowo-napięciowe i umożliwiają one
dodawanie do sterownika pojedynczych kanałów analogowych w zależności od potrzeb
i stopniową rozbudowę systemu.
Przystawki analogowe CALEX wymagają tylko jednego wejścia lub wyjścia dyskretnego,
w zależności od tego, czy użytkownik chce skonfigurować dodatkowe wejście, czy wyjście
analogowe. Konfigurowanie tych wyjść następuje bezpośrednio z oprogramowania
konfiguracyjnego VersaPro dla sterowników VersaMax Nano i Micro. Przystawki zapewniają
obróbkę danych analogowych z 11-bitową rozdzielczością.
Przystawki CALEX są dostępne w następujących wersjach:
wejście analogowe prądowe,
wejście analogowe napięciowe,
wyjście analogowe prądowe,
wyjście analogowe napięciowe,
wejście dla termopary typu J.
Przystawki instaluje się łatwo na szynie DIN. Ciężar przystawki: 85 g.
Wymiary montażowe: wysokość 42 mm szerokość 27 mm długość 96 mm.

C-1

Przykładowe zastosowania
Sterowanie natężeniem przepływu
W tym przykładzie, do sterowania natężeniem przepływu za pomocą sterownika VersaMax Nano
lub Micro niezbędny jest jeden analogowy kanał wejściowy i jeden analogowy kanał wyjściowy.
Wejście analogowe mierzy poziom płynu w zbiorniku, a wyjście analogowe służy do poruszania
zaworem sterującym dopływem płynu do zbiornika. Sterownik posiada skonfigurowane wyjścia
PWM/PTO. Częstotliwość impulsów może być zadawana programowo poprzez zapis
odpowiedniej wartości w rejestrze%AQ2 (PWM) lub%AQ123 (PTO) sterownika,
a współczynnik wypełnienia impulsów - w rejestrze%AQ3 (w jednostkach współczynnika
wypełnienia * 100). Przykładowa aplikacja wykorzystuje więc:
sterownik VersaMax Micro PLC z wyjściem DC,
oprogramowanie VersaPro,
funkcje dzielenia i mnożenia liczb całkowitych podwójnej precyzji w programie sterującym,
jedną wejściową przystawkę analogową CALEX,
jedną wyjściową przystawkę analogową CALEX.

Wejście analogowe
Przetwornik częstotliwościowo-napięciowy przystawki CALEX generuje sygnał o częstotliwości
od 0 do 5 kHz w odpowiedzi na sygnał wejściowy od 0 do 10 V. Częstotliwość zmienia się
proporcjonalnie do napięcia przyłożonego do wejścia napięciowego przystawki. Impulsy
o częstotliwości 1. 25 kHz wysyłane do sterownika odpowiadają więc napięciu wejściowemu 2. 5V.
W sterowniku jest skonfigurowany jeden licznik impulsów wysokiej częstotliwości typu A. Licznik
jest uaktywniony, a jego parametr Timebase (podstawa czasu) ustawiony na pożądaną wartość (np.
podstawa czasu równa 1000 ms powoduje wygenerowanie 2000 impulsów przy odbiorze sygnału o
częstotliwości 2 kHz). Dokładność przetwarzania impulsów przez przystawkę można zwiększyć
przez zmniejszenie liczby impulsów w podstawie czasu i wykonanie skalowania w programie
sterującym. Przykładowo, podstawa czasu równa 500 ms powoduje wygenerowanie 1000
impulsów przy odbiorze sygnału o częstotliwości 2 kHz; liczbę impulsów można następnie
pomnożyć przez 2 w programie sterującym.
Należy pamiętać, że licznik typu A współpracuje z dwoma wejściami sterownika. Jeśli drugie
wejście nie jest używane jako wejście sygnału Preload/Strobe dla licznika, można go używać jako
normalnego wejścia. Gdy wyjście jest skonfigurowane na pracę w trybie PWM lub PTO, kanał nr 1
nie może być używany jako kanał wejściowy licznika HSC. Tak więc w tym przykładzie
maksymalna liczba wejść analogowych możliwych do wykorzystania wynosi 3.

C-2

Dodatek C - Przykłady zastosowań funkcji PWM i HSC z przystawkami analogowymi CALEX

Przetwornik napięciowo-częstotliwościowy przystawki CALEX generuje sygnał napięciowy od 0
do 10 V w odpowiedzi na sygnał wejściowy o częstotliwości od 0 do 5 kHz. Napięcie zmienia się
proporcjonalnie do częstotliwości sygnału podanego z wyjścia sterownika na wejście przystawki.
Sygnał o częstotliwości 1 kHz ze sterownika generuje więc napięcie wyjściowe 1. 0 V. Minimalna
częstotliwość impulsów ze sterownika wynosi 15 Hz, minimalny przyrost częstotliwości wynosi 1
Hz.
Konfiguracja sterownika obejmuje jeden licznik typu A, z nieaktywnym licznikiem nr 1. Wyjście
PWM jest uaktywnione. Częstotliwość impulsów i współczynnik wypełnienia są zapisywane
odpowiednio w rejestrach%AQ2 i%AQ3 sterownika.

Schemat połączeń sterownika VersaMax Micro dla opisanego przykładu

24VDC
3K

C-3

O chrześcijańskich korzeniach Polski

2022-06-15

Zachęcamy do zapoznania się z filmem edukacyjnym pt. „O chrześcijańskich korzeniach Polski”. W materiale, przeznaczonym dla wszystkich etapów edukacyjnych, uczniowie mają okazję poznać tajemniczego rycerza Jaksę, który wziął udział w jednej z wypraw krzyżowych do Ziemi Świętej. Dzięki jego staraniom w Miechowie został wybudowany kościół, z czasem nazywany „Polską Jerozolimą”.

Podręcznik do protokołu Ge Gbs20kbracc And

Bezpośredni link do pobrania Podręcznik do protokołu Ge Gbs20kbracc And

Starannie wybrane archiwa oprogramowania - tylko najlepsze! Sprawdzone pod kątem złośliwego oprogramowania, reklam i wirusów

Ostatnia aktualizacja Podręcznik do protokołu Ge Gbs20kbracc And