Функция FindCld

Функция <FindCld> ищет команду с именем <CmdName> в текущем файле CLData, начиная с команды под номером <StartIndex>. <StartIndex> отсчитывается от начала текущего файла CLData. Если <StartIndex> не указан, то поиск начинается с команды, которая следует за текущей. Результат, возвращаемый функцией, равен индексу найденной команды в текущем файле CLData. Если команда не найдена, то результат равен -1. В качестве параметра <Data> должен передаваться заранее объявленный динамический массив вещественных чисел (<Array of Real>). В этот массив будут записаны параметры найденной команды CLData. Синтаксис:

N = FindCld({<StartIndex>, }<CmdName>, <Data>)

Например, пусть список команд CLDATA имеет вид, приведенный ниже, и допустим, что номер текущей команды равен 0.

0: PARTNO "Bottle"

1: PPFUN …..

2: COMMENT "Roughing Waterline"

3: LOADTL N 2,X 0,Y 0,Z 0,D 8….

4: SPINDL ON(71),NO 397.887,K 0,MODE RPM(0)

5: CUTCOM ON(71),LENGTH(9) 2,X 0,Y 0,Z 0,N 0,K 0,M 0,LEFT(8)

6: RAPID N 10000

7: GOTO.abs X 134.533,Y 99.684,Z 80

8: RAPID N 10000

Обработчик технологической команды <PartNo>:

program PartNo

V: Array of Real

NCircle: Integer

NGoto: Integer

NCircle = FindCld("CIRCLE", V)

NGoto = FindCld("GOTO.abs", V)

if NGoto > NCircle then

Print "Первое перемещение по дуге"

else

Print "Первое перемещение по прямой"

End

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

Для доступа к параметрам произвольных технологических команд также можно воспользоваться оператором CLDFile.

Сопутствующие ссылки:

Функции и операторы работы с CLData