Instrukcja „Convert Value” (Konwertuj wartość) w sterownikach SIMATIC S7-1200 i S7-1500 umożliwia programistom dokonywanie jawnych konwersji danych pomiędzy różnymi typami. Jej zastosowanie pozwala na precyzyjne zarządzanie konwersją wartości, co jest szczególnie istotne w przypadku pracy z różnorodnymi danymi. W tym artykule szczegółowo omówimy, jak korzystać z tej funkcji, jakie są jej parametry oraz ograniczenia.
Czym jest funkcja „Convert Value”?
Funkcja „Convert Value” służy do konwertowania danych pomiędzy określonymi typami źródłowymi i docelowymi. Gdy dodasz tę instrukcję do programu w środowisku TIA Portal, otwiera się dedykowane okno dialogowe „CONVERT”. W tym oknie określasz typ danych wejściowych (źródłowych) oraz typ docelowy, na jaki chcesz je przekonwertować.
Jak działa proces konwersji?
Instrukcja odczytuje wartość z zadanego źródła, a następnie przekształca ją do wskazanego typu danych docelowych. Proces konwersji działa w sposób następujący:
Wybór typu danych
W oknie dialogowym definiujesz typ źródła i celu, np. konwersję liczb całkowitych na liczby zmiennoprzecinkowe.
Ograniczenia dla bitów
W polu instrukcji nie można wybrać typów danych BYTE i WORD jako ciągów bitowych. Możesz jednak użyć operandów typów DWORD lub LWORD, o ile długość operandów wejściowych i wyjściowych jest zgodna.
Interpretacja bitów
Operandy typu DWORD są interpretowane jako DINT/UDINT, a LWORD jako LINT/ULINT. Dla tych typów zachodzi konwersja implicit (domyślna).
Zgodność z IEC
Gdy włączone jest sprawdzanie zgodności z normą IEC, dostępne są dodatkowe opcje konwersji, co zwiększa elastyczność instrukcji.
Przykłady konwersji danych
Dla sterowników S7-1500
Sterowniki tej serii oferują dodatkowe opcje konwersji, ale z pewnymi ograniczeniami:
- Typy DWORD i LWORD mogą być konwertowane tylko na lub z typów REAL i LREAL.
- Podczas konwersji wzorzec bitowy wartości źródłowej zostaje przeniesiony w niezmienionej formie do wartości docelowej, wyrównanej do prawej strony.
Praktyczne zastosowanie
Załóżmy, że masz wartość w formacie DINT, którą chcesz przekształcić na typ REAL:
- Określasz typ źródłowy jako DINT.
- Ustawiasz typ docelowy na REAL.
- Wynikowa wartość zostaje automatycznie przeliczona do standardu liczby zmiennoprzecinkowej.
Wskaźniki stanu sygnału ENO
Podczas pracy z instrukcją „Convert Value” ważne jest monitorowanie wskaźnika stanu sygnału wyjściowego ENO:
- ENO = 1: Konwersja przebiegła pomyślnie, brak błędów.
- ENO = 0: Wystąpił błąd w trakcie przetwarzania. Warto w takim przypadku zweryfikować poprawność określonych typów danych lub parametrów.
Parametry instrukcji „Convert Value”
Poniżej przedstawiono zestawienie parametrów dostępnych w instrukcji:
Parametr | Deklaracja | Typ danych | Obszar pamięci | Opis |
---|---|---|---|---|
<Source type> | Wejście | Liczby binarne, całkowite, zmiennoprzecinkowe, czas, itp. | I, Q, M, D, L, P, stała | Wartość, która ma zostać przekonwertowana. |
<Destination type> | Wyjście | Liczby binarne, całkowite, zmiennoprzecinkowe, czas, itp. | I, Q, M, D, L, P, stała | Wynik konwersji. |
Uwagi końcowe
W sterownikach SIMATIC S7-1200 i S7-1500 funkcja „Convert Value” jest niezastąpiona przy pracy z danymi różnorodnych typów. Warto pamiętać o:
- Zachowaniu zgodności długości operandów.
- Specyficznych wymaganiach dla sterowników S7-1500.
- Monitorowaniu stanu sygnału ENO, aby unikać błędów w aplikacji.
Dzięki tej instrukcji programista może efektywnie zarządzać konwersją danych, co przyczynia się do zwiększenia niezawodności i elastyczności aplikacji przemysłowych.
Jeśli chcesz pogłębić swoją wiedzę i umiejętności w zakresie programowania i konfiguracji systemów automatyki, polecamy zapisanie się na darmowy kurs PLC!