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.
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)
Programujesz poszczególne funkcje łańcuchowe za pomocą dowolnego wprowadzenia składni.
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 |
|
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 CALLprogramu 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. |
Kinematyka, 10290 | 10 | Kinematyka zaprogramowana w ostatniej funkcji NC FUNCTION MODE |
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 |
Informacja dla cyklu niewyważenia, 10855 | 1 | Ścieżka tablicy kalibracyjnej niewyważenia Tablica kalibrowania niewyważenia należy do aktywnej kinematyki. |
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.
| ||
![]() |
| |
| ||
|
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.
| ||
![]() |
| |
| ||
| ||
| ||
|
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 QS14 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
- TAG_QS: nazwa objektu (istoty) parametru maszynowego
- ATR_QS: nazwa (atrybut) parametru maszynowego
- IDX: indeks parametru maszynowego
Jeżeli nazwa grupy nie jest dostępna, to definiujesz dla odpowiedniego parametru QS tzw. pustą wartość.
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.