Instrukcje TIA Portal

Ciągi znaków i tekst
Operacje na danych

Przetwarzaj dane tekstowe jak profesjonalista. Od dynamicznego generowania etykiet po parsowanie protokołów, opanuj każdą instrukcję manipulacji ciągami znaków w swoim PLC.

Dlaczego warto przetwarzać ciągi znaków w PLC?

Podczas gdy sterowniki PLC są projektowane głównie do logiki binarnej i numerycznej, operacje na ciągach znaków są niezbędne dla nowoczesnych interfejsów przemysłowych. Pozwalają one na generowanie dynamicznych komunikatów dla HMI, parsowanie kodów kreskowych lub kodów QR ze skanerów oraz komunikację z systemami IT za pomocą sformatowanych protokołów tekstowych.

TIA Portal oferuje solidny zestaw instrukcji do zarządzania typami STRING (ASCII) i WSTRING (Unicode), zapewniając, że Twoja maszyna może komunikować się wyraźnie w dowolnym języku.

Konkatenacja i wstawianie

Budowanie dynamicznych komunikatów

CONCAT — Konkatenacja ciągów znaków

CONCAT

Co robi

Łączy dwa lub więcej ciągów znaków w jeden wyjściowy ciąg znaków. Ciągi źródłowe są dołączane w kolejności, w jakiej zostały zdefiniowane.

Kiedy używać

Tworzenie pełnego komunikatu statusu z prefiksu i nazwy zmiennej lub budowanie linii CSV do logowania danych.

Pro wskazówki

Zawsze sprawdzaj maksymalną długość docelowego ciągu znaków, aby uniknąć obcięcia tekstu.

W SCL możesz użyć operatora '+', aby uprościć konkatenację, jeśli jest obsługiwany.

Łącz CONCAT ze znakami spacji, aby zapewnić czytelny wynik na HMI.

INSERT — Wstawianie do ciągu znaków

INSERT

Co robi

Wstawia podciąg do istniejącego ciągu znaków na określonej pozycji znaku (P).

Kiedy używać

Dodawanie symboli jednostek (takich jak 'kg' lub '°C') wewnątrz dynamicznego szablonu tekstu.

Pro wskazówki

Jeśli P wynosi 0, ciąg znaków jest wstawiany na początku.

Jeśli P jest większe niż długość ciągu, podciąg jest dopisywany na końcu.

Użyteczne do dynamicznego formatowania ciągów daty/czasu.

Wyszukiwanie i modyfikacja

Analiza danych tekstowych

FIND — Wyszukiwanie podciągu

FIND

Co robi

Wyszukuje określony wzorzec w ciągu znaków i zwraca pozycję początkową. Zwraca 0, jeśli nie znaleziono.

Kiedy używać

Lokalizowanie ograniczników (takich jak przecinki lub średniki) w ciągu wejściowym ze skanera.

Pro wskazówki

Wyszukiwanie uwzględnia wielkość liter. 'Error' różni się od 'error'.

Użyj zwróconej pozycji bezpośrednio w instrukcji MID, aby wyodrębnić dane.

W pętli możesz znaleźć wiele wystąpień, aktualizując przeszukiwany ciąg znaków.

REPLACE — Zastępowanie części

REPLACE

Co robi

Zastępuje określoną liczbę znaków, zaczynając od pozycji P, nowym podciągiem.

Kiedy używać

Aktualizowanie zmiennej części statycznego komunikatu bez przebudowywania całego ciągu.

Pro wskazówki

Aby usunąć znaki bez dodawania nowych, użyj pustego ciągu jako zamiennika.

Często używane do zamiany symboli zastępczych, takich jak {val}, na rzeczywiste wartości.

Zachowaj ostrożność przy liczbie znaków, aby uniknąć nieoczekiwanego przesunięcia reszty tekstu.

Konwersja i wyodrębnianie

Łączenie liczb i tekstu

VAL_STRG / STRG_VAL — Konwersja

VAL_STRG

Co robi

Konwertuje wartości numeryczne (Int, Real) na String (VAL_STRG) lub parsuje liczby z ciągu String (STRG_VAL).

Kiedy używać

Wyświetlanie temperatury typu Real w niestandardowym komunikacie tekstowym lub konwersja danych z portu szeregowego na Integer.

Pro wskazówki

Skonfiguruj wejście FORMAT, aby zdefiniować miejsca dziesiętne i zachowanie znaku.

STRG_VAL jest wrażliwy na separator dziesiętny (kropka vs przecinek).

Sprawdzaj wyjście statusu, aby upewnić się, że konwersja zakończyła się sukcesem.

LEFT / RIGHT / MID — Wyodrębnianie

MID

Co robi

Wyodrębnia część ciągu znaków z lewej, prawej strony lub z określonej pozycji środkowej (MID).

Kiedy używać

Pobieranie prefiksu z kodu kreskowego lub wyodrębnianie wartości między nawiasami.

Pro wskazówki

MID(IN, L, P) wyodrębnia L znaków zaczynając od pozycji P.

Jeśli L przekracza dostępną liczbę znaków, instrukcja zwraca wszystko do końca.

Niezbędne do wyodrębniania danych z protokołów szeregowych innych firm.

STRING vs WSTRING

Wybór właściwego formatu tekstu

WłaściwośćSTRINGWSTRING
KodowanieASCII / Extended ASCIIUnicode (UTF-16)
Bajty na znak1 bajt2 bajty
Maksymalna długość254 znaki16382 znaki
ZastosowanieStandardowy tekst zachodniZnaki międzynarodowe / specjalne
Wpływ na pamięćNiskiWysoki (podwójny)
Prefiks SCL'' (Pojedyncze cudzysłowy)W#''

Często zadawane pytania

Jaka jest maksymalna długość typu STRING w TIA Portal?

Standardowy STRING może pomieścić do 254 znaków. Jeśli potrzebujesz więcej, musisz użyć typu WSTRING, który obsługuje do 16 382 znaków na S7-1500.

Dlaczego moja konwersja VAL_STRG kończy się niepowodzeniem?

Najczęstszą przyczyną jest niewystarczająca długość docelowego ciągu znaków lub niezgodność parametru FORMAT (np. próba zmieszczenia dużej liczby REAL w krótkim ciągu STRING).

Czy mogę używać ciągów znaków w zoptymalizowanych blokach danych?

Tak, ciągi znaków są w pełni obsługiwane w zoptymalizowanych blokach danych (DB). Pamiętaj jednak, że zawsze zajmują one maksymalny zdefiniowany rozmiar w pamięci plus 2 bajty na nagłówki długości.

Jak porównać dwa ciągi znaków w SCL?

Możesz użyć standardowych operatorów porównania (=, <>, <, >). TIA Portal porównuje ciągi znak po znaku w oparciu o ich wartości ASCII/Unicode.

Uprość przetwarzanie tekstu

Skomplikowane parsowanie czy generowanie etykiet? T-IA Connect automatyzuje tworzenie bloków do manipulacji ciągami znaków.