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.

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

Przypisanie wartości alfanumerycznej do parametru QS

STRING-FORMEL

Połączenie treści parametrów QS w łańcuch i przypisanie do parametru QS

Połączenie w łańcuch wartości alfanumerycznych

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

Kopiowanie podłańcucha z parametru QS

Formuła łańcucha znaków QS

SYSSTR

Czytanie danych systemowych i przypisanie tych danych do parametru QS

Czytanie danych systemowych z SYSSTR

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

Szukanie podłańcucha w treści parametru QS

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

Określenie liczby znaków zawartości parametru QS

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

Przejęcie treści parametru maszynowego

  • Formuła łańcucha znaków QS
  • Formuła Q/QL/QR

Sterowanie daje następujące możliwości wprowadzenia formuły:

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

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: RRRR-MM-DD hh:mm:ss
  • 5: YYYY-MM-DD hh:mm
  • 6: YYYY-MM-DD h:mm
  • 7: YY-MM-DD h:mm
  • 8: DD.MM.YYYY
  • 9: D.MM.YYYY
  • 10: D.MM.RR
  • 11: RRRR-MM-DD
  • 12: RR-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.YYYY hh:mm
  • 20: XX
  • Oznaczenie XX symbolizuje dwucyfrowy numer aktualnego tygodnia kalendarzowego, wykazujący zgodnie z ISO 8601 następujące właściwości:

    • Ma siedem dni
    • Rozpoczyna się w poniedziałek
    • Jest kolejno numerowany
    • Pierwszy tydzień kalendarzowy zawiera pierwszy czwartek roku

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

 
Tip

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).

Przejęcie treści parametru maszynowego

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:

    1. Funkcję NC wstaw wybrać
    2. Sterowanie otwiera okno Funkcję NC wstaw.

    1. DECLARE STRING wybierz
    2. Zdefiniowaćparametr QS dla wyniku
    3. Nazwa wybrać
    4. Podać pożądaną wartość
    5. Wiersz NC zamknąć

    1. Odpracowaćwiersz NC
    2. Sterowanie zapamiętuje podaną wartość w parametrach docelowych.

    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:

      1. Funkcję NC wstaw wybrać
      2. Sterowanie otwiera okno Funkcję NC wstaw.

      1. Formuła stringu QS kliknąć
      2. Zdefiniowaćparametr QS dla wyniku

      1. Potwierdzenie wprowadzenia

      1. Kliknąć na klawisz backspace
      2. Sterowanie usuwa cudzysłowie.

      1. QS wybierz
      2. Wprowadzić numer zmiennej

      1. Kliknąć na klawisz spacji
      2. Sterownik pokazuje aktualnie możliwe elementy składni.

      1. Operator łączenia || wybrać

      1. QS wybierz
      2. Wprowadzić numer zmiennej

      1. Wiersz NC zamknąć
      2. Sterownik zapamiętuje podłańcuchy po ich odpracowaniu kolejno jeden po drugim jako wartość alfanumeryczną w parametrach docelowych.

      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:

      1. Znaki specjalne, np. ?_
      2. Cyfry, np. 123
      3. Duże litery, np. ABC
      4. Małe litery, np. abc
       
      Tip

      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

      Przykład

      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

      Czytanie parametrów maszynowych z CFGREAD

      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.