Строковые функции
Применение
Вы можете использовать строковые функции для определения и обработки строк с помощью QS-параметров, например, для создания переменных протоколов с FN 16: F-PRINT . В информатике строка - это последовательность буквенно-цифровых символов.
Смежные темы
- Диапазоны переменных
Описание функций
Вы можете присваивать QS-параметрам не более 255 символов.
В QS-параметрах разрешены следующие символы:
- Буквы
- Цифры
- Специальные символы, например, ?
- Управляющие символы, например, \ для путей к файлам
- Знак пробела
Вы программируете отдельные строковые функции, используя свободный ввод синтаксиса.
Вы можете обрабатывать или проверять значения из QS-параметров с помощью функции ЧПУ Формула Q/QL/QR и Формула строки QS.
Синтаксис | Функции ЧПУ | Высокоуровневые функции ЧПУ |
---|---|---|
DECLARE STRING | Присвоение буквенно-цифрового значения QS-параметру | |
ФОРМУЛА СТРОКИ | Объединение содержимого QS-параметров и присвоение их QS-параметру. | Формула строки QS |
TONUMB | Преобразование буквенно-цифрового значения QS-параметра в числовое значение и присвоение его Q-, QL- или QR-параметру Преобразование буквенно-цифровых значений в числовые значения | Формула Q/QL/QR |
TOCHAR | Преобразование числового значения в буквенно-цифровое значение и присвоение его QS-параметру Преобразование цифровых значений в буквенно-числовые значения | Формула строки QS |
SUBSTR | Копирование подстроки из QS-параметра и присвоение ее QS-параметру . | Формула строки QS |
SYSSTR | Чтение системных данных и присвоение QS-параметру | Формула строки QS |
INSTR | Поиск подстроки в QS-параметре и назначение найденной позиции Q-, QL- или QR-параметру. | Формула Q/QL/QR |
STRLEN | Определение длины строки QS-параметра и присвоение Q-, QL- или QR-параметру | Формула Q/QL/QR |
STRCOMP | Сравнение возрастающего лексической последовательности QS-параметров и присвоение результата Q-, QL- или QR-параметру. | Формула Q/QL/QR |
CFGREAD | Чтение содержимого машинного параметра и присвоение результата QS-параметру |
|
Считать системные данные 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 |
|
Данные контактных щупов, 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. | |
Атрибут | Имя машинного параметра | |
Указатель | Списочный индекс машинного параметра Списочный индекс может быть указано опционально |
Вы можете изменить отображение существующих параметров в редакторе конфигурации машинных параметров. Согласно стандартным настройкам параметры отображаются в виде кратких текстов-пояснений.
Перед считыванием машинного параметра с помощью функции ЧПУ CFGREAD, вы должны сначала задать QS-параметры с атрибутом, объектом и ключом.
Присвоение буквенно-цифрового значения QS-параметру
Прежде чем вы сможете использовать и обрабатывать буквенно-цифровые значения, вы должны присвоить символы QS-параметрам. Для этого применяется команда DECLARE STRING.
Вы присваиваете буквенно-цифровое значение QS-параметру следующим образом: | ||
| ||
| ||
|
В этом примере система ЧПУ присваивает буквенно-цифровое значение QS-параметру QS10 .
11 DECLARE STRING QS10 = "workpiece" | ; присвоение буквенно-цифрового значения QS10 |
Конкатенация буквенно-цифровых значений
С оператором конкатенации || вы можете соединить символы нескольких QS-параметров друг с другом. Например, вы можете комбинировать фиксированные и переменные буквенно-цифровые значения.
Вы выполняете конкатенацию нескольких QS-параметров следующим образом: | ||
| ||
| ||
| ||
| ||
|
В этом примере система ЧПУ выполняет конкатенацию содержимого 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-параметра.
Лексический порядок выглядит следующим образом:
- Специальные символы, например, ?_
- Цифры, например 123
- Заглавные буквы, например ABC
- Прописные буквы, например, abc
Начиная с первого символа, система ЧПУ проверяет, пока содержимое 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: список машинных параметров
Указание
Если вы используете функцию ЧПУ Формула строки QS, то результатом всегда будет буквенно-цифровое значение. Если вы используете функцию ЧПУ Формула Q/QL/QR, то результатом всегда будет числовое значение.