Строковые функции

Применение

Вы можете использовать строковые функции для определения и обработки строк с помощью QS-параметров, например, для создания переменных протоколов с FN 16: F-PRINT . В информатике строка - это последовательность буквенно-цифровых символов.

Описание функций

Вы можете присваивать QS-параметрам не более 255 символов.

В QS-параметрах разрешены следующие символы:

  • Буквы
  • Цифры
  • Специальные символы, например, ?
  • Управляющие символы, например, \ для путей к файлам
  • Знак пробела

Вы программируете отдельные строковые функции, используя свободный ввод синтаксиса.

Изменение функции ЧПУ

Вы можете обрабатывать или проверять значения из QS-параметров с помощью функции ЧПУ Формула Q/QL/QR и Формула строки QS.

Синтаксис

Функции ЧПУ

Высокоуровневые функции ЧПУ

DECLARE STRING

Присвоение буквенно-цифрового значения QS-параметру

Присвоение буквенно-цифрового значения QS-параметру

ФОРМУЛА СТРОКИ

Объединение содержимого QS-параметров и присвоение их QS-параметру.

Конкатенация буквенно-цифровых значений

Формула строки QS

TONUMB

Преобразование буквенно-цифрового значения QS-параметра в числовое значение и присвоение его Q-, QL- или QR-параметру

Преобразование буквенно-цифровых значений в числовые значения

Формула Q/QL/QR

TOCHAR

Преобразование числового значения в буквенно-цифровое значение и присвоение его QS-параметру

Преобразование цифровых значений в буквенно-числовые значения

Формула строки QS

SUBSTR

Копирование подстроки из QS-параметра и присвоение ее QS-параметру .

Копирование части строки из QS-параметра

Формула строки QS

SYSSTR

Чтение системных данных и присвоение QS-параметру

Считать системные данные SYSSTR

Формула строки QS

INSTR

Поиск подстроки в QS-параметре и назначение найденной позиции Q-, QL- или QR-параметру.

Поиск подстроки в содержимом QS-параметра

Формула Q/QL/QR

STRLEN

Определение длины строки QS-параметра и присвоение Q-, QL- или QR-параметру

Определение количества символов содержимого QS-параметра

Формула Q/QL/QR

STRCOMP

Сравнение возрастающего лексической последовательности QS-параметров и присвоение результата Q-, QL- или QR-параметру.

Сравнение лексического порядка двух буквенно-цифровых строк

Формула Q/QL/QR

CFGREAD

Чтение содержимого машинного параметра и присвоение результата QS-параметру

Считывание содержимого машинного параметра

  • Формула строки QS
  • Формула Q/QL/QR

Считать системные данные SYSSTR

С помощью функцию ЧПУ SYSSTR вы можете считывать системные данные и сохранять содержимое в QS-параметрах. Вы выбираете системные данные, используя номер группы ID и номер NR.

Дополнительно вы можете ввести IDX и DAT.

Вы можете считывать следующие системные данные:

Номер группы, ID

Номер

Значение

Информация о программе, 10010

1

Путь к активной главной программе или программе палет

2

Путь к актуальной отрабатываемой управляющей программе

3

Путь к выбранной с помощью цикла 12 PGM CALL управляющей программе.

10

Путь к выбранной с помощью SEL PGM управляющей программе

Данные канала, 10025

1

Имя текущего канала, например, CH_NC.

Значения, запрограммированные в вызове инструмента, 10060

1

Имя текущего инструмента

 
Tip

Функция ЧПУ сохраняет имя инструмента только в том случае, если вы вызываете инструмент, используя его имя.

Кинематика, 10290

10

Кинематика, запрограммированная в последней функции ЧПУ FUNCTION MODE .

Текущее системное время, 10321

1 - 16, 20

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: YYYY-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.YY
  • 11: YYYY-MM-DD
  • 12: YY-MM-DD
  • 13: чч:мм:сс
  • 14: ч:мм:сс
  • 15: ч:мм
  • 16: DD.MM.YYYY hh:mm
  • 20: XX
  • Обозначение XX соответствует двухзначному выводу текущей календарной недели, которое по ISO 8601 обладает следующими свойствами:

    • Неделя имеет семь дней
    • Начинается в понедельник
    • Нумеруется последовательно
    • Первая календарная неделя содержит первый четверг года

Данные контактных щупов, 10350

50

Тип контактного щупа активного контактного щупа детали TS

70

Тип контактного щупа активного контактного щупа инструмента TT

73

Имя активного контактного щупа TT из машинного параметра activeTT

Данные обработки палет, 10510

1

Имя текущей обрабатываемой палеты

2

Путь к текущей выбранной таблице палет

Состояние ПО ЧПУ, 10630

10

Номер состояния ПО ЧПУ

Информация для цикла балансировки, 10855

1

Путь к таблице калибровки дисбаланса

Таблица калибровки дисбаланса является частью активной кинематики.

Данные инструмента, 10950

1

Имя текущего инструмента

2

Содержимое столбца DOC текущего инструмента

3

Настройка управления AFC текущего инструмента

4

Кинематика держателя текущего инструмента

Считывание машинного параметра с помощью CFGREAD

С помощью функции ЧПУ CFGREAD вы можете считать содержимое машинных параметров из системы ЧПУ в виде числовых или буквенно-цифровых значений. Считываемые числовые значения всегда выводятся в метрических единицах.

Чтобы считать машинный параметр, вы должны определить следующее содержание в редакторе конфигурации системы ЧПУ:

Символ

Тип

Значение

Key (ключ)

Имя группы машинного параметра

Имя группы может быть указано опционально

Объект

Объект параметра

Имя всегда начинается с Cfg.

Атрибут

Имя машинного параметра

Указатель

Списочный индекс машинного параметра

Списочный индекс может быть указано опционально

 
Tip

Вы можете изменить отображение существующих параметров в редакторе конфигурации машинных параметров. Согласно стандартным настройкам параметры отображаются в виде кратких текстов-пояснений.

Перед считыванием машинного параметра с помощью функции ЧПУ CFGREAD, вы должны сначала задать QS-параметры с атрибутом, объектом и ключом.

Считывание содержимого машинного параметра

Присвоение буквенно-цифрового значения QS-параметру

Прежде чем вы сможете использовать и обрабатывать буквенно-цифровые значения, вы должны присвоить символы QS-параметрам. Для этого применяется команда DECLARE STRING.

Вы присваиваете буквенно-цифровое значение QS-параметру следующим образом:

    1. Выберите Вставить NC-функцию
    2. Система ЧПУ откроет окно Вставить NC-функцию.

    1. Выберите DECLARE STRING
    2. Задайте QS-параметр для результата
    3. Выберите Имя
    4. Введите нужное значение
    5. Завершите кадр программы

    1. Отработайте кадр программы
    2. Система ЧПУ сохранит заданные значения в целевых параметрах.

    В этом примере система ЧПУ присваивает буквенно-цифровое значение QS-параметру QS10 .

    11 DECLARE STRING QS10 = "workpiece"

    ; присвоение буквенно-цифрового значения QS10

    Конкатенация буквенно-цифровых значений

    С оператором конкатенации || вы можете соединить символы нескольких QS-параметров друг с другом. Например, вы можете комбинировать фиксированные и переменные буквенно-цифровые значения.

    Вы выполняете конкатенацию нескольких QS-параметров следующим образом:

      1. Выберите Вставить NC-функцию
      2. Система ЧПУ откроет окно Вставить NC-функцию.

      1. Выберите Формула строки QS
      2. Задайте QS-параметр для результата

      1. Откройте клавиатуру для ввода формулы

      1. Выберите оператор конкатенации ||

      1. Определите номер QS-параметра с первой подстрокой слева от оператора конкатенации
      2. Определить номер QS-параметра со второй подстрокой справа от оператора конкатенации
      3. Завершите кадр программы
      4. Подтвердите ввод
      5. После отработки система ЧПУ сохраняет подстроки одну за другой как буквенно-цифровое значение в целевом параметре.

      В этом примере система ЧПУ выполняет конкатенацию содержимого QS-параметров QS12 и QS13. Система ЧПУ присваивает буквенно-цифровое значение параметру QS QS10.

      11 QS10 = QS12 || QS13

      ; конкатенация содержимого из QS12 и QS13 и присвоение параметру QS QS10.

      Содержимое параметров:

      • QS12: Состояние:
      • QS13: брак
      • QS10: Состояние: брак

      Преобразование буквенно-цифровых значений в числовые значения

      Вы можете использовать функцию ЧПУ TONUMB для сохранения только числовых символов параметра QS в переменной другого типа. Затем вы можете использовать эти значения в расчетах.

      В этом примере система ЧПУ преобразует буквенно-цифровое значение параметра QS QS11 в числовое значение. Система ЧПУ присваивает это значение Q-параметру Q82 .

      11 Q82 = TONUMB ( SRC_QS11 )

      ; преобразование буквенно-цифрового значения из QS11 в числовое и присвоение Q82.

      Преобразование цифровых значений в буквенно-числовые значения

      С помощью функции ЧПУ TOCHAR вы можете преобразовывать содержимое переменной и сохранять в QS-параметре. Вы можете использовать сохраненное содержимое, например, чтобы объединить с другими QS-параметрами.

      В этом примере система ЧПУ преобразует числовое значение Q-параметра Q50 в буквенно-цифровое значение. Система ЧПУ присваивает это значение QS-параметру QS11.

      11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 )

      ; преобразование числового значения из Q50 в буквенно-цифровое значение и присвоение его QS-параметру QS11.

      Копирование части строки из QS-параметра

      С помощью функции ЧПУ SUBSTR вы можете из одного QS-параметра сохранить заданную часть строки в другой QS-параметр. Вы можете использовать эту функцию ЧПУ, например, чтобы извлечь имя файла из абсолютного пути к файлу.

      В этом примере система ЧПУ сохраняет подстроку QS-параметра QS10 в QS-параметре QS13. С помощью синтаксического элемента BEG2 вы задаёте, что система ЧПУ копирует, начиная с третьего символа. С помощью элемента синтаксиса LEN4 вы задаёте, что система ЧПУ копирует следующие четыре символа.

      11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 )

      ; присвоение подстроки из QS10 QS-параметру QS13

      Поиск подстроки в содержимом QS-параметра

      С помощью функции ЧПУ INSTR вы можете проверить, находится ли конкретная подстрока в QS-параметре. С её помощью вы можете, например, проверить, сработала ли конкатенация нескольких QS-параметров. Для проверки необходимы два QS-параметра Система ЧПУ ищет в первом QS-параметре содержимое второго QS-параметра.

      Если система ЧПУ находит подстроку, то она сохраняет в параметре результата количество символов до найденной позиции подстроки. Результат идентичен для нескольких найденных позиций, поскольку система ЧПУ сохраняет только первую найденную позицию.

      Если система ЧПУ не находит искомую подстроку, то система ЧПУ сохраняет общее количество символов в параметре результата.

      В этом примере система ЧПУ ищет в QS-параметре QS10 строку символов, сохранённую в QS13. Поиск начинается с третьей позиции. При подсчете символов система ЧПУ начинает с нуля. Система ЧПУ присваивает найденную позицию, в виде количества символов Q-параметру Q50.

      11 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 )

      ; Поиск подстроки из QS13 в QS10

      Определение количества символов содержимого QS-параметра

      Функция ЧПУ STRLEN определяет количество символов содержимого QS-параметра. С помощью этой функцией ЧПУ вы можете, например, определить длину пути к файлу.

      Если выбранный QS-параметр не определён, то система ЧПУ возвращает значение -1.

      В этом примере система ЧПУ определяет количество символов QS-параметра QS15. Система ЧПУ осуществляет присвоение числового значения количества символов Q-параметру Q52.

      11 Q52 = STRLEN ( SRC_QS15 )

      ; определение количества символов QS14 и присвоение результата Q52

      Сравнение лексического порядка двух буквенно-цифровых строк

      Используйте функцию ЧПУ STRCOMP для сравнения лексической последовательности содержимого двух QS-параметров.

      Система ЧПУ возвращает следующие результаты:

      • 0: содержимое обоих QS-параметров идентично.
      • -1: содержимое первого QS-параметра находится в лексическом порядке перед содержимым второго QS-параметра.
      • +1: содержимое первого QS-параметра находится в лексическом порядке после содержимого второго QS-параметра.

      Лексический порядок выглядит следующим образом:

      1. Специальные символы, например, ?_
      2. Цифры, например 123
      3. Заглавные буквы, например ABC
      4. Прописные буквы, например, abc
       
      Tip

      Начиная с первого символа, система ЧПУ проверяет, пока содержимое QS-параметров не начинает различаться. Если содержимое отличается, например, в четвертой позиции, то система ЧПУ прерывает проверку в этой точке.

      Более короткое содержимое с идентичной строкой символов отображается первым в последовательности, например, abc перед abcd.

      В этом примере система ЧПУ сравнивает лексическую последовательность QS12 и QS14. Система ЧПУ присваивает результат в виде числового значения Q-параметру Q52 .

      11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

      ; сравнение лексической последовательности значений QS12 и QS14

      Считывание содержимого машинного параметра

      В зависимости от содержимого машинного параметра вы можете с помощью функции ЧПУ CFGREAD сохранить текстовое содержимое в QS-параметре или числовые значения в Q-, QL- или QR-параметры.

      В этом примере система ЧПУ сохраняет коэффициент перекрытия из машинного параметра pocketOverlap в виде числового значения в Q-параметре.

      Заданные настройки в машинных параметрах:

      • ChannelSettings
      • CH_NC
        • CfgGeoCycle
          • pocketOverlap

      Пример

      11 QS11 = "CH_NC"

      ; присвоение ключа QS-параметру QS11

      12 QS12 = "CfgGeoCycle"

      ; присвоение объекта QS-параметру QS12

      13 QS13 = "pocketOverlap"

      ; присвоение атрибута QS-параметру QS13

      14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 )

      ; чтение содержимого машинного параметра

      Функция ЧПУ CFGREAD содержит следующие элементы синтаксиса:

      • KEY_QS: имя группы (ключ) машинных параметров
      •  
        Tip

        Если имя группы отсутствует, определите пустое значение для соответствующего QS-параметра.

      • TAG_QS: имя объекта (смысл) машинных параметров
      • ATR_QS: имя (атрибут) машинных параметров
      • IDX: список машинных параметров

      Считывание машинного параметра с помощью CFGREAD

      Указание

      Если вы используете функцию ЧПУ Формула строки QS, то результатом всегда будет буквенно-цифровое значение. Если вы используете функцию ЧПУ Формула Q/QL/QR, то результатом всегда будет числовое значение.