Funkcje łańcucha znaków
Zastosowanie
Używając funkcji łańcuchowych możesz definiować i przetwarzać ciągi znaków za pomocą parametrów QS, aby generować np. zmienne protokoły z FN 16: F-PRINT. W informatyce łańcuch znaków (string) określa alfanumeryczny ciąg znaków.
Spokrewnione tematy
- Zakresy zmiennych
Opis funkcji
Do jednego parametru QS możesz przydzielić max. 255 znaków.
W parametrach QS dozwolone są następujące znaki:
- Litery
- Cyfry
- Znaki specjalne, np. ?
- Znaki sterownicze, np. \ dla ścieżek
- Spacja (puste miejsce)
Wartości parametrów QS wraz z funkcjami NC Formuła Q/QL/QR i Formuła łańcucha znaków QS możesz przetwarzać i sprawdzać.
Syntaktyka | Funkcja NC | Nadrzędna funkcja NC |
---|---|---|
DECLARE STRING | Przypisanie wartości alfanumerycznej do parametru QS | |
STRING-FORMEL | Połączenie treści parametrów QS w łańcuch i przypisanie do parametru QS | Formuła łańcucha znaków QS |
TONUMB | Przekształcenie wartości alfanumerycznej parametru QS na wartość numeryczną i przypisanie do parametru Q, QL bądź parametru QR Przekształcenie wartości alfanumerycznych na wartości numeryczne | Formuła Q/QL/QR |
TOCHAR | Przekształcenie wartości numerycznej na wartość alfanumeryczną i przypisanie do parametru QS Przekształcenie wartości numerycznych na wartości alfanumeryczne | Formuła łańcucha znaków QS |
SUBSTR | Kopiowanie podłańcucha znaków z parametru QS i przypisanie do parametru QS | Formuła łańcucha znaków QS |
SYSSTR | Czytanie danych systemowych i przypisanie tych danych do parametru QS | Formuła łańcucha znaków QS |
INSTR | Szukanie podłańcucha znaków w parametrze QS i przypisanie znalezionego wyniku do parametru Q, QL bądź parametru QR | Formuła Q/QL/QR |
STRLEN | Określenie długości znaków parametru QS i przypisanie do parametru Q, QL bądź parametru QR | Formuła Q/QL/QR |
STRCOMP | Porównanie rosnącej leksykalnej kolejności parametrów QS i przypisanie wyniku do parametru Q, QL bądź parametru QR Porównywanie leksykalnej kolejności dwóch alfanumerycznych sekwencji znaków | Formuła Q/QL/QR |
CFGREAD | Wyprowadzenie treści parametru maszynowego i przypisanie do parametru QS |
|
Sterowanie daje następujące możliwości wprowadzenia formuły:
- Automatyczne uzupełnianie
Wprowadzenie formuły za pomocą funkcji automatycznego uzupełniania
- Klawiatura wyskakująca dla wprowadzenia formuły z paska akcji bądź z formularza
- Tryb wprowadzenia formuły na klawiaturze ekranowej
Czytanie danych systemowych z SYSSTR
Za pomocą funkcji NC SYSSTR możesz czytać dane systemowe i zachować te treści w parametrach QS. Wybierasz daną systemową za pomocą numeru grupy ID i numeru NR.
Opcjonalnie możesz wprowadzić IDX i DAT.
Możesz odczytać następujące dane systemowe:
Nazwa grupy, ID-nr | Numer | Znaczenie |
---|---|---|
Informacja programowa, 10010 | 1 | Ścieżka aktualnego programu głównego lub programu palet |
2 | Ścieżka aktualnie odpracowywanego programu NC | |
3 | Ścieżka wybranego za pomocą cyklu 12 PGM CALL programu NC | |
10 | Ścieżka wybranego z SEL PGMprogramu NC | |
Dane kanału, 10025 | 1 | Nazwa aktualnego kanału, np. CH_NC |
Programowane w wywołaniu narzędzia wartości, 10060 | 1 | Nazwa aktualnego narzędzia Tip Funkcja NC zapamiętuje tylko wtedy nazwę narzędzia, kiedy wywołasz narzędzie używając nazwy. |
Aktualny czas systemowy, 10321 | 1 - 16, 20 |
|
Dane sondy pomiarowej, 10350 | 50 | Typ aktywnej sondy pomiarowej detalu TS |
70 | Typ aktywnej sondy pomiarowej narzędzia TT | |
73 | Nazwa aktywnej sondy pomiarowej narzędzia TT z parametru maszynowego activeTT | |
Dane do obróbki paletowej, 10510 | 1 | Nazwa aktualnie obrabianej palety |
2 | Ścieżka aktualnie wybranej tabeli palet | |
Wersja software NC, 10630 | 10 | Numer wersji software NC |
Dane narzędzia, 10950 | 1 | Nazwa aktualnego narzędzia |
2 | Treść kolumny DOC aktualnego narzędzia | |
3 | Ustawienie regulacji AFC aktualnego narzędzia | |
4 | Kinematyka suportu narzędziowego aktualnego narzędzia |
Czytanie parametrów maszynowych z CFGREAD
Za pomocą funkcji NC CFGREAD możesz odczytać treści parametrów maszynowych sterowania jako wartości numeryczne bądź alfanumeryczne. Odczytane wartości numeryczne są wydawane zawsze w jednostkach metrycznych.
Dla odczytania parametru maszynowego, należy określić następujące treści w edytorze konfiguracji sterowania:
Symbol | Typ | Znaczenie |
---|---|---|
Key | Nazwa grupy parametru maszynowego Nazw grupy może zostać podana opcjonalnie | |
Jednostka | Obiekt parametru Nazwa rozpoczyna się zawsze z Cfg | |
Atrybut | Nazwa parametru maszynowego | |
Indeks | Indeks listy parametru maszynowego Indeks listy może być podany opcjonalnie |
W edytorze konfiguracji dla parametrów maszynowych możesz zmienić prezentację dostępnych parametrów. Przy nastawieniu standardowym parametry zostają wyświetlane z krótkimi, objaśniającymi tekstami.
Gdy odczytujesz parametr maszynowym za pomocą funkcji NC CFGREAD, to należy wcześniej zdefiniować odpowiedni parametr QS z atrybutem, encją i kluczem (kodem).
Przypisanie wartości alfanumerycznej do parametru QS
Przed wykorzystaniem bądź dalszym przetwarzaniem alfanumerycznych wartości należy przypisać znaki do parametrów QS. W tym celu używa się polecenia DECLARE STRING.
Możesz przypisywać wartości alfanumeryczne do parametru QS w następujący sposób: | ||
| ||
| ||
|
W tym przykładzie sterowanie przypisuje do parametru QS10 wartość alfanumeryczną.
11 DECLARE STRING QS10 = "workpiece" | ; Przypisanie wartości alfanumerycznej do QS10 |
Połączenie w łańcuch wartości alfanumerycznych
Przy pomocy operatora powiązania || możesz połączyć ze sobą w łańcuch kilka parametrów QS. W ten sposób możesz kombinować np. stałe i zmienne wartości alfanumeryczne.
Możesz połączyć w łańcuch treści kilku parametrów QS w następujący sposób: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
W tym przykładzie sterowanie łączy w łańcuch treści parametrów QS QS12 i QS13. Wartość alfanumeryczną sterowanie przypisuje do parametru QS10.
11 QS10 = QS12 || QS13 | ; połączenie treści z QS12 i QS13 w łańcuch i przypisanie do parametru QS10 |
Treści parametrów:
- QS12: status:
- QS13: przedmiot wybrakowany
- QS10: status: wybrakowany
Przekształcenie wartości alfanumerycznych na wartości numeryczne
Za pomocą funkcji NC TONUMB możesz zachować wyłącznie numeryczne znaki parametru QS jako inny typ zmiennych. Następnie możesz używać tych wartości w obliczeniach.
W tym przykładzie sterowanie przekształca wartość alfanumeryczną parametru QS QS11 na wartość numeryczną. Tę wartość sterowanie przypisuje do parametru Q82.
11 Q82 = TONUMB ( SRC_QS11 ) | ; przekształcenie wartości alfanumerycznej z QS11 na wartość numeryczną i przypisanie do Q82 |
Przekształcenie wartości numerycznych na wartości alfanumeryczne
Za pomocą funkcji NC TOCHAR możesz zachować treść zmiennej w parametrze QS. Zachowaną treść możesz np. łączyć łańcuchowo z innymi parametrami QS.
W tym przykładzie sterowanie przekształca wartość numeryczną parametru Q Q50 na wartość alfanumeryczną. Tę wartość sterowanie przypisuje do parametru QS11.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; przekształcenie wartości numerycznej z Q50 na wartość alfanumeryczną i przypisanie do parametru QS QS11 |
Kopiowanie podłańcucha z parametru QS
Za pomocą funkcji NC SUBSTR możesz zachować zdefiniowany podłańcuch z parametru QS do innego parametru QS. Możesz używać tej NC- funkcji np. aby dokonać ekstrakcji nazwy pliku z absolutnej ścieżki.
W tym przykładzie sterowanie zachowuje podłańcuch parametru QS QS10 w parametrze QS QS13. Używając elementu składni BEG2 definiujesz, iż sterowanie wykonuje kopiowanie od trzeciego znaku. Przy pomocy elementu składni LEN4 definiujesz, czy sterowanie zachowuje kolejne cztery znaki.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; przypisanie podłańcucha z QS10 do parametru QS13 |
Szukanie podłańcucha w treści parametru QS
Używając funkcji NC INSTR możesz sprawdzić, czy określony podłańcuch znajduje się w parametrze QS. W ten sposób możesz np. sprawdzić czy łączenie łańcuchowe kilku parametrów QS zafunkcjonowało. Dla sprawdzenia konieczne są dwa parametry QS. Sterowanie przeszukuje pierwszy parametr QS na treść drugiego parametru QS.
Jeśli sterowanie znajdzie ten podłańcuch, to zachowuje ono liczbę znaków do miejsca znalezienia podłańcucha w parametrze wyniku. W przypadku znalezienia kilku takich miejsc znalezienia wynik jest identyczny, ponieważ sterowanie zachowuje pierwsze miejsce znalezienia podłańcucha.
Jeśli sterowanie nie znajdzie szukanego podłańcucha, to zachowuje w pamięci ogólną liczbę znaków w parametrach wyniku.
W tym przykładzie sterowanie wyszukuje w parametrze QS QS10 zachowany w QS13 ciąg znaków. Szukanie rozpoczyna się od trzeciego miejsca. Przy zliczaniu znaków sterownik rozpoczyna zera. Sterowanie przypisuje miejsce znalezienia jako liczbę znaków do parametru Q Q50.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) |
Określenie liczby znaków zawartości parametru QS
Funkcja NC STRLEN określa liczbę znaków w zawartości parametru QS. Używając tej funkcji NC możesz określić np. długość ścieżki pliku.
Jeżeli wybrany parametr QS nie jest zdefiniowany, to sterowanie podaje wartość -1.
W tym przykładzie sterowanie określa liczbę znaków parametru QS QS15. Wartość numeryczną liczby znaków sterownik przypisuje do parametru Q52.
11 Q52 = STRLEN ( SRC_QS15 ) | ; określenie liczby znaków QS15 i przypisanie do Q52 |
Porównywanie leksykalnej kolejności dwóch alfanumerycznych sekwencji znaków
Przy pomocy funkcji NC STRCOMP porównujesz leksykalną kolejność zawartości dwóch parametrów QS.
Sterowanie podaje następujące wyniki:
- 0: zawartość obydwu parametrów QS jest identyczna
- -1: zawartość pierwszego parametru QS leży w kolejności leksykalnej przed zawartością drugiego parametru QS
- +1: zawartość pierwszego parametru QS leży w kolejności leksykalnej po zawartości drugiego parametru QS
Kolejność leksykalna brzmi w następujący sposób:
- Znaki specjalne, np. ?_
- Cyfry, np. 123
- Duże litery, np. ABC
- Małe litery, np. abc
Sterowanie weryfikuje wychodząc z pierwszego znaku tak długo, aż zawartość parametrów QS wykaże różnicę. Jeśli zawartości różnią się od siebie, np. od czwartego miejsca, to sterowanie przerywa sprawdzanie od tego miejsca.
Krótsze treści z identyczną kolejnością znaków są wyświetlane na początku w kolejności, np. abc przed abcd.
W tym przykładzie sterowanie porównuje leksykalną kolejność QS12 i QS14. Wynik porównania sterowanie przypisuje jako wartość numeryczną do parametru Q Q52.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; porównanie leksykalnej kolejności wartości QS12 i QS14 |
Przejęcie treści parametru maszynowego
W zależności od zawartości parametru maszynowego możesz za pomocą funkcji NC CFGREAD przejmować wartości alfanumeryczne do parametrów QS bądź wartości numeryczne do parametrów Q, QL lub parametrów QR.
W tym przykładzie sterowanie zachowuje faktor zachodzenia z parametru maszynowego pocketOverlap jako wartość numeryczną do parametru Q.
Zadane ustawienia w parametrach maszynowych:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; przypisanie kodu do parametru QS QS11 |
12 QS12 = "CfgGeoCycle" | ; przypisanie encji do parametru QS QS12 |
13 QS13 = "pocketOverlap" | ; przypisanie atrybutu do parametru QS QS11 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; odczytanie treści parametru maszynowego |
Funkcja NC CFGREAD zawiera następujące elementy składni:
- KEY_QS: nazwa grupy (key) parametru maszynowego
- Tip
Jeżeli nazwa grupy nie jest dostępna, to definiujesz dla odpowiedniego parametru QS tzw. pustą wartość.
- TAG_QS: nazwa objektu (istoty) parametru maszynowego
- ATR_QS: nazwa (atrybut) parametru maszynowego
- IDX: indeks parametru maszynowego
Wskazówka
Gdy używasz funkcji NC Formuła łańcucha znaków QS, wynikiem jest zawsze wartość alfanumeryczna. Jeżeli używasz funkcji NC Formuła Q/QL/QR, to wynikiem jest zawsze wartość numeryczna.